We are going to start. First of all, welcome to the talk, Lessons Learn how to migrate an existing product to a multi-tenant cloud-native environment. Thank you for being here. So here in this talk, we are going to show you a lot of things, but we want you to keep in mind three different things that you are going to learn. One of them is how to migrate your existing product to cloud-native things. Another thing is particularly how to run Kubernetes, sorry, Java in Kubernetes, which is not an easy thing. And the last thing is going to be how we deal with the troubles and what went well and what went wrong in our case. So you can learn and do it better, of course. So well, let's start. This is Natalia. I'm working at Adobe as a software developer engineer. And in my spare time, I like Maths and Codeine. And I'm Carlos. I'm a principal scientist at Adobe Experience Manager. We both work at Adobe Experience Cloud Service. I'm a long-time open source contributor. And some of the things I've done was starting the Jenkins Kubernetes plug-in many years ago. So who's here using Kubernetes? OK. I'm not going to ask who heard about Kubernetes because if you haven't heard about Kubernetes then we have a problem here. A short introduction about Adobe Experience Managers to understand better what was our case case. It's a content management system with asset management, enrollment forms. It's not very well known as other Adobe products that you've probably heard of. But it's used by many for $1,400. A lot of enterprises use it. From the stack point of view, it's an existing Java OSGI application using modules. And it uses a lot of open source components from the Apache Software Foundation. And it also has, and this is interesting later on, it has a huge market for extension developers, people that write plug-ins, write components for AM. We contribute and build on top of Apache projects like Sling, Felix, Maven. So we use and we contribute back to the open source community. So of course, we use Kubernetes, as we were asking you who use it. So for the use of Kubernetes that we have, we are running on Azure Cloud. And we have more than 37 clusters right now, but even more we're growing. We are present on multiple regions because of course, we have different customers across the world. So we need to have different availability zones. For the customers, we have the states, Europe, Australia, Singapore, Japan, India, and even more are coming. And at Adobe, we have a dedicated team who is actually managing the clusters. It is just a dedicated team that provides us the clusters. And then we use it. You can imagine it like a provider for us. It is like the same internally. So how it works is, in our case, customers can run their own code on our clusters. So you can imagine that this might be a little bit unsecured for us if we don't have any control. So in order to control that, we have some cluster permissions limit by security and a lot of restrictions, and we have some security controls in order to deploy the code to production. One of them, for instance, is one easy thing is we always encrypt the traffic that is leaving the clusters. For the environments that we have in our product, well, customers can just go to our platform and they can directly self-serve the environments. So they just click a button and then they create automatically the environments that they need. So each customer, usually, they have at least three Kubernetes name spaces or more. We create one environment per name space so it is fully isolated from the rest of the customers. And each environment actually is a micro monolith. So it's kind of a trending, right? We want to choose micro services, monoliths, so we have a hybrid thing. So again, as I mentioned before, we run a customer environment for each name space. So we need them to be fully isolated and this is quite important just to keep the privacy and the restriction for each customer. So we have network isolation. We also have some quotas so we have everything under control and of course, the permissions, as I mentioned before. But again, Adobe is a big company and this is also a big product. So we have a lot of different teams building services here. And of course, we also have different requirements and different languages. We use Java, Go, a lot of things under the hood. So the rule that we use is if you build something, then you run it. So then a team is driving and owning up a dedicated service that they run. And also we have some APIs created so the services can also have some kind of contracts. So we have everything behind a contract and the team, we use API first and so on. And also we have some Kubernetes operators patterns that we will actually explain a little bit more about operators later on. And again, to divide these kind of responsibilities for the team, what we have been doing is actually creating init containers and sidecars. So the thing is that, hey, you're going to build a new feature for this micro monolith, then here you have an init container on a sidecar and then you are fully isolated and then you don't conflict with the others and other versions and so on. Yeah, so we use the sidecar pattern a lot because this allows us to not introduce new features on the existing Java application and people can move faster by creating sidecars or external services. But sidecars are convenient because you can run next to the application but without having to make your code or having to follow the same release process. Examples of sidecars and in the containers we use service warmup, like storage initialization. We also have HDPD front-end Java application. This comes from the on-premise times where HDPD does some caching on top of Java. Sidecars to export metrics, flu and bit to send the logs to our central location. In Java, you can do threat dumps and we have a sidecar that will collect those threat dumps and store them in a central place. Envoy for proxying and networking requests and also a sidecar for auto updates. Example, the service warmup, this ensures that the service when the Java application is starting is ready to serve traffic because requests could be expensive if the Java service comes up and it has not cached the top requests, it may take a while to process them. So in order for customers to have a good experience, we initially warm up the top requested paths to the lazy caching. And this allows us to have some caching without expensive starts, and especially in the Kubernetes world where pots come and go all the time, this kind of prevents having a bad experience by the end user if the page of the request is not cached. We also have another sidecar to export metrics, OS level like this size, this space, if the network is reachable or not, and we have alerts based on this. Fluent bit, an open source project that fixes the logs from all the containers running in the pod. They all write to this as share file location, so as share directory across all the containers and then the sidecar just looks at those files and send them to our central location and by having it in a sidecar instead of each application allows us to centrally control it better and make changes without affecting the application. Threaddump collections on the JVM, same thing, when we want a threaddump or periodically we take threaddumps, the files are stored in a share location, we take the files, we upload them. Envoy, we use Envoy is a proxy open source also and we use it for traffic tunneling and routing. We have a use case where some customers are asking us, in these share multi-tenant clusters that we run, some customers are asking to have dedicated IPs or be able to connect to their internal VPN. So we use Envoy as a sidecar, a bit of the service mesh pattern that is proxying the traffic from the Java application and getting it out of the cluster through this dedicated infrastructure that we set up for the customers. Envoy is a very powerful and very popular open source proxy. It can be used as load balancer, reverse proxy and it has rate limit and circuit breaking, retries all this, I mean, it's used by Istio and a lot of the service mesh out there. The out-updater, I don't know if, did anybody hear about the lock for shell vulnerability? Probably. So we figure out, we need a way to patch the everything running on the cluster without requiring the customers to do anything on their side. So we set up an init container that does this out-updating. So it checks if the version that the customer is running or any of the components the customer is running, if we need to make any change, like update lock for J. And this runs as an init container without having to touch the main application. So this is transparent for customers, they don't have to do anything, it makes their life easier.  All right, so as I mentioned before, the operators, we have multiple operators running on our Kubernetes cluster. So first of all, we are going to introduce a non-open source operator just because it is our main operator and it will connect the pieces for the open source ones that we are using. So this main operator is managing the life cycle of the environment that we have. So it means that we use an operator to run them all and we have here some pre and post jobs to the environment creation. We just launch and trigger some jobs that we need to prepare the environment and to process post operations. But again, the main thing here is that we are reconciling also some internal operators. Again, we are providing some APIs for these kind of contracts that I mentioned before so we can connect and make sense to connect and to have an agreement for all our internal systems to work together. So let's talk about these internal operators that we are triggering and reconciling from this one. One of them is the Fluke CD Helm operator. This open source operator is actually pretty useful for us because it allows us to manage the Helm charts for our environments in a declarative state. So it allows us to graph and to gather the status of this object that we have in Kubernetes, the custom resource that we create for this operator and then we can just get the status from the main operator and say, all right, the Helm operator was successful. So then we just have all the status in this main operator. This also is useful when engineers need to debug and then they just go to a central place and see all the status and all the debugging things, what went well, what went wrong and all these kind of things. We are also starting to use Argo rollouts operator and this is also a pretty interesting operator because it provides us advanced deployment strategies like a canary deployment, saving testing or blue cream but also allows us to have automatic rollbacks. We are starting to use it but sounds amazing. And again, I mentioned this topic before as well, is the security. We are running and keep it in mind, we are running customer code on our clusters. So we need to be aware of the security things and in order to control the security profiles for the pod, we are using this Kubernetes security profile operator, which is also open source. It allows us the security profiles to provide, to define some capabilities that a pod can use. So we have everything like control. It can be integrated with a c-con or c-linux or up-armor and also it can be installed, recorded and distributed via OCI images. The other important part is how do we scale this, how do we scale this, all the thousands of environments we have for each customer because we have this micromanally set up. So we have over 17,000 environments across the clusters and we have this multiple teams building services. So we need a way to scale that. Ideally, different teams don't have to be concerned about. If we can find a way that applies to all teams or we can do centrally, that's much better than having to go to each team and tell, you know, this is the best way of doing this and you should adhere to these processes. If we can do it cluster-wide, then it's a lot easier. On Kubernetes, if you run Kubernetes workloads, there's two critical things that you need to be aware of which is on the resource side is the requests and the limits. Request is basically how many resources are warranted, limits is how many resources can you consume and they can be different. There's a slight, there's a fundamental difference there. These resources, request and limits can be applied to CPU, memory and ephemeral storage. What can happen when you don't, when your workload is not complying with the request and limits, on the CPU side, you can end with CPU throttling and you just realize that your pods, your containers are not giving the performance that you expected. On the memory side, the limit is enforced by the kernel.  And on the ephemeral storage part, the limit is also enforced.  And that may be a problem depending on your use case. We're switching now to ARM architecture. Anybody's looking into ARM?  Because you can get just 15, in our case, 15, we estimate 15 to 25% savings, just switching the images we use and switching the nodes we use to ARM.  There's nothing else that you need to do for your application. Now, Java Kubernetes, who is using Java here? All right, just a half, a third and a half. So I don't know if this is gonna be interesting for you all, but I'm just gonna go through it a bit quicker than in Java conferences. So let's assume that we have a workload in Java that is typical Java workload running on one of the latest releases, a recent JVM that has been around for less than 15 years or 10, with a big, well, not so big memory, four gigabytes and two or more CPUs. So typical Java workload, not one of the new microservice Java ones. So if you look at what is the default JVM heap size, so the Java JVM is gonna allocate a heap when it starts and you will think, okay, I'm running Java in a container, I want to use as much memory of my container as possible. So do you think it's gonna be 75 of the container memory or the host memory, 25 of the container memory or 25 of the host memory or the magic number 127? Not 126, not 128, but 127 megabytes. So it depends, the answer, it depends. For a typical container, you're gonna be using 25% of the container memory, so something that it has more than 512 megs of memory, your container has that. The JVM is only gonna use 25% of the container memory. 127 megabytes is a magic number that happens if you have 256 to 512 megs in your container. And this has changed and now it's kinda stabilized because before, the JVM would detect the memory available in the host and not the container and as you can imagine, this was a problem when you were running Java inside a container. And it uses the memory limits to decide how big is gonna be this default heap. So there's really no guarantee that you're gonna have that physical memory available because it's using the limits, not the request. The request, you have them guaranteed, the limits you don't. You can oversubscribe on limits, your notes. So advice, always do not trust the JVM ergonomics, configure memory, you can pass these JVM flags, initial run percentage, match run percentage. Not mean run percentage because it means something totally different. But in our case, we use 75% of the container memory, we explicitly override it because otherwise you are wasting memory, you're wasting money, you're burning CO2 for no reason. The only special cases, I mean you have to consider your case, but there's some special cases like off heap memory, that's if you use native code inside Java, some things like Elasticsearch, Spark do that. And from the Kubernetes or the kernel point of view, the JVM is managing that memory. So from the Kubernetes point of view, that memory is used. So you have to be careful about how you deal with this because Kubernetes is not gonna tell you your memory is going up and down because the heap is always gonna be taken by the JVM. And the advice is set the request and limits to the same value because you're not gonna have flexibility unless you use off heap memory. On the JVM we have this garbage collector and there's different types of garbage collectors. Now we have five across all the JVM versions. You have a serial one, a parallel one, G1, C, and Shenandoah. The default, they change depending on how many CPUs and memory is available in the container. So you might find yourself running a container with a Java application in one place and with some request and limits. And if you increase the request and limits or you reduce them, now your performance may change because the garbage collector being used is different. So you make no changes to your Java application, you make no changes to your JVM arguments, but now because you change the container memory or CPUs, you have different results because different garbage collectors being picked up automatically. And the consequences of this is that if you don't have the right garbage collector in Java, you could have pauses on your application. Again, do not trust the JVM ergonomics. You can use the different flags to configure the different garbage collectors. And one example from Microsoft is they have this table that you may agree or not about it, but there's different cases where different garbage collectors make sense. If you only have one CPU, a serial garbage collector may be okay. If you have more than two, then you can go to parallel garbage collector or if you have more or less memory, you can go to a different one that gives you different performance depending on memories and CPU.  Do you think it's gonna be the CPU request? It's gonna be the CPU limit that you said on Kubernetes. It's gonna use as many CPUs as the OS allows. So again, this is something that changed last October. On the versions before last October, it would rely on the CPU limits to figure out how many CPUs the JVM things are available. And this was changed on October to take a look at the CPUs from the OS level. Before, it would do some mathematics that makes sense so as long as you have less than 1024, if things is one CPU, if you have 2048, it's two CPUs and so on, that makes sense. But if you set 1024 mili CPUs, it thinks I can use all the CPUs. And why is this important on the JVM? The number of CPUs or what JVM calls active processor count is used to compute the number of threads that the JVM can use in some cases, different subsystems. So for instance, when you start a thread pool in Java, the JVM is gonna look at how many CPUs are available or how many CPUs things can use. And based on that, it's gonna size the thread pool to one number or another. If you set your limits, I think it was, to 1028, it's gonna think, oh, I can use all the CPUs, so your thread pool can be bigger. If you run on a machine with a lot of CPUs, then that becomes a problem. So this becomes a problem when you have extreme, right? Like huge, beefy VMs. Maybe your cluster has very beefy VMs mixed with smaller VMs, or you are testing in a stage with cluster with smaller VMs, and then production, you run with bigger VMs, and you're gonna see differences and you're gonna wonder what happened here. Just the bug that, or the bug that was fixed on October before it was using CPU shares, which was the CPU requests in Kubernetes. So Kubernetes takes the CPU requests, translates them to CPU shares on the container runtime, and the JDK looked at that to see how many requests, how many CPUs could be used. And this was changed. And again, if you follow up from here, do not trust the JVM ergonomics, so you can explicitly set what, how many CPUs you want the JVM to consider. Another case that is a bit more complex. So let's say you have a 32 CPU host, and you have two JVMs, and this kind of applies for everything, they're not just JVMs. You have two processes, one of them is idle, the other one is trying to use as much CPU as possible. If you set them with eight CPU requests, 16 CPU limits, this, the max CPU that is going to be used in this case is 16, because you set the limit. So this kind of makes sense. I set the limit to 16, my container cannot use more than 16, even though the rest of the host is doing nothing. If you don't set limits, so the same case, but no limits, you allow your machine, your containers to use as many CPUs as possible. So this is interesting because people think that they should put limits to protect the workloads, but it's not always that case. If you put limits in, you are gonna have a lot of unused resources, or you could, depending on your use case. So the specific case of CPU requests and limits on Kubernetes is that the CPU request is used for scheduling, so Kubernetes is gonna say, oh, you're requesting two CPUs, I'm gonna give you a note that has two CPUs available and they're gonna be used by you. You can use two CPUs if you want, but also is used as a relative weight after a scheduling happens. So it's not the number of CPUs that can be used, but it's the relative weight between workloads that you have in the same node. So if you have one CPU set as a request, this means it can consume one CPU cycle per CPU period. So even if you set a request of 0.1 CPU request, the minimum you want, and you have two processes, they can use up to 50% of the CPU time. So the request is a relative weight. It doesn't matter that you say if you have two workloads with the same number, it doesn't matter if 0.5 CPUs or it's 100 CPUs. It's gonna be a relative weight and they both can use up to... If they want to use as much CPU as they can, they can use 50%. This translates... So that was the request. On the limit side, this translates to C-groups quantum periods. So this is kernel-level or C-groups-level limits. On the CPU, the period by default is 100 milliseconds. The limit is the number of cycles that can be used in that period. If you use your cycle, your time on the period, your process is gonna get throttle. So this is not just containers, but this is typical processes in Linux. So if you have a single thread process and it's running in one core, you are fine. I mean, if you assign it one CPU in Kubernetes, this becomes a C-groups share. Your process is gonna be running on that thread in one core for 100 milliseconds. Everything is fine. But this is challenging for Java because Java uses multiple threads. It uses a lot of threads. And any other language that uses multi-threading. So an example, if you have a Java or any process that has four threads, but you only have one CPU limit, you could consume your CPU time in 25 milliseconds. So you could consume your time in one fourth of the period and then getting throttle for 3 quarters of the period. I don't know if this example makes it better or more confusing. So you have four threads running. You have 100 millisecond period and you assign one CPU limit. Your threads, if they are using all the CPU they can, they're gonna, in 25 milliseconds, they have consumed 25 milliseconds four times 100 milliseconds. So for the rest of 75 milliseconds, your process is gonna get throttle. And this is very... This hit us a lot of times because web pages at some point, the request response time is very important and then you realize why is the response time increasing? Why is the response time going crazy at this point of time? It's because you are hitting the limits. And it's not that some request may go faster, some request may go slower because your process is getting throttle. And this is interesting for Java application because typically they are very multi-threaded, but any process that is multi-threaded is gonna have the same problem. So now we are going to talk about the autoscaling that we have configured very quickly. It's going to be just an overview. So we have three different autoscalers set up in our Kubernetes cluster. We have the cluster of the scaler, we have the horizontal part of the scaler and the vertical one. So for the cluster of the scaler, it allows us, probably you know, it allows us to automatically increase and decrease the cluster size. So how we increase or decrease the cluster size? In our case, we base on CPU and memory requests. And of course, we also leave some headroom for spikes because this process of adding a new instance is not a quick process, it's just speeding up a pop. So we just need to have some room for growing very quickly. Although we try to keep it, you know, the more restrictive as we can just for saving resources. But again, we just have some headroom. We also have different availability zones and we need to scale in all of them. This is important, this is what is involved, setting up a maximum of nodes for the cluster of the scaler. And you will see later on because I will show you some graphs. The cluster of the scaler is saving us around 30 or 50%. So it is a lot. Here you can see a graph where we are just a normal usage of the cluster of the scaler. You can see it is up and down from 50 up to 100 of cluster instances. But now here you can see a back. So we just introduced a back. And you can see a spike from 100 up to the maximum of nodes which in our case was 150. So this is why it is important to set up a maximum because otherwise the build at the end of the month is going to be very funny, you know, you introduce this kind of back. Then you can see that the back was fixed and then we just were in a normal usage again. The vertical pod autoscaler. This is great. I mean, you'll see later on I will explain the differences but this is just about increasing and decreasing the pod so making it bigger or smaller for the resources. It is good, you know, because you can just scale up and down a deployment. But this has a big disadvantage as it is right now in Kubernetes which is you need to restart the pod to make it effective. You can either do it automatically or do it on the next start but it is not like the original one that we will see later on. Again, this is a disadvantage right now because in next Kubernetes versions it will be avoided so this is going to be like a huge change that will change this vertical autoscaler one. And one recommendation that we give you here is don't set the vertical pod autoscaler to auto because otherwise you will start seeing like random pre-starts so it's going to be like a very weird state. We only use it so far for development environments and we just scale it down if it is unused so we just use it for saving resources. And the GDN footprint is hard to reduce because again, you need to have a lot of resources for Java in order to run properly. So the savings for this is around 5 and 15%. And the horizontal pod autoscaler which is just scaling horizontally so you create more pods when you need it is for me personally the most interesting one because you can scale, well or we, what we do is we scale based on two metrics on the CPU and on the HTTP requests per minute. We don't use and we don't recommend to use the same metrics like for the vertical pod autoscaler and in our case and probably in most general cases just scaling on the CPU only might be problematic. Why?  We have capacity but since you are starting up all of them at the same time you are consuming and boosting the CPU. And then after some minutes or hours it is okay. Then this can trigger a cascading effect if you are based on the CPU only. But not only that startup, also this kind of periodic task that you are running on the cluster and that you might be, you know, detecting a spike on the CPU and if you are only based your horizontal autoscaler on that CPU metric, then you might be triggering the same pod again you know and this will not solve anything because you have a spike because this is a huge task. All right. So, let's go to the end. We talk too much. So, three things to finish three things that we hope you take out of this talk. And Kubernetes is really easy to start lift and ship and then optimize over time. That's what we did. We used patterns to decompose and to create a new application, cycle containers, and create new services and over time you can keep doing this if you bring a monolith into Kubernetes. And it's also very important to optimize the resources that you are using and it's over time you can also improve this. You can tune the JVM CPU memory collector but other processes can be used. All right. Thank you. If you have any questions, we'll be around. Thank you very much for having me.


Welcome to the SCP Foundation Standardized Downvote Form 1040-EZ. Disclaimer, this is a joke. Not Standard and should not actually be used in the forums. However, all the reasons listed for downloading things are 100% real. Do not mail this form to the IRS. Do not taunt. Happy Fun Ball. I am downvoting your SCP because check all that apply. You forgot to spell check. You forgot to proofread. You did not read or decided to ignore how to write an SCP. You posted an incomplete SCP to the main site. Your formatting is incorrect. You do not know the difference between it's or it's with an apostrophe, your or your with an apostrophe, or their, their or their with an apostrophe. I am not sure if you know how to write in English. There is a severe deficiency in clinical tone. You appear to have accidentally posted an article intended for the Shark Punching Center, SPC. Self-upvotes are bad form. Don't do that. Note from the wiki. Self-upvotes are no longer bad form. Don't worry about it. If you had posted your idea in the forum, 20 people would have told you not to write it. If you had posted a draft in your sandbox, 20 people would have told you not to post it on the main site. Your SCP is too much like SCP blank and is not written well enough to get away with it. Your SCP is a straight rip off of blank. Your SCP is on the cliche list and is not written well enough to get away with it. You need to send your D&D monster slash artifact slash magic item slash cursed magic item back to the Forgotten Realms. Rape is just not a good SCP topic or effect. Neither is Necrophilia. Your SCP should keep me up at night, but not because I'm wondering when you'll be arrested. There is no hook. Meh. It just didn't grab me. Sorry about that. Your dash J isn't funny. Your dash J is really just a bad main list SCP. Your Keter SCP is just dangerous, not interesting. The description area doesn't describe your SCP. If your SCP appears to be something, it should not actually be that something. I had to read half of your SCP before I could figure out what it does.  You redacted part of the containment procedures. You redacted an entire incident report.  You redacted your main effect. Just because SCP-231 did it, more or less, doesn't mean you should. You redacted the hook. You redacted other things in a way that is silly. You keep using the word memetic. I do not think it means what you think it means. Your SCP compels people to use it for no reason. Your SCP is just a blank that kills people. Your SCP is just a blank that makes the user crazy, or makes them crazy and then kills them. Your real-life SCP is less interesting than the real thing that it is based on. Your SCP is a lame attempt to explain Katrina, Fukushima, Tsunami in Indonesia, some other real-life disaster. The dialogue in the interview log makes all of humanity look like complete morons. The lack of common sense by all characters portrayed makes me want to light fire to my computer. Your SCP enters a rage state and you are not writing about it visiting New Jersey. The story of how your SCP was found is unbelievable. You included writings translated from an ancient language that somehow still rhyme in English. Please remove the incorrectly edited title, the boring test log, the boring supplemental pages, the non-metric measurements, the law foundation addendum, the tags that you made up yourself, the telekill reference, the crosslink to SCP-173-500-682-914, circle as appropriate. The random or excessive references to clef, bright, gears, rites, kondraki, insert other misused canning character here. The lame joke about sharks and or bees. Your SCP breaks my suspension of disbelief, specifically because of incorrect science, technobabble, anachronisms, the combat scene that should have had yakety sacks playing in the background, an agent finding the SCP on his doorstep in a weird little shop, on the beach while vacationing. Insert other ridiculous story here. Your SCP has a containment area that is a vastly oversized cube, two-dimensional, six-dimensional, made of titanium or other inappropriate materials, excessively specific for no reason. Non-existent, the SCP is allowed to wander around the site. The containment procedures make no sense or are completely inappropriate to what the object does.  Your humanoid SCP is an X-man or supervillain, just another D&D monster, a bad self-insert or Mary Sue, something really obvious from another medium in SCP form. Slender man, this means you, using the foundation like it was a hotel, getting what it wants because we wouldn't like it when it's angry. Your picture is a hand-drawn artist impression of your SCP, 27 megabytes and hosted off-site, something another SCP already uses, completely different from what is described in the text, a movie still or some other well-known thing, watermarked, borked, obviously computer generated, too photoshopped, not photoshopped enough, not photoshopped at all, but looks photoshopped.


Okay, we're back real live. I'm Jay Fidel. This is Think Tech and that's Larry Jordan. Larry, I just want to I just want to say one thing. I apologize to you. Oh, dear. Why are you apologizing? Well, I said, you know, the title of the show is catching up with video editor Larry Jordan. That was, you know, that's an embarrassing mistake. Oh, no, Jay, you don't understand. Have you ever had more than one job in your life? Yes. Of course you have. Well, video editor is one of the jobs about that. I'm also a producer, a director, a writer, an author, video editor. You know, we don't have it. This is only half an hour show Larry. I know. But see, it really is, is when I get bored, I change careers. That's really the way it works out. It's good to be back. And by the way, I wanted to welcome you. I know you're living in that very difficult environment of Hawaii, but we're based in the northeast now where it's 15 degrees outside. There's snow to the north of me. There's snow to the south of me. There's no west of me, but there's no snow here. It's all ice. So I just want you to know as you're sitting there and your casual attire and there's others of us that are huddled near fires and trying to keep warm. It's good to see. Good to see you. I'm sorry about the cold and the ice, you know. What part of the northeast are we talking about? Near Boston. I moved from LA to Boston in August of this year because I've been in LA for 30 years and I decided it was time for something different. And there's only so much sand and sunshine and beautiful people you can stand in your life before it's time to move on. And it became time move on. So here we are in the northeast, a part of the world that I like, a great deal. Fabulous. Are you originally from the west coast or east coast? Neither. I'm from the Midwest. I grew up in Wisconsin. Got my first job in Montana. Got my second job in Maryland. Got my third job in San Diego. And I've been bouncing between ghosts ever since. Goodness gracious. Well, we talked before the show about change and flexibility and coping and moving and having different places, environments, jobs, if you will. That helps you because if you can cope with something on a job change, then that teaches you to cope on the next job change, doesn't it? Well, you know, I was just thinking, you're think tech Hawaii, right? And you're focused on technology.  It's not coming up with a new idea. And it's not even necessarily getting funding, though funding is sometimes difficult. But how do you convince people that could consider buying your product that it's worth changing what they're doing now and taking a risk on something they've never done before? If you think about it, the whole technology industry is built on finding ways to overcome resistance to change. And whether we're dealing with change in our personal life by changing our personal habits and goodness knows the pandemic has required that. Or whether it's changed in a business environment where we're trying to find new customers or decide what new business to go with or even just the change of dealing with a new product. Look at when people write reviews of software, they say it's not like what I knew before. It's different than therefore most of the time it's bad. Really, the technology industry more than any other has to deal with the challenge of confronting change and making change seem palatable. And that's not an easy task. Well, it sounds like you can divide the world up in two parts. The people who welcome change, who embrace change, who want change, like change, and those who don't. I can tell you, my experience, and I have the feeling you're in the same camp, my experience with software, if they tell me it's new, if they tell me it has new features, that's it. Right there, I gotta have it. I must have it. I'm an earlier adopter. Well, you're the guy that takes the arrows in the back as the software starts to collapse. I'm just the opposite. I'm not quite a Luddite. I was going to start one of my articles in my newsletter, which I write every week, with the phrase, I'm not a Luddite, but I figured I should look up what a Luddite is. And around the turn of the century, from the 1800s to 1900s, Luddites were workers, individuals who purposely destroyed equipment because they didn't want the equipment in their lives. They wanted to continue working the way they were. So a Luddite is actually a destructive force, and I hope I'm not that. But someone who thinks like a Luddite is somebody that resists change, and I think change needs to be resisted. And I think change should not be universally accepted. I'll give you some examples. Photoshop now has started to work in what they call Adobe Sensei, which is their brand name for artificial intelligence. They're applying artificial intelligence to the manipulation of photos, which sounds really cool, except when we start to be able to put one person's head on another person's body or where we are removing something which is material to that particular photograph. Now in advertising, this is done all the time because you're pitching a product and you want the product to look good. But where's the line between being able to make it look like somebody in Premiere, we can do what's called a flow transition where it morphs from one shot to the other so seamlessly that you don't even realize that that it was made. Isn't it useful to know that that person didn't actually say what they said they said because of very skillful editing? Where's the boundary between doing something because we can and doing something because we should? And this ethical boundary is really a challenge because a technologist will say, and Adobe has, because I've challenged them.  And I said, so what does Adobe feel is our ethics here? They said, oh, that's not our job. Our job is to create the features and let the end user determine the ethics. And of course, from a corporate point of view, that's exactly the right answer.  We just make the gun. It's your job. I forgot where it's going to get pointed. But I contend that technology needs to think about the ethics of what they're doing, as well as the whether we can code the coding or not. And we're seeing this, we're seeing this everywhere with the, what was it Facebook was just voted the worst company in the world has great technology, but there's some ethical fallout here. When should you manipulate an image and make it look like it hasn't been changed? Well, Adobe was feeling some guilt here. And in the latest version of Photoshop, they're not able to flag an image and indicate whether it's been manipulated. Oh, how interesting. This flagging is hidden. It's buried in the file. You can't see it if you're an end user looking at it, but you can look at the contents of the digital file and see if it's manipulated. But, you know, at what role does technology have in, in ethics. And this is a question that we're not spending a whole lot of time talking about we're like you. Oh, it's the latest thing it's got blinking lights and the lights are now green instead of blue I've got to buy it today. But should you buy it. And is there an ethical value behind it and, and you know, I'm convinced that a lot of the problems we're dealing with this because of technologists can say I can do this therefore I will not I can do this and therefore I should do this. They don't ask the should question just ask the can question. And there's a world of hurt right now because of that. You're referring this kind of thing and you said you were going to write an article about it. Have you read you will you follow it going going forward. The answer is yes but not to the degree that that I probably should my role the role that I said that I see I do is I help people improve their technical skills. I help people get jobs keep their jobs improve their skills keep clients happy. I'm an art teacher. So I view my role as for instance J helping you learn a new piece of software, because you've been struggling with it then you've got a deadline coming up and you need somebody to answer your question. And the people that are on tech support either aren't available or they don't understand the question or they aren't coming at it from the point of view of somewhere that was lives with deadlines and is a professional. He doesn't know how to spell technical support. Well, some do but if you think about it, technical support for any company I don't care what it is, can only support their product. You wouldn't ask Microsoft to support an Apple product Microsoft would quite rightly say that's not our product we don't know it. Three times in a day, JD you have multiple applications open at the same time and you got to take information out of Excel and move it into a database not of a database and post it to the web and come out of the web and I mean you're working in a multi vendor environment and there's nobody that provides multi vendor support because they can't afford the liability. Can you imagine Apple telling somebody how Microsoft works. Because they can't they if they were wrong they'd get sued and and so so tech support by its very nature is a silo. I can get an Apple answer from Apple I get a Microsoft answer for Microsoft but I can't get an answer from anybody about how to move between Apple and Microsoft. So this is where people like me who foolishly plunge into this this this gap. I want to provide answers to people that are working in a multi vendor multi application environment. How do you get products from point A to point B. What happens if it doesn't work. Who do you need to talk to you've got a hard disk from one company you've got a computer from another company got software from a third company you've got drivers from the fourth company. How do you fix it if it doesn't work. There's not a lot of people that do this. There's not a lot of people that are that stupid and number two there's not a lot of people that have the background to be able to understand how all these different apps work together not from a programming point of view, but from an operating point of view. And that's where I think I can be helpful is is is to help people improve their skills of the piece of software but also answer questions as you're moving between pieces of software. So I know you have a newsletter that goes out about editing everything is that fair to say in the world.  You have videos, audios what have you. The heart of everything that I do is my website, which is Larry Jordan dot com. By the way, you can congratulate me. I will. I'm waiting. Congratulations Larry. I was hoping you had mentioned I didn't think you were going to think of I just finished writing my 2500 2500 tutorials. 2500 tutorials right. Yeah, are are posted to my website. So if you go to Larry Jordan dot com click on the free resources button, and you'll see, I mean 2500 I've been doing it for 20 years. It's a lot of writing anyway. So I've got that's that's the core than every Monday at six o'clock I publish in the morning I publish a newsletter which has my latest tutorials for that week. My newsletter has new stories which are relevant to media creators and tutorials for people that are running Apple Adobe and I'm expanding into DaVinci Resolve software, not just final cut and premiere but media encoder and compressor and motion and applications which revolve around as well as product reviews of hardware and software that's relevant to people that are creating programs stories with media. So some of these programs you're identifying it takes a PhD to understand them. My question to you Larry is how in the world, can you keep up with that. How can you be ahead of the game on the all those really complex program programs. A good friend of mine, Debbie price has a good example of this. She says, Larry you need to think like a swan.  No, she says you're sitting gracefully on the lake, and you're gliding from point to point, and you are looking stately and informed and serious. While underneath the water your feet are going like this like this like this as fast as you can keep up with what's going on. So I'm a swan. They look graceful on the surface but underneath we're doing a lot of homework and trying to stay out. Well, you know, since we spoke last which is five six years ago here on think tech. The world has so changed me right now think tech. You know, I made a list. It has like 70 software packages that we use for one thing or another and I don't know if we could operate without all all of them actually. And just to make it even more frightening it's going to get worse. Yes. And the reason I think is, is that we're seeing that the omnibus application which does everything in the kitchen set. And I think of it as Microsoft Office or Apple works back when Apple works was this thing where we had word processing and spreadsheets and database and a little bit of drawing, all wrapped up in an email communication, all wrap up into a single package. And what we're seeing is the world doesn't want omnibus packages, they want to be able to customize their environment to use the tool that they want, which is a perfectly okay thing to do but it means now that rather dealing with a single application and stuff, we're doing dealing with a lot of applications which each of which does a single thing, which adds to the complexity of our life, because now we've got to get data from point A to point B and do the interchange formats work and what part of the data transfers and what part doesn't I was experimenting with this just recently sending projects from Final Cut Da Vinci Resolve and from Premiere to Da Vinci Resolve and Premiere to Final Cut and stuff gets lost along the way that some stuff travels perfectly like media, other stuff like effects doesn't travel at all. So now we've got to think of not only how do we get the material from one application or another, but what gets lost and at what point can I afford to lose that early in the editing process for instance, and what part can't I afford to lose it so now we're looking at interchange in terms of time as well as interchange in terms of application. See this is this is why people send me questions. Nobody can figure it out. It's just getting more and more complex and the technologist would say well we're going to make your life simpler, and they are for that application, but they aren't and the overall gestalt of all the stuff we're working with. Now the other thing I've noticed in the past five years, six years since we spoke together is that a lot of the software that you want is not made in the US of a is made somewhere else. And it's very good. I mean we among those application. We have an application that does playlists, which we got from Istanbul Larry Istanbul. We have an HTML generator which we got from Kiev. So I've learned not to have, you know, barriers, mental barriers and dealing with software. Now some of them could be Trojan horses I don't know, but they all work really well. They're inexpensive they're well thought out there in English. And so, you know, I have sense that kind of global coming together about software there's no reason why some young person in Kiev can't write software that you will love. And that includes communication software includes complex software the PhD kind. You know, I feel that the world is coming together do you agree. I sure wish the world was coming together. I have a problem agreeing with that, but I do agree with the universality of software development. And if you think about it, the number one job right now is somebody that can write software. They're an extremely high demand, especially anybody that's able to deal with cloud and networking kinds of stuff, those they can write their own ticket. Somebody that can write software can do mobile apps could do desktop apps can do server apps. And what was an Apple just last week paid some of their engineers $180,000 bonus just to keep them with Apple because they're in such high demand elsewhere. Clearly, I immediately dusted off my Python for dummies book and started learning how to program again. And I can now recognize a variable if I need to, but if you think about the jobs which are extremely well paid and extremely well respected. We have software engineers and sports athletes, those are the two and both learning about the same amount of money.  That's how I learned video, you know, editing production, and no kidding, you're the man. But you know what about the consumer group, you know who gets into this sort of thing, because we live in a time when video graphics and communication by video graphics and data for that matter is like all consuming. It makes our society run. It makes so many said dependent on it, and the query whether kids coming out of school are getting into these programs or whether they're leaving it to a smaller group of experts to do that. Oh, no. We. You couldn't have asked a better question. We're living right now in an age of democratization of video. What that means is everybody can have access to the tools because some of the most powerful tools are free.  But there isn't, however, is a wealth of information on how to use those tools, not from a training point of view, but from a storytelling point of view. And this caused me a year ago to write a book. It's my 10th. It's called the techniques of visual persuasion. Imagine I'm holding the cover up right here. It's published by new writers as part of their series techniques of visual persuasion. And I was really, really delighted with the response to this because I wrote the book, not for people who are media creators, but for people who need to use media to communicate with their audience. Think of it as an entrepreneur trying to pitch a new idea to an investor, CEO of a company trying to reach out to customers. A person doing a presentation for a business group, people that don't think of themselves as being media creators. And yet, inevitably, what we see is they first try to write a white paper and put it on a PowerPoint slide and wonder why the audience has a heart attack and falls off their chair. And the other is, is there, they're working to communicate in ways that audiences today aren't listening. We don't communicate by reading books or white papers, we communicate with memes and pictures. Well, if the world is communicating with memes and with pictures, wouldn't it be useful to know what those, how those pictures are created, what those pictures mean, what the sub context is that we emotionally identify with but we don't deconstruct the picture. We just say, hey, this makes me feel good, or hey, this makes me feel sad, or, hey, I don't like this at all, as an emotional reaction to a picture in ways that you look at the say it's a, I've got a picture of you, that should make me feel happy and cheerful. But depending upon the angle of the camera and the way that it's lit, I could have a picture of you and feel depressed, which is hard to believe. So I'm just using those general. My wife says that all the time. Yeah. So techniques of visual persuasion is unique, and that it's a survey, it looks at, it looks at interpreting the meaning of images, it looks at how to use Photoshop, how to use video, how to shoot video how to shoot still pictures, how to record and edit audio how to create motion I covered seven different applications inside a 400 page book, not because you're going to be a video professional, but because you have to understand how pictures work both still and moving in today's environment if you're going to be able to survive in business or communication or whatever industry you're in, nobody writes, nobody writes they all send pictures or emoji. In order to have your business survive, you need to know how this stuff works. So I wrote it for the general business office and I've been blown away by the response people have really loved the book. And so much so that the publishers asked me to start to think about the second one. So that's great grateful. Yeah, you know that's really part of the world in which we live. It may not be the kind of ethical, you know, dilemma that you spoke about earlier, but certainly there's psychology in their psychology for that matter. And we talked in an earlier show today about to stay with psychology. I got to be licensed there. We have a license for both but we talked in an earlier show today about an accountant to classify himself as a psychiatric accountant, meaning that he, he must appreciate, you know, his client to do the job correctly. And then we had a discussion with a guy who manages a grocery store in the time of COVID and we concluded that he was a psychiatric grocery manager, because he must, he must appreciate his clientele. And certainly in this 400 pages of book, you must be talking about psychology. Am I right. I'm talking about empathy. I'm talking about identifying with what your audience is going through. I'm not going to say psychology necessarily. But I do know that the way that our, our eyes and our minds respond to pictures is, is a known quantity, but it's not a published known quantity. And, for instance, when you are, look at the shop, just look at your shot of how you look on camera right now. And when I see you, why is your head placed where it is in the frame. Why is your head frame from left to right the way that it is. And the answer is because and why is the camera shooting you at eye level and not shooting down at you or shooting up at you. And there is, because emotions live in our face, because you want your eyes one third of the way down from the top of the picture to make it feel good. You never crop somebody in a body joint like the middle of their neck. You never put somebody off so that we're looking down at them which diminishes them and says Jay is in trouble. We never shoot up at them. Well, we do, but not in this case. We don't shoot up at them because that makes them heroic. What is in your camera is at eye level is that you want to be perceived to be the peer of everybody that's looking at you, ultra superior to not diminished from, but we are the same. Now, what people don't realize is you've got a $564 million trust fund behind you that you are giving to friends and relatives, but by being at eye level, all of that just disappears. And it says that I am just like you. We're together. And that is not unintentional. It's not unintentional in newscasts with the newscasters of eye level. It's not unintentional with politicians who are at eye level. Any CEO that wants to communicate communicates at eye level, even though they may have a stock buyout package which beggars imagination. We're together at eye level because of the way our brain perceives. If you and I are speaking eye to eye, then we're equals. And that's the feeling that you want your audience to have. Wouldn't it be cool to know these secrets as you're starting to put together a campaign to promote a product or to promote an idea or to ask for funding. And that's the idea behind this book is to help people communicate better with pictures when their real full time job doesn't involve communicating with pictures at all. It's like a shortcut to learning faster. Well, I must have the book. Where do I get the book. The book is available from Amazon and from Pearson and Peach bit. It's called techniques of visual persuasion. Again, this is a book right there. It's a beautiful cover. I see a woman on the cover and you can get it at Amazon and just look for my name and it'll find it. Well, you know, you're talking about stuff we think about all the time we don't have the level of sophistication you were just describing but those are the issues that we wrestle with exactly that. At the end of the day we want to present a certain image. We want people to listen to us and watch us and understand and learn from us. It's all there what you're talking about. And I think, you know, anybody who's getting into the business of, you know, transmitting broadcasting video or for that matter, photography and so many ways you can do it these days. We can make a list of all the programs by which you could generate content like this. We'd be here for hours. And not only that, but you use like I do. I use the word broadcast meaning television stations because that's my background. So I grew up, but you're not on a television station right now. And yet you have an audience. You have a recognized brand. You have professional quality engineers and professional quality pictures. You're dealing with exactly the same issues that a broadcaster is. But you're not going out over the airwaves. And in fact, it could be argued that the audience that you are trying to reach is far greater and far broader than any television station. And 10 years ago, could we have imagined that this is possible now is punch in a computer and watch a television show, no more than we could imagine doing a phone call and look at somebody's face while we're talking to them. And it was, it was the world of the professions of $100,000 budgets just to be able to deliver a single picture to an audience. And now you or I can punch a button, and we can speak to people around the world and they can dial in for free. And it doesn't cost anything, relatively speaking. Now, so where is it going. I mean, I hope to speak to you within long before the expiration of another five years. Okay. Where is it going Larry? I mean, give me a handle on the trajectory here. We know we've made extraordinary changes and improvements. But where is it going now? William, William Goldman, who is a very famous screenwriter, has I think the most accurate quote in answer to that question. When asked to describe what it takes to make a hit movie, Goldman said nobody knows anything. And the more you think you're an expert, the less you know. Experts know a subject in depth, but none of us have a clue what's happening in the future. And if you look at our track records, we're always wrong. Where's it going? I think it's going into greater communication, where we're going to be working together, regardless of where we are, whether we're buying software from companies around the world or working with people around the world. Communication is clearly improving. I think it's continuing to grow more and more tribal. I think we have to worry about different groups. I think that's that's a big issue, because if you're not in my group, therefore you're against my group. It's going to take a while to break that one down. We got to be part of a bigger whole than we are right now. I think the technology is going to become easier to use and yet under the hood, it's going to become more and more complex and probably likely more and more invasive. So questions of privacy become important. Communication, video is at the core of how all of this stuff works. One person said, the way the user interface works is how people think the software works. People define the software based upon user interface. Now point of fact, the user interface is just the face of software. It has nothing to do with all the back end processes and all the stuff that's going on under the hood, but nobody understands that stuff under the hood. We view a piece of software based upon our interaction with it. I think user interfaces are going to become increasingly important. So I think greater diversification, greater communication, greater isolation and greater ethical dilemmas. That's where I think it's going. Okay, let me ask you, let me spring out of what you said and ask you something that's really, that's really important now. And that is, we know a lot of people live in silos and live in, you know, bubbles. They live in their own community. They don't want to talk to any other community and so forth.  Now, in some ways, it's not good for humanity to have everyone have a say all the time. It's so confusing. It's too much noise. But my question to you is, given these directions and given the problems of having silos all around and bubbles all around, do you think that I can reach out from my bubble to the next guy's bubble, the adversary bubble with this technology with, you know, this graphics video communication and actually break the bubbles down. This is a really big question because right now, there doesn't seem to be a way to do that. I think we have to. I don't think it's a question of whether we can or not. I think we have to, we have to be able to talk across bubbles. And I don't think all bubbles are necessarily negative bubbles are any group of people that have a common interest whether it's a love of model railroads or love of surfing. I mean that's that each of those is a bubble. It's when the bubbles become destructive that it's a bigger issue. And so the key is thrust figure out a way to reach across bubbles to improve communication. And if you think about it, video is the best way to do that. Getting using pictures and using images and using video, which is why I'm so optimistic about the group of people that I talked to because I talked to full time and part time video editors people that tell stories with pictures. And it's people that tell stories with pictures are going to be able to reach across all these different bubbles and hopefully start to bring each other together. And the other thing about that, we're running out of time, but I'm loaded with questions for you Larry as before. You know, so so we now have the ability to make a movie. Okay, a short movie, a long movie, a movie that's, you know, sympatico with the audience or maybe not. And to send a message or sort of tell a story. And using that we can. We can, we can make movies we can put movies on this remarkable video platform forget the theaters for now. We can, we can make art. And that art is, is, is got to change the world.  Okay, is this is this going to happen too. It's like, we live in a world of film festival. That's what we live in. Now, I can express myself, any person can express himself and be heroically celebrity overnight. How is that going to change things. A little bit of slightly differently. Every good story touches you emotionally. It makes you feel good and makes you feel sad and makes you want to learn more. But when we're doing our job right. We're not just sharing information, we're sharing emotions with you. We're sharing how we feel or how we want you to feel, or we're sharing a sense of overcoming adversity, but the core of every story that really resonates with an audience is it's emotional core, not the characters not the block with the way these people make you feel. So the stories that we want to tell need to be emotional stories, which means that we need to have empathy, we need to be able to understand who our audience is we need to understand what what they're going through we need to figure out the best way that we can share an emotion with them to help them feel better stronger, braver, whatever the emotion is that we want to reach. If you put that on news, if you put that on news, you take these skills of being able to make people feel a certain way, good, bad or otherwise, and you put it on news. Is that a good thing. You know, you can take this very same skills, the very same techniques, and put it as an overlay on trying to tell people what's going on in the world and affecting their thinking, you know, public opinion. Isn't that dangerous. We're doing it for 50 years. How many times have you how many times have you watched the newscaster and say I really like him, or her. I don't like that newscaster, you're making a decision on whether you're watching a particular channel, not based upon their development not presentation to news per se, but on the perceived character of the person presenting the news. So you're deciding this person's my friend, think of Walter Cronkite just as a name that you're familiar with, given how old both of us are. And the fact that he was considered the most trusted name in most trusted man in America. Now, yes, he had a team of people that was writing and gathering the news, but the face of this was the news presenter. Every television station knows that is that people are watching the show based upon their perception of the quality of the character the news person. Look at a reporter, why do reporters go on location. Most of the times they don't need to their own location long after the news has occurred, but they want to be seen to be present.  Do they have to do that. No, but they're trying to show that they are just like all the rest of us. The news has been wrapping emotion around the news story since the beginning of time. Look at lost kid found celebration occurs. This is a five minute package on television and it's a two paragraph story in a newspaper because TV can make milk it for emotion in a way that newspaper can't for that story they'll use something else. Newspapers deal with different stories that trigger emotional response motion. All of us respond to emotion. It's just that's why we're built. This is a question of how we leverage that. What's an ethical use of emotional manipulation and what isn't. That's a conversation you and I can have another time. Yes, I agree and it strikes me from your your thought that you know there's an intersection between what you have been doing and studying and teaching and making tutorials on and public opinion. The way you know 330 million Americans think it's a sort of functioned on how well the media, including the people you are teaching in and helping, you know, handle it. And so it's bigger than that it's worldwide every country is looking to manipulate its message and manipulation can be good or bad. I look at every corporation wants to manipulate its message in terms of having your products perceived positively. That's the way you manipulate your image. You want people to see you as warm and avuncular and informed and concerned and caring and I'm sure all of those are true. It's also an activity that you participate in because you want to reinforce that message in terms of the kind of person that you are on the way that you're perceived each of us does that we all want to be like we all want to have friends. Nobody wants to be cast to the curb and ignored that's the worst that could happen. So what do we have to do to get the approval of the crowd starts at the individual and just keeps moving up. We have really ranged far and wide. Well, it's my fault. I was I was putting my pontificating hat on. I'm sorry about that. Okay, I have one last question just to return to earth for a minute. And that is, what's your what's your favorite video editing and production software right now. Oh, this is the world's worst question. I know I asked it intentionally. I asked you the same question before to and you had a lot of trouble with it. Every piece of video editing software that's out there does professional great results. If I were working with avid or DaVinci or Apple or Adobe and I was cutting media together you'd be unable to tell the difference between which application cut which piece of media is impossible. So what you're really doing is you're not picking something based upon the quality output you're picking something based upon its interface, which piece of editing software do you feel most comfortable with which piece of editing software works with the tools that you want to work with. And this is very much like asking what's your favorite cologne or what's your favorite car. My favorite car is a school bus if I'm carrying 30 kids from point A to point B. It's a sports car if I want to get there in a hurry and it's a dump truck if I want to carry stuff to the trash my favorite car changes based upon the task I'm doing. Same thing with software. I know all these different tools because I can pick the tool that helps me get the job done on time on budget with the quality that I need, because software does different things. I would not use Microsoft Word to total up a spreadsheet, but I would use Excel to total a spreadsheet but not to write a novel. There's the same is true for video editing software. There's different interfaces to do different tasks. So the worst thing you can do is to say what's the best of something. The best of something is unanswerable. What's the best car? What's the best food? What's the best place to live? It all depends upon what you want to do. Once you tell me what you want to do, I can help you find tools that will enable you to do it. But to say there's one thing that's the best, it's always contextual based upon who you are, what you want to do and what you want to accomplish. Yeah, and what's coming down the pike, because the landscape changes. Yes, but you can't make buying decisions based upon what you think might happen. What is Apple going to release later this year? Well, there's lots of rumors, but until Apple releases that I can't buy it, until Apple releases that I don't know what it's doing, all I'm doing is listening to rumors and I can start a rumor. Do you realize the next Apple computer is going to be free? Can you imagine? Start that rumor going until Apple ships it, nobody knows that I'm wrong, so therefore the next Apple computer is going to be free. I think kind of cool when you think about it. You heard it here on Think Tech. I'm still, I'm still not sorry I asked you that question by the way. No, and everybody does. I get that probably two or three times a day. What's the best fill in the blank? And the answer is there is no best. Best can only be answered in the context of what you know, what you want to do, how fast you want to work. It's always contextual. You told me those questions. Do you answer those questions? I can give you the tools that you need to need, but to say Premiere's the best or Final Cut's the best or Avid's the best or DaVinci Resolve is the best or iMovie is the best is unanswerable because the best of what to do what? You drive yourself nuts, you develop an ulcer because you're spending all your time searching for perfection when what you should be doing is getting the job done. Larry, so nice to talk to you. Larry Jordan, LarryJordan.com. I will go and I will get that book that is right in our channel and I will, I'll find you. You can run Larry, but you can't hide. Thank you so much for coming on our show. My pleasure. Thanks so much. We'll talk to you soon. Take care.


I came to the Czech Republic in 1996, which is now 22 years, 22 years ago. And I just finished my university. I'd studied literature and I got into the art scene here. And mainly I was working as a writer for a contemporary art magazine. As a journalist, I was working on art catalogs. I was in publishing. And for me it was a chance to really explore and begin my career as a writer and as a journalist. I also wrote poetry and did other things. And I really fell in love with art and contemporary art, and in particular with artists. And it was a wonderful time. It was a time of exploration and learning about myself quite a bit. At the same time it was a struggle working in the art scene and being a writer meant that I had to make myself very uncomfortable in terms of my lifestyle and the amount of money that I was making. That was very poor.  I was in my mid-20s. I was living in Prague during a very exciting time of transformation. And I was really getting to know a lot of very interesting people and making friends that would last my entire life. After about four or five years I had been really soaking myself in words. I was translating from Czech to English. I was editing. I was writing daily. And one day I just woke up and realized that I was burnt out. I actually had, I felt like I had nothing left to say and the words were just dry. It was kind of a crisis moment. I didn't really know what to do. At the same time my wife, I was married at that time, was pregnant. And I was feeling extreme pressure to change in some way, but I didn't know where to go. I didn't know what path to follow and it was very difficult to make any decision like to leave Prague or try a different profession or anything like that. And I vividly remember walking through the streets of Prague and just asking myself, looking around at the buildings, looking around at the people around me and just asking myself, so what do people need? What is it that people need? It was like kind of a mantra in my head. What do people need? What is it that they really want? Not just another product or another gadget or something like that, but what is it that they really need? So I kept asking myself this question and I didn't get an answer. It's not like I had a sudden flash of inspiration. Nothing like that happened. I kept going to work. I was trying to plow through, but it felt flat and uninspired and kind of lost. And it was interesting at that moment an old friend and colleague approached me with his idea of starting a college. And I went into his office and he spent I think three or four hours just laying out this grand scheme for the next ten years of all this college that would form in Prague and telling me the whole time this is really needed. It's something that's not here. It doesn't exist yet. It's something that really feels a need in the market and it's what people are looking for. And this was really resonating with me. I almost couldn't believe it. It was like somebody had just stepped in the door and opened this box. But it meant something, starting something new. It meant making a big transition in my life away from what I had been doing to something entirely new. It was exciting and it felt like a really great opportunity to develop something, to really create something new, which something that I really enjoy. So we did it. We jumped in and we started working on it. And at the same time, neither he nor I, we wanted to lose the connection that we had with the artists and the designers and the people that we had met over the years, which is one of the reasons that we wanted to offer fine art and graphic design as one of the main disciplines of the college. And for me it was a little bit like, rather than working with artists on an individual level, it became let's create a space where people can work, where they can develop themselves, where they can learn and they can engage in art practice. So for me it was like transforming what I had been doing from writing and creating and working directly with artists to creating a space where people learn. So that was my journey and in a sense it was answering the question that I'd asked myself, you know, so what do people need? I think that people need a place to work. They need to make connections with others. Humans naturally want to learn and they want to experience. And when people go to university it's a time of their lives of real openness. They want to be challenged and at the same time they need adults and people around them to help guide them and show them that there are possibilities. And I think that this has become something of an answer for me and I'm not going to say passion but a real kind of motivation and drive to create such an environment.