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:
209
hpr_transcripts/hpr1987.txt
Normal file
209
hpr_transcripts/hpr1987.txt
Normal file
@@ -0,0 +1,209 @@
|
||||
Episode: 1987
|
||||
Title: HPR1987: Pomodoro Timer - The Evolution of a Script (pt 1)
|
||||
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr1987/hpr1987.mp3
|
||||
Transcribed: 2025-10-18 12:53:34
|
||||
|
||||
---
|
||||
|
||||
This in HBR episode 1987 entitled, Promoder O Timer, the Evolution of a Crypt, PT1, and
|
||||
in part of the series, Bash Crypting.
|
||||
It is hosted by Acho Jordan and in about 22 minutes long, the summer is a different
|
||||
change of a Bash Crypt that one created accidentally.
|
||||
This episode of HBR is brought to you by an Honesthost.com.
|
||||
At 15% discount on all shared hosting with the offer code HBR15, that's HBR15.
|
||||
Better web hosting that's Honest and Fair at An Honesthost.com.
|
||||
Hello everybody, this is Nacho Jordi, one more time recording a podcast for Hacker Public Radio.
|
||||
And in this occasion, the name of this podcast is Promoder O Timer, the Evolution of a
|
||||
Crypt.
|
||||
I'm going to do a two podcast series because otherwise the matter is a bit dense, perhaps.
|
||||
And maybe it's an issue that is not interesting to everybody.
|
||||
I think the people who can profit the most from this podcast is the people who's starting
|
||||
writing Bash scripts.
|
||||
It's about a very basic Bash script I made.
|
||||
I'll provide the script at the in its current state and the initial notes at the second
|
||||
episode.
|
||||
But most of all these podcasts, it's not about coding in itself, but about something
|
||||
like coding philosophy or something like that.
|
||||
I want to talk about this script among all the scripts I've done in my geek life.
|
||||
Because there's something peculiar about it.
|
||||
The thing is, this is a Bash script I wrote in a somewhat accidental manner.
|
||||
I didn't intend to write a Bash script.
|
||||
I was forced by the circumstances and I think it's something very peculiar, something
|
||||
that was born of itself and then developed according to its needs and my expense.
|
||||
So I thought it would be an original issue for a podcast.
|
||||
The script in question is a very simple one.
|
||||
In fact, it's been coding 101.
|
||||
It's very interesting for, in fact, I wasn't even questioning if you need the actual code
|
||||
because it's very obvious.
|
||||
But anyway, I'll provide it in the next episode.
|
||||
What does the script do?
|
||||
It's a timer I use for a Pomodoro technique.
|
||||
For those that don't know it, it's a productivity technique created by an Italian guy called Francesco
|
||||
Cyrilo.
|
||||
I think he created it in the 80s.
|
||||
I'm going to describe the technique for those who don't know it.
|
||||
Basically, it's a time-boxing technique in which you alternate periods of work by pauses
|
||||
and that creates a cadence that helps you maintain your focus and avoid mistakes.
|
||||
The typical periods for a Pomodoro, a Pomodoro, it's an Italian world that means tomato
|
||||
by the way, because the original way of measuring time was with one of those kitchen timers
|
||||
that have the classical timers that have the shape of a tomato.
|
||||
The unit of measure of this technique is a Pomodoro.
|
||||
A Pomodoro is usually a 25-minute period.
|
||||
The pacing in the Pomodoro technique, the standard pacing, let's say, goes like this.
|
||||
One Pomodoro will work 25 minutes, followed by a 5-minute pause, and then in the fourth
|
||||
of those poses, instead of 5, you do 10 minutes instead.
|
||||
All of this, as Francesco Cyrilo explains, is highly customizable.
|
||||
It's not a fixed rule.
|
||||
There's research that shows that 25 minutes is the longest time period that you can focus
|
||||
on a matter before your mind drifts away.
|
||||
But as Cyrilo explains, you have to look at your mood, your current energy, and the
|
||||
time you have available for a day, for example, is not the same doing a sprint than a marathon.
|
||||
But the way to start the pacing model is like this, 25 minutes of work, 5 minutes pause,
|
||||
25 minutes works, 5 minutes pause, 25 minutes works, 5 minutes pause, 25 minutes works,
|
||||
10 minutes pause, and then it repeats.
|
||||
That's a basic Pomodoro technique.
|
||||
I had tried this technique before, and it worked quite well for me, but for some reason
|
||||
it didn't stick.
|
||||
This time, maybe the different thing is that I read Francesco Cyrilo's book, which is
|
||||
a PDF that is freely available in his website.
|
||||
I'll put a link in the show notes.
|
||||
And this time I was really looking for something to optimize my work and my flow, and I decided
|
||||
to be very disciplined about it and replay rewards.
|
||||
So I read Cyrilo's book, he says that all you know, all you need to know is what I already
|
||||
told you about the technique is those 25-minute periods for 5-minute periods, but in fact,
|
||||
you can go beyond that basic technique and find a lot more about it, all the things you
|
||||
can customize, and also I found the book very recommendable because of its philosophy
|
||||
about what work means meaningful work means, and the way we work, the patterns we have
|
||||
of work, leisure, and all the rest is a very interesting read in my view.
|
||||
So I read Cyrilo's book, and then I intended to apply it mostly to my computer work, most
|
||||
of my work is knowledge work and happens in my laptop.
|
||||
So to do that, I needed to decide which Pomodoro timer I was going to use.
|
||||
I wanted a tool that got out of the way as much as possible, I didn't want to tinker,
|
||||
fancy buttons, etc.
|
||||
So that's a little world about my personal relationship with computers.
|
||||
For some reason I'm not completely geek, not being a regular user, I find that I move
|
||||
between poles, between extremes, I'm half of the time a geek tinker, that's for sure
|
||||
I like to modify things and see the results and try stuff, I pop up in my mind and see
|
||||
all kinds of crazy ideas, and I'm sure many of you who are listening all of you identify
|
||||
with this, we're hackers.
|
||||
But at the end of half of the time, it's like I'm done with computers and I don't want
|
||||
to look under the hood, I just want things to work.
|
||||
It's a delicate balance sometimes, but in this period when this script kind of happens,
|
||||
I was exactly in the second kind of mood, I didn't want at all to tinker or to look
|
||||
for apps or anything like that, I just wanted to find a simple tool that worked for me,
|
||||
a measure of seconds and it's a very elementary thing, get the Pomodoro system right, take
|
||||
it out of the way and start doing actual real stuff.
|
||||
So then I started to look for what was available out there, I first tried finding an Android
|
||||
application and what did I find?
|
||||
Well in Android there are a lot of Pomodoro timers, I tried most of them, and most of
|
||||
them I found they had a very fancy US user interfaces, but they failed short in functionality.
|
||||
Because I don't know for some reason the alarm in Android sometimes fails and it's happened
|
||||
to me with the alarm clock too and sometimes it just doesn't sound or just sounds for a tiny
|
||||
second, I don't know, I don't know why that happens, but it's unreliable.
|
||||
And also those apps were very complicated because I guess the people who like the Pomodoro
|
||||
technique, the developers I wanted to do a Pomodoro timer, the only way they could implement
|
||||
their personal flavor was like doing strange graphic things or allowing extra configuration,
|
||||
but I just wanted the basic plain vanilla model to the 5 minutes, follow by 5 and then
|
||||
the 4th pose, 10 minutes.
|
||||
So then I moved and tried to look for online resources and there I found a few suitable
|
||||
candidates and I finally settled with one called Tomato Timer, the www.tomato-timer.com.
|
||||
I like it because it had a good rendering, other Pomodoro timers where did crazy stuff
|
||||
when I tried to reduce the size of the window.
|
||||
I also liked it because the interface was very simple, you had an account in minutes and seconds, I think.
|
||||
And then also another great thing of it was that it worked with key bindings.
|
||||
I always prefer key bindings better than mouse.
|
||||
This one I think it was like Alt S for start the Pomodoro and then Alt L to do a long Pomodoro
|
||||
25 minutes, then Alt S to do a short no, no, no.
|
||||
Well I don't remember but it had a different, it was like 3 key bindings for the 3 kinds
|
||||
of countdown you need. So at any moment I heard the bleeping signal and I just pressed
|
||||
the key binding and there I could forget about the Pomodoro Timer until the next signal came.
|
||||
So I added this online timer to my arsenal, my daily arsenal.
|
||||
I always had it on one corner and I opened it first thing in the morning.
|
||||
And yeah really I don't know for those who haven't tried a Pomodoro technique, it really does
|
||||
something to you that that pacing, it really creates a pattern that it even goes on.
|
||||
Once you get used to it, it follows with you.
|
||||
Continues with you even after when you're not longer using the timer, it's like you get like a timing,
|
||||
okay I have to do this and then I have to move to another mode and then I have to get back to this mode.
|
||||
And even when the strange things happen you always go back to that pace.
|
||||
And also the estimation of 25 minutes for concentration, as concentration period in my case,
|
||||
I cannot speak for everybody but in my case it's very accurate.
|
||||
I cannot tell how many times I was about, I was losing my concentration and about to make a mistake
|
||||
when the Pomodoro rang, I took my five minute breaks and then I looked at the problem with fresh eyes
|
||||
and go on with a lot of productivity.
|
||||
Unless I had that break I would have probably made some kind of mistake.
|
||||
So I really encouraged you to give it the Pomodoro technique a try because in my case it really worked.
|
||||
Up to this date maybe in some periods, for example, now I'm recording a podcast, I'm not running a Pomodoro timer.
|
||||
But in other periods when you're going to, you know you'll have like a lot of hours available,
|
||||
it's good to make small chunks like steaks on the ground that help you.
|
||||
It gives you a pace, a rhythm, a cadence.
|
||||
Okay, so well, I was with my tomato timer.com timer, I was cranking out staff, life was good.
|
||||
But then one day something happened, tomato timer disappeared, it was no longer available online.
|
||||
At that time what I saw was that the web had been closed.
|
||||
Later in some time I found that it's available online.
|
||||
So I don't know if they were doing some kind of maintenance or whatever.
|
||||
But it wasn't available and all the signs were that tomato timer no longer existed.
|
||||
So the day that happened, again I couldn't lose a lot of time.
|
||||
I just wanted to start cranking out staff, no desire or opportunity whatsoever of starting tweaking.
|
||||
I needed a solution, quick in the moment and start in my usual production mode.
|
||||
So that's the moment where the script was born.
|
||||
I did what I would call a minimum viable script.
|
||||
What's the minimum thing I need this computer to do?
|
||||
And it took me like three to five minutes, I think.
|
||||
Basically it was a while loop in BUSH with a command sleep one.
|
||||
You know I do wait for one second.
|
||||
And while loop, I did calculations and a pomodoro 25 minutes is 1,500 seconds.
|
||||
So the while loop to 1,500 seconds.
|
||||
And to warn me about the break, again, it was so a choice in the moment.
|
||||
The first thing I couldn't think of.
|
||||
So what I did was using a sound I usually use for all my testing.
|
||||
When I need, for example, to determine if a part in a code is being executed, the computer reaches it.
|
||||
I make it play a sound with a command A play.
|
||||
And this file is called ok.wav.
|
||||
It's a sound I took from the open office sound library.
|
||||
And it's a male voice, I say it's ok.
|
||||
I used it to test all my scripts and it was handy.
|
||||
So I used it to warn when the while loop ends.
|
||||
The computer emitted this ok sound.
|
||||
And that was the proto script I used, the first version.
|
||||
Then when I had to do the process, I simply edited the script.
|
||||
And instead of the 1,500 seconds, I put 300 for the 5 minutes pause and 600 for the 10 minutes pause.
|
||||
So as primal, as simply as rough, as gorilla, as guerrilla, as it gets.
|
||||
I just wanted to go on with my day and not to worry anymore about bash scripting.
|
||||
Nothing I had all to do and nothing could be farther from my mind than bash scripting.
|
||||
So this tiny bash script did me a good service.
|
||||
I used it in that state for 2 or 3 weeks.
|
||||
But maybe has to do with my cycles, the geek kicked in a bit at some moment.
|
||||
Or the user in me just wanted more functionality.
|
||||
And I once heard in a podcast that a program is only finished when its last user dies.
|
||||
Once you have a piece of code that minimally runs, it's like the code starts to ask you for things.
|
||||
And when you are a computer official, you cannot wait to have this kind of what if moments when you say,
|
||||
hey, with very little effort just changing these two lives, nothing, an echo command,
|
||||
I couldn't get a lot of benefit and new functionality.
|
||||
And that's what happened to me from the script existed and it's like with that first seed,
|
||||
it started to ask for things to me.
|
||||
I resisted for a while, like I say, but in the end it was a bit like that movie,
|
||||
a little sharper horror, I don't know if you remember, you've seen that movie.
|
||||
I like the Roger Corman version better, but the one with Rick Moran is some musical version, it's also funny.
|
||||
It's about a flesh eating plant that speaks to its owner and asks it to bring it big teams.
|
||||
With what's a bit like this, it was like asking me if it me, if it me,
|
||||
and I started too much stuff to it, I tried to do it in also in a very sustainable way,
|
||||
just adding small changes, keeping a good backup in case something got broken,
|
||||
which is what we think, because even with the minimal changes,
|
||||
when that happens to you, a couple of thousands of times you learn,
|
||||
that no change is small enough that can break something in an echo command,
|
||||
you can forget, I don't know, a box slash or a quote and then and suddenly everything screws.
|
||||
So that's how the script was born, and from that point I started too,
|
||||
to add improvements, and so far this is the, I want to stop here,
|
||||
the first part of the Pomodoro Timer story, and in the next episode,
|
||||
stay tuned, and I will tell you about the next evolution of this small, minimal script.
|
||||
Thank you everybody for listening, and have a great day, bye.
|
||||
You've been listening to Hacker Public Radio at HackerPublicRadio.org.
|
||||
We are a community podcast network that releases shows every weekday, Monday through Friday.
|
||||
Today's show, like all our shows, was contributed by an HPR listener like yourself.
|
||||
If you ever thought of recording a podcast, then click on our contributing to find out how easy it really is.
|
||||
Hacker Public Radio was founded by the Digital Dove Pound and the Infonomicon Computer Club,
|
||||
and is part of the binary revolution at binrev.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,
|
||||
the contribution, share a light 3.0 license.
|
||||
Reference in New Issue
Block a user