Mastering Java and AI with Daniel Hinojosa – Techstrong Unplugged EP9
Daniel Hinojosa, a self-employed developer and educator with 25 years of experience, discusses his journey from focusing on Java to incorporating other technologies like Scala and Kafka. He emphasizes the importance of continuous learning, effective teaching techniques, and the application of the Pomodoro technique for productivity. Daniel also explores the intersection of AI and Java, the ethical concerns surrounding AI, and the potential for AI in various industries.
Transcript
Hey everybody, and welcome back to Techstrong Unplugged. This is episode nine of our series, and I'm your host, Atan SA on Techstrong Unplugged. We dive into all things tech and get people up to speed with everything happening across the industry.
Recently, our co-host Cassandra Chin, went to the Great International Developer Summit, also known as gis 2024. At GIS 2024, Cassandra sat down with Daniel Hosa, who is a self-employed developer, and educator with 25 years of experience. Daniel discusses his journey from focusing on Java to incorporating other technologies like Scala and Kafka.
He also touches on the importance of continuous learning and effective teaching techniques. Finally, Cassandra and Daniel explore the intersection of AI and Java, as well as the ethical concerns and potential for AI in various industries. Without further ado, let's head over to Gits 2024.
Welcome back to Text on Unplugged. I'm your host, Cassandra Chin, and today we're here with Eno Hosa. Yep.
Our, uh, my first name's Daniel. Oh, I was looking for my badge. My first name's Daniel, and, uh, my last name's Eno Hosa.
So they, they had to switch the names. Oh, so that's why I was a little confusing. Yeah.
Yeah. OSA is a derivative of Eno Ho, which is, uh, fennel. That's really cool.
Yeah. Can you do a short introduction? Uh, I'm a developer.
I've been, uh, self-employed since 1999, so I think I'm going on in my, uh, 25th year, which is, uh, kind of interesting. So, um, yeah, uh, so 25 years, I just realized that right now, so in December, I'll have been self-employed for 25 years. Uh, I've been doing a lot of development.
I staked everything, uh, on Java. So, um, at the very beginning, one of the reasons why I went self-employed was to, um, you know, build a business around this language called Java. And, uh, probably one of the best decisions I ever made since then.
What kind of work do you do when you're self-employed? Uh, I've done a lot of things and, uh, I, I decided to start my work as a contractor who does code for, you know, institutions. Uh, it could be education, it could be government, it could be wide range of different things.
So I decided to be that Java consultant. Uh, this was at a time where a lot of companies didn't have that infrastructure, didn't have programmers, so it was a really good prime time in order to do that. But as time went on, everyone started creating their own IT departments, having their own, uh, kind of, uh, IT campuses where they would hire loads of programmers.
So they all started having their in-house thing. And, um, I started to integrate things like presentations where I'm on the no fluff, just stuff tour and, uh, do, uh, instructional training. So I have a lot of customers for that, and that's, that's a, that's a blast as well.
One of the things I like about it is that I get to talk to other people. And whenever I do trainings or things like that, one of the best parts about that is I always end up learning more than, uh, than the audience just based on their questions. So I absolutely love that part.
That's one of the greatest things about it. What Is the training exactly? Uh, I do trainings, uh, typically Java.
So of course, you know, since I have a lot of experience with Java, uh, it will be that. But, uh, also my other favorite language is Scala, which is a, uh, JVM based language. Uh, I do a lot of, uh, Kafka trainings.
I do, uh, DDD trainings and, uh, yeah, a few other things. I recently created a list. Since I've gotten older, I've created a list of like the technologies I'm gonna pay attention to and really just focus on that.
Um, I was guilty of like chasing, uh, bright shiny objects all the time. Uh, but now I'm getting older. I'm just gonna constrict that and just, you know, focus on that.
But, uh, yeah, those are typically the trainings that, uh, I focus on today. So what, what is in your focus bubble? Yeah, in that focus bubble, I have Java, Scala, uh, I have, uh, architecture domain driven design, uh, including some of those.
I have some things like, you know, video editing and some other, uh, things that I'd like to include with that. Machine learning is absolutely one of them, and how to deploy that, uh, ML ops. So those are, those are some of the few, I'd have to take a look at the fullest there.
But, uh, yeah, I think like there's a issue around like Java and machine learning not really being compatible, Falling behind. Yeah, so Java really needs to catch up. I'm, uh, really excited about some of these new Java enhancement processes that are coming out.
Uh, the foreign function memory interface, uh, is one of them to where we could tap in a little bit better natively to the underlying OS because, uh, Python has certainly done that. If you take a look at most Python libraries, underneath everything is just gonna be a C library. Uh, Java I think felt a need to tap into that operating system, uh, a little bit more.
So, um, they're going that route and also vector API on how to tap into the processor and do calculations, uh, a lot faster. So I think Java still has the opportunity to catch up. I think they've fallen behind, but a lot of it was, I wouldn't say a surprise, but Python took, um, you know, ran away with it, uh, for quite a while.
So Java has some catch up to do, but I'm pretty confident they're going to do well. But they do have a lot of work. There's a lot of Java developers, so I'm definitely hoping it gets there.
Yeah, Absolutely. Yep. Absolutely.
And you mentioned that term earlier, which I totally forgot. Oh, Yeah. Pomodoro technique.
So yeah, Pomodoro technique, uh, Italian for tomato is what Pomodoro stands for. Um, and I, I'll recommend this to anyone. If you are a student, even if you're like a grade school student, if you're in college, I wish someone told me this when I was in college, but, uh, hey, it is what it is.
Uh, I've been doing this for about 10 years, and the idea is if you have a thing you need to do and you want to focus on that one thing, you will estimate the number of pomodoros that it takes in order to do it. One Pomodoro is 25 minutes with a five minute break. If you're someone who suffers from things like back pain and a few other things, do the Pomodoro technique, uh, I think you're gonna do well.
And I'm not gonna say it's gonna be some kind of miraculous thing, but getting up is gonna be a key factor in a lot of things. One of the effects that you get from it is not only less back pain, uh, from sitting down too much, uh, but have you ever had that effect that you were trying to solve a particular problem, and it was really, really hard and you've sat down on it and you're suffering, you're suffering, you're suffering. You can't come up with a solution.
But the moment you, you get up and you walk away within that five minute time, you're like, oh, that's what it is. I just remembered what it is. Oh, this is, or this is gonna be a much better idea.
That's the thing that you're trying to achieve with that Pomodoro effect. You know, constantly getting up and, and, uh, thinking about your particular problems, because you'll always solve the problems when you're not on the computer. So 25 5 25 5, you do that four times and then you take a longer break.
That Actually happens to me a lot where I'm at the computer and like, sometimes I just forget what I was supposed to do. Yeah, absolutely. Like, you forget the most important task and you start doing other random things.
Yeah. And that's the other thing. It's a 25 minute, but you have to be focused on one particular thing.
That way you don't, oh, I'm, oh, look at that webpage. I'm gonna go ahead and do that. Yeah.
And so keeps you on track. That's the, and thanks for bringing that up. 'cause that's one of the absolutely major good points about using that Pomodoro technique.
I've been using it for 10 years, and I usually don't enthusiastically like, you know, uh, say, you know, recommend something like this. But Pomodoro's technique has absolutely been there. And I think if you have, you know, consistency with it, uh, aim first for like, maybe five Pomodoros first, but, you know, get used to it.
Uh, I try to aim for 12, which is, uh, you know, if you don't have any meetings, that's like six hours of work and, um, yeah, I think you're gonna get a lot out of it and it'll kind of like push you forward. So if you need that sort of thing, I think you really enjoy that. What Kind of work would you use the Pomo Dero technique on?
Um, definitely not meetings. Uh, for one, because I mean, meetings are just so, so random in nature. So those kind of days you would probably have like five or six Pomos.
But if you have a programming task, uh, if you have recordings as I know you do recordings, you know, tasks that you need to do, tasks that you need to focus on. I need to study for this, I need to write a paper, I need to do these sort of things. Pomodoro technique is where that's gonna work Absolutely amazing.
And it's gonna help you get up so that way you're not sitting and you're not suffering, you know, over a particular task. Over and over. How do you deal with the blingy messages, which keep calling for your attention while you're working?
Don't do it. Yeah. So if you have, you know, don't look your email, but here's the thing, it's 25 minutes for doing that, and it's not a lot of time.
So if you don't respond quickly to that email message, uh, you have that 25 minutes, you should respond to people. And we just saw a talk on Ken cousin on managing or manager. You have to, you have to, you know, uh, re you know, report or respond, uh, to requests.
But 25 minutes isn't that long. And that's one of the really nice things about that 25 minutes if someone interrupts you. Uh, the idea for Pomodoro technique is you can say, let me just finish this.
I have about five minutes in my Pomodoro. Uh, or you could just say, I have five minutes left. And that's not a long time.
And if you build up a trust that you're always gonna get back to a particular person, then you know, more and more people are gonna leave you alone at that critical time. I see. So they have to get used to your style.
Yeah, that's right. Yeah. Your nuances.
Uh, but if other people ask about it, and, um, you know, I've introduced people to the Pomodoro technique, uh, using that. So Do you ever recommend it in your talks? I do, uh, ev you know, every once in a while when it come up and if it's, uh, gonna be relevant.
I did have a talk on, uh, Pomodoro technique itself, but, uh, I haven't done that in it quite a long time. But yeah, I'll, I'll usually recommend that. I'm trying to think about when IU uh, I have used that every now and then.
Uh, but yeah, I'll just name drop it every once in a while. Okay. I like, sometimes it's good to take a break from like, the heavy technical content.
Yeah. You know what, uh, someone uses it on the weekends and I give it a try. Like, I like playing video games, watching YouTube, things like that.
But I find myself sitting enjoying my life as well. So every once in a while I'll do a Pomo technique on the weekends where I'm just relaxing or playing a video game or doing something. And then I'll do 25 minutes of playing a video game.
That way I get up 'cause I have dishes to do, you know, laundry, feed the dogs, you know, tent to the yard or whatever on the weekends. And so in my five minute breaks I'll go to do that. So I don't do that all the time.
'cause the weekends are a little bit sacrosanct, you know, you gotta you gotta relax and stuff like that. But if I need to do something on the weekends and I don't feel like doing it, I'll, I'll do a reverse Pomodoro technique. On weekends.
It might be better than the usual, like, procrastination, That's the thing. Yeah. It, it like helps you.
You gotta do something and then, uh, those little things just add up and then that way you don't feel like at the end of the night, uh, I gotta do all these. So that's really nice. Is there anything else you wanna talk about?
Um, Yeah, I think, um, Uh, just like where I'm at now, everything's gonna change. So the things you sign up for today, you know, if you were interested in particular techniques and things like that, be flexible, uh, on it. Uh, there's a lot to learn.
The thing you're doing now is not always gonna be the thing that you're gonna end up with. Um, and, you know, that's just, uh, that's just nature and that's the way, uh, that business works. So be flexible.
Learn something new. And I'll go and include the Pomodoro technique in this. If you wanna learn something new, I know this works out.
I did this with a closure programming language. I had, uh, I had told myself I'm going to do two Pomodoros for me in the morning. 'cause that's when my brain is really squishy.
And, uh, and super absorbent. Do two pomodoros at the beginning of a day to learn something new or end of day you choose the time of day where your brain is the most, uh, absorbent. Do two pomodoros, uh, every workday.
They'll do it on weekends, but every workday you're gonna find you're going to do, you're gonna learn a lot about a particular technology actually very quickly, uh, by doing so. So that's a really cool technique. And as a reward, everything that you learn go in and sign up for a, uh, local user group.
Uh, that's the way I got started. So, uh, you know, try a Java group, a Ruby group, a Python group, a machine learning group, uh, look for user groups in your area and, uh, tell 'em what you know. And then, um, who knows where, uh, you're gonna go from there.
Life is, uh, great. That way. I feel like different user groups actually have different age demographics.
They do. Uh, yeah. I don't, I I think the, uh, Java demographics are getting older, but, you know, we always want, you know, new people to sign up and do talks and things like that.
Um, I think there's that. And I think there's also gonna be a shift, uh, if Java, uh, and I think I'll say when, when Java catches up on the ML space, it could be they're gonna have the mind share again. And, uh, we're gonna get young people in.
So just like an ocean, things change, movements change, and, uh, yeah, we'll see where we go from there. That's actually a really good point. Like once Java and AI meet, then right.
There'll be a huge change. Yep, absolutely. Or at least that's what I'm counting on.
Yep, absolutely. Yeah. Um, is there anything else you wanna talk about, like maybe points in your talk or, Uh, yeah, so I'm here at gis, uh, of course GIS 2024.
This is the first time I've ever been here. So, uh, everything's been, uh, really excellent. Uh, I've been doing, uh, a couple of Kafka talks.
I did a, uh, just get to know Kafka. Uh, I'm now, uh, uh, later on this afternoon, I'm gonna be doing a Kafka streams with K-S-Q-L-D-B. That one's really exciting.
So that one is take a pub sub and, uh, do something with it, uh, immediately. So if you take, for example, someone submitting a, um, you know, a credit card request or something like that, uh, I want to take that information and I want to ingest it and then decide whether I want to give them a credit card or not. That's a stream process, and you do that very quickly.
Uh, and it's a real time ETL or extract, transform and load. And the ETL part, one of the things that, uh, one presentation that I have is machine learning data pipelines, which is uses stream framework to extract. And as part of the transformation, uh, submit that over to a machine learning network.
In my presentation, I use TensorFlow serving. So if you get a credit card report, submit that to TensorFlow serving, and it'll come back with the, uh, percentages as to whether you want to provide this person a credit card or not, based on some sort of training model. And then you can go ahead and publish that, uh, back into another Kafka topic.
Kafka's great because they have, you know, for every topic, you could take the information for it and pipe that over into a database. So it's a lot of fun. So isn't TensorFlow like a ai JavaScript Back in?
It's a JavaScript. Uh, but it's also Python. I think I got started with Python, if I'm not mistaken.
So, uh, so are like officer developing Python. Are credit cards now using AI to determine if they're valid? I'm pretty sure they are.
I don't work for a bank, but I'm, I'm pretty sure ai, uh, is used for that. Um, and I'm pretty sure they're, they, hopefully they're doing it responsibly. Uh, we've been, uh, uh, or I've been attending a lot of talks here just about ai and I, I think most of us in the technical community know this, that AI is great, but not to be fully trusted at the first round or second round or third round.
Right. Always, always doubt your AI is always a good thing because you don't know what the models are looking at. You don't know how they're hallucinating and things like that.
Always, always, always, uh, monitor your ai. Do you think it brings up ethical issues when you have AI deciding things? Yeah, absolutely.
So I am, we're going off the political cliff here, but, uh, I'm a firm believer of, you know, uh, police, uh, or, you know, uh, airport security. Uh, and a lot of these, um, you know, a lot of these, um, you know, any kinda law enforcement that are using ai, I get really nervous about it whenever your civil liberties are at stake. Um, you know, I don't, I don't like the idea of ai.
I was just reading an article this morning about, uh, police using AI to automatically fill out police reports. I'm horrified at that prospect 'cause, and, but, you know, lawyers need to step in as well. I'm a big fan of lawyers when it comes to ai.
I know that's probably gonna, I just made your video controversial, by the way. Uh, but, um, you know, I think there is a really huge opportunity if you want to invest in it. Law and AI is, I think, gonna be a very satisfying job.
I think it's gonna be a very lucrative job, and it's gonna be a big necessity. I think if you are, if you want to ever decide for that kind of career, asking questions of where did you get this, uh, how did you train your model? Uh, why did it come up to this decision?
I need to see the training, uh, model. I need to see the data that it was involved as part of any kind of litigation, because you'd hate to go to prison over some AI model making some kind of, you know, hallucination that you should be a jail for some crime that you didn't commit. So, you know, that's, that's where I'm leery on ai.
But AI for credit card applications, yes, with a, but you know, people with, um, people with credit card, there could be, uh, one of the, uh, uh, ideas that someone told me about Brian S**t, uh, he said that if you bring in, and part of the hallucination is if you bring in a zip code as a column called a feature as well, if you bring in that zip code and the training model trains on your particular zip code, then it could be, hey, you live in a poorer community because that zip code is associated with a poorer community. And so therefore, you're not gonna get a credit card just purely based as a bias, uh, on your neighborhood. It could be you're doing well, it could be that, you know, you started to live in a poorer neighborhood and, and, uh, you're doing a lot better.
But if it doesn't detect that, and if you don't include them in the training model, you're gonna be pigeonholed and, you know, you're not gonna be able to get, you know, credit for opening a business or getting a house or other things like that. So there are, there are huge detriments. I mean, they could be really small, like what zip code you're in.
I think that's where the lawyers come in, Lawyers. Yeah, I know it's all so go lawyers. But, you know, as far as this AI thing, I think it's gonna be something that, uh, you know, we're gonna have to take at, uh, take a look at legally.
Uh, the other thing is, you know, the copyright, whenever we, uh, use a model, there's, there's, there's data that it took things from, uh, and some of it is somebody's copyrights, someone owned that. And so there's a lot going on there. There's a, uh, comedian Sarah Silverman, uh, who I think is who she, who did she, she sued one company about, yeah.
Hey, these jokes come from me. You gotta pay me for that. So, uh, lawyers everywhere.
Yeah. So yeah, we'll see how that turns out. Probably over the course of a year or two, there will be lots of fun things going on.
Yeah, I think so. Yeah, it's, uh, it's the new world, so, and we need to, uh, figure out how we're gonna adjust, uh, adjust to ai. But, uh, yeah, I don't think it's a magic.
Um, I don't think it's a magic bullet. I think it's really helpful as developers. Uh, I think it's great and they do offer solutions, but again, uh, you know, always have that doubt.
Always have your suspicion that, eh, maybe this isn't the right way to go about it. But I think it's a wonderful tool. I Think we covered a lot of interesting topics today.
Yep. Maybe a little controversial, but Yeah, it's interesting. Yeah, that's Right.
So thank you for talking to me today. All right. Absolutely.
It's Been great. Yeah, absolutely. Great.
Thank you very much.
