Files
Lee Hanken 7c8efd2228 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>
2025-10-26 10:54:13 +00:00

150 lines
11 KiB
Plaintext

Episode: 4338
Title: HPR4338: 328eforth
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr4338/hpr4338.mp3
Transcribed: 2025-10-25 23:18:23
---
This is Hacker Public Radio Episode 4338 for Wednesday the 19th of March 2025.
Today's show is entitled, 328 F-4th.
It is hosted by Brian in Ohio and is about 14 minutes long.
It carries a clean flag.
The summary is a review of the book, Arduino and F-4th.
Hello, Hacker Public Radio, Brian in Ohio here.
I'm out from my rock.
I have recorded another show, HPR.
I'm continuing a discussion about F-4th on microcontrollers.
This time a review of a book called the Arduino controlled by E-4th, by Dr. Chen Hansen-Ting
and was published in 2018.
The Dr. Ting was a chemist-turned-engineer.
He earned a PhD in chemistry at the University of Chicago in 1965 and he taught chemistry
in Taiwan until 1975.
He became a firmware engineer until his retirement in 2000.
He was a fourth advocate for more than 50 years, especially a fourth called E-4th that had
been ported to many devices.
I think he and another guy developed it initially for the maybe the 80-51 or something like
that.
Anyway, that being not so important, it was ported.
This E-4th was ported to the Atmell, Atmega-328, well, now it's the microchip, microchip, Atmega-328,
which is found on the Arduino Uno board.
This book is available, typical, you can buy it at Amazon or wherever you buy books.
You can download PDF versions of it in different various stages of readability and enjoy
readability, but they're out there.
There's some, actually, the source code for E-328, E-4th sometimes has the whole gububudal
bundled.
The book, the source code, the examples, lessons, etc., everything all at once stopped shopping,
as they say.
I originally touched this book on an earlier HPR when I talked about choosing fourths and
I'll probably give a little more detail about why I rejected it initially, and now I'll
talk about why I'm coming back to it.
But first, let's talk about the book.
I was searching for books that were about putting fourth on Arduino Uno boards.
There's, so I first found it looking for books on putting fourth on an Arduino board,
and it was this fourth E-4th, 328 E-4th initially, it really interest me because it was
easy to assemble.
You could assemble it using Avra.
Avra is a GNU port of the Atmega-Assembler.
It's still out there, it's had some development in the last couple of years, it seems to be
work just fine.
It's a GNU port of the Atmega-Assembler, and what was nice about the Avra assembler is
that it doesn't, if you try to build an assembly program on a Linux box, you have to use,
if you're going to use the Atmega-Assemblers at the Atmega-Assemblers, the only way to run
them is to using a line, and at the time, being a Slackware user, running a line required
me to go multi-lib, which is where you get 32-bit binaries to run on your 64-bit machine,
and it's pretty easy to do, but it's just a hassle, and then updating it takes a little
updating your box and keeping it up to date is a little bit harder.
That's all actually now down, gone by the wayside, wine runs under a 64-bit Slackware, no
32-bit multi-lib required.
That being said, I still would rather use Avra than some Atmega-Assemblers products,
necessarily, although I think they're new X, I'm not even sure what it's called, whatever
their design studio that they have is pretty amazing, there's a lot of stuff, and that's
what Flashforth, the gentleman who develops Flashforth uses that assembler and design
studio to really optimize his fourth.
For me, this isn't about optimization, it's about learning, so I kind of like the idea
of just using a simple assembler, and it doesn't take long to assemble, it ends up as a 5K,
a little bit over 5K in size, and then it assembles just fine on a Linux box without using
wine, so that's kind of nice.
Well, initially, when I played with 328E4, I became frustrated because I could create
new words in the dictionary, and if you don't know what that means, then go back and listen
to what's worth is all about, I'll give you a quick one-liner.
Fourth is an operating system, it's a programming tool, and you build what are functions, but
they're called words, because that's what they're called, and you put it into a dictionary
to make a problem-oriented language, and so basically, each fourth is that you develop
is to solve a particular problem, and you start with some base fourth, and for what I'm
talking about here, that's 328E4.
The problem with the original, when I first played with 328E4, like I was saying, is
that you could build, you could make new words, you could run the lessons and the examples
that are in the book, you could do all that stuff, but it wasn't persistent across rebuts.
In other words, you would do all this work, and when you respired off the board or reset
the board, your work would be gone, and that's frustrating, because what you really wanted
to be able to build on a dictionary and develop something, maybe very complex over time,
work a little bit at a time, and so that turned me off to the whole 328E4th initially.
There also didn't seem to be anybody who talked about this problem, and there was no discussion
with solutions, and I think it's just because maybe the AVR 328 people have moved on from
at U4th, and that's fine, so in the end, I switched a flashforth, and if you're new
to fourth and want to run fourth on Arduino board, I would still highly recommend flash
forth, it's robust and it's full-featured, it's a very solid program, it's got a great
website, lots of good documentation, and second choice would be AM fourth, which is now
also able to be assembled under AVR, but the source file for that thing is just, it is
a problem, it's scattered over hundreds and hundreds of files, the idea is that each file
is one word that's assembled, but it's super, when you look at all the includes and how
the assembler gets all the stuff that it needs to build, it leaves, it makes my head just
kind of, it makes my head twist around, and I'm trying to learn more about how the fourth
actually works, AM fourth is a no-go for me, so that, so the end of last year, 2024, I thought
it would be fun to write my own fourth, I was reading a guy who did it for a, he ported
up a version of Jonesforth to some 386 or something like that, doing, using this, and it
was not ratfactor.org as his website, and he thought it would be interesting to maybe
write my own fourth for an at-mega 328, that's a chip that I tend to use, but after
looking into it and thinking about it, I revisited 328E4, and I thought, how about I fix
the problems with the E4, so maybe try to figure out why it's not saving words across
reboots, why, and is it fixable, is it something that can be fixed, and so I dug out my book,
which I bought a physical copy of, which is nice to have, and began reading, and that led
me to the idea that maybe an HBR episode giving a short review of the book would be something
to do, so the book, the Arduino controlled by E4 book, is basically comes in five, six parts,
the first part is Dr. Ting's musings on how he ended up creating 328E4, part two explains
installing E4, using at-mell studio 4 on a Windows box, and you can do all that stuff, if
you're into Windows, you can still get those old tools from the microchip website, they
have a great archive, you can download and install ABR Studio 4, and run it under Winapp
or whatever it's called, and do that to your heart's content, I'm not into that, but there's
enough information there to be able to figure out how to install it using simple tools
like Avra and ABR, dude. The third part of the book begins, so is Dr. Ting exercising the
Arduino boards different functions, you are blinking an LED, making a tone, things like that,
and it's done interactively, which is the cool part about fourth is that you can play with the
device without running into that age-old compile, what is the right compile upload test, you can
do it, you can test while you're in the machine and then save things that you want to save and
discard things that you want to discard, and that's what makes fourth so cool. Part four
explains the 328E4th infotaination and design decisions, which is actually an important section to
read, and part five is the full common source code of 328E4th, and this is the best part, it's
Dr. Ting's explanation of what's going on in the code, broken down functional sections, it's a
gold mine of information, it is really cool because it's more than just comments, it builds on the
comments found in the book. The last part of the book is his conclusions and examples on how to
learn fourth. Dr. Ting's project here is I think a great free software project, and he doesn't
really use, it doesn't seem to be licensed, maybe there isn't license in there, but it's, you know,
this isn't a free software, free software, a zealot book, this is a learning tool, this is what
free software is all about, it's accessible to anyone who wants to take the time to read the book
and dig into the code, it makes assembly language much less of a dark art and for a boating place
to be, although I will recommend that you, if you're really going to do this, you probably would
want to do at least some basic assembly stuff tutorial on, for the AVR328, there's a couple good
books out there and a couple websites, if you're interested in doing that, that would be helpful,
but it's not, not completely necessary, it's easy to, with all the commenting and
explanations, it's easy to know what's going on in the code. So I highly recommend the book,
if nothing else, it's a, it's a good illustration of how, how a open source project could be
documented and, and really made accessible to people, but in the end I'll just finish by reading
a couple of paragraphs from his books, from his book, it's at the very end, if Dr. King, Dr.
King concludes, people using computers are trained to be slaves, you're taught to push certain
buttons and you're taught to push certain keys, then you get employed to push buttons and keys
to work as slaves. Computers programming languages and operating systems are made complicated to
enslave people, computers are not complicated beyond comprehension, programming languages,
languages and operating systems do not have to be complicated, if you get a sharp knife,
you can be the master of your destination, 328E4th is a sharp knife, go use it, that is the
hacker ethos. So the next podcast I'll produce, I'll cover installing E4th on an Arduino board
and solving that pesky loss of words between boots problem. So with that, this is Brian and Ohio
signing off, reminding everybody that the only mistakes you won't learn from are your own fatal mistakes.
Bye bye.
You have been listening to Hacker Public Radio, as Hacker Public Radio doesn't work.
Today's show was contributed by a HBR listener like yourself. If you ever thought of recording
podcast, you click on our contribute link to find out how easy it really is.
Hosting for HBR has been kindly provided by an onsthost.com, the internet archive and our
sims.net. On this otherwise status, today's show is released on their creative comments,
attribution 4.0 International License.