- 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>
210 lines
14 KiB
Plaintext
210 lines
14 KiB
Plaintext
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.
|