Episode: 552
Title: HPR0552: Uber Leet Hacker Force Radio 5
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr0552/hpr0552.mp3
Transcribed: 2025-10-07 22:58:12

---

3
4
Hello and welcome to our show. You're listening to W-A-R-T or Radio 98.7 in Washington State.
The time I've been mentioning it before is 7 o'clock, which means it's time
once again for the Umbreleague Hacker Horse Radio Show.
Let's go to another dimension.
Let's go to another dimension.
I'm actually coming to you pre-recorded this time, as always, in a restaurant.
It is the 4th of July and I'm in Stillwater at the border of Minnesota and Wisconsin
to watch the fireworks here, especially fun. I went here last year with the friends.
This year I'm alone, but I'm waiting for my cheese curds to come to keep me company.
This episode we're not going to be releasing anything, but I'm going to make it up for you by interviewing a couple of people.
I'm going to be interviewing crew about his cabbage flash card for the Clefow vision in addition to Matthew Jones about his work with the D programming language,
or more specifically the projects that he has written using it. But before all this, a musical break.
Well, next we have not only a three movie scores, all really dramatic and gorgeous.
This is music from Batman, dances with wolves and Robin Hood, Prince of Fees.
I'm going to be interviewing a couple of people.
I'm going to be interviewing a couple of people.
I'm going to be interviewing a couple of people.
I'm going to be interviewing a couple of people.
Welcome back everyone. Again, this is W-A-R-T or Radio.
You are listening to the Opelite hack for us at Radio Program.
My cheese curds have arrived and very delicious cheeseburgers, while they call the microphone up to them so you can hear them.
And see them. Don't they look delicious? I think they look delicious.
So this is what I'm going to do. Let's go to doing a radio and eating at the same time, which my mother tells me is in polite.
I will get back to you after the bell.
Welcome back. It's now in the future that bell may not seem like it takes a while to bell, but it brings you forward in time.
And those in the background are the cannons.
My cheese curds were just two delicious, all American food and all American holiday and all American people.
It's kind of like pride but for straight people to be honest with you.
Not a queer soul in sight. It makes you feel a tad nervous, but that's okay.
I still have a great deal of fun here.
So now for the poem of the week.
And last week this is an essay.
And this week it won't be an essay or a poem. It's going to be a thought because that's these take a while, right?
And poems are not very poetic, right? So, okay.
Here's the thought of the week.
You have a complexity.
You have computers and you have an idealized sort of, the idealized computer is the Turing machine.
The Turing machine has memory. It has program memory and internal state.
And in an external state, this external state being at tape, right?
And you can theorize from that that complexity of what it computes.
It can compute anything but the complexity of what it computes is in some way proportional to the memory that it can store.
But this hasn't never been proven. The holding problem still exists and you can't definitively prove what a program will actually do.
But it's a good guess that you can say that the complexity of a program is related in some way to the amount of memory either stores or the amount of program memory it reads from.
So how is this stored? Well, this is stored in the real world.
We have magnetic flux and capacitance in these things.
Because the world is physical in this, this computer is in a physical world where it's constructed.
And it computes using physical things, more or less.
And so how complex is what it computes? How complex is the memory that goes through it?
We have a number that is made up of 22 ones and zeros.
Consequently, one zero, one zero, one zero. You would need a 22 bit number to store that, right?
But you can store it in a smaller number.
By say one followed by binary 22 or binary 21 plus the program to expand that.
That program might look something like take the first bit, inverse it, decrements the number you're taking from it.
What it reaches zero, you're done. And store it in the leftmost position for each iteration.
And so you've expanded a smaller number that's not 22 bits.
Let's say it's six bits, I don't know if he and what binary 22 is.
Let's say it's six bits, I think actually would be five or six bits plus the one.
So we've reduced a bit that's 22 bits to a number that's 22 bits to a number that's five bits.
So how far can this go, right?
Well, again, this computer that is constructed and runs in a physical world.
And this physical world supposedly is based on the big bang where you have expansion of existence more or less.
An expansion of energy and matter and these things.
And all the complexity of the world comes essentially from this big bang.
So essentially you could reduce the size of this bit to the size required to the storage size of the universe either at the big bang or before the big bang.
I suppose at the big bang, which is for all purposes, just infinite.
You can compress things infinitely, provided that you have the time to do it.
Now it took the time of the universe to expand from the big bang to where it is now.
So it could take a while, right?
This 22 bit number is not going to be nothing for good, for good while.
But what are we doing there?
Are we actually taking the complexity of the universe and compressing it back to the size of the big bang?
Is this actually possible?
That's an interesting question.
I think, because you're told to think that matter that disorder comes from order constantly, that things are constantly becoming more and more disorganized.
And you've heard this a thousand times, I'm not going to talk about Schrodinger's cat, you can google that.
Quantum mechanics, all these things you've heard, I've perverted over and over again.
But the essential problem there is the observer.
The change is the probability of things being observed.
I think, okay, take this, this is...
Okay, sorry about that, my battery died and now I'm here in so much secluded room that says employees only, next to an outlet.
Stop telling everyone.
So as I was saying, here's an example of this thing that you've been told about over and over again, that you can do.
It's fairly simple, you're all geeks, right?
And see, okay, so you have an LCD and you have two polarized filters.
One horizontal, one vertical, then you have a sheet of liquid crystal in the middle.
And the secluded crystal polarizes the light that passes through it by 90 degrees if a charge is going through it.
It doesn't, if not, so you have something that becomes opaque and something that becomes clear with current.
And so take one of these filters, come to three pieces.
And have one, so the all light coming from it is say polarized horizontally.
Then put another one at a 45 degree angle, right next to it.
So it's polarized at a 45 degree angle.
And then have another one over that that's polarized at a 90 degree angle.
Now, you would expect that pretty much no light would come through here.
Filtering out all lights that is not horizontal.
And then you filter out all light that's not at a 45 degree angle.
Then you filter out all light that is not at a 90 degree angle.
So I should have any light come through.
Well, it turns out that's not what happens.
What happens is it goes through the first filter, right?
And then that goes through the second filter.
And what the second filter does is changes the probability of light being filtered by the third filter or not.
So that it isn't probable at all that no light that can be filtered by the third filter goes through.
So when the third filter comes, all the light goes through.
And so the filter that's polarized at a 45 degree angle makes everything clear, which is really messed up.
And that's what we mean by the observer changing things.
And so why does this happen?
Going back to complexity, can we take a complex universe and make it the big bang?
Can we take all this expansion and compress it with just us?
And you would think no, but maybe this is not true.
I think that would be one indication that this is not true.
The very act of observing something by a species or something that can then has the probability of reducing the complexity of this thing.
Change the universe.
I think maybe an indication that we can.
Now, if the universe were going into a big crunch at the end and we're just expansion followed by a compression.
Like just if we expand.
It's still in compress.
Like how the old theory was.
I think this would make sense, but the universe is expanding exponentially.
So why would there be movement of the universe to in some way be compressed more?
I don't know.
It's a big question for me.
So back to the regular program.
We were going to have a release this episode, but it's not quite getting there.
This is called hack the planet term, which is a terminal emulator that I've been working on.
And so you're in a terminal most of the time.
It's pretty boring, right?
Like if you superly maybe have a wise amber terminal.
But chances are you don't.
And so it needs to look more like your hecking planet in my opinion.
So this is what this terminal is meant to do.
I'll release it.
I'm going to release it in the next episode.
But if you want, you can check out a video to see the progress so far.
At the Uber Elite Hacker Force.
It's alloneword.deepgeek.us.
Now on to the interviews.
Our first interview is with crew of Block Party fame.
And at the party fame.
He's the fellow demo cedar.
And we're going to be talking to him about his clinical vision flash cart.
And after that, we're going to be talking to Matthew Jones.
So after talking to Matthew Jones, hopefully there'll be enough time left for you to watch the fireworks with me.
That's my point here.
So I'll be right back after this interview.
Hey crew, how's it going?
So you have made a flash cart for the clinical vision.
So I hear.
Yes.
It's called cabbage flash.
I believe that it is a mild injury in M30.
Yeah.
And apparently it's a USB master's.
It looks like a master's drive to two of us.
So it's pretty cool.
It seems to be OS agnostic.
Yes.
One of the things I wanted to do when I started making it is because I'm not sure who I thought it would be.
I'm making dinner for you.
And then we'll sign.
So I wanted to have something that I could just plug in and talk to you.
So next door it's going to be great.
And so the clinical vision is a Z80 as I understand.
How much memory, how big is the card?
Well, there's very, very different expressions.
There are some who are very switch cartridges.
But right now the big cartridge that I'm using is...
And then it turned to K.
And the reason for that was...
I think it may be created.
Now a cabbage flash can be given.
I wanted to pass out some cards of a demo that I get for a lot of money.
And one of the things that I found myself for making a demo was that I can send in a standard cartridge.
Because there were actually no radio issues.
I think that it would be a crash after the war.
I'm hoping it's a start.
You don't get money.
Thanks so much for getting into the Atari.
So the Atari was...
Would you say the Atari is the first console to have a bank switching?
I assume this is within the cartridge.
Some sort of a bank switcher of fire bits in the cartridge.
Would you say the Atari is the first to do this?
Is it the first?
I've never shown the history.
I know it would be cheaper to come in.
Because the title would be more key than it is to me.
Hmm.
I think it's more interesting than I'm so.
Plus people were designing games a lot longer than Atari.
Yeah.
At the time, there was a round that I think came out in 1982.
There were edge of games and not very green.
Yeah, it's a 32K.
It's quite a bit for back then.
So that's cool.
You don't have to deal with a lot of different...
I'm leading a lot of different trips.
Should you want to...
What's your primary audience for this?
Is it homebrew developers?
Or do you think a lot of people are going to dump their arms onto it
and plan a real system?
It's mainly homebrew developers.
There is a flash drive that's being produced.
I can't remember the name of the company.
I can't even see where it's from.
I remember that.
In the head flash drive,
in its stores,
I guess we're going to 28 slots.
And it is.
It's homebrew.
It is homebrew.
But, so yeah,
I don't know where that actually happened.
And it works well.
So I think we just want to download rounds
up and then play on there in our resource hardware.
That's the missing thing.
But, thinking across the 2020 box.
So,
there's still a lot of more people.
We select to be smart to kids.
And this is a very big thing where the game developers
and the games players they like,
especially a lot of more collectors.
So,
they like the real card.
They like Man in the Box,
especially so a lot of games that are being written today.
People are making money to pay out
the hardware boxes,
and they're making money to pay out the hardware boxes.
Did you block your block party?
Production was a
water line.
Is that right?
Did you have any box art for that?
No, I didn't.
I'm the head interested in that stuff.
I didn't want to pay out the cards.
So, what I did,
I decided to design a make-more
and then I got a
brain strategy.
Yeah.
I wanted to
write in a demo.
Yeah.
Yeah, I was going to do the same thing for
the year before for the Sega Genesis.
I was putting together a demo,
which never really came together because
I decided to do too much of it at the end.
Like, I had all these effects,
and I wanted to put them together.
But I didn't have the cash for
any prompt programmer,
which is the route I was going to take
as far as, um, so.
Now, as a trajectory,
I'm talking about
blackout.
Yeah, yeah.
I remember.
It's cool.
You also have a number of other things.
You have a Navy Yars,
and I understand.
Oh, right.
What else are you working on?
Remember to do now.
Um.
Well, there's still more
click-a-vision stuff, but, uh,
nothing is to do now.
I think, wait.
I did it in general.
And waterline was, like,
distorted much of the effects,
and was, like, part of a team,
certain characters,
that have to get in again.
But, uh,
somebody, uh,
a smart number from, uh,
I have to finish, like,
a while ago,
and, uh,
she had to make two words.
I think she had to use
class and mixed water,
or whatever,
and, uh,
of course, um,
40% of the situation,
the same thing at the site,
and, uh,
she crosses water,
and she starts to get involved in that again.
Sweet?
And then what else?
Uh,
more synthesized stuff,
if I have, uh,
a network synthesizer,
uh,
small amounts of synthesizer,
but not the pitchboard, isn't it?
Yeah.
So, I have this, uh,
idea, um,
how do you mean,
network modular?
Well, instead of
pitchboards, there is a E-boss,
I'm using the Canbus, uh,
bottom-order network series.
So, you're sending events over a Canbus?
That's pretty cool.
Right, right, so,
if we can put in a module,
it means ID,
and then it's sent to the server,
it's putting out the cards in it,
and then you can use the manifest
on the front panel to connect.
Is that a pretty fast part?
Uh, I'm sorry, is that a pretty fast protocol?
The Canbus protocol?
It's not too fast, uh,
it's one megabit, um,
and it's part, uh,
the maximum authentication.
So, network is possibly running faster.
That's not bad, though.
One megabit for, uh,
I'm assuming you're doing something like key events
or something like that.
I'm doing button-droll signals over it.
So, audio is switching to a meter,
except for the, um,
but button-droll, so,
it's more than just key events.
Like, uh, if you have an envelope,
you know, it's going to be out for the kids.
Uh,
the total things,
you know,
really like Mod.
So, if you have
the signal of the modulator
and all that,
uh,
are you planning, uh,
are you thinking about, uh,
having a bunch of different physical modules for this,
and, um,
like a separate alpha, uh,
I don't know.
I'm wondering, um,
is there certain sort of text,
textual sort of feeling you're trying to get for this,
or, uh,
why not just have it entirely on a computer?
Yeah, I don't know why,
but, um,
uh,
part of it is because I like
building things.
I want, uh,
I want it to be over in the new log house.
Um,
you know, I don't know how to keep moving.
Not even like this project,
because it doesn't,
you would keep using the new parts, you know?
Or really?
I'm not, uh,
as strict,
like, uh,
focusing on, uh,
interfacing of the computer, uh,
for synthesizers,
is the sucks.
At least I think it is.
Like, um,
it's incredibly difficult to move two knobs at once,
for instance,
which is kind of an important thing,
unless, maybe, have a couple of mice,
or something like that.
Right.
Yeah.
And that,
we have some amazing tools.
And that's like the hardest part of this,
is because now we don't have
a dedicated knob on each module,
or, or all the people in the networks,
so how I met,
I'm going to move them in the right place.
Here,
and I make that work, I don't know.
I'm trying.
Uh, now getting back a little bit to, uh,
to waterline in the Klecovision,
uh, what kind of graphics, uh,
the Klecovision have.
Um,
it's the, uh,
procurement market.
Yeah, either, can I?
9-9-18.
It's the same graphics chip in the MSX-1.
Uh,
if you would know,
you probably know the second genesis head,
like, uh, a super-centre-missed chip.
Yeah, yeah. I think it does.
It's, um,
probably for, uh,
for a Mastering Pathability.
Yeah, I think 12-182.
That's better than the, the 26-hundred, right?
Yeah. Well, there's
something that are, uh,
better and some worse, um,
but there's a lot less you've had to do?
Yeah.
In fact, the entire 26-hundred
within as well as controlling that.
Because, as a 30,
you might as well have the,
throwing that.
You may have the,
throwing that,
Yeah, you have a reasonably useful processor, I mean, well, what is it, like, three megahertz
or something like that, or four megahertz?
Four.
Three.
Yeah.
Yes, the color frequency.
3.14.
No, no, 3.7.
Okay, what is it?
3.3 and a half somewhere around there.
Yeah.
The way I think about it, think of it as a safe money, big cloud processor, the video chip,
and the worst part of the sound chip is that the frequency, I think, the second has a
problem with, um, the fire, so the sound chip, you can't get any bass on it, yeah, that's
hilarious.
It's all clocked to the, to the chroma frequency, that's, that's pretty funny.
Um, now, uh, now, for the 2600, mind you, you could, you could buffer a frame line and, uh,
a scan line, and, uh, you have a lot of control that way, but it, it seems like it was such
as slow as a system that the control that you could utilize from that didn't outweigh
the, the amount that you could do with sprites.
You know what I mean?
Like, there's some, there's some tricks with sprites, and if your processor is fast enough
and you have that capability, you can pretty much get away with, uh, with something that
you can do on, on the, uh, on the 2600.
For instance, maybe changing addresses, uh, per scan line, or something of that nature.
Um, are you doing, have you, are you doing any tricks with, with that?
Or are you, are you doing any sort of horizontal scan line tricks or anything of that nature?
No, rest or something.
Yeah.
I don't think I'm, I don't know yet.
Um, I think I'm, I don't know how, um, I think you might have, uh, there are ways that you've been
thinking.
You must get in line that, there's like a collision detection flag, and you can set up to sprites
and one scan line depending on the pole.
Some bit in the, in the video chat that's not what happened.
Hmm.
And then that, uh, there's another one that, uh, oh, uh, you can have any more of that force
right now on a single line.
So if you have more than that, then it's different.
Well, I guess that's what we can, since we had that applied to separate regions of screen
right, so I can move that, I didn't do anything like that yet.
Is there any way, is, um, out of curiosity, does the sound chip produce any interrupts
or anything like that?
No, that's one thing about the, the grid out there.
The only timing available is the vertical grid today.
So you have, uh, 60 hertz clock in the vent.
Yeah.
So you have a timing under, do you mind?
Use cycle timing.
You can measure it that way.
You can put them.
So, uh, all you have is, we're 60 in a second.
It was pretty impressive, waterline, to be honest with you.
Um, I know it was recently put on piano, despite it being released for, for, uh, a year or so.
And it seems like everyone really enjoys it.
What was, uh, what's your favorite effect out of, uh, out of waterline, if you don't mind me asking?
Overshave it, I don't know.
I guess you could say that all your favorites, that's a valid response.
Yeah, I'm going to start again today with that.
So, um, have you, uh, the, the mass storage device is 32k.
Have you noticed any bugs in any operating systems, uh, with that small size?
Oh, okay.
Um, it was hard to find at first, because, uh, virtual equipment in the U.S.
was cool, because, um, I mean, anytime something wrong happened, I would assume it was my call.
Yeah.
It wasn't any big bugs that I saw, um, that, once they standard, that, you know, but I think it's useful in the care of the, uh, the reason, um,
all those scuffies, uh, for small, like, mass storage, just like a wrapper for different diseases.
Yeah.
Uh, if you look at the mass storage package, you know, all they do is say, here's the battery per on some, uh, the man that you saw, you send the response back.
You can have that in the, you have ideas for what the different types of the mass could be.
Most times, it's just something to me.
And, uh, so it's supposed to be, you can give, uh, as soon as I'm done, in terms of lots.
Um, what, uh, what controller are you using?
It's, uh, and, uh, no.
People live in AVR, so they're just saying that the core is, uh, in our community, this is, uh, the version that has a USB, and you know what I mean?
Hmm.
Have you heard of the Egor plug?
On a curiosity.
Uh, yeah.
That, that, that, that, that seems operating.
Yeah, yeah.
It's a pretty wicked project, I think.
Um, that's the perfect.
You can see the letter, there's some other software that you mentioned, some other experience.
How about it now?
Oh, seriously?
You, uh, you, um, have done your own implementation of USB?
Well, I haven't.
I mean, I, I did some experimentation with some other, um, AVR.
It's the software that, uh, wasn't working on it.
Um, just see.
Was it, uh, was it, um, it was a, it was an AVR, you say?
It was an AVR.
Uh, okay.
Yeah, my only experience is with the, uh, the ML89C5131, which is, uh, 8051 type controller.
And, uh, so I was, uh, I was, I was working on this keyboard thing, right?
And so I was implementing, um, the human interface device protocol.
And, uh, yeah, like, uh, you, you had mentioned before, like, a lot of the times
when you would encounter a bug, you'd think it's in your code.
And there's a particular bug.
Oh, my God.
I haven't fixed it.
I've debugged it so, so much.
I'm, I'm pretty sure it's not my code.
I'm pretty sure it's, uh, uh, free BSD is the operating system
that I'm accidentally crashing my kernel with whenever I use it with that.
So, you know, maybe it is my code, but I haven't, like, it's starting to get in that little fuzzy area
or getting a little bit, a little bit of, a little bit of frustrated with it.
Um, man, how long did it take you to, uh, to get USB mass working?
Oh, I know.
It's been a few months since the project completed the interface.
But, uh, we've had an important, uh, we did, uh, hardware as well.
Yeah.
So, I've done a second board and, um, so, we're going to software.
Yesterday, we're going to software.
So, you know, that was right.
Huh.
So, I can't tell you how much you spend, right?
Um, just too much.
And the government's done.
So, I think, right.
Are you selling, are you selling boards or anything like that?
Are you just, uh, releasing the design?
I don't.
I don't really want to sell boards.
Um, I've got room for that in the past.
Oh, really?
Yeah, I'm trying to, you know, some 50 cent of board.
And, okay, I'm making some big order.
And, um, we're going to have to be like, I said, $50,000.
Oh.
How is it?
Uh, if not, you can want to launch out, organize, and group purchase.
So, please, are cheaper for everybody.
Yeah.
Thank you.
Okay, let's, um, through a little bit of cash,
DCB, just in service, that this hard line, uh, has to be.
Uh, it's a real cheap, uh, circuit board fabrication service,
where they just pull everybody in and out together, send off the whole panel,
and whatever comes back, you get it.
So, it's cheap, but it takes a little time.
Oh.
And, uh, they have, uh, assessing where you'll upload your sign,
uh, in the database.
And, so we can mark it.
And, uh, a little bit.
So, I'm going to do that.
And, just anybody can come up to the line and, uh,
get order one just before it's out.
I think, for the programmer, you may want, and that's pretty,
that's a good deal, I think, um, for the cartridges.
Obviously, you need as many as you want.
You don't want to distract you, so that might be, uh,
competing with the purchase of those.
Now, how are you releasing this?
Are you, um, is this DPL door under some other license,
or have you?
How are you releasing this?
Right now, I can see this falls under copyright.
Yeah.
Yeah.
Yeah, that's, that's kind of usually how I am, to be honest with you, too.
Yeah, it's like a, just a copyright can, um,
for an ending.
Cool.
Cool beans.
Um, what kind of development did you do, uh,
be before your cart?
Or, you had said you, you had mentioned that you had another cart as well,
a Mark's friend, so on.
Um, did, have you done any work on emulators?
Are anything of that nature, or am I kind of working with you before,
with the GleecoVision?
Um, the GleecoVision?
Uh, no.
No, that's the thing.
I think I'm thinking, this has to be the first thing I've ever done.
Um, it's worth it.
It's like, I go into your talk.
I mean, I got you to send me to me, so, um,
and I can see you months maybe that there,
October 29th, but,
this is whatever reason I am going to make,
um, demo on a cart, or,
my credit is my turn.
Yeah.
That's cool.
That's cool.
You, I think you've won wild, right?
Are you one old school?
Old school, then, yeah.
That part of the thing.
Yeah.
Yeah, they were.
It's the ring, uh,
integrating wild,
and, uh, and, uh,
maybe here.
Mm-hmm.
Yeah.
Yeah.
Yeah.
Yeah.
Yeah.
Yeah.
Yeah.
Yeah.
Yeah.
Yeah.
Yeah.
Yeah.
How did you feel, winning?
Oh, that's great.
I mean,
when somebody comes out,
you don't think that their, uh,
competition say that they like.
You did,
like their just needs one and make ten more than you.
Oh, yeah.
Hahaha.
I think I'm sure it does.
I'm sure it does.
So if people want to,
if you want to get all of you, uh,
where they, where how can they contact you?
Um,
I don't have to say anything in my self, I don't have to worry about anything in my mind, I don't have to say anything in my self, I don't have to worry about anything in my self, I don't have to worry about anything in my self, I don't have to worry about anything in my self, I don't have to worry about anything in my self, I don't have to worry about anything in my self, I don't have to worry about anything in my self, I don't have to worry about anything in my self, I don't have to worry about anything in my self, I don't have to worry about anything in my self, I don't have to worry about anything in my self, I don't have to worry about anything in my self, I don't have to worry about anything in my self, I don't have to worry about anything in my self, I don't have to worry about anything in my self, I don't have to worry about anything in my self, I don't have to worry about anything in
your self, I don't have to worry about anything in your self, I don't have to worry about anything in your self, I don't have to worry about anything in your self, I don't have to worry about anything.
The other thing is, you have to get one piece out, it's made to re-heat the cider man, so you can't take the cartridge until you're done with it.
And if you're at a demo party, you know that you pretty much are not done until five minutes after the deadline.
Yeah.
No, I didn't want to be saddering five minutes after the deadline in my cartridge, so that was kind of an inspiration too.
So you can make a bunch of these boards and flash them however you want.
And it actually works.
Well, the cartridge may be something, so you can side the board, make the cartridge to it up.
And you just have to put me in my flash and you know, that all you have to do is make a great thing.
Yeah, what's the old saying?
Test early, test often, or something in that nature?
That sounds like a good thing to spend.
Alright, I got to let you go. Thanks for the interview.
Alright, good to go.
Yeah, you too.
Okay, the sky is getting a bit darker, and soon the fireworks will be out.
Before that happens, hopefully Matthew Jones can take us to that time.
Enjoy this interview.
I'll be right back after this recording.
I'm here with Matt Jones, who is actually a D-programmer.
Now, I know nothing about the debing the computer language.
Not the grade, the programmer, right?
So hey, Matt, how's it going?
It's good. Nice to be here, I'm so.
Well, thank you for coming.
We appreciate it, of course.
Could you tell us what D's about?
Well, basically D was created by...
I think the guy's name is Walter Bright.
He runs Digital Mars.
They make a bunch of C and C++ compilers, and I guess over the years of making them,
he really kind of got it into why those languages are good or bad,
and he decided to make his own language.
And that's where D came in.
And I think it was created first in 1998 or 1999,
but it's still pretty unknown.
How did you get into it yourself?
I think it was maybe 2002 or 2003.
I was at university, and we were doing a C++ or C with Microsoft.
I went 32 libraries terrible.
And I was just looking around on the Internet,
and I don't remember how I found it,
but I found the Digital Mars website, and I was reading up on it.
I got more and more interested in it over the years,
and I didn't really use it till maybe 2007-2009,
when it got a little bit more stable, supported.
Could you tell us some of the most obvious differences
or some of the differences that you noticed?
He said you had experience in C++.
Well, what were some of the differences that you noticed right away?
Let's see the most.
Is it anything similar?
It's pretty much like C++ do-over, I guess.
So it takes C, and it adds a bunch of new stuff,
and it refines some other stuff.
So, for instance, you don't use pointers.
Instead, the arrays are just much smarter,
like they know their own length, and you can resize them.
And, like if you slice an array,
you get a subset, if you change the slice,
you'll get the deal change the original array.
So it's a lot more helpful with, you haven't used pointers,
but you can still use pointers and all that low-level C stuff,
but you just don't have to.
So it uses the same ABI as C,
so when it's compiled down, the blind-head format is the same,
so it works just like C.
This class is operator-overloading.
You can do in-mind a similar, if you want.
The templates, they're actually, they're not like C++ templates,
they're really complicated.
They're more like mixing what you do with Ruby or Python or something.
There are any macros, so they have some static statements,
so you can do like a static statement.
They have built-in, unit testing, and built-in design by contract.
Garbage collection is by default,
but you don't have to use that.
You just use, you can do up-and-emory management yourself, if you want.
Those are some of the most obvious things I can think of,
how can I help?
The problem with D is that the primary compiler,
it's the digital Mars, the NP compiler, it's proprietary,
so that's why it hasn't really been adopted, say like Linux,
or Ruby or whatever,
but then I forgot who did it,
but someone created the GCC version,
but it's not actually in GCC yet called GDC,
and it's been kind of ignored over the past couple of years,
and every time there's a new release at GCC,
they have to patch it and you need to go to stuff,
trying to get it to work,
so that's been kind of drifting,
but there's a new compiler called LDC,
it uses the new LLVM-based hack-end,
so it's not based on any GCC stuff,
and that's really, really promising.
That's what I've been using, and it's very nice.
The primary library, which was called Phobos,
and that was also proprietary,
and then by the digital Mars people,
but there's a new project called Tango,
like the dance or the icons,
where they, it's actually really good,
it's a really good library,
it's much, it's similar to Phobos,
but I think it's much better,
it's much more efficient,
and but again, it's not,
but to be only distra,
I think the Linux distra,
I think that actually has LDC,
or Tango, and it is,
I can be in and Ubuntu here,
so,
and the packages are kind of broken.
Here, let me, yeah.
Okay.
Let me check OpenBSD right now,
since I'm right here to see if this is a package.
Now, it doesn't look like it's in the ports tree
for OpenBSD either.
You know if it's hard to get new packages in there,
I'd not be familiar with the BSD.
No, as long as it's,
as long as it's reasonably ported
to a BSD of some sort,
it's, I mean,
the port tree is maintained
by the people who maintain the distribution of OpenBSD,
so that's not likely to change by your own means,
but you can build your own packages if you want,
or you can just build your own programs
about adding them as packages,
it's not terribly difficult.
So, I was thinking,
I don't know, you'd have to contact the,
I'm sorry, go ahead.
So, I was just thinking of trying to,
trying to get more of stuff packaged
like I was working on it for door of package,
so you can get it in the RPM distro,
and maybe someone can get it in the BSD and so on,
because once that happens,
it should get a lot more...
Well, you'd have to talk to the ports maintainer.
Yeah, maybe I'll do that later.
I was actually, after you initially,
you know me, I was trying to figure out how to get it going
on having it with using OpenBSD,
but I didn't have much luck with that.
So, you have a number of projects that you've written.
Are they all in D or,
or could you tell us about some of the projects you are working on?
I'm going to have a bunch of projects
that are various stages of usefulness
or toy projects.
The only one that's actually,
indeed, would be the root and tune,
it's like a web framework,
like a J-M-L or Ruby on Rails.
It only works with my SQL right now,
and there are some issues,
like if you use the latest tango from a trunk,
because they haven't released it,
or the day they need to do a new release,
there's problems with a regular expression,
so it's extremely slow.
They're like, compile it,
and then start it up,
and then wait for requests to process.
But I mean,
are you familiar with Rails or J-M-L or any other web frameworks?
No, I'm not.
No, what?
The seems, was this a practice for you,
or were you feeling some sort of functionality
that you felt was lacking,
or a root and tune?
Why did you start this?
Kind of both.
Right now I'm doing,
for my day job, I do freelance web development,
so it's pretty boring.
I'm usually using horrible things,
like ASP.NET,
and people's kind of homegrown PHP stuff,
and they can use boring Internet website,
so I like to work on other stuff on my spare time.
I've been using Rails too.
If you're not familiar with Rails,
it's like a new kind of web framework,
without a model of your controller style,
and that's pretty much all the other new frameworks
are doing, they're kind of copying it.
We're not copying, but doing the same thing.
But Rails is usually a little bit ahead of you.
I'm a model of your controller.
It just means that the data,
and the logic layer,
and then the presentation layers are all separated.
So it's not like one giant function
that looks up the database stuff,
and then renters HTML,
and just look how most PHP websites
are usually done nowadays.
So they're trying to separate it all.
And Rails is good, I mean.
Let me see.
Yeah.
It's hard to explain without showing code
and examples and all that.
Like, Jing, I was probably the second best one,
and then there's...
Oh, you had that question?
Oh, I was just going to comment
that it actually sounds like a kind of an exciting thing
to work on.
Sounds like almost...
Oops, almost like an operating system of sorts,
but go ahead, and...
Sorry, can I say?
There's a lot, too,
kind of daunting the amount of work you have to do
to get it to work, but it's fun.
And I mean, Rails is probably the best
of new web frameworks,
still, even though it's five or six years old now.
But I mean, there are still problems with it.
Like, if you don't,
like, Rails assumes that you are going to have
caching turned on,
so that means that when someone makes a request to your website,
it has to run a bunch of Rails Ruby code
to talk to the database
and generate the HTML and all that.
And if you don't have caching on,
it's really slow.
It's like seven requests a second slow.
I mean, if you're comparing after PHP
or Python frameworks,
they'll probably get about 200 requests a second,
so it's a lot slower.
And see what other problems do I have?
And is it better in some sense?
Do you think, are you solving a problem
that you've seen with these frameworks?
Yeah, I mean, it's designed to take everything
that's learned about those other frameworks
and kind of make them easier.
And most of the problems with those frameworks
is that they require you to do a bunch of extra steps
to do the caching part.
And that's like a huge pain in the butt in words.
It's like when one person hits the website,
it saves all the HTML as in the cache,
so then when another person hits it,
it won't have to actually run any other Python or Ruby code.
It just returns the static HTML.
And having it do that is kind of a pain in the butt.
So the kind of core idea behind written to it
is that if we just write it out all in D,
it'll be a lot faster,
so we won't even have to do any caching.
And that's some basic benchmarking.
And I mean, it's still pretty much a toy,
and it's very unstable,
but it gets around like 8,000 requests a second,
which is a lot faster.
I mean, that's the kind of,
you really won't have to worry about caching
until you get to be a really huge website like,
I don't know, a gig or one of those super huge websites at Twitter.
So that's kind of the core idea.
To be honest with you,
it's always surprised me a little bit that a lot of these programs
that are being run on web servers aren't written in something faster.
Like you say, D is just inherently faster,
so therefore caching is not so much an issue.
A bunch of scripting languages that people are writing these in PHP.
I mean, I don't want to belittle the complexity of that language by any means,
but it doesn't strike me as the fastest thing in the world.
And if speed is an issue,
I'm wondering, what do you think you sort of being immersed in this world?
Why do you think it is that faster languages
haven't been utilized for these things?
Is it portability or ease of making things easy to read?
You don't, I mean?
Yeah, that's a good point.
Well, primarily you have like the scripting languages like Pearl,
PHP, Ruby Python,
but are usually much slower,
but they're really easy to use.
And then you have these kind of partially compiled languages
that use VMs like Java,
GodNet, Mono, C-Sharp, VV, and a lot.
And then you have a native code where you have C and so on.
And up until recently you didn't really have that many options
as far as popular languages to use.
So now you have things like Fala.
And it really kind of opens the door to getting an easier to use language
that has garbage collection,
and you don't have to write header files and all that.
I mean, if you go up to the average develop,
and you're saying you want to make a website and see,
they think you're crazy.
And I think that that kind of combined with C-Hole,
I don't know, it's not an misinformation,
but I mean, this kind of idea that people won't think,
or they think that unless you're using something like Java
or C-Sharp or Python,
you're not going to be able to get garbage collection
and all that stuff with native code.
There's this kind of idea that if you're using native code,
you have to sacrifice things like that.
Like this kind of paradox, like JavaScript,
and I mean, that JavaScript,
garbage collection and native code,
what language is that?
Does that kind of answer your question?
Yeah, that answers my question a little bit.
So, a Hevereign tune,
is there any other projects that you heard a mention?
That's pretty much the only D1,
I mean, I'm also porting the Python tornado,
a web server to D,
so then I can get a synchronous web server
so that I don't have to.
If you're making a web server,
you put in what you'd have to do with asynchronous,
or you'd have to use Threads.
Over the last couple of years,
there's been a lot of effort with tornado,
and I don't know what's that new one.
It's written in JavaScript,
EngineJS, or NodeJS,
and so on,
to not do the Thread thing,
instead to do the asynchronous thing.
So, other than that,
that's pretty much all I'm doing in D.
You may have a bunch of other projects,
but they're all like toys and stuff.
So, Matt,
is there anything,
and is there any direction that you want to leave the conversation?
Is there anything else you want to talk about in particular?
I don't know, what else you want to like,
what D stuff,
some other.
Well, aren't you really into things like,
what is that?
Those demo things where you make,
like a demo that runs on like a genesis,
or whatever,
like graphic demos.
Yeah, I'm a little bit into that.
Have you...
I need to ask.
Been using anything like OpenCL,
or CUDA,
or anything like that,
to get to do kind of similar stuff
on regular,
geeky hardware,
or you just stick to mostly,
like, gain comfort and so on.
Mostly,
just overall,
mostly just seeing OpenGL,
as far as any sort of thing on the PC is concerned.
Otherwise,
just seeing a bit of some blur.
That's mostly what I stick to as far as,
as far as languages are concerned.
So you haven't done any...
Do you have any experience with...
I've done a little bit of...
Oh, OpenGL,
and some blur and stuff,
but that's something I spend a lot of time on anymore.
I was wondering if you had an experience with it,
like OpenCL,
and that new or stuff,
or CUDA, and so on.
No, to be honest,
if you know,
I've noticed that I don't like to have a lot of...
I don't like to branch out very much,
like, I don't like dependencies,
I don't like...
I don't like...
I don't like branching off
into languages that aren't standard.
I'm not saying that these languages aren't...
standard by any means,
but I'm kind of a...
sort of a...
a single trail sort of person.
I'm not sure if you understand,
and I'm getting it.
Mask, why, though,
you're asking about these,
in particular, do you...
do you have any experience with these?
Well, I was just...
looking at the previous episodes
of some of your shows,
and I never thought you'd talk about that kind of stuff,
and I was wondering,
just specifically,
if you had any experience with some of OpenCL
or whatever,
because I was trying to get that to work
a couple of months ago,
and I didn't have any good luck with it.
The one thing, maybe,
if I was running...
something different,
like one of the...
BSGB systems,
I have more blocks,
but I haven't found anyone
that has been using Windows.
Unfortunately.
Thank you.
Thank you, Matt Jones.
I appreciate you coming on.
Thank you.
It's been fun.
Thanks for...
for telling us about...
about Dee.
Hopefully some of our listeners
will be excited about...
getting into...
this sort of...
seems to be forgotten language,
as you say.
Hopefully, that...
that would be great if more people...
for this and got...
and spend some time looking into Dee and trying,
and so on.
Do you...
do you have any...
contact information that you want to leave us with?
If you want to look at some of my other stuff,
you can go to my...
websites,
workhorsewee.com,
or dot orgs.
That's WRK,
H-U-R-S-Y,
dot org,
and it might email addresses on there.
If you want to check out Root and 2,
you can just look up...
look it up on Launchpad,
or on my personal site.
Okay, I'll put those in...
I'll put those in the show notes,
and take care, Matt.
All right.
Bye-bye.
Welcome back.
We are just in time to be out of time.
We've reached the end of our program.
Up next is the BSD Action Show.
We'll catch you next week.
We're all here a little bit.
It's just a game.
You guys like the show?
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
It's just a game.
.
.
.
.
.
