Initial commit: HPR Knowledge Base MCP Server
- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
254
hpr_transcripts/hpr1975.txt
Normal file
254
hpr_transcripts/hpr1975.txt
Normal file
@@ -0,0 +1,254 @@
|
||||
Episode: 1975
|
||||
Title: HPR1975: Interview With An Android App Developer
|
||||
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr1975/hpr1975.mp3
|
||||
Transcribed: 2025-10-18 12:43:44
|
||||
|
||||
---
|
||||
|
||||
This is HPR episode 1975 entitled, Internew with Android Developer.
|
||||
It is hosted by SIGFLOPS and is about 14 minutes long.
|
||||
The summer is SIGFLOPS here and HolyCruid it turns out my brother-in-law is an Android Developer.
|
||||
This episode of HPR is brought to you by an Honesthost.com.
|
||||
Get 15% discount on all shared hosting with the offer code HPR15.
|
||||
That's HPR15.
|
||||
Better web hosting that's Honest and Fair at An Honesthost.com.
|
||||
Hi everyone, we're here with Dillon, Android Developer, Dillon, whose name last name,
|
||||
showing me nameless.
|
||||
How are you doing, Dillon?
|
||||
Doing all right.
|
||||
So you're into Android development for your job, right?
|
||||
Yeah, I've been doing it, I guess professionally for about three years and maybe four years
|
||||
total.
|
||||
Oh my goodness, it's been four years.
|
||||
Yeah, I guess so.
|
||||
The thing I like to ask people when they come to any of these interviews is how you
|
||||
got into computers in the first place.
|
||||
Oh man, I did, I was not that into computers until I took a class in college where we basically
|
||||
did like microcontroller programming and like breadboard prototyping and so you had to
|
||||
take just like a microchip, put it on a breadboard, like build the power supply for it and all
|
||||
the peripheral things you wanted it to do and then write C programs for it.
|
||||
Oh okay.
|
||||
So that was like a lot of diving into data sheets to learn how things worked and sort
|
||||
of like really going out of the hood and figuring stuff out and that's where I kind of think
|
||||
that the moment I really fell in love with it was when I learned how to kind of make it
|
||||
talk to like a PC, like a microcontroller and then it was like, oh geez, I could do like
|
||||
anything now.
|
||||
Through serial, I take it.
|
||||
Yeah, that's cool.
|
||||
That was just kind of one of those like things that was always magic to me and then something
|
||||
I could do it and everything seemed possible.
|
||||
Yeah, yeah, for me it was the parallel port that I used to interface things with which
|
||||
it's really empowering because the computer is connected to it and with the computer you
|
||||
can do pretty much anything, right?
|
||||
And so it wasn't the basic stamp, you said it was in C so it can't be the basic stamp.
|
||||
Yeah, so it was actually just like a microchip like pick.
|
||||
That was a pick?
|
||||
Yep.
|
||||
And then we had like a, I can't remember the basically a C compiler.
|
||||
Keele probably or something like that.
|
||||
I can't remember, it was like, I think it was like an IDE as well that our professor is
|
||||
something he got for us.
|
||||
Okay, cool.
|
||||
He just had that and I'm like a five-wire thing that like load your programs on and.
|
||||
So did you start programming commuters then or I guess, yeah, that was like my first
|
||||
real.
|
||||
Cool.
|
||||
So you were introduced to the C.
|
||||
Yep.
|
||||
That's awesome.
|
||||
I think I'd taken like some CUC plus plus class before but never really, wasn't like super
|
||||
relevant to what I was studying at the time, was doing mechanical engineering and it seemed
|
||||
like I'll never use programming.
|
||||
Yeah.
|
||||
Yeah, I'm very much a software, I'm a software junkie.
|
||||
So I'm not so much with the hardware but I still think hardware is rather interesting.
|
||||
So you've, I've heard through the grapevine that you won this Red Bull Challenge or is it
|
||||
a...
|
||||
Yeah, so it was like, I think that was about five years ago as well.
|
||||
Oh yeah.
|
||||
I didn't like that at all.
|
||||
Chees time flies.
|
||||
I know, but yeah, that was fun.
|
||||
It was like a hackathon put on by Red Bull, where I basically had 72 hours to do a build
|
||||
based around some theme that you didn't learn until like the day of the build.
|
||||
And so I had a team of four people and just sort of like drank a lot of caffeine and
|
||||
worked a lot.
|
||||
There you go.
|
||||
Yeah.
|
||||
So what got you into Android development?
|
||||
Um, so I'm trying to think, it was sort of like, I really like doing like a microcontroller
|
||||
programming but it was always like, oh, it would be kind of cool if I had like a, you
|
||||
know, like a touch screen input or like a screen or like, oh, now I want to connect to
|
||||
the internet.
|
||||
And that was like, essentially, I was like, what a smartphone was was all that stuff packaged
|
||||
for you.
|
||||
Yeah.
|
||||
And so, yeah, I had a friend that was doing iPhone and Android development and I didn't
|
||||
own a, a Mac at the time, so you couldn't do iPhone programming really without one or
|
||||
without jumping through some hoops, so I decided to like, bought an Android phone so that
|
||||
I could program it and then just sort of slowly learn by hacking on it and make it tons
|
||||
of mistakes.
|
||||
Cool.
|
||||
Cool.
|
||||
That's awesome.
|
||||
So, um, do you use an IDE like a clips or something like that or the Android studio?
|
||||
Android studio.
|
||||
Okay.
|
||||
That's pretty wicked.
|
||||
Yeah, I started started out in the clips and then my first like professional job they
|
||||
were using, like the very first version of Android studio.
|
||||
I see.
|
||||
Um.
|
||||
So, uh, do you use, uh, the curiosity, your development cycle, your iterations, you know,
|
||||
testing iterations?
|
||||
Do you use the emulator or do you use actual hardware?
|
||||
I generally, uh, we'll have, uh, generally use hardware, um, I think the emulators weigh
|
||||
better than it used to be and put it in my head, it's not, even, so, so yeah, I don't
|
||||
do that.
|
||||
Um, but yeah, so I basically have like, I use a Nexus 5, I just like almost always just
|
||||
use that sort of stock Android and then usually have like some, um, older Samsung's lying
|
||||
around because they'll generally have some like extra button or like extra feature that
|
||||
like normal Android phones don't have and that'll eventually throw you off.
|
||||
So, uh, usually have like, yeah, an old, like, uh, 4.0 version or something of Android running
|
||||
on like an old slow Samsung phone and sort of use that as my baseline or poor performance
|
||||
phone.
|
||||
Yeah, I see.
|
||||
Uh-huh.
|
||||
Yeah, I, um, I'm yet to, I, uh, my father has, he's bought my S2, my outgouts, the S2,
|
||||
so I'm gonna buy it back from him and he's that, right now he's, um, a Note 3 and, uh,
|
||||
the Samsung S6 Edge Plus for development, notice.
|
||||
And one thing I've noticed is, um, the Note 3 is fine without having a precision, um,
|
||||
marker I guess in GLSL where you, you need a precision like, this floating points are
|
||||
high-productions, something like that.
|
||||
So that was one thing.
|
||||
Um, I'm finding a lot, a lot of my apps don't work on that when you have in your hand
|
||||
right now.
|
||||
Interesting.
|
||||
Get CS6 Edge Plus.
|
||||
So, um, now Zant, cause like, are you, you're doing a lot of stuff, not in Javaland, right?
|
||||
Yep.
|
||||
I do very little in Javaland, so you, you do a lot in Javaland, right?
|
||||
Yeah, that's basically it.
|
||||
I have a little experience like one of the, company I worked for has used like, sort of
|
||||
like, um, the J and I before to like, so you had a few different like methods and see
|
||||
that would collect stuff from like this, just have files of whatever device you're running
|
||||
on.
|
||||
And eventually we ported that to, uh, to Javla, cause like, I don't think we needed, I
|
||||
don't know if there actually was a performance gain there, it was sort of a legacy thing that
|
||||
was around and like...
|
||||
It's, the job is so fast right now, it's pretty negligible.
|
||||
The performance increase when it comes to running something in native.
|
||||
And I'm not sure like, who, like, we kept running in Delay, I'd get like, SEG files
|
||||
randomly.
|
||||
Yeah.
|
||||
All those like, it seems like never really be reproducible, it was like, uh, this is like
|
||||
more of a hassle than it's worth, so.
|
||||
Yeah, see, and C++ programs are a little bit difficult to debug, especially when they're
|
||||
on a device, do you just use, uh, log, like the log for debugging, or do you use anything
|
||||
else?
|
||||
Yeah, usually it is just like, yeah, log.i, or whatever, I'm like, and uh...
|
||||
Not that V, I think is...
|
||||
For debug, really.
|
||||
Yeah, so...
|
||||
Yeah, I mostly do that, and that'll kind of help you hunt stuff down, but...
|
||||
So, what are you currently doing, and if you maybe haven't any, uh, no closer, there's
|
||||
no disclosure agreement here, but...
|
||||
Oh no, I must.
|
||||
Currently I work for a company that's, I write an Android SDK for them, and one thing
|
||||
that they figured out how to do is sort of like, maybe a heat transfer model, or
|
||||
around, like, Android phones, different models of Android phones, and so we can, um, essentially
|
||||
use the, uh, the thermocouple inside of the battery in the phone to predict the ambient
|
||||
temperature around the phone, so you can watch.
|
||||
That's, that's neat.
|
||||
Yeah, it's pretty, it's pretty hardcore, um, the...
|
||||
So you essentially, like, every model of phone, you need to run through this, like, calibration
|
||||
cycle, and find some sort of, like, heat transfer constants, but then, uh, yeah, we essentially
|
||||
have a, like, run the SDK on any device, it'll, like, call to our servers to get a calibration
|
||||
file if you have one, if we go to one, and then, it'll, uh, yeah, run that and run temperature
|
||||
predictions, um, and it's sort of, like, remotely controllable, like, you can configure some
|
||||
different things remotely, like, uh, so it's, yeah, it's like a customer, so to have, like,
|
||||
as a portal that they can, you know, this is, like, how many times I want to take temperature
|
||||
per hour, or, you know, I want to turn it off completely, or think things like that.
|
||||
It's interesting.
|
||||
And that, that was, yeah, that's been a good, uh, yeah, I'd never written, like, a, a
|
||||
distributable, like, SDK before, so that was, like, a learning experience for how to
|
||||
do that on Android.
|
||||
Yes.
|
||||
Also, you know, just, like, keeping, like, we're, trying to keep really good documentation
|
||||
for once, uh, since, like, someone actually has to, like, understand all this, the public
|
||||
API for it.
|
||||
Yeah.
|
||||
So that, that's been all, like, sort of stuff I've never had to do before, because I've
|
||||
basically, like, for a while, I was writing, just, uh, we're doing a dev shop, so you're,
|
||||
yeah.
|
||||
A lot of that time, that documentation doesn't need to be there, because it's sort of,
|
||||
like, quickly spinning off and off for some more.
|
||||
Yeah.
|
||||
Oh, I forget this one.
|
||||
The noise here.
|
||||
It's actually, uh, Christmas Eve.
|
||||
Christmas Eve.
|
||||
Yeah.
|
||||
Christmas Eve.
|
||||
Yeah.
|
||||
So everyone's being married.
|
||||
Everyone's being married.
|
||||
You know, Robert.
|
||||
So you, you, uh, you know, let me ask about it, you had a bug, and I did.
|
||||
A customer facing piece of code.
|
||||
Yep.
|
||||
Like, a ship day, uh, our, one of the first versions of our SDK out to customer, we did
|
||||
a lot of testing.
|
||||
They did a lot of testing.
|
||||
And didn't, uh, bug didn't pop up, but essentially I had a, uh, had a bug in my, uh,
|
||||
SQLite upgrade code that, uh, missing a space character, a classic story, and, uh, I,
|
||||
I do not, don't have like, uh, didn't have automated testing set up.
|
||||
So it was like a code path I never ran, and sort of, like, neglected to think about
|
||||
running this.
|
||||
And, uh, yeah, the upgrade path got run and crashed on several devices, and, uh,
|
||||
cheese.
|
||||
It was, uh, yeah, it was, it was a good learning experience, something I want to do again,
|
||||
learn some things from it.
|
||||
Do you do a lot of testing, or, yeah, it's like mostly manual, like, I'm sort of just,
|
||||
like, wrapping my head around doing, like, unit testing, and stuff for Android.
|
||||
I think in general, sort of what I've learned is that, uh, it's, but a lot of it is like
|
||||
an architecture decision, uh, to do, like, using, like, dependency injection to make,
|
||||
like, easily testable and swappable classes and stuff like that.
|
||||
So, uh, that's kind of my next task for this SDK in the next, like, month or so will
|
||||
be to sort of, see how much test coverage we can get, and, you know, there's, like, places
|
||||
where that's super useful, like, uh, in, like, a database, uh, so kind of your crud code
|
||||
for database, like, it'd be really nice to have that testable, because I've, yeah, certainly
|
||||
introduced really, like, bugs that I have not found for a long time, because I decided
|
||||
to start, like, sorting, uh, sorting results by, like, ascending orders of descending
|
||||
orders, something like that, and not, like, changing the rest of the code to accommodate
|
||||
that. So, um, so, um, so, um, so what was your, what was the first Android program
|
||||
that you wrote? Oh, I tried to do some, like, my first project was, uh, just, like, a
|
||||
fun thing, but I wanted to make, like, a, I just got it, been getting into running at
|
||||
the time, and wanted to make, like, a running tracker app. So, okay. I was essentially
|
||||
like, you need to be able to sort of, like, uh, you know, start GPS, like, record
|
||||
your GPS coordinates, um, and sort of keep those in some sort of collection, and then sort
|
||||
of save your route. So, you could, you could see I'm like a Google map when you were
|
||||
done, like, the route that you would run, um, and then collect the statistics, like,
|
||||
time and, uh, you know, average speed, stuff like that, um, and then sort of, so, yeah,
|
||||
it was just kind of, uh, a fun project, but, yeah, I learned a lot of, like, UI stuff,
|
||||
learned how to, like, work with some of the, like, the Android sensor APIs, um, and, uh,
|
||||
you know, just, like, learned GPS, as it turns out, can sometimes be a little bit difficult
|
||||
to debug because, like, yeah, you want to be, like, moving around, like, get a new, make
|
||||
sure your location is changing, and, uh, your power issues that can crop up if you're,
|
||||
like, using it too heavily or using, you know, more accuracy than you really need, kind
|
||||
of. Um, and this was, like, yeah, a few years ago, so this was before, like, Google
|
||||
Play Services, uh, location, uh, APIs, which is, uh, once you get it set up is, like, I
|
||||
think, in general, a little easier to use, and can save you some power, but, okay.
|
||||
All right, cool. I think, uh, I think we, uh, go back to our Christmas, uh, do these.
|
||||
Sounds good. Well, thanks for having me on. Oh, yeah. Of course. You take care.
|
||||
All right. Later. Bye-bye.
|
||||
You've been listening to Hacker Public Radio as HackerPublicRadio.org.
|
||||
We are a community podcast network that releases shows every weekday and Monday through Friday.
|
||||
Today's show, like all our shows, was contributed by an HBR listener like yourself.
|
||||
If you ever thought of recording a podcast, then click on our contribute link to find out
|
||||
how easy it really is. HackerPublicRadio was founded by the digital dog pound and the
|
||||
infonomicum computer club, and is part of the binary revolution and being rev.com.
|
||||
If you have comments on today's show, please email the host directly,
|
||||
leave a comment on the website, or record a follow-up episode yourself.
|
||||
Unless otherwise stated, today's show is released on the creative comments,
|
||||
attribution, share-like, free-to-life scenes.
|
||||
Reference in New Issue
Block a user