Time-based job scheduler for Unix-like operating systems
POPULARITY
Categories
This show has been flagged as Clean by the host. 01 Introduction In this episode I will describe techniques for downloading podcasts using basic shell commands such as wget. I will illustrate this using a bash script that can be used to download HPR podcasts. Even if you do not have any interest in downloading your podcasts using this method, you may find some of the methods useful or interesting. It is the principles that are discussed here that are important, rather than the implementation. 02 I realize that there are already a number of different podcast download programs available, including at least one written in bash. However, you may feel that none of these suit how you wish to do things and want to create your own system tailored to your specific needs. If so, then I hope the following is of some use to you. If not, then you may still find some of the things discussed here to still be of interest. Some of the subjects I cover include wget to a user defined file name. parsing xml with xmllint. using inotifywait to trigger an action when a file is created or modified. using notify-send to send a message to the notification area. and a way of allowing a cron job to send a message to the user interface. 03 Background There has been an ongoing discussion in comments to some HPR episodes about problems downloading HPR podcast episodes. Apparently some people have been experiencing problems with the way the episode URLs are structured. 04 I am afraid that I don't fully understand the nature of these problems, so I won't be addressing that problem directly. Instead, I will present a bash script that I have written which can be used to download HPR podcasts. This bash script can be run using cron to automatically fetch new HPR podcasts and save them to a designated directory. This is a simplified version of a script that I have used for years to download HPR and other podcasts. 05 I won't try to read the full bash script out in this podcast, as that would be a bit dull to listen to. I will instead describe what each section does and why I chose to do things that way. Perhaps other people can offer suggestions of better ways to do things. I will post the full bash script in the show notes. 06 Fetching Podcasts The standard way of distributing podcasts is to publish an RSS feed containing URL links to the audio files. RSS is a very long established and widely supported mechanism for this and other purposes. An RSS feed is basically an XML document which can be accessed over HTTP. These URLs contained in the RSS XML document can then be used to download the actual audio files, such as MP3 or OGG files. 07 Basically what we need to do is the following • Download the RSS XML document. • Extract the URL links to the audio files. • Compare the list of these links to a previously saved list to see which ones are new and which ones are ones that we previously downloaded. 08 • Make a list of the new URLs. • Go through this list of new URLs and download each of the new audio files. • Check to see that we actually received the new audio file. • Add the URLs of the files we successfully downloaded to our saved list of podcast URLs 09 In addition to this, we would like to have the above happen automatically in the background without our having to take any action on our own. We may wish to receive a notification of when a new podcast has arrived however. We would probably also wish to receive notification of any errors or failures. 10 Fetching Podcasts - The Preliminaries Our desire to be able to run the script automatically imposes some requirements on our solution. To schedule the script we will use cron. Cron is a Linux facility to run scripts on a schedule. 11 One of the side effects of using cron however is that we need to specify the full path to the locations where we intend to keep any data files, plus also the full path to where we intend to put the downloaded podcasts. 12 So the first thing we need to do in our script is to specify a number of different values for things like file location, the URL for the HPR RSS feed, and several other things as well. I will skip over the details of these, although I may make reference to them later. 13 Get the RSS Data The first thing of real substance to do is to fetch the current RSS feed data. I have put this in a bash function called getrssurldata The contents of this function are a one liner, but with a number of elements chained together through pipes. 14 Downloading the RSS XML Document • First we use wget, which is a standard command on most Linux distros. • We specify four things. • First we set a timeout. I have chosen 20 seconds. • Next we set the retry limit. I have chosen 3. 15 • Then we specify that the output of wget is sent to stdout rather than saved as a file. • This is done by using the -O option followed by a space and then a dash. • The O option is usually used to specify a file to save the output to, but when used with a dash causes output to go to stdout. • Then we specify the URL of the HPR RSS feed. 16 Contents of the XML Document This gives us the HPR RSS XML document. There are about 5,000 lines in this RSS document. Most of those lines are the show notes which are also included in the feed. 17 Extracting the Podcast Episode URLs There are only 10 lines of the document that contain information that we are interested in however. These lines are enclosed in "enclosure" XML tags. We just need to find those lines and separate out the URLs 18 Standard Command Line Tools There are two ways that we can do this. One is to use a combination of grep, sed, and cut. Grep can find the lines containing the enclosure tags. Sed and cut can extract the URL from the surrounding extraneous data. 19 However, this method does not discriminate between real enclosure tags in the data portion of the RSS feed and enclosure tags in the show notes which are included in the feed from episodes such as this one. This may be an acceptable problem in practical terms, but we can do better. 20 Using an XML Parser The other method is to actually parse the XML document. there are at least two command line XML parsers that I am aware of. These are "xmllint", and "xlmstarlet". I have used xmllint in this example. I have not used xmlstarlet, so I can't offer any comment on how easy or difficult to use it is. 21 I won't give a detailed explanation of all the things that xmllint can do. It has many features, most of which, as the name suggests, have to do with finding formatting problems with the XML itself. Describing everything it can do would be at least one episode in itself. I will instead just give the particular command used and explain each element of it. 22 In this example assume that we are piping the output of wget directly into xmllint. The complete command is xmllint --xpath "//channel/item/enclosure/@url" - | cut -d'"' -f2 23 In this example, xmllint is the name of the command. --xpath tells it to parse the document according to the string which follows. "//channel/item/enclosure/@url" tells it to find a series of tags in the hierarchy of channel, followed by item, followed by enclosure, and then extract the url attribute from the enclosure tag. The "-" which follows tells it to look for input from stdin rather than from a file. 24 The result is a string which has the url attribute name, an equal sign, and the URL that we want enclosed in quotes. To get just the URL itself, we pipe the output from xmllint into cut, using the doublequote characters as delimiters. We then save the result in a temporary file. 25 Finding the New Episodes Next we wish to find the new podcast episodes. Each HPR episode is identified by a unique URL. This means that if we save the URLs of episodes that we have already downloaded, we just have to look for the URLs that do not appear in this saved list. https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr4659/hpr4659.mp3 26 The easiest way to do this is to take our two lists of URLs, sort each into temporary files, and then compare the sorted URLs using the "comm" command. 27 This is simple, but has a drawback. Some podcasts occasionally change distributors. When they do this, the old podcasts are re-published with new URLs and you end up downloading a lot of old episodes over again. 28 With HPR we could get around this by extracting just the file name and looking for that instead of the full URL. I will however leave that problem as an exercise for the student and just accept that if the URL format changes we may end up downloading old episodes over again. Since the feed has a maximum of only 10 episodes in it however, that isn't really that big of a problem. It would be more of a problem with podcasts which have very large numbers of episodes in their feed, but the solutions to those will be feed specific. 29 Downloading the New Podcasts We should now have a list of URLs for the new podcasts we do not already have. Typically this should be only one file, but there could be several, or even as many as 10, if we have not turned on our computer in a while. Therefore, we need to iterate through the file of new podcast URLs and download each one. 30 Before we do that however, we should check to see if there is in fact anything new to download. To do this, simply use "wc -l" to count the number of lines in the list of new URLs and save the resulting number. 31 If this number is zero, there is nothing to download, we can skip the download step. As an additional check, we should see if the number of downloads exceeds some threshold value that we wish to set. This is not a major problem with HPR, but some podcasts have hundreds of files in their RSS feed rather than just the most recent ones. If we do exceed our download limit, then we need to log an error and skip downloading. 32 Assuming there are no problems so far however, the first thing we need to do is to extract the name of the audio file from the URL. We can do that using the "basename" command. We will use this to specify the name that we use when we save the audio file. 33 HPR has a very well formed file name. Some podcasts do not however, and for those you would need to construct some sort of suitable name either using information found in the URL or simply creating a name using a time stamp. 34 Next we download the audio file using wget. This is similar to how we downloaded the RSS feed, but with a few changes. One is that I have increased the timeout to 90 seconds. This may not have been necessary, but seemed like a good idea. 35 The next is that when specifying the output file name using -O, we use the file name we extracted from the URL. The third is that we specify a destination directory using the -P option. 36 After wget has finished, including any retries that it had to do, we next check that the expected new file is both present and not empty. We did this using an "if" statement with the "-s" option. If the file was found and not zero, then we add that URL to a temporary list of downloaded URLs. 37 If the file was not present, or was zero length, we output an error message to an error log. I will come back to this point later. 38 Next, if there is more that one podcast to download we sleep for 3 seconds. While not strictly necessary, it is considered to be "polite" to not hammer a server repeatedly, but rather to put a small delay between file downloads.. 39 After we have downloaded all the audio files in our list, we can add the list of URLs for the files downloaded to the permanent list. While we are at it, we should use "tail" to trim the permanent log to keep it from growing indefinitely. This limit should be several times bigger than the number of files in the RSS feed. In this case I selected 50. 40 Finally we write any errors to the permanent error log, and also write these same errors to another file used to signal errors for display to the user. We have now successfully downloaded at least one HPR podcast. 41 Notify the User of Events It would be convenient to be informed of new podcast downloads when they occur, and also be notified of any errors. One of the limitations of cron jobs is that they cannot access the user interface. This means that we cannot readily send a message directly to the notification system to inform the user of the presence of new podcasts or of errors. 42 inotifywait The solution to this is to use "inotifywait" to monitor particular files and directories for changes. The man page for inotifywait states the following - 43 inotifywait efficiently waits for changes to files using Linux's inotify(7) interface. It is suitable for waiting for changes to files from shell scripts. It can either exit once an event occurs, or continually execute and output events as they occur. End of quote. 44 In many Linux distros, inotifywait is provided by the "inotify-tools" package. I won't go over all the features of inotifywait. Instead, I will just describe how to use it for our purposes here. 45 inotifywait Modes I should point out first though that inotifywait operates in two different modes. In the normal default mode, it exits after being triggered by an event and must be re-established again in order to resume monitoring. In monitor mode, which is enabled by using the "-m" option, it runs indefinitely, responding to events. I will use the default mode here. 46 The man page for inotifywait provides a simple example that we could copy and modify for our purposes. A great many examples that you will find are based on this example. However, it doesn't quite do what we want, so we need to change a few things. 47 podfetchnotify The first shell script is one which monitors for the arrival of new podcasts and sends a notification to the user. I will call this "podfetchnotify". The complete scripts are in the show notes, I will just provide a brief description here. 48 Setting Up Event Watches Using inotifywait The script is enclosed in a while loop which run indefinitely. In the first line inside the while loop, we call inotifywait. inotifywait will then block until the event it is told to look for occurs. In short, execution of the script will wait there until an event occurs. 49 The names of the events are listed in the man file. In this case we are looking for "modify", "create", and "moved_to". Each of these does pretty much as you would expect, reacting to modifying an existing file, creating a new file, or moving a file to that directory. 50 Problems When Testing Using Text Editors I should point out that if you are testing a script which uses inotifywait, then modifying a file with a text editor may not produce the results that you may think it would. Instead it treats this as a new file with the same name, with the original file being erased. Since inotifywait attaches itself to the inode rather than the filename, it sees the file that the text editor changed as being a new file. If you wish to test this realistically, then use "echo" to overwrite the file by using I/O redirection. 51 Capturing Output In my example I capture the output from standard out into a variable, but I don't do anything with it. If you wish to for example display the name of the newly downloaded podcast file, then use the --format option along with an appropriate formatting code. There are details about this in the man page. On the next line we capture the exit code using "$?" 52 Responding to Exit Codes If the exit code was zero, then a monitored event was triggered and there should a new podcast in the directory. In this case we display a message indicating that a new podcast has arrived. I will describe how to send notifications shortly. If the exit code was not zero, then an error occurred. An example of such an error would be if the directory were not present when monitoring was started. In this case we display a message indicating that a fatal error has occurred and then exit. 53 Delay for More Podcasts Finally, we use "sleep" to wait for some arbitrary period of time to prevent notifications from being triggered multiple times if several podcasts were being downloaded in succession. In this case I chose to wait for 60 seconds. 54 We have now completed the process and can return to the top of the loop and resume waiting using inotifywait. 55 Sending Notifications to the User I mentioned above about sending notification messages to the user. In the Gnome desktop, notification messages appear from the centre of the top bar in a list. Other desktops or operating systems may have something similar. 56 To send a notification message to the notification area, you use the "notify-send" command. Simply follow notify-send with a quoted string and it will be displayed in the notification area. 57 podfetcherrornotify The second shell script is one which notifies the user of errors. I will call this "podfetcherrornotify". With this shell script we set up a watch on a file which contains any error messages from podfetch. This script is very similar to podfetchnotify. 58 The exceptions are With inotifywait we only monitor for "modify". There is no sleep command at the end of the loop. Instead we sleep for a few seconds just after getting the exit code from inotifywait. This helps prevent problems caused by race conditions. 59 Next we check the inotifywait exit code. If it was zero, then we read the error report file and send a notification message to the user containing that error message. 60 If it was not zero, then we check to make sure that the directory that should contain the error log exists. If it does not exist, then we send a notification message to that effect to the user and terminate the script. 61 If the directory exists, then we check to see if the error message file used for signalling exists. If the file does not exist, then we create it. 62 One of the reasons for an inotifywait error is that if the file that it is told to monitor does not exist, it cannot set up a watch condition. By creating the file we correct the cause of the error and allow inotifywait to operate normally. 63 Finally we increment an error counter and check to see if the limit is exceeded. If there are excessive errors, then send a notification message to the user and exit. The reason for this is to give the user an indication that the error notifications are not working for some reason and there may be a problem that needs looking into. 64 The error counter is reset every time the inotifywait exit status is ok, so occasional unexpected glitches should be something that is ignored. Of course podcast fetching errors are something that will probably happen only rarely if at all, so this final step may be seen as an unnecessary embellishment. 65 Installing the Scripts Next I will describe how to install and prepare the scripts to run. We need to perform the following steps. 66 • First, we need to create a directory to hold the scripts and their associated data files. • Next we need to create a directory to hold the downloaded podcasts. • Then we must copy the scripts to these directories and make them executable. • Then, we must edit the scripts to have the file path in the script match the locations of the new directories that we created. 67 • Then we need to install xmllint, or alternatively modify the download script to comment out the use of xmllint and enable the alternative method using grep and sed instead. • Then we need to run each script manually from the command line to check for errors. • If podfetch ran correctly, it should download the most recent 10 podcasts during this test. 68 Adding podfetch to the Crontab The above describes how to run the scripts manually. In order to fetch podcasts automatically, we need to add the podfetch script to the cron schedule. To do this, open a terminal. 69 Type "crontab -e", and then press return. A text editor should open up containing the crontab file. On Ubuntu, this editor is GNU nano. Enter the appropriate cron parameters. I will provide an example here for running it 12 minutes past the hour every three hours. 70 12 */3 * * * /home/username/pathtofiles/podfetch.sh 71 I won't explain cron in detail here. The example that I have just given should be good enough for most people. The "*/3" parameter will cause it to run every three hours. The "12" parameter will cause it to run 12 minutes past the hour when it does run. 72 Checking every three hours should be good enough for most people, but you can adjust that as you see fit. I would recommend however that you don't check more frequently than once per hour. Checking more frequently than necessary puts extra load on the distribution servers. It is very unlikely that you really do need each new episode the moment it is available. 73 I would also recommend changing the "12" parameter to some other random minute value. I would suggest avoiding on the hour or on the half hour, as a lot of other people are probably checking at those times, and it would be better to spread the load out more evenly over time. 74 The file path parameter should of course match the actual path to wherever you have located the script, including the correct user name. 75 Making the Notification Scripts Start Automatically The two notification scripts can be made to start automatically. The exact method to do this may vary according to distribution or desktop. 76 On Ubuntu this is done using the Startup Applications Preferences GUI program, which should come already installed. 77 I won't go into details on this here, it should be fairly self evident how to use it once you see it. What this program does is to create ".desktop" files in the ".config/autostart" directory in your home directory. 78 These ".desktop" files are all run automatically on start up. Once you have added the notification scripts, you will need to log out and then log back in to make them active. 79 Conclusion I this episode I explained how to write a set of simple shell scripts to automatically download each new episode of HPR as it comes out and to notify you of its arrival. 80 The download script described here is tailored specifically for use with HPR only. However, it was derived from a larger script that downloaded other podcasts as well, based on information read in from a text file. If you are feeling ambitious, you can add those features back into this to handle all of the podcasts that you listen to. 81 In a comment to another episode of HPR I had said that I would cover ID3 tags in MP3 files, but this episode is long enough now, so I will leave that subject for later. I look forward to seeing you again later on another episode of Hack Public Radio. # ====================================================================== podfetchdownloader #!/bin/bash # Fetch pending HPR podcasts listed in the HPR RSS feed. # 8-Jun-2026 # Licensed under GPLv3 or later. # ====================================================================== # Today's date and time as YYYYMMDDHHMMSS. podttimestamp=$( date +"%Y%m%d%H%M%S" ) # The absolute path to the script. This is necessary when running it # using a cron job. podpath="/home/me/Apps/hprfetch" # This is the absolute path to where to store the podcast files. podfilepath="/home/me/Music/Podcasts/HPR" # Create the full path names here for all the text files used. podcastsfetched="$podpath/podcastsfetched.txt" poderrorslog="$podpath/poderrorslog.txt" poderrorsreport="$podpath/poderrorsreport.txt" tmpoldurlssorted="$podpath/tmpoldurlssorted.txt" tmppodsnew="$podpath/tmppodsnew.txt" tmppodstodownload="$podpath/tmppodstodownload.txt" tmppodserrors="$podpath/tmppodserrors.txt" tmppodcastsfetched="$podpath/tmppodcastsfetched.txt" tmplog="$podpath/tmplog.txt" # The URL for the HPR RSS feed. PodURL="http://hackerpublicradio.org/hpr_rss.php" # Limit on number of podcasts to download. DownloadLimit=11 # Name of the podcast. PodName="Hacker Public Radio" # ====================================================================== # Check if the required paths exist. # If this path does not exist, cannot log the error. if [[ ! -d "$podpath/" ]]; then echo "$podttimestamp Error - Could not find $podfilepath." exit 1 fi # Where to store the podcast file fetched. if [[ ! -d "$podfilepath/" ]]; then echo "$podttimestamp Error - Could not find $podfilepath." >> $tmppodserrors # Copy the errors log from the temporary errors file to the permanent files. LogErrors exit 1 fi # ====================================================================== # Check if the podcast log exists. We read it before we write to it, # so it must exist or we will hang on it not being present. if [[ ! -e $podcastsfetched ]]; then touch $podcastsfetched fi # ====================================================================== # Delete the specified files if they exist. # This accepts multiple file names in a variable number of parameters. CleanupFiles () { # $@ accepts multiple parameters. for f in "$@"; do # Check if the file exists. if [ -e "$f" ]; then rm "$f" fi done } # ====================================================================== # Copy the errors log from the temporary errors file to the permanent files. LogErrors () { if [ -e $tmppodserrors ]; then # The permanent log. cat $tmppodserrors >> $poderrorslog # This file is monitored for display by other scripts. cat $tmppodserrors > $poderrorsreport fi } # ====================================================================== # Get the URL data from an RSS feed GetRSSURLData () { wget --timeout=20 --tries=3 -O - "$PodURL" | xmllint --xpath "//channel/item/enclosure/@url" - | cut -d'"' -f2 | sort > $tmppodsnew # This is an alternate method that does not use xmllint. # However, it is not as robust. If someone were to include the # first grep search pattern in their show notes, then it would # look for that as a valid tag and output the following text # as a URL. #wget --timeout=20 --tries=3 -O - "$PodURL" | grep " $poderrorsreport fi # Increment the error counter. count=$(( count + 1 )) if (( count > 3 )); then notify-send "Podfetch error: Excessive unknown errors, exiting." exit 1 fi fi done # ====================================================================== Provide feedback on this episode.
En este episodio vamos a hablar de una de esas herramientas míticas del ecosistema Linux y Unix que prácticamente todos hemos configurado alguna vez: Cron. Ese servicio fiel, un clásico entre los clásicos, que lleva décadas ejecutando nuestras copias de seguridad de madrugada o eliminando ficheros temporales. Sin embargo, las cosas cambian, la tecnología avanza y yo creo que ha llegado el momento de que todos jubilemos a Cron. Sí, como lo oyes. Ha llegado la hora de darle una merecida jubilación dorada y abrir los brazos a una alternativa mucho más moderna, integrada y potente: los Systemd Timers.¿Por qué deberías jubilar a tu viejo Cron?Sé que puedes estar pensando: "Lorenzo, pero si a mí Cron me funciona de maravilla". Y es verdad, para un comando sencillo que se ejecute cada hora, Cron cumple. Pero a poco que intentes complicar la tarea, empiezan los problemas. El gran drama de Cron es que trabaja a ciegas y en absoluto silencio. Si tu script falla por falta de internet, por un error de permisos o porque un recurso no está disponible, no te vas a enterar a menos que te hayas tomado el trabajo de programar tus propios registros de log, gestionar lógicas de reintentos o configurar desvíos de errores dentro de tu script.El poder de los Systemd TimersCon los Systemd Timers todo esto se soluciona de forma completamente automática y sin añadir complejidad a tus scripts. Systemd se encarga de gestionar de manera integrada el estado de tu sistema y te ofrece superpoderes como:Logs centralizados automáticosGestión inteligente de la persistenciaControl de dependenciasAleatorización horariaLa anatomía de una tarea en SystemdPara conseguir toda esta potencia, Systemd utiliza un enfoque muy limpio en el que dividimos la tarea en dos archivos de texto sencillos que se complementan a la perfección:El Servicio (.service)El Timer (.timer)Automatización sin root: Los timers de usuarioPero mi funcionalidad favorita, y la que utilizo en mi día a día para casi todo, es la posibilidad de ejecutar estos temporizadores en el espacio del usuario corriente, sin necesidad de tener privilegios de administrador ni usar el comando sudo. Estos temporizadores se guardan en tu propia carpeta de configuración personal de forma limpísima y se ejecutan dentro del contexto de tu sesión activa.Capítulos del audio00:00:00 Introducción y el adiós definitivo a Cron00:01:43 Los fallos silenciosos de Cron: Logs, reintentos y dependencias00:03:06 Las grandes ventajas de usar Systemd Timers00:05:21 La anatomía de la automatización: Timer y Servicio00:06:48 Configuración de la sección [Timer], OnCalendar y persistencia00:07:55 Tareas relativas: OnBootSec y aleatorización de tiempos00:10:00 Comandos de systemctl para gestionar tus tareas programadas00:10:33 Ejemplos prácticos en el sistema: Backups y limpiezas00:12:13 Notificaciones de escritorio e integración con el entorno gráfico00:14:11 Timers de usuario: Automatización segura sin usar root o sudo00:15:25 El truco de Linger para mantener tareas activas en VPS00:16:53 Sincronización continua de notas y cambio automático de fondo00:20:07 Cómo ver los logs y depurar fallos de forma sencilla con journalctl00:21:25 Evita estos errores típicos y valida con systemd-analyze00:24:51 El futuro de la automatización, modelos de lenguaje y despedidaMás información y enlaces en las notas del episodio
Western Force Head Coach Simon Cron talks about the positives, the frustrations, the games that still keep him up at night, and what he doesn't want the Force to become.
Si has estado atento a los últimos episodios del podcast, ya te habrás dado cuenta de que estoy completamente enfocado en exprimir la inteligencia artificial local y el software libre. En concreto, hay dos herramientas que se han convertido en mis compañeras inseparables de fatigas en el día a día: OpenCode, que me ayuda a programar de una forma increíble, y Hermes Agent, un asistente digital del que hoy te lo quiero contar absolutamente todo.El dilema de la instalación: ¿Docker o en tu propia máquina?Como ya me conoces, sabes bien lo mucho que me gusta a mí levantar "al rico contenedor" y solucionar cualquier despliegue con Docker. Sin embargo, en mis pruebas con Hermes Agent he preferido dar un paso atrás y realizar una instalación directa sobre el sistema operativo, utilizando un entorno virtual de Python. El peligro de la ventana de contexto y la sangría de tokensAquí está uno de los grandes secretos que casi nadie te explica al principio. Cuando ejecutas el asistente de configuración inicial de Hermes Agent, te entran ganas de activar absolutamente todas las características que te ofrece: herramientas de visión, utilidades del sistema, navegación web, traducción... ¡todo suena fantástico! Pero hay una trampa invisible en la que es muy fácil caer. El superpoder de los perfiles aislados (Profiles)La solución definitiva a este problema de consumo y rendimiento tiene un nombre: perfiles. Hermes Agent te permite crear tantos perfiles aislados como consideres oportuno. Modelando el Alma y la Memoria de tu AgenteEn el podcast te detallo cómo dar personalidad a tu agente a través del archivo de alma. A mi asistente personal, que he bautizado como Chloe, le he configurado un tono sarcástico, irónico y burlón. Me encanta interactuar con ella de esta manera porque rompe completamente con la clásica respuesta robótica y aburrida de otras inteligencias artificiales comerciales; se siente como hablar con un colega de verdad. Eso sí, te doy pautas para redactar este archivo con cuidado, ya que un "alma" demasiado extensa también te comerá espacio de contexto útil de forma innecesaria.Ampliando fronteras: MCP, Telegram y automatizaciones automáticasPor último, abordamos el fantástico protocolo MCP (Model Context Protocol), que nos permite dotar de "manos y ojos" a nuestro agente. Y para rematar la jugada, la integración con Telegram y Matrix. Es una auténtica delicia poder ir caminando, mandarle un audio desde el móvil a mi bot de Telegram, que este use Whisper en local para transcribir mi voz, procese lo que le pido y me conteste con otro audio sintetizado a la velocidad que yo le he configurado de antemano. Todo ello combinado con tareas programadas (Cron) y un tablero de Kanban interno con el que el propio agente se organiza y ejecuta flujos de trabajo de forma completamente autónoma.Te invito a que te prepares un buen café, te pongas los auriculares y disfrutes de este viaje de configuración avanzada de 0 a 100.CAPÍTULOS DEL AUDIO:00:00:00 Introducción: Mi día a día con OpenCode y Hermes Agent00:01:26 El problema de los tutoriales básicos e instalación00:03:00 Configuración inicial y la sangría de tokens00:04:47 Archivos clave y estructura interna de Hermes00:05:56 Creando "Skills" personalizadas y configurando API Keys00:08:15 Perfiles aislados (Profiles): Qué son y por qué los necesitas00:11:00 Cómo clonar y gestionar tus perfiles sin romper nada00:13:35 soul.md: Diseñando el "Alma" y el tono de tu asistente00:15:28 memory.md: El gran desafío de la memoria y el RAG en Rust00:17:38 Expandiendo capacidades con MCP y conversión de voz00:20:47 Llevando tu agente a Telegram con Cron y Kanban integrado00:27:18 Reglas de oro para optimizar tu contexto y despedida
¿Qué es la ofrenda de las primicias? ¿Cuánto dar de ofrenda? ¿Dónde Entregar? ¿Cuándo entregar? ¿Cómo distribuir mi ofrenda?¿Cuánto dar de ofrenda?2 Cor 9:7 - haz una propuesta1 Cor 16:2 y Deut 16:17 - esa propuesta debe ser proporcional (percentual)¿Dónde Entregar?El Alfolí: ¿Dónde es? Nm 18:20-32; Deut 12; 14:22-29; 16; 18:1-8; 2 Reyes 18:4, 22; 2 Cron 31; Neh 10:32-39; 12:44-47; Mal 3:8-20; Lucas 22:1-4 (Marcos 12:41-44); Actos 2:44-45; 4:32-37; 1 Cor 9:13-14.Principio: reunirlo en un solo lugar como acto de culto y para una distribución equitativa (Neh 13:10-14; 2 Crón 31:4-21).¿Cuándo entregar? Aquí está el principio de las Primicias. Prov 3:9-10 - cada vez que hay ganancias¿Cómo distribuir mi ofrenda?Actos 1:8Sugerencia: El Plan de la Ofrenda CombinadaSábado a la tarde, el 12 de abril de 2025, en Panamá City
Our great coach on this episode is Mike Cron. Mike Cron was a coach with the New Zealand All Blacks for 2017 Games. This includes a stretch where they won 2 Rugby World Cups. He was also part of the team that led the NZ Women's team to the world cup in 2022. In addition he has worked with the Welsh and Japanese teams and is presently coaching the Australian Wallabies alongside Joe Scmidt.1. Where am I being “firm” when I actually need to adapt—and what feedback would I need to hear (and accept) to make that change?2. When I lead or coach, do I rely more on a script or on observation—and what would improve if I became more comfortable with silence and listening?3. In my team (or work group), where might social loafing be showing up subtly, and what specific commitment can I make so that “it will not be me”?If you would like to send us any feedback or if you know a great coach, who has a unique story to share, then we would love to hear from you, please contact us at paul@thegreatcoachespodcast.com and if you would like to receive our newsletter with 5 ideas to help you improve your leadership, then sign up at: https://thegreatcoaches.beehiiv.com/subscribe Hosted on Acast. See acast.com/privacy for more information.
What does Deep Purple have to do with the All Blacks scrummaging better? More than you'd think.Mike Cron is one of the most successful rugby coaches in history. In this Bite Size, he tells the story of one of his strangest coaching ideas, where it came from, why it should not have worked, and why it did.Learn more about Mike here: https://www.mikecroncoaching.co.nz/ Use Code "PQPODCAST10" to get 10% off your Lumo Coffee order:https://lumocoffee.com/ Interested in sharing your story? Email Producer Shannon at support@performanceintelligence.com today with your story and contact details. Learn more about Andrew and Performance Intelligence: https://performanceintelligence.com/Find out more about Andrew's Keynotes : https://performanceintelligence.com/keynotes/Follow Andrew May: https://www.instagram.com/andrewmay/Watch the Performance Intelligence Podcast on Youtube: https://www.youtube.com/@performanceintelligencepodcastIf you enjoy the podcast, we would really appreciate you leaving a short review on Apple Podcasts, Spotify or Google Play. It takes less than 60 seconds and really helps us build our audience and continue to provide high quality guests.
Xaereth and SoloBass15 record Gambit Podcast's 306th episode. Let's talk about the stuff! So much stuff to discuss. Too much, probably. Podcast questions answered. So much madness. Madness!! Here are some links to help you on your way: The Gambit Discord Server Xaereth's Twitch Channel Solobass15's Twitch Channel Gambit Twitch Channel Xaereth's YouTube Channel Solobass15's YouTube Channel Gambit YouTube Channel
Visit (or click
Nông nghiệp xanh không chỉ là một xu hướng mà đang trở thành yêu cầu tất yếu trong bối cảnh biến đổi khí hậu và hội nhập quốc tế ngày càng sâu rộng. Trong 4 năm qua, từ các mô hình sử dụng thuốc bảo vệ thực vật an toàn, hiệu quả và có trách nhiệm do Cục Trồng trọt và Bảo vệ thực vật phối hợp với CroNông nghiệp xanh không chỉ là một xu hướng mà đang trở thành yêu cầu tất yếu trong bối cảnh biến đổi khí hậu và hội nhập quốc tế ngày càng sâu rộng. Trong 4 năm qua, từ các mô hình sử dụng thuốc bảo vệ thực vật an toàn, hiệu quả và có trách nhiệm do Cục Trồng trọt và Bảo vệ thực vật phối hợp với CropLife Việt Nam triển khai tại tỉnh Đồng Tháp cho thấy, cách tiếp cận này hoàn toàn khả thi và mang lại những hiệu quả rõ nét trong sản xuất nông nghiệp. Phóng viên Minh Long có cuộc trao đổi với ông Đặng Văn Bảo, Tổng giám đốc công ty CroLife Việt Nam về nội dung này.
Western Force coach Simon Cron talks about the team and the season ahead for 2026
Para precio y disponibilidad, vaya a este vínculo: https://amzn.to/4rfMRmx Un episodio que presenta un cronómetro diseñado con números grandes, cambio de color al acercarse el fin del tiempo y programación en segundos, minutos y horas. Incluye brillo ajustable, alarmas con varios sonidos, batería recargable y opciones de montaje (pie, pared y imán), y muestra cómo ayuda a un niño a cumplir sus tareas.
Most teams double down when things stall. More drills. More meetings. More effort.Mike Cron (one of world rugby's most successful coaches) did the opposite.Instead of searching for answers inside his own sport, he started borrowing from others: different games, different pressures, different ways of thinking about performance. This bite size episode is about learning how to see what others miss.If you're responsible for people, results, or momentum - this will change how you think about improvement. Learn more about Mike here: https://www.mikecroncoaching.co.nz/ Use Code "PQPODCAST10" to get 10% off your Lumo Coffee order:https://lumocoffee.com/ Interested in sharing your story? Email Producer Shannon at support@performanceintelligence.com today with your story and contact details. Learn more about Andrew and Performance Intelligence: https://performanceintelligence.com/Find out more about Andrew's Keynotes : https://performanceintelligence.com/keynotes/Follow Andrew May: https://www.instagram.com/andrewmay/Watch the Performance Intelligence Podcast on Youtube: https://www.youtube.com/@performanceintelligencepodcastIf you enjoy the podcast, we would really appreciate you leaving a short review on Apple Podcasts, Spotify or Google Play. It takes less than 60 seconds and really helps us build our audience and continue to provide high quality guests.
This is continual learning, right? Everyone has been talking about continual learning as the next challenge in AI. Actually, it's solved. Just tell it to keep some notes somewhere. Sure, it's not, it's not machine learning, but in some ways it is because when it will load this text file again, it will influence what it does … And it works so well: it's easy to understand. It's easy to inspect, it's easy to evolve and modify!Eleanor Berger and Isaac Flaath, the minds behind Elite AI Assisted Coding, join Hugo to talk about how to redefine software development through effective AI-assisted coding, leveraging “specification-first” approaches and advanced agentic workflows.We Discuss:* Markdown learning loops: Use simple agents.md files for agents to self-update rules and persist context, creating inspectable, low-cost learning;* Intent-first development: As AI commoditizes syntax, defining clear specs and what makes a result “good” becomes the core, durable developer skill;* Effortless documentation: Leverage LLMs to distill messy “brain dumps” or walks-and-talks into structured project specifications, offloading context faster;* Modular agent skills: Transition from MCP servers to simple markdown-based “skills” with YAML and scripts, allowing progressive disclosure of tool details;* Scheduled async agents: Break the chat-based productivity ceiling by using GitHub Actions or Cron jobs for agents to work on issues, shifting humans to reviewers;* Automated tech debt audits: Deploy background agents to identify duplicate code, architectural drift, or missing test coverage, leveraging AI to police AI-induced messiness;* Explicit knowledge culture: AI agents eliminate “cafeteria chat” by forcing explicit, machine-readable documentation, solving the perennial problem of lost institutional knowledge;* Tiered model strategy: Optimize token spend by using high-tier “reasoning” models (e.g., Opus) for planning and low-cost, high-speed models (e.g., Flash) for execution;* Ephemeral software specs: With near-zero generation costs, software shifts from static products to dynamic, regenerated code based on a permanent, underlying specification.You can also find the full episode on Spotify, Apple Podcasts, and YouTube.You can also interact directly with the transcript here in NotebookLM: If you do so, let us know anything you find in the comments!
O ano está chegando ao fim. Estamos em um contexto de final de jornada e logo começa outra. Isso gera ansiedade. Como estar preparado para a virada?Esta mensagem foi apresentada na Igreja Adventista Brasileira de Washington, em 6 de dezembro de 2025.Minhas anotações:O que é um ano?Um "ano" é o tempo que a Terra leva para completar uma órbita ao redor do Sol.Uma órbita completa ao redor do Sol leva aproximadamente 365,2422 diasNão 365.Nem 366.Mas 365 dias + quase 1/4 de dia.Este extra ~0.2422 dia ≈ 6 horas.Um mês é aproximadamente o tempo que leva um ciclo da lua (29,5 dias x 12 = 354)Cada novo dia temos novas oportunidades. “As misericórdias do Senhor…Cada nova semana, Deus nos dá uma pausa, e podemos recomeçarMas a virada do ano é um grande reset da vida.Você está preparado?Muitos não sabem conscientemente deste “reset” mas sentem isso instintivamente. Comemoram, bebem, comem, fazem festa, para esquecer a solenidade do momento.A maioria de nós vai ter esta experiência, no máximo, 85-90 vezes.Pesquisa:American Psycholgy Association (https://www.apa.org/news/press/releases/2023/11/holiday-season-stress)Deus diz: Isaías 27:5 A quem Deus abençoa?Isaías 66:2-4 2 Cron 20:17 - Hebreus 4:7-11 A ansiedade é cega e não pode discernir o futuroEGW: Nada temos que temer quanto ao futuro a menos que…Por isso,1 Tess 5:18 - 1 Pedro 5:7 - 1Pedro 5:7 NVTElementos que podem causar ou potencializar a Ansiedade:Perda de autocontrole nas redes sociaisUso de café e outos estimulantes Uso de bebida alcoólica (nem por brincadeira)Excessos na comida, sem limitação de horário, quantidade ou qualidade (diversão x nutrição)Falta de sonoFalta de exercício fisicoDescontrole nos hábitos financeirosDescontrole nos hábitos relacionais e sexuaisHábitos promotores da paz:(Muitos deles relacionados ao princípio do Primeiro Deus) Mat 6:33Hábitos devocionaisPrincipio Primeiro DeusMomento de oração - os sete minutos (episódio #85)Estudo da Biblia (episódio #1)Lição da Escola SabatinaEspirito de ProfeciaGuarda do sábadoFrequência à igrejaTrabalho para Deus - Atenção aos hábitos físicos 1 cor 10:31 Hábitos financeiros Provérbios 3:9-10 Primeiro Deus: dizimo (10%) e oferta (___%)Seu “eu” de amanhã - fundo de reservaSabedoria Financeira Bíblica: • A sequência é fundamental: trabalhar, receber, doar, poupar, gastar. • As primeiras coisas em primeiro lugar — Deus, os necessitados, a poupança, as necessidades. • Desenvolva o contentamento. A dívida é frequentemente o resultado do descontentamento por ter apenas o que é possível ter. As pessoas se endividam para ter o que não podem pagar. (Josanan). Fil. 4:11–12.Adote um estilo de vida simples — sem ostentação. Fil. 4:12. • Viva com o que pertence a você — não tome emprestado. • Pague o que você deve, antes mesmo de comer. “Nunca vi o justo desamparado, nem a sua descendência mendigar o pão.” • Use apenas o dinheiro que já está na sua conta bancária. Não conte com recursos que ainda não recebeu. • Recolha as migalhas.A vida é simples. Nós é que complicamos…A Biblia é o grande descomplicador dos problemas da vida. João 15:5 Filipenses 4:13 Naum 1:7 - Sermão BR1 6/dez/2025
La selección española busca seguir invicta en la clasificatoria para el Mundial 2026. Se medirá en Elche ante Georgia y en Valladolid ante Bulgaria. Se trata de una concentración atípica por la cantidad de jugadores que no estarán disponibles para el seleccionador. El último, Dani Olmo.
Mike Cron MNZM– known across the rugby world as The Scrum Doctor. Former New Zealand Police Detective, pie bakery owner, and one of the most respected coaches in world rugby.
Episodio 339.Una extensión que termina en un perolito que tiene un enchufe (un enchufe de 3 paticas); en ese enchufe, solito, él solo… suele pasar en los cumpleaños 80 que no hay interrupciones en el jazz porque hay un problema de fe con el álbum. Ojalá la hipertensión se arreglara con un CRON job pero yo antes de seguirme quejando, leería las instrucciones. Señor, la pastilla.
Ballet dancers. Sumo wrestlers. Cage fighters. Deep Purple blasting in the sheds. This is the world of Mike Cron – the Scrum Doctor who coached 217 Tests with the All Blacks, lifted 3 Rugby World Cups, and is now helping fuel the Wallabies' revival.For over 40 years, Crono's been obsessed with one thing: making rugby smarter, safer, and more effective. But instead of just looking inside the game, he's gone everywhere for answers — ballet studios for balance, netball courts for movement, cage fighting gyms for contact, even the New York Yankees for culture.You'll hear the raw stories and coaching philosophies that have kept him at the very top of world sport. No clichés. No tired coaching jargon. Just lessons that hit way beyond the rugby field — about leadership, curiosity, resilience, and creating safe environments for players to thrive.Featuring insights from James Slipper, Harry Wilson, and Nic White, this is a rare deep dive with one of rugby's true masterminds.02:00 - The feedback Mike asked of Andrew04:00 - Mike's never-ending birthday celebrations05:30 - Learning from other sports (sumo, cage fighting, netball, baseball)08:35 - How biomechanics influence rugby union12:35 – How Mike integrates netball into rugby17:35 – Sticking to morals as a coach20:35 – How to do shorter performance reviews22:55 – Coaching men vs women24:35 – Book recommendation27:35 – Reviewing and giving feedback to athletes35:35 – How Deep Purple propelled the All Blacks to victory38:35 – Applying Deep Purple to team training43:35 – Communication, planning, and preparation45:20 – “Too old to coach?”47:35 – Entering Australian rugby with the Wallabies51:35 – Nudgee College chapter55:35 – Mike's training philosophies56:35 – Mike's lessons and influences1:01:35 – Creating a safe learning environment1:09:05 – Learnings from coaching & advice for new coachesLearn more about Mike here: https://www.mikecroncoaching.co.nz/ Use Code "PQPODCAST10" to get 10% off your Lumo Coffee order:https://lumocoffee.com/ Interested in sharing your story? Email Producer Shannon at support@performanceintelligence.com today with your story and contact details. Learn more about Andrew and Performance Intelligence: https://performanceintelligence.com/Find out more about Andrew's Keynotes : https://performanceintelligence.com/keynotes/Follow Andrew May: https://www.instagram.com/andrewmay/If you enjoy the podcast, we would really appreciate you leaving a short review on Apple Podcasts, Spotify or Google Play. It takes less than 60 seconds and really helps us build our audience and continue to provide high quality guests.
Dax and Adam talk about melted protein bars and the weather in Missouri, to deeper reflections on living conditions, food choices, aging, and the impact of technology on their lives. City versus suburban living, the complexities of homelessness, the current AI hype cycle, programming practices, and the evolution of technology trends, highlighting the challenges and excitement that come with adapting to new tools and workflows.Links:Gartner hype cycle - Wikipediav0 by VercelThePrimeagen - YouTubeArch LinuxBuy Mac Studio - Apple (CA)i3 – i3: improved tiling X11 window managerRaycast - Your shortcut to everythingAeroSpace GuideWezTerm - Wez's Terminal EmulatorGhosttyGitHub - sst/opentui: OpenTUI is a TypeScript library for building terminal user interfaces (TUIs)Bun – A fast all-in-one JavaScript runtimeHome ⚡ Zig Programming LanguageGitHub - BurntSushi/ripgrep: ripgrep recursively searches directories for a regex pattern while respecting your gitignoreThe Go Programming LanguageSponsor: Terminal now offers a monthly box called Cron.Want to carry on the conversation? Join us in Discord. Or send us an email at sliceoffalittlepieceofbacon@tomorrow.fm.Topics:(00:00) - Adam's going cordless (00:34) - Protein bars melt in the Florida heat (03:28) - Is there anything good about living in Missouri? (07:23) - Cursed with the knowledge of better things (11:38) - Living in the city vs rural country life (13:48) - Explaining homelessness to your kids (22:01) - Every city needs two mayors (23:31) - Eras of tech Twitter (26:25) - Where is AI coding in the hype cycle? (35:08) - Knowing when to reach for AI (42:52) - Dax's window management hack (46:17) - Local LLMs on macOS (49:00) - Wezterm vs Ghostty (53:28) - We need to talk about OpenTUI (01:06:37) - Being born sucks (01:11:30) - How did we survive castles and dragons and war? ★ Support this podcast ★
Candy and fake sugar, Adam has so many vacuums, weird AI startup vibes and optimization brags, working with different AI models, how we decide what our default prompt is, the normie view of GPT5, and why do you hate software engineers?Links:JOYRIDEGATSBY Chocolate
Después de casi 21 años llega a su fin el programa de debate por excelencia en la televisión deportiva. Learn more about your ad choices. Visit podcastchoices.com/adchoices
What it's like working on software that has a lot of competition, how opencode might handle permissions and ditching features, living like a dog in the moment, and Dax is ready to be right about everything—including parenting.Links:Fireship - YouTubeGemini AI video generator powered by Veo 3opencode | AI coding agent built for the terminalSponsor: Terminal now offers a monthly box called Cron.Want to carry on the conversation? Join us in Discord. Or send us an email at sliceoffalittlepieceofbacon@tomorrow.fm.Topics:(00:00) - Dax Jr will be the perfect sleeper (00:37) - Adam is all about the content creation (02:27) - Streamlining Dax's video published workflow (07:53) - How do movies even get made? (14:43) - Working on something with lots of competition (21:26) - Features that are stupid (26:28) - How a user is using permissions (34:14) - Figuring out how many people are using Opencode (36:45) - Livining in the moment like a dog (46:45) - How does the world even work? (53:28) - Dax's zen mode vs Adam's blowtorch (55:58) - Dax is ready to be right about everything about parenting ★ Support this podcast ★
Cronómetro se enciende con el regreso de la dupla Mauricio Ymay y Adal Franco, quienes elevan la temperatura de la discusión al hablar, junto con José del Valle, sobre si el América debe fichar a un jugador de renombre internacional como lo han hecho recientemente clubes como León, Monterrey o Pumas. Por otro lado, con el arranque de la Leagues Cup entre equipos de la MLS y la Liga MX, Adal y Mauricio señalan que el Toluca se erige como favorito para ganar el torneo, pero si los Diablos Rojos se lo toman en serio. Learn more about your ad choices. Visit podcastchoices.com/adchoices
Ricardo Puig y Toño Valle discuten en Cronómetro sobre las repercusiones que ha comenzado a sufrir Chicharito tras sus polémicas declaraciones y las reacciones de las Chivas, la Federación Mexicana de Futbol y su patrocinador de calzado deportivo y señalan que Javier Hernández es el único culpable del triste tinte que ha tomado el final de su carrera. Por otro lado, tras la derrota de la Liga MX ante la MLS en el All-Star Game, Ricardo y Toño evalúan si la sociedad entre ambas ligas tiene impacto internacional y ambos señalan las razones por las que no parece ser el caso. Además, también explican por qué consideran que, aun con Keylor Navas en la portería, Pumas sólo aspira a pelear por un lugar en el Play-In del Apertura 2025. Learn more about your ad choices. Visit podcastchoices.com/adchoices
Adal Franco y Mario Carrillo analizan en Cronómetro los resultados del América y Toluca en sus juegos adelantados de la Liga MX y señalan que el club azulcrema tiene posibilidades de vencer a su verdugo en la Final del Clausura 2025 por las dudas que dejaron los Choriceros, pese a ganar, en su juego ante el Santos. Por otro lado, Adal y el Profe Carrillo discuten si la decisión que tomó el argentino Rodrigo de Paul de ir a jugar al lado de Messi en el Inter Miami es favorable o un error que marcará su carrera. Learn more about your ad choices. Visit podcastchoices.com/adchoices
Mauricio Ymay y Jorge Pietrasanta analizan en Cronómetro las exigencias en el naciente torneo para el Cruz Azul y ademas de señalar que La Máquina está obligada a ganar el título, señalan que el técnico Nicolás Larcamón es la figura con mayor exigencia por ser el rostro del equipo como técnico y por llegar al puesto que ocupó Vicente Sánchez con buenos resultados. Por otro lado, Mauricio y Pietra indican las razones por las que consideran que Messi ha cumplido con las expectativas con las que el Inter Miami fichó al astro argentino hace dos años. Learn more about your ad choices. Visit podcastchoices.com/adchoices
Sam Lambert, the CEO of PlanetScale, joins Dax for a candid discussion about the remarkable journey of launching the Postgres product and scaling the company's success. Discover how PlanetScale is on track to achieve a million dollars in ARR for their Postgres product, delve into the technical nuances of their groundbreaking infrastructure, and learn why PlanetScale is considered a reliable alternative to Amazon Aurora for large-scale database solutions. Sam shares his experiences and insights on navigating startup challenges, maintaining focus amidst tempting opportunities, and fostering a culture that thrives on innovation and reliability. Links:Announcing PlanetScale for Postgres – PlanetScaleThe principles of extreme fault tolerance – PlanetScaleSam Lambert (@isamlambert) / XDeath wrestling with ogresWhopKickCursor - The AI Code EditorConvex | The reactive database for app developersFigmaSponsor: Terminal now offers a monthly box called Cron.Want to carry on the conversation? Join us in Discord. Or send us an email at sliceoffalittlepieceofbacon@tomorrow.fm.Topics:(00:30) - Airline travel advice with a baby (02:32) - What was it like launching PlanetScale for Postgres? (08:00) - What was reused and what was new? (12:08) - Is the sharding from scratch? (17:27) - Is PlanetScale the main alternative to Aurora? (19:33) - Is there a link between Postgres and AI companies? (24:57) - What is your goal for PlanetScale? (27:13) - The joy of seeing other products running on your platform (30:00) - Is vibe coding worth paying attention on a services side? (45:39) - The regret of not enjoying what we get to do (49:09) - Intertwinning making money with running a business (53:24) - Playing the long game and avoiding temptations (58:49) - Remembering the era of database experimentation ★ Support this podcast ★
Mauricio Ymay está de regreso en Cronómetro y al lado de Adal Franco y con Alex Pareja como invitado reacciona a la goleada que sufrió el Real Madrid ante el PSG en la Semifinal del Mundial de Clubes y en la discusión, la conclusión es que los futbolistas Merengues son los máximos responsables de la derrota ante el club francés por sus groseros errores en el campo y por lo que, aparentemente, se resisten a cumplir con las indicaciones del nuevo técnico Xabi Alonso. Además, Mauricio, Adal y Alex señalan las razones por las que el PSG luce ampliamente superior al Chelsea para el duelo por el título. Por otro lado, Mauricio y Adal hacen un Top 5 que se convirtió en Top 6 de los principales fichajes en la historia de la Liga MX. Learn more about your ad choices. Visit podcastchoices.com/adchoices
Una vez que la celebración por el título terminó, Adal Franco, Jorge Pietrasanta y José Ramón Fernández dan sus calificaciones línea por línea de la selección mexicana en la Copa Oro y sorprende un 10 que Joserra le entrega a uno de los pupilos de Javier Aguirre. Por otro lado, Adal, Joserra y Pietra, junto con Hernán Pereyra, señalan por qué el PSG saldrá al campo como favorito para el duelo Semifinal del Mundial de Clubes ante el Real Madrid y del que saldrá el rival del Chelsea en la Final. Learn more about your ad choices. Visit podcastchoices.com/adchoices
Adam Wolff from AnthropicAI discusses various aspects of AI development, particularly focusing on Claude Code and its impact on programming workflows. They explore the challenges and benefits of integrating AI into development processes, the importance of community feedback, and the evolving landscape of developer tools. The discussion also touches on personal experiences with work-life balance and the excitement surrounding the future of AI in technology.Links:Claude Codeopencode.aiSponsor: Terminal now offers a monthly box called Cron.Want to carry on the conversation? Join us in Discord. Or send us an email at sliceoffalittlepieceofbacon@tomorrow.fm.Topics:(00:00) - Making apps that taste good (00:50) - What's summer in San Francisco like? (03:09) - Introducing Adam Wolff (05:26) - Why is AI amazing some days, and frustrating the next? (10:08) - How should I prompt Claude Code? (15:18) - Would the models ever get so good humans don't need to be in the loop? (21:49) - Why are we using AI for content and interactions online? (24:58) - There are so many people who haven't tried LLMs for programming (28:41) - Are devs who aren't very online happier and more present in their real life? (33:50) - Why is Claude Code everywhere now? (35:52) - Do you default to Opus? (37:53) - How important is the terminal to Claude Code? (48:14) - How does AI tool development compare with building for React? (49:00) - What does Adam think of opencode? (55:41) - Being a part of the changes and improvements coming to our industry ★ Support this podcast ★
Adal Franco, Dessirée Monsiváis y Mario Carrillo reaccionan en Cronómetro al pase de México a la Final de la Copa Oro tras vencer por la mínima a Honduras y tras analizar varios aspectos del duelo, señalan que, pese a no tener un estilo atractivo de juego, el hecho de que Javier Aguirre lleve al Tri a ganar es lo que gusta y deja satisfechos a todos. Sobre el Mundial de Clubes, que disputará la fase de Cuartos, Adal, Dessirée y el Profe dan su pronóstico para cada partido y destacan que al PSG se le ve hambre de ganarlo todo pese a haber ganado el título de la Champions. Learn more about your ad choices. Visit podcastchoices.com/adchoices
¡Casa llena en Cronómetro! Adal Franco, José Ramón Fernández, Fernando Palomo y Mario Carrillo se meten de lleno en el Mundial de Clubes y reaccionan al pase del Monterrey a la siguiente ronda del torneo, lo que los lleva a afirmar que los Rayados han demostrado que tienen el nivel para competir a nivel internacional y también a discutir si la Liga MX ha demostrado ser mejor que la argentina y las respuestas son concluyentes. Learn more about your ad choices. Visit podcastchoices.com/adchoices
Links:Dax's tweet about opencode rewriteopencode.aiIntro | opencodeGitHub - sst/opencode: AI coding agent, built for the terminal.Andrej Karpathy: Software Is Changing (Again) - YouTubeModels.dev — An open-source database of AI modelsSponsor: Terminal now offers a monthly box called Cron.Want to carry on the conversation? Join us in Discord. Or send us an email at sliceoffalittlepieceofbacon@tomorrow.fm.Topics:(00:00) - A Canadian standoff (00:29) - Who's the resident nice guy around here? (02:27) - Finding the Apple of carseats and baby strollers (05:39) - Transitioning from walking to running (08:03) - Sleeping struggles (11:21) - Launching Opencode (16:48) - Is starting a podcast the key to working well together as programmers? 4 out of 5 podcast editors say yes (22:46) - Figuring out what to work on next in open source software (32:29) - Dax is still living in oblivious bliss from Twitter (33:45) - Andrej Karpathy on how Software Is Changing (35:53) - Dax tries vibe coding (46:30) - How much of a bet are we placing on the terminal? (48:17) - Writing code for Frank ★ Support this podcast ★
De cara al segundo duelo de México en la Copa Oro, ante Surinam, Adal Franco y Desirée Monsiváis discuten en Cronómetro si poner a jugar a Guillermo Ochoa en el torneo ayudaría a Javier Aguirre a darle identidad al Tri, luego de que el técnico habló de la personalidad que debe tener un futbolista mexicano para estar en la selección. Por otro lado, junto con Ricardo Ortiz, Adal y Desirée señalan las razones por las que el Monterrey puede sacar un buen resultado, incluso un empate, al Inter en su debut en el Mundial de clubes. Además, luego de que fue presentado como técnico del Cruz Azul, Adal y Desirée señalan que Nicolás Larcamón será exigido al frente de La Máquina por distintas razones, entre ellas, lo hecho por Vicente Sánchez con el club celeste y el hecho de que es el primer equipo grande al que dirige. Learn more about your ad choices. Visit podcastchoices.com/adchoices
En Cronómetro, Adal Franco y Ricardo Puig se visten de gala y junto con José Ramón Fernández, Alex Pareja y Desirée Monsiváis, entregan los Premios Cronómetro a lo mejor del futbol mexicano y el balompié europeo luego de la conclusión de la temporada 2024-25. Asimismo, Adal, Ricardo y Joserra discuten sobre el polémico regreso de Fernando Gago a la Liga MX y señalan que será difícil que el técnico argentino iguale el trabajo que hizo su compatriota Nicolás Larcamón al frente del Necaxa. Learn more about your ad choices. Visit podcastchoices.com/adchoices
De cara al duelo entre México y Turquía, Adal Franco, Julia Headley y José Ramón Fernández discuten en Cronómetro la importancia de este partido para la selección mexicana de cara a su participación en la Copa Oro, donde el Tri enfrentará a equipos de menor nivel. Por otro lado, Adal, Julia y Joserra reaccionan a las declaraciones del técnico de Costa Rica, Miguel "Piojo" Herrera, quien afirmó que la selección tica está al nivel de la de México y Estados Unidos y señalan que éstas son exageradas. Learn more about your ad choices. Visit podcastchoices.com/adchoices
Is AI going to help us build our own individual apps or are we years away from that happening, thoughts on Crunchydata being acquired, Elon vs Trump on Twitter, the annoying benefits of physical activity, the shocking amount of screen time on Dax's iPhone, video game addictions, and what it means for Anthropic to cut Windsurf's Claude access.Links:Replit – Build apps and sites with AIbolt.newPostgres for CloudCrunchy Data Joins SnowflakeAverage Database CEOThree-Body ProblemWelcome to MinecraftDax's Switch 2GeForce NOW Cloud GamingWatch The Studio - AppleAnthropic Claude AccessSponsor: Terminal now offers a monthly box called Cron.Want to carry on the conversation? Join us in Discord. Or send us an email at sliceoffalittlepieceofbacon@tomorrow.fm.Topics:(00:00) - Adam likes to know they're balanced (00:38) - Is AI going to help us build individual apps? (06:46) - Crunchydata aquirred (16:43) - Elon vs Trump (21:33) - Space and sci fi fiction (29:43) - The annoying benefits of physical activity (31:39) - How are we going to adapt to dopamine hits? (38:09) - How much screen time per day do you have? (41:57) - Sponsor: Terminal Coffee (42:11) - Addicted to video games (48:18) - The economics of entertainment (55:48) - Anthropic Cuts Windsurf's Claude Access Before OpenAI Acquisition ★ Support this podcast ★
Dax is ditching OpenAI and ChatGPT, Adam's looking down, are jobs being lost to AI or are we just asking the wrong questions, the truth about VCs changing the world, Remix finally announces the thing, is NextJS the ASP.net of today, and how has tech and Twitter changed recently?Links:dax on X: “i should start renting my backyard for weddings"Introducing Claude 4 AnthropicBuild apps and sites with AIVercel v0 UpdatesWake up, Remix!Search StatMuse, save time.SST TechnologySponsor: Terminal now offers a monthly box called Cron.Want to carry on the conversation? Join us in Discord. Or send us an email at sliceoffalittlepieceofbacon@tomorrow.fm.Topics:(00:03) - Whoo (00:26) - Miami is hot for being pregnant (03:00) - Do you look down or up? (06:23) - Ditching OpenAI for... (11:30) - Jobs, Hyundai, and AI (15:29) - The future of software engineers and AI apps (27:24) - The truth about VC and changing the world (31:17) - Remix finally announces the thing (39:53) - Is NextJS the ASP.net of today? (44:58) - The way tech and Twitter has changed ★ Support this podcast ★
Teej sits in for Adam to chat with Dax about OpenCode, Heex, building an auto-scaling gym how to fix your garden and your grass, chickens + kids + LEGO, and what the deal is between Prime and Sabrina Carpenter.Links:Phoenix.Component — Phoenix LiveView v1.0.12Home AnthropicAI Code EditorTerminalDotShop AccessoriesTomato InvestmentTrump Tours Al Wajba PalaceTrump on FlorenceUncle Bob on InheritanceAvengers: Age of UltronPirates of the Caribbean ReviewKenneth Copeland's JetSponsor: Terminal now offers a monthly box called Cron.Want to carry on the conversation? Join us in Discord. Or send us an email at sliceoffalittlepieceofbacon@tomorrow.fm.Topics:(00:00) - Is this on the pod? (00:29) - Running out of limited edition blends (01:11) - Agressive Adam is agressive (02:20) - Using OpenCode and Heex (06:11) - Building an auto-scaling gym (09:43) - Dumb things to do while cooking (14:31) - This one trick will fix your grass problem (24:07) - Teej's gardening tips (29:30) - Chickens, kids, dogs, and LEGO (37:15) - Education and learning (41:32) - Presidential quotes (43:53) - Uncle Bob and Captain Dax Sparrow (47:26) - You gotta go out on a high (51:41) - Prime and Sabrina Carpenter ★ Support this podcast ★
La Final entre Toluca y América está aquí y en Cronómetro, Mauricio Ymay, Julia Headley y José Ramón Fernández analizan el choque desde varios ángulos, incluido el de los técnicos, al señalar que tanto André Jardine como Antonio Mohamed tienen un mérito similar en liguillas, pues ambos han sido exitosos a su manera en esta instancia. A su vez, la renuncia de Guillermo Almada como técnico de Pachuca, con el Mundial de Clubes a la vuelta de la esquina, es puesta bajo la lupa y Mauricio. Julia y Joserra discuten las razones del divorcio del técnico con los Tuzos y cuestionan si su decisión es el primer paso del uruguayo para ir a dirigir a Cruz Azul. Learn more about your ad choices. Visit podcastchoices.com/adchoices
Dax has to work on his lighting, Adam's wondering if Dax ever gets stressed, an updated on OpenCode, the confusing AI models (still), DHH and Twitter fights, and OpenAI introduces Codex as the show ends.Links:Zack Kanter on XDHH on XDHH on Facebook-Free BusinessLinearDHH on Apple and LinuxTypefullyMinimal Theme for Twitter / XJuliusIntroducing CodexSponsor: Terminal now offers a monthly box called Cron.Want to carry on the conversation? Join us in Discord. Or send us an email at sliceoffalittlepieceofbacon@tomorrow.fm.Topics:(00:00) - Tomorrow on Terminal on YouTube? (00:27) - What's the deal with white face? (01:50) - Are you stressed by life? By work? (05:44) - There's a lot of directions we could go... or is there? (06:03) - A comment on OpenCode (18:30) - This week in AI coding (23:55) - Why are all the models still so confusing? (30:21) - Do we trust OpenAI to beat Google? (32:43) - AI has infected everything (34:56) - DHH, Cloud scams, and piling on (38:06) - Why does Dax hate lifestyle businesses? (41:51) - How does Dax focus on only the biggest opportunities? (51:51) - How should I organize my Twitter? (56:59) - OpenAI introduces Codex ★ Support this podcast ★
There's a new Pope and Dax (almost) knows him, new lighting, the fun of being a random at a wedding, AI is maybe going to save us or maybe not, and what techniques should we hang on to and what should we leave in the past?Links:Cursor - The AI Code EditorWindsurf (formerly Codeium) - The most powerful AI Code EditorRoo Code – Your AI-Powered Dev Team in VS CodeCline - AI Autonomous Coding Agent for VS CodeAnthropicSupermavenClaude 3.7 SonnetSimon WillisonWeb Development Insightsxjdr (@_xjdr)Roy LeeAI Passes Amazon InterviewSponsor: Terminal now offers a monthly box called Cron.Want to carry on the conversation? Join us in Discord. Or send us an email at sliceoffalittlepieceofbacon@tomorrow.fm.Topics:(00:00) - Married in Conneticut and got COVID (00:29) - New Pope, new Dax (03:24) - More light = better negativity (04:25) - The money pit of blinds, security systems, and home theatres (07:32) - How many weddings have you been to? (16:37) - Dax met Frank (17:46) - Has air travel always been bad or is it getting worse? (26:02) - AI is going to save us... or maybe it won't? (37:42) - Thinking through OpenAI's strategy for the application layer (47:26) - Sonnet 3.7 is still the best model (57:06) - What techniques should we hang on to and which ones should we leave behind? (01:06:09) - Thoughts on Roy Lee (01:11:28) - We should rethink the protype of a startup CEO ★ Support this podcast ★
Why hasn't Adam gotten the humanoid robot servant he's been promised, the current state of AI programming, what happened in Miami, renting a yacht and buying a drone, recording a song in a studio, and where in the world should Adam and Dax move?Links:React MiamiSupabase | The Open Source Firebase AlternativeDJI Mini 4 Pro - Mini to the Max - DJIKRAZAMTerminalDotShop AccessoriesSponsor: Terminal now offers a monthly box called Cron.Want to carry on the conversation? Join us in Discord. Or send us an email at sliceoffalittlepieceofbacon@tomorrow.fm.Topics:(00:00) - Dax has to finish a tweet (00:31) - Dax goes Keto (07:07) - Food prep and kitchen appliances (10:06) - Where's Adam's humanoid robot? (15:46) - Current status of AI coding (24:56) - What happened in Miami? (30:37) - Droning about drones (36:59) - Recording a song in a studio (45:53) - Video production values (50:07) - A little more on React Miami + Terminal (51:43) - Moving to LA or SF? ★ Support this podcast ★
Prepping for React Miami while Adam tries not to catch the plague, where are the tariffs at this week, moving off Astro, building docs in MCP, financial literacy is underrated, using Claude in AWS or Google Cloud, and why aren't more people playing to win? Oh and a
See the Full Picture! Subscribe to my YouTube channel for exclusive behind-the-scenes content on how I run my business, train for HYROX, build relationships, and grow a thriving community. Your support helps us reach and serve more people https://youtube.com/@seanmeyers.24?si=LHcLm0GvA3NrDt8r In this episode of Level Up and Live, we sit down with entrepreneur, business leader, and mentor Brandon Cron. By day, he's a sales manager, but his entrepreneurial spirit led him to own and operate Jeremiah's Italian Ice in Montgomery County, TX, alongside his wife, Holly. Beyond business, Brandon is deeply involved in mentorship and faith-based leadership, serving for over a decade with Ark Youth and Christian Business Leaders. He's also an athlete, musician, and even an HOA president—a true example of someone who embraces challenges head-on. We dive into the grit, mindset, and strategies that have fueled Brandon's journey—from leadership and entrepreneurship to faith and community impact. If you're a business owner, high achiever, or someone looking to level up in life, this episode is packed with wisdom and action steps you can apply today!
Chapter 1 What's The Road Back to You by Ian Morgan Cron"The Road Back to You: An Enneagram Journey to Self-Discovery" by Ian Morgan Cron, co-authored with Suzanne Stabile, is a guide to understanding the Enneagram, a personality typology that divides human behavior into nine distinct types. This book provides insights into each type's motivations, fears, and behaviors, helping readers identify their own Enneagram type. Cron and Stabile use personal stories, humor, and engaging anecdotes to make the complex topics accessible, encouraging self-reflection and personal growth. The authors argue that the Enneagram can lead to deeper connections with others, enhance emotional intelligence, and promote a better understanding of oneself and others. Each chapter delves into the strengths and weaknesses of the nine types, offering readers tools for navigating relationships and fostering compassion. With its blend of spiritual wisdom and practical application, "The Road Back to You" serves as both an introduction to the Enneagram for novices and a valuable resource for those looking to deepen their understanding of this transformative system.Chapter 2 The Road Back to You by Ian Morgan Cron Summary"The Road Back to You: An Enneagram Journey to Self-Discovery" by Ian Morgan Cron and Suzanne Stabile is a guide to understanding the Enneagram, an ancient personality typing system that categorizes people into nine distinct types based on their core motivations, fears, and behaviors. Here's a summary of the key concepts covered in the book: Overview of the Enneagram:The Enneagram consists of nine personality types, each represented by its own number:The Reformer: Principled, purposeful, and self-controlled, often striving for perfection.The Helper: Caring, generous, and interpersonal, focused on meeting the needs of others.The Achiever: Adaptable, success-oriented, and driven, motivated by a desire for achievement.The Individualist: Sensitive, introspective, and expressive, often feeling different or out of place.The Investigator: Perceptive, innovative, and secretive, valuing knowledge and understanding.The Loyalist: Committed, security-oriented, and responsible, often experiencing anxiety about safety and support.The Enthusiast: Spontaneous, versatile, and scattered, seeking adventure and new experiences.The Challenger: Self-confident, assertive, and decisive, often fighting against injustice.The Peacemaker: Easygoing, receptive, and agreeable, avoiding conflict and seeking harmony. Core Themes:Self-Discovery: The authors stress the importance of understanding one's own Enneagram type as a means to achieve personal growth and deeper self-awareness.Transformation: The book emphasizes that knowledge of one's Enneagram type can lead to transformational change by helping individuals recognize their unconscious patterns, motivations, and ways of interacting with the world.Compassion for Others: Understanding the Enneagram not only helps individuals comprehend themselves but also fosters compassion for others with different personality types.Spiritual Growth: Cron highlights the spiritual dimensions of the Enneagram, encouraging readers to use their personality insights as a guide for spiritual development and deeper relationships.Practical Application: Each type is described in detail, along with its strengths, weaknesses, and advice for personal development. The authors provide practical tips for leveraging this knowledge in everyday life and relationships. Conclusion:"The Road Back to You" serves as an accessible introduction to the Enneagram, making it relevant for both newcomers and those familiar with the system. Through vivid anecdotes and insights, Cron and Stabile invite readers to engage in a journey of self-discovery that can lead to healthier relationships and a more
Most everyone has heard of the twelve steps concept associated with Alcoholics Anonymous. I bring it here for all of us, whether you think you are addicted to anything or not, which is an arguable claim for anyone. Ian Morgan Cron is the bestselling author of The Road Back to You: An Enneagram Journey to Self-Discovery, which has sold over one million copies. He's a psychotherapist, Enneagram teacher, Episcopal priest, and the host of the popular podcast Typology. I had Ian on the show before to talk about the message in his book, The Story of You: An Enneagram Journey to Becoming Your True Self. Since he was on my show, Ian, this leader of so many, relapsed. It's not an incredibly sordid story, but he has a past history of substance abuse. All these years later, he found himself reliant on some substances and questioning himself in significant ways. In this episode we talk through his story. We talk about what Ian calls, “the great human ache.” We discuss what addiction is, the need we all have for community to keep us on a healthy path, and how the 12 steps are relevant for anyone seeking well-being. Ian breaks down how the 12 steps covers making peace with God, making peace with self, making peace with others and cultivating a healthy and fulfilling life. Ian has captured all this in a brand new book, The Fix: How the Twelve Steps Offer a Surprising Path of Transformation for the Well-Adjusted, the Down-and-Out, and Everyone In Between. I hope you'll join us in this conversation. Sign up for your $1/month trial period at shopify.com/kevin Go to shipstation.com and use code KEVIN to start your free trial. Use my promo code WHATDRIVESYOU for 10% off on any CleanMyMac's subscription plans Learn more about your ad choices. Visit megaphone.fm/adchoices
Why has everyone gone insane? It's a question that makes Russell Moore and Ian Morgan Cron—bestselling author, psychotherapist, Enneagram teacher, and Episcopal priest—laugh, and also one that they approach with wisdom and insight. Moore and Cron talk about the confluence of pressures and stressors in the modern world, the relationship of control to certainty, and varying perspectives on anxiety and depression. They discuss practical actions to take when feeling overwhelmed and dive into the Twelve Steps, which Cron's new book illuminates as helpful not just for alcoholics but for everyone. Cron and Moore talk about what it means to be addicted, the human desire for relief from pain, and the power of community in the recovery process. Cron sheds light on amends conversations, which book of the Bible each Enneagram type should take to a desert island, and his profound love for God, Scripture, and humankind. Resources mentioned in this episode or recommended by the guest include: Ian Morgan Cron The Fix: How the Twelve Steps Offer a Surprising Path of Transformation for the Well-Adjusted, the Down-and-Out, and Everyone in Between by Ian Morgan Cron The Enneagram Andrew Peterson “Barth Challenges Bonhoeffer to Return to Germany” Serenity Prayer “In the Blood” The Great Divorce by C. S. Lewis Karl Rahner Addiction & Grace: Love and Spirituality in the Healing of Addictions by Gerald G. May Curt Thompson Bill Wilson Alcoholics Anonymous David's Crown: Sounding the Psalms by Malcolm Guite Learn more about your ad choices. Visit podcastchoices.com/adchoices