Hacker Public Radio

Hacker Public Radio

Hacker Public Radio is an podcast that releases shows every weekday Monday through Friday. Our shows are produced by the community (you) and can be on any topic that are of interest to hackers and hobbyists.

Episodes

  1. 2D AGO

    HPR4640: Robert A. Heinlein

    This show has been flagged as Clean by the host. Robert A. Heinlein Robert A. Heinlein was the author who many people claim kicked off the Golden Age, though that can be the subject of many a barroom argument. E.E. “Doc” Smith was already an established writer by this time, and A.E. van Vogt was contemporaneous with Heinlein. But Heinlein managed to outshine everyone in very short order. He was widely known as “The Dean of Science Fiction Writers,” which testifies to his stature in the community, and along with Arthur C. Clarke and Isaac Asimov he was one of the Big Three of the Golden Age. He was the first person to be named a Science Fiction Grand Master in 1974. Four of his novels won Hugo Awards (Double Star, Starship Troopers, Stranger in a Strange Land, and The Moon is a Harsh Mistress), and 7 more works were given Retro-Hugo awards, which are awarded for works that were written before the Hugos were established. He also had many more works nominated for both awards, as well as many other awards like Nebula Awards. In short, he was a big deal to the science fiction community at large, and to me personally. I was, for a short time, managing the web site for The Heinlein Society, and I have read every work of his that I am aware of. Heinlein Background Robert Anson Heinlein was born in 1907 in Butler, Missouri, and grew up in Kansas City, Missouri, which he described as the middle of the Bible Belt, and this background is reflected in some of his stories, particularly the later ones. His family tradition had it that the Heinlein’s had fought in every American war beginning with the War of Independence, and Robert and his brothers all joined the armed forces. Robert lied about his age when he was 16 in order to enlist in the Missouri National Guard, and a few years later obtained an appointment to the Naval Academy, graduating in 1929 with the equivalent of a bachelors degree in engineering (the Naval Academy did not award degrees at the time). His engineering background is very apparent in his writings. He served on several ships, rising to the rank of Lieutenant, before being discharged in 1934 due to pulmonary tuberculosis. It seems likely that if he did not contract this illness he would have continued his career in the Navy, and with World War II coming, well, who knows what might have happened. But he did get ill, and had to find things to do. He notably got involved with Upton Sinclair’s socialist organization EPIC (End Poverty in California). He ran for office unsuccessfully, running as a left-Democrat in a conservative district. And while he had a disability pension from the Navy, he turned to writing to pay off his mortgage. Heinlein’s Writing Heinlein was originally known as a “hard” science fiction writer, meaning one who puts plausible and accurate science at the heart of the story. But looking at his entire career, he was equally comfortable writing fantasy, though not the faux medieval kind that many writers. In fact, he coined the term “speculative fiction” to describe the kind of stories he wrote. And if he wanted to he was quite capable of mixing the hard science and the fantasy, particularly in his later novels. And his output was very substantial. Asimov wrote more than Heinlein, but Heinlein stuck to fiction, while Asimov wrote in a variety of fields, so Heinlein’s output in the general area of science fiction/fantasy is the greater. And he is known for works of all lengths from short stories to novels. A useful guide to his works is the book Robert A. Heinlein: A Reader’s Companion, by James Gifford. This book covers all of his science fiction/fantasy works known as of 2000, and gives additional information about the writing and circumstances of the stories. But in 2003 an early work was discovered and published. It was a novel called For Us The Living, and while you can see the germ of Heinlein’s style in this novel, it is also a very early work written in 1938 and is not one of his best. He would get a lot better than this. In any case, it was not published at the time, and is mostly of interest to Heinlein superfans or scholars. Heinlein got his real start in 1939 with a short story called Life-line, which was published in John W. Campbell’s Astounding magazine. Isaac Asimov had published a few stories by this time, and his first for John W. Campbell’s Astounding was in the previous month, July 1939, so as you can see this was a very fertile time in the development of the genre. Heinlein’s story was about a scientist who developed a technology to predict a person’s time of death. This totally threatens the insurance industry, and one of the CEO’s put out hit on the scientist, which he of course already knows about having tested himself. This is not the best short story, but it was quite competent, and John W. Campbell immediately asked for more. More short stories followed. In the November 1939 issue of Astounding the story Misfit appeared. It introduces the character of Andrew Jackson “Slipstick” Libby, a young man with little education but a great ability to do mathematics in his head. And his ability turns out to be just what is needed during a construction project in space when things go wrong. And in 1940 he had 9 more stories published. And at this point he faced a problem. He was becoming so prolific that for a number of reasons he had to employ pseudonyms for some of his stories. One reason was that he couldn’t have too many stories in one magazine in his name, it made the editor look bad. In any case all of the stories are now published under Heinlein’s name. And of the 9 stories, 6 were either nominated for or won Retro Hugo awards, and several also won Prometheus Hall of Fame Awards, for the best libertarian or anti-authoritarian works. So you can see that his was a talent that exploded on the scene, so that you could legitimately divide the science fiction history into pre-Heinlein and post-Heinlein periods. 11 more stories of various lengths followed in 1941, and 5 in 1942. There were mostly short stories, but a few novellas and novelettes appeared. But he was really a short fiction writer at this time, and there are some extraordinary stories in this group. He was the most successful writer of speculative fiction of the time, and passed along some advice to anyone who wanted to be a successful writer. Heinlein’s Rules of Writing Because he was so successful, it should come as no surprise that aspiring writers frequently wrote to him for advice, and in response he formulated his Rules of Writing. This is taken from his On The Writing of Speculative Fiction : You must write. Finish what you start. You must refrain from rewriting, except to editorial order. You must put your story on the market. You must keep it on the market until it has sold. He goes on to say in this article : “The above five rules really have more to do with how to write speculative fiction than anything said above them. But they are amazingly hard to follow—which is why there are so few professional writers and so many aspirants, and which is why I am not afraid to give away the racket!” This is very good advice, but as Heinlein points out his rules are indeed hard to follow. For example, Rule #1: You must write. Many people want to be a writer, but not as many really want to write, and there is a very distinct difference. Just as many people want to be a rock star, but don’t want to spend years dead broke playing in dive bars to get there. But it is also fair to point out that Heinlein was a rare talent, and I doubt if simply following his rules would make anyone else a similar success. They are good rules, no doubt, but Heinlein was already very familiar with and well-read in the field before he started writing. That finishes this particular exploration of where Heinlein came from and how be began his career. And since it all started with short fiction, I next want to focus on that. beginning with his Future History. This starts our look at the works of Robert A. Heinlein, the third of the Big Three authors of the Golden Age. Links: https://en.wikipedia.org/wiki/Robert_A._Heinlein https://www.amazon.com/Robert-Heinlein-Readers-Companion/dp/0967987407 https://www.amazon.com/Us-Living-Comedy-Customs/dp/074325998X/ref=tmm_hrd_swatch_0 https://en.wikipedia.org/wiki/On_the_Writing_of_Speculative_Fiction https://www.palain.com/science-fiction/the-golden-age/robert-a-heinlein/ Provide feedback on this episode.

  2. 3D AGO

    HPR4639: NLUUG Spring Conference 2026

    This show has been flagged as Clean by the host. NLUUG Spring Conference 2026 "NLUUG is the association of (professional) Open Source and Open Standards users in the Netherlands" You can follow them on @nluug@nluug.social on Mastodon. I was particularly interested to attend their 2026 Spring Conference 2026 as our own Jeroen Baten was giving a talk on "Getting started with CI/CD using Forgejo Actions and why this is important AF" He assures me he will post it as a show. cough owes me a show cough . While there the urge to record came upon me, so I was able to snag a few interviews. Ronny Lam representing NLUUG NLUUG is the association for (professional) developers, administrators and users of UNIX/Linux, Open Source, Open Source, Open Systems and Open Standards in the Netherlands. The NLUUG community includes, system administrators, programmers and network specialists. If you are working as an open professional, then NLUUG is the excellent association where you can keep track of your technical knowledge, for example during our six-monthly conferences. The aim of NLUUG is to disseminate the application and knowledge of open standards and UNIX/Linux. NLUUG maintains close ties with many organizations and individuals who pursue the open mind. https://nluug.nl/organisatie/personen/ronny-lam/ https://nl.wikipedia.org/wiki/NLUUG https://nluug.nl/ Nico Rikken representing the FSFE The Free Software Foundation Europe is a charity that empowers users to control technology. Software is deeply involved in all aspects of our lives. Free Software gives everybody the rights to use, understand, adapt, and share software. These rights help support other fundamental rights like freedom of speech, freedom of press, and privacy. Learn more While we are no strangers to chatting with the Free Software Foundation Europe ( hpr857 , hpr1957 , hpr2223 , hpr2945 , hpr2946 , hpr3388 , hpr3407 , hpr3833 ), this was the first time we had a chance to interview Nico Rikken . We chat about freedom and Ada and Zangemann - A Tale of Software, Skateboards, and Raspberry Ice Cream by Matthias Kirschner and Sandra Brandstätter . Geert-Jan Meewisse representing Coalition for Fair Digital Education The Coalition for Fair Digital Education (CEDO) is a group of concerned parents, IT professionals, teachers, and privacy advocates committed to enabling fair and sovereign digital education. The coalition operates as a working group within Internet Society Netherlands (ISOC). We have drafted a manifesto calling for improvements in digital education. Today, children in education receive an online account from a foreign Big Tech company at an early age. Through this account, data can be collected, profiles can be built, and personal information can be used and exploited by these companies. This profiling leads to children being categorized and receiving tailored content that companies deem relevant—before they even discover things for themselves. And that’s not the only issue. Since schools exclusively use “standard” Big Tech solutions, children do not learn about alternative programs or tools. As a result, real digital skills and critical thinking are not developed, making children dependent on a company that profits from their data. The privacy and sovereignty of digital education are under severe pressure, affecting not only students but also teachers and parents, who are forced to use the same systems. Other countries are already ahead in this regard: in Denmark, Google products have been banned in schools in Helsingør municipality, and the German state of Baden-Württemberg has prohibited Microsoft 365. We advocate for the development of an open-source digital infrastructure for learning and educational tools, based on public values such as autonomy, equality, sovereignty, democracy, transparency, accessibility, academic freedom, and privacy-by-design. To achieve this, raising awareness among students, parents, teachers, and school boards is crucial. Additionally, we aim to involve policymakers by presenting our manifesto. https://eerlijkdigitaalonderwijs.nl/english/ A working group of the Internet Society , Geert-Jan was here to tell us of their work to build a FLOSS alternative for Education. You can get in touch with him at gj -at- eerlijkdigitaalonderwijs .nl , or @geert-jan:matrix.org Conclusion I had great conversations with the sponsors who were a little shy about doing an interview. They do have a range of jobs available for those of us with Dutch nationality, and have lived in the Netherlands for the last 10 years. The event was fantastic, professional, held in a great venue, and the closest thing to real life xkcd: Shibboleet as you are likely to get. I would like to thank the NLUUG team, volunteers, venue staff and of course the attendees for a wonderful day. With any luck this will not be the last time you hear about this team on HPR. The recordings will be available on the NLUUG FTP Server Provide feedback on this episode.

  3. 4D AGO

    HPR4638: Simple Podcasting - Episode 3 - Analyzing and Filtering

    This show has been flagged as Clean by the host. 01 This is the third in a four part series on simple podcasting. 02 In this episode we will cover the following topics: Analysis of audio noise problems and filtering methods used to deal with specific problems that we may find. Command line recording. Command line playback. Getting information about an audio recording. 03 Introduction When I did my first couple of podcasts I didn't notice that there was a quiet high pitched whine or buzz in the background. Nobody complained about it, but I thought I could do better in subsequent episodes. 04 Creating an Audio Sample If you have a similar problem, the first step is to find out where it is coming from. If there is no audible noise where you are recording, there is a good chance the problem is in the microphone or another part of the audio system. Plug in your microphone and record 2 or 3 seconds of quiet audio where you do not speak into the microphone or make other noise. 05 You will need a minimum amount of data in order to analyze it. For a flac file sampled at 44.1 kHz, 2 to 3 seconds of data should be enough. To get a sample of just electronic noise you can put the microphone in a drawer or somewhere like that if you want to be sure of getting a quiet signal. Any sound recorded in this way should be mainly from the microphone or other electronic elements in the analogue pathway. To get a sample of possible ambient noise, such as fans, make sure the microphone is in the open air in an area which is representative of where it will be when you are recording. -------------------- 06 Analyzing using Fourier Transforms Next you need to look at the wave form. At this point I will describe this using Audacity. I will show other ways later, but Audacity is actually the easiest if you are starting from nothing. You don't need to become an expert in Audacity to use it, just follow the steps I will describe. I myself don't know how to use Audacity beyond using this one feature. 07 We are going to analyze the sound spectrum in our sample. The technique being used is a Fourier Transform. A Fourier transform, often called an "FFT" for fast fourier transform, is a mathematical method of showing a signal in terms of frequency along the x axis instead of time. This allows us to spot troublesome noise frequencies which appear when we don't want them to. The FFT is a very common mathematical technique which is widely used in signal processing, not just in audio. 08 There is software which will create pretty coloured animations of sound waves, but this is not what you want. These are simply decorative patterns and won't tell us what we want to know. -------------------- 09 Using Audacity Install Audacity if you haven't already. Start Audacity. Select file > import > audio, then navigate to your sample and select "open". The file should load. 10 In the wave form part of the window, click anywhere and then type Ctrl-S to select all data points. The chart should turn a slightly darker colour. From the menu, select Analyze > Plot Spectrum. A new window will open, showing magnitude in db on the Y axis, and frequency in hertz on the x axis. For "algorithm" be sure it is set to "spectrum" 11 There are now two settings that we need to play with while we look for problems. One is "size" The default for this is 1024. The other is "axis". The default for this is "log frequency". -------------------- 12 What to Look For What we are looking for are large obvious spikes that stand out in the data. Since our test signal has very little to no actual audio data, any spikes should represent electrical or other noise that doesn't belong there. 13 I have found two combinations of settings to be most helpful in finding problems. These are Size 2048, axis linear frequency. Size 32768, axis log frequency. 14 A small size value can help very narrow spikes stand out from the background more, while a large size value can help separate spikes from surrounding noise. A linear frequency axis can help with seeing all spikes across the full frequency range, while a log frequency axis can help to better see what is happening in the often very crowded lowest frequency range. -------------------- 15 A Real Example of an Audio Problem If you have good audio equipment you may find nothing obvious. If you cannot hear any noise in the signal, there may be none of any consequence and there is nothing for you to do. 16 However, in my case I found two main problems and one lesser one. One problem was a spike at 60 Hz, which is the AC line frequency. There is also a lesser problem of a collection of a broad frequency range of noise below 60Hz. Both of these however will be taken care of by the basic filtering that we looked at earlier so we do not need to worry about them here. 17 The other main problem is I had a large spike at every 1 kHz interval from 1 kHz to 19 KHz. This was noise generated within the head set electronics, or the result of noise on the USB power supply. This is the product of a cheap headset. 18 These spikes are not very large compared to the volume of my voice, but if I do the same sort of analysis of samples where I am speaking, they appear in the intervals between words. This results in a high pitched whine or buzz. This was the source of the background noise or buzz in my first two podcast episodes. I need to get rid of this. 19 One option would be to get a better microphone, but, well, that wouldn't be any fun would it. It would also cost money and I don't want to spend any of that if I don't have to. If you analyze your own signal, you may find a different pattern, or even no noise at all. If you did not find anything when shielding your microphone from ambient audio noise, repeat the same test but with the microphone exposed to acoustic noise in the room. -------------------- 20 Advanced Filtering The next step is to figure out how to get rid of this noise. I have called this section "advanced filtering", but we are actually just making use of a technique that was already covered in basic filtering. 21 To deal with the remaining spikes we can use additional "band reject" filters, each of which removes a specific frequency at 1 kHz intervals from 1 kHz to 12 kHz. We will use this in combination with the filtering that we have already done previously, so we don't need to worry about anything above 12 kHz as we already remove that with a low pass filter. After a small amount of experimenting I came up with the following. 22 Because I am applying a total of 16 filters, 4 for basic filtering and 12 to deal with the specific microphone problems that I have, I have broken up the filters into separate strings. I then generate the 12 new band reject filters from a template. Note that I don't show the "de-esser" filter here. I would recommend adding it as a separate step after doing the sort of filtering we are talking about here. 23 Rather than reading out multiple lines of bash script, I will post them in the show notes. I will give a brief description of them here which you can refer to when reading the show notes. The FFMPEG and Sox versions are very similar in concept so I don't need to go over the Sox version in detail. See the show notes for it. FFMPEG Version Here's the FFMPEG version. # The high and low pass filters. hlpfil="highpass=f=80, lowpass=f=12000" # Band reject filters filter for 60Hz and another for 50Hz. linefil="bandreject=f=60:width_type=h:w=20, bandreject=f=50:width_type=h:w=20" # Create a series of band reject filters, from 1 kHz to 12 kHz. # Change or remove this part if your recording hardware does not require it. ftemplate="bandreject=f=%s000:width_type=h:w=100" kilospikefil=$( seq 1 12 | xargs printf "$ftemplate," ) # Using ffmpeg ffmpeg -i input.flac -af "$hlpfil, $linefil, $kilospikefil" output.flac 24 There are a total of 5 lines of bash script. In the first line, we create a string called "hlpfil" which is just the high and low pass filters copied from our previous discussion on basic filtering. In the second line, we create a string called "linefil" which is just the simple bandreject filters to cover 50 and 60 hertz AC line noise filters also from basic filtering. 25 In the third and fourth lines, we create a string called "kilospikefil" containing the new filters. The "f" parameter represents the frequency we are targeting. The "w" parameter represents the "width" of the frequency range we are filtering in terms of hertz. The filter is applied gradually rather than with a sharp cut-off, so to get more filtering action we need to have larger width. In this case I decided to hammer the spike quite aggressively and so used a relatively wide width of 100 hertz. Testing with a voice file did not show any noticeable distortion, so it's an acceptable solution. 26 For this filter we need to create a dozen filter command so we use the shell "seq" command to generate a sequence of numbers from 1 to 12. We then pipe that into the xargs command which applies each number to the next command. The next command is "printf", which takes the number it gets from xargs and applies it to the "ftemplate" string template in a manner very similar to C programming printf string templates. 27 We also have a comma in there to separate each of the individual filters. We then surroun

  4. 5D AGO

    HPR4637: UNIX Curio #6 - at and batch

    This show has been flagged as Clean by the host. This series is dedicated to exploring little-known—and occasionally useful—trinkets lurking in the dusty corners of UNIX-like operating systems. I would imagine that most users of UNIX-like systems have heard of cron —certainly any system administrator should have. Briefly, cron is a way of running a job repeatedly based on the time and date; for example, a job could run every hour, at 5:00am every Tuesday, or the 3rd of every month. It is commonly used for administrative or maintenance tasks that should be done on a regular schedule, such as checking for software updates, rotating log files, or updating the database for the locate command. As well-known as cron is, there is a similar utility that very few seem to be aware of: at . This is the word "at", and has nothing to do with the at symbol "@". An at job is very much like a cron job, except that an at job only runs one time. A job is submitted by running at timespec 1 , where timespec is the time and date the job is to be run. The linked POSIX specification page describes acceptable formats for timespec ; some examples are " now ", " 14:00 ", " noon tomorrow ", " 14:00 + 3 months ", and " 14:00 January 19, 2038 ". The utility then waits on standard input for you to enter a set of commands to be run in the job. You end input by typing Control-D to mark the end of text. (As an alternative to typing in the job, you could instead use the "" symbol to redirect standard input to come from a file containing the commands you want to run.) When the specified time arrives, the job will be run. That is the theory, anyway, but some things may interfere. The normal configuration for some implementations only checks for due at jobs every five minutes, so there can be a delay before a job is actually run. Also, if the system isn't running, obviously it can't execute any jobs. When it comes back up, typically it will check for any pending at jobs that are currently or past due and run those. It is best to think about an at job being run no earlier than the time it was scheduled for, and probably soon after, provided the system is up. The POSIX standard doesn't specify anything about when jobs are actually run, just that they are scheduled for a particular date and time. The user does not need to be logged in for a job to run—if the job outputs anything to standard output or standard error, that text will be e-mailed to the user, presuming the system is set up to send mail. This is often true for a server, which might be running a Mail Transfer Agent like sendmail , postfix , or exim , but many desktops are not. If nothing is output to standard output or standard error, or if that output is redirected to a file, then mail will not be sent on job completion. This behavior can be changed with the -m option; in that case, mail will always be sent when the job finishes whether or not there is any output. The batch command is very similar 2 —POSIX specifies it as being equivalent to at now with two differences. First, jobs are put into a different queue, and second, mail is always sent when a job completes as if the -m option was used with at . In practice, however, certain aspects of the behavior of batch depend on the implementation. On the large majority of systems I investigated 3,4,5,6,7,8 , but not all 9 , batch jobs will only be run when the system load level drops below a certain point. This can typically be configured by the administrator but has a default value—the manual pages for a couple systems don't actually list a default value and just say batch jobs will run "when system load levels permit". Basing execution on the load level makes sense if the batch utility is seen as a way of running potentially resource-intensive jobs when the system is not being heavily used. However, this behavior is not required by POSIX. Another question that the standard leaves unanswered is how queues behave. From the normal understanding of the word "queue", you might expect that each successive job is run one at a time once the previous job completes. However, this is not stated in POSIX, and some implementations explicitly allow a configurable number of jobs to run simultaneously. Manual pages for other systems simply don't mention the subject. (I researched this episode by looking at documentation for a number of BSD, Linux, and commercial UNIX systems, but didn't actually test out how they behave.) POSIX only requires systems to have two queues, one named "a" for at jobs and one named "b" for batch jobs, but allows implementations to have more. It says nothing about how different queues compete for resources—one implementation assigns a higher nice value to jobs in a queue whose name comes later in the alphabet, giving them a lower priority in the process scheduler. So what good are at and batch ? While I think they certainly meet the "obscure" requirement for a UNIX Curio, I have to admit they aren't particularly useful today. They were designed for an era where a typical UNIX-like system would run around the clock and had multiple users who might log in at various times of the day but weren't connected 24/7. In that context, using batch to run a job when the system is lightly loaded might be useful; nowadays, you can just run it whenever you like on your own machine. I have never actually used batch myself. On a machine where there is serious competition for resources among users, batch is probably not a sophisticated enough tool to manage their jobs—the NetBSD and Debian manual pages explicitly suggest using something different 3,6 . Supercomputing environments have even more complex requirements and a number of specialized solutions exist for scheduling jobs there. I have used at a couple of times. One example was for an organization I was part of that had paid for its domain name registration several years into the future. On the organization's server, I set an at job to e-mail the administrator a reminder to renew it a few months before the domain was due to expire. It was useful in that case because I didn't know whether I would even continue to be involved then, so a personal reminder for myself wouldn't necessarily help. But in my experience, administrative tasks don't tend to be one-off events. Instead, they repeat, making cron the right tool to use. For reminders, a calendar app is probably a better solution in most cases. While you might never have a use for at and batch , I still think it's good to know that they exist. Just be aware that you'll probably need to read the manual page on your system to fully understand how they will behave. References: At specification https://pubs.opengroup.org/onlinepubs/009695399/utilities/at.html Batch specification https://pubs.opengroup.org/onlinepubs/009695399/utilities/batch.html NetBSD 10.0 at manual page https://man.netbsd.org/NetBSD-10.0/at.1 FreeBSD 15.0 at manual page https://man.freebsd.org/cgi/man.cgi?query=at&sektion=1&manpath=FreeBSD+15.0-RELEASE+and+Ports OpenBSD 7.8 at manual page https://man.openbsd.org/OpenBSD-7.8/at.1 Debian 13 at manual page https://manpages.debian.org/trixie/at/at.1.en.html openSUSE 42.3 at manual page https://man.freebsd.org/cgi/man.cgi?query=at&sektion=1&manpath=openSUSE+42.3 HP-UX Reference (11i v3 07/02) - 1 User Commands A-M (vol 1) https://support.hpe.com/hpesc/public/docDisplay?docId=c01922490&docLocale=en_US OpenSolaris 2010.03 at manual page https://man.freebsd.org/cgi/man.cgi?query=at&sektion=1&manpath=OpenSolaris+2010.03 Apologies for the "tapping" sound that occurs in parts of this episode. I think my microphone must have picked up some electromagnetic interference. Provide feedback on this episode.

  5. 6D AGO

    HPR4636: 7 seconds memory

    This show has been flagged as Explicit by the host. There are two themes of the human experience that influence greatly our feelings and our behaviours: the memory, and the pain. Today we are going to talk about the first. Clive Wearing was a conductor, a musician, that lost a part of his brain. A virus, herpes simplex, that causes fever, in his case trespassed the barrier between blood and brain and caused an inflammation that damaged permanently the hypothalamus, responsible for memory. Immediately — after being cured of the infection by antiviral medicine —, he was a man with no memory. He couldn’t recognize his children — who, later, recognized they kind of abandoned the father, ceased the visits to him, because that condition was too sad for them. In the first moments, Clive was too angry, “I can’t think” was a constant. “Prisoner of the consciousness”, is the title of the TV documentary produced on him soon after the event. His wife — the second, not the mother of his two sons and one daughter — was his fullest “item” of memory — if we could picture memory as drawings in a piece of furniture, what of course is inexact, to say the minimum. He could still know, ever, that she, Deborah, was his wife; and, apart from his own’s, Deborah’s name was the only one he still knew. His angriness was surplice by a calm and gentle and gistful personality. Like, apart from the loss of memory, he kept two thirds of this personality: he definitely was Clive. (That observation is from one of his sons, in the documentary made 20 years after the first, called “7 seconds memory”). That is why Deborah, after divorcing him, and couldn’t having find another love (she was searching for Clive in other experiences, which she couldn’t find), later renewed the wedding vows with her husband; even though they couldn’t live together because of his need of constant supervision. The doctors — as the 2nd documentary, that is the line for this program, says — could not explain how he became more peaceful. I have a guess. Clive lost memory of events, he could not live in his mind any happenings. He knew her wife was his wife, but had no memory of the wedding; remembered having worked for BBC, but not one thing, not one activity, that he has done or participated. Maybe he have retained a little bit of what we could call (and I lack any technical precision here) descriptive memory. He could retain the old relations of a name with a characteristic, a face with the level of proximity he had with the person, as long as they (these relations) were verbalized in his understanding. Because he could not evoke any fact, he lost the (other term with precision) narrative memory — but words still made sense to him. So, in living the same day every day, with no time, no continuity, maybe some perception could have been engraved in his mind, unconsciously or not, even with the damaged memory, in the direction of going on (letting go) without despair. This is only a guess. Thank you. Provide feedback on this episode.

  6. MAY 8

    HPR4635: What did I do at work today? Part 3 Section 1

    This show has been flagged as Explicit by the host. This is part of the documentation of an API class, documenting a particular a feature:- **Field:** actions **Value:** Create extra relationships e.g. set the type to 'contact' ``` { "trigger": "update", "action": "add", "relationship": "7024", "child": "2085"} ``` *Currently "update" is the only trigger and "add" is the only action.* Tools Joplin - Joplin is an open source, cross platform note-taking app. - https://joplinapp.org/ PHP - A popular general-purpose scripting language that is especially suited to web development. Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world. - https://www.php.net/ MySQL - MySQL is an open-source relational database management system. MariaDB is community driven fork of MySQL, often installing the MySQL package on a Linux distribution will actually install MariaDB. - https://en.wikipedia.org/wiki/MySQL - https://mariadb.org/ - https://www.mysql.com/ Sublime Text - Cross platform text editor - https://www.sublimetext.com/ Typora - A simple yet powerful markdown reader - https://typora.io/ Ubuntu / KUbuntu - https://en.wikipedia.org/wiki/Ubuntu Google Drive / Google Docs - Cloud based workspace, storage and office tools. - https://en.wikipedia.org/wiki/Google_Drive - https://en.wikipedia.org/wiki/Google_Docs Graph databases - A graph database is a database that uses graph structures for semantic queries with nodes, edges, and properties to represent and store data. A key concept of the system is the graph (or edge or relationship). The graph relates the data items in the store to a collection of nodes and edges, the edges representing the relationships between the nodes. - https://en.wikipedia.org/wiki/Graph_database Autojump - autojump is a faster way to navigate your filesystem. It works by maintaining a database of the directories you use the most from the command line - https://github.com/wting/autojump Object Oriented Programming - a programming paradigm based on the concept of objects. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and implemented in code). - https://en.wikipedia.org/wiki/Object-oriented_programming Grep, Silver Searcher & RipGrep - grep is a command-line utility for searching plaintext datasets for lines that match a regular expression. The Silver Searcher is a code searching tool similar to ack, with a focus on speed. ripgrep is a line-oriented search tool that recursively searches the current directory for a regex pattern. - https://github.com/ggreer/the_silver_searcher - https://github.com/BurntSushi/ripgrep Swagger & OpenAPI - The OpenAPI Specification defines a standard, language-agnostic interface to HTTP APIs which allows both humans and computers to discover and understand the capabilities of the service. - https://swagger.io/specification/ Zeal - an offline documentation browser for software developers. - https://zealdocs.org/ Ollama - a tool to get up and running with large language models, especially allowing installation on a local machine. - https://ollama.com/ SSH Config - A file typically with the path '~/.ssh/config' used for setting options of the secure shell client that connects the terminal to remote computers. - https://man7.org/linux/man-pages/man5/ssh_config.5.html Provide feedback on this episode.

  7. MAY 7

    HPR4634: Upgrade Failsause

    This show has been flagged as Clean by the host. https://rufus.ie/en/ Kasa Smart Plug Mini with Energy Monitoring, Smart Home Wi-Fi Outlet Works with Alexa, Google Home & IFTTT, Wi-Fi Simple Setup, No Hub Required (KP115), White INIT STUFF Sudoers Apps apt update && apt install -y psmisc screen net-tools snapd pipx xbindkeys xbindkeys-config git nmap mono-runtime etherwake cloudflare-ddns mlocate samba # python pipx gahh su plex - pipx install python-kasa # sudo mkdir /root/PYTHONVENV/ python3 -m venv /root/PYTHONVENV/ pipx install python-kasa pipx ensurepath # update db mount -a sed 's/\/media//g' -i.bak /etc/updatedb.conf updatedb Contab 0 0 * * * /usr/local/bin/cloudflare-ddns --update-now 0 7 * * * /usr/local/bin/etherwake -i enp1s0 -D "d8:bb:c1:a2:2c:0b" 0 3 * * * /usr/bin/veracrypt -d 0 0 5 * * /usr/local/sbin/BSA.sh Mounts cat /etc/fstab UUID=2317187b-c592-46a7-8d8e-45c7d1eae7fc / ext4 errors=remount-ro 0 1 UUID=61A0-586A /boot/efi vfat umask=0077 0 1 UUID=db166a45-1afb-47dc-85cd-cbfcb06a9766 none swap sw 0 0 # data UUID=dbb20dc6-9487-4510-9ab1-c7bbc3014cdb /media/data ext4 defaults,nofail,noatime 0 2 # moredata UUID=5df24408-36ae-4205-8ecb-9d523dc4d820 /media/moredata ext4 defaults,nofail,noatime 0 2 # backup UUID=c1aac0d2-73ca-4d95-883f-5e1f43b5cd13 /media/backup ext4 defaults,nofail,noatime 0 2 Tunefs sudo tune2fs -c 5 -i 7d -C 1 /dev/sdd2 sudo tune2fs -c 5 -i 7d -C 1 /dev/sdb1 sudo tune2fs -c 5 -i 7d -C 1 /dev/sda1 sudo tune2fs -c 5 -i 7d -C 1 /dev/sdc1 XFCE Autologin # /etc/lightdm/lightdm.conf [Seat:*] autologin-user=plex autologin-user-timeout=0 # Enable service systemctl enable lightdm UPower ( do not run pwrstatd ) cat ./UPower/UPower.conf [UPower] EnableWattsUpPro=false NoPollBatteries=false IgnoreLid=false UsePercentageForPolicy=true PercentageLow=10 PercentageCritical=3 PercentageAction=2 TimeLow=1200 TimeCritical=300 TimeAction=120 CriticalPowerAction=HybridSleep PLEX RESTORE/BACKUP /home/plex/Library /media/moredata/_PLEX/usr/lib/plexmediaserver/ Backup ? https://github.com/sinicide/ansible-vm/blob/master/roles/plex/files/pms-backup.sh Autostart Plex /home/plex/.config/autostart# cat PLEX_STARTUP.desktop [Desktop Entry] Encoding=UTF-8 Version=0.9.4 Type=Application Name=KODI_STARTUP Comment=KODI_STARTUP Exec=/home/plex/.local/bin/Plex.sh OnlyShowIn=XFCE; StartupNotify=false Terminal=false Hidden=false RunHook=0 OMBI Sabnsbd+ IDK ... ?!!?!?!? 251 pipx install git+https://github.com/sabnzbd/sabnzbd.git 252 pipx install sabnzbd 253 pipx inject sabnzbd feedparser configobj cherrypy portend chardet cheetah3 puremagic guessit babelfish tmdbsimple 254 pipx install sabnzbd 255 python3 -m venv venv 256 source venv/bin/activate 257 pip install -r requirements.txt 258 cat > ~/sabnzbd/sabnzbd-wrapper.sh ~/sabnzbd/sabnzbd-wrapper.sh 'EOF' #!/bin/bash cd ~/sabnzbd source venv/bin/activate python3 SABnzbd.py "$@" EOF Sonarr Radarr Scripts Lights WatchDog # see kasa stuff ... /root/.local/pipx/venvs/python-kasa/bin/kasa --host WATCHDOG.localdomain off Sunshine/Moonlight # client snap install moonlight Plex HTPC (Snapd) snap install snapd snap refresh snapd snap install plex-htpc SMB/NFS apt install samba /etc/samba/smb.conf systemctl restart samba VeraCrypt BlueTooth (Xbox) apt install bluetooth bluez bluez-tools rfkill bluetoothctl # hold little button on top ...then type scan on to turn scanning on # devices to list connected devices #1 under the batt cover remove 40:8E:2C:3A:9F:DA pair 40:8E:2C:3A:9F:DA trust 40:8E:2C:3A:9F:DA connect 40:8E:2C:3A:9F:DA remove 40:8E:2C:3A:A4:2F pair 40:8E:2C:3A:A4:2F trust 40:8E:2C:3A:A4:2F connect 40:8E:2C:3A:A4:2F Provide feedback on this episode.

  8. MAY 5

    HPR4632: Hackerpublic Radio New Years Eve Show 2026 Episode 6

    This show has been flagged as Explicit by the host. Sauced https://www.urbandictionary.com/define.php?term=sauced Chevrolet Vega https://en.wikipedia.org/wiki/Chevrolet_Vega Chevrolet small-block engine (first- and second-generation) https://en.wikipedia.org/wiki/Chevrolet_small-block_engine_(first-_and_second-generation) https://www.chevrolet.com/performance-parts/crate-engines/small-block-engines/350-engine Straight-six engine https://en.wikipedia.org/wiki/Straight-six_engine Half marathon https://en.wikipedia.org/wiki/Half_marathon Mammoth March https://www.mammothmarch.com/ What Is Sleep Apnea? https://www.nhlbi.nih.gov/health/sleep-apnea https://en.wikipedia.org/wiki/Apnea Spaceballs https://en.wikipedia.org/wiki/Spaceballs https://www.imdb.com/title/tt0094012/ Ale 8 One Special Edition Cherry Zero Sugar https://ale8one.com/varieties/ https://www.amazon.com/Ale-One-Special-Bottles-Kentucky/dp/B09JBBDKM1 https://www.kroger.com/p/ale-8-one-zero-sugar-cherry-soda-bottles/0007227546202 Alcoholism https://en.wikipedia.org/wiki/Alcoholism https://www.cdc.gov/nchs/fastats/alcohol.htm Jitsi https://jitsi.org/ https://en.wikipedia.org/wiki/Jitsi Surface Pro 6 https://support.microsoft.com/en-us/surface/surface-pro-6-specs-and-features-ade5cfc2-e99a-6fd1-abbe-c0e8a8a3942d Xfce Desktop Environment https://www.xfce.org/ https://en.wikipedia.org/wiki/Xfce Trinity Desktop Environment https://www.trinitydesktop.org/ https://en.wikipedia.org/wiki/Trinity_Desktop_Environment Cheese https://wiki.gnome.org/Apps/Cheese Altered https://www.imdb.com/title/tt32123395/ Final fireworks sales take off with a bang as countdown begins. https://www.dutchnews.nl/2025/12/final-fireworks-sales-take-off-with-a-bang-as-countdown-begins/ https://www.theguardian.com/world/2026/jan/09/dutch-netherlands-fireworks-ban-new-years-eve Fireworks policy in the Netherlands https://en.wikipedia.org/wiki/Fireworks_policy_in_the_Netherlands Quarter of idiom https://www.merriam-webster.com/dictionary/%28a%29%20quarter%20of LinuxLugCast https://linuxlugcast.com/ Needs must idiom https://www.phrases.org.uk/meanings/needs-must.html Tech and Coffee. https://techandcoffee.info/ January 6 United States Capitol attack https://en.wikipedia.org/wiki/January_6_United_States_Capitol_attack OggCamp 2026 https://www.oggcamp.org/ List of benchmarking methods and software tools https://en.wikipedia.org/wiki/List_of_benchmarking_methods_and_software_tools Watchhouse https://watchhouseband.com/ Proper feline supervision (Just because) https://blog.catbandit.com/why-does-my-cat-always-watch-me-exploring-the-reasons-behind-feline-observation/ https://www.cats.org.uk/cats-blog/why-does-my-cat-stare-at-me https://thepurrfectguide.com/cat-supervised-introduction-guide/ https://catvets.com/clinical-resources/practice-guidelines/ WYSIWYG https://pl.wikipedia.org/wiki/WYSIWYG Pandoc a universal document converter https://pandoc.org/ Rendering on the Web https://web.dev/articles/rendering-on-the-web F-Droid https://en.wikipedia.org/wiki/F-Droid https://f-droid.org/en/ Get UTC time in seconds https://stackoverflow.com/questions/24547655/get-utc-time-in-seconds Content delivery network https://en.wikipedia.org/wiki/Content_delivery_network Audio feedback https://en.wikipedia.org/wiki/Audio_feedback Loopback https://en.wikipedia.org/wiki/Loopback List of conspiracy theories https://en.wikipedia.org/wiki/List_of_conspiracy_theories Jason Scott https://en.wikipedia.org/wiki/Jason_Scott Bug vs Feature https://devrev.ai/blog/bug-vs-feature-request-a-distinction-without-a-difference https://blog.codinghorror.com/thats-not-a-bug-its-a-feature-request/ chronic dehydration https://en.wikipedia.org/wiki/Dehydration https://www.nhs.uk/conditions/dehydration/ https://medlineplus.gov/dehydration.html https://www.healthline.com/health/chronic-dehydration Atlantic Highly Migratory Species Fishery Compliance Guides https://www.fisheries.noaa.gov/atlantic-highly-migratory-species/atlantic-highly-migratory-species-fishery-compliance-guides https://www.fisheries.noaa.gov/highly-migratory-species https://www.ecfr.gov/current/title-50/chapter-VI/part-635 Federal Bridge Gross Weight Formula https://en.wikipedia.org/wiki/Federal_Bridge_Gross_Weight_Formula https://ops.fhwa.dot.gov/FREIGHT/publications/brdg_frm_wghts/index.htm Convenience store https://en.wikipedia.org/wiki/Convenience_store Listing Linux Users and Groups: A Comprehensive Guide https://linuxvox.com/blog/list-linux-users-and-groups/ Plugable 250x Digital USB Microscope with Observation Stand https://plugable.com/products/usb2-micro-250x What’s the difference between Medicare and Medicaid? https://www.hhs.gov/answers/medicare-and-medicaid/what-is-the-difference-between-medicare-medicaid/index.html https://www.medicare.gov/basics/costs/help/medicaid Provide feedback on this episode.

  9. MAY 4

    HPR4631: HPR Community News for April 2026

    This show has been flagged as Explicit by the host. New hosts There were no new hosts this month. Last Month's Shows Id Day Date Title Host 4608 Wed 2026-04-01 Simple Podcasting - Episode 1 - Preparation and Recording Whiskeyjack 4609 Thu 2026-04-02 Proper Date Format Ahuka 4610 Fri 2026-04-03 Playing Civilization V, Part 10 Ahuka 4611 Mon 2026-04-06 HPR Community News for March 2026 HPR Volunteers 4612 Tue 2026-04-07 Hackerpublic Radio New Years Eve Show 2026 Episode 4 Honkeymagoo 4613 Wed 2026-04-08 Adding functionality to an Odoo installation Jeroen Baten 4614 Thu 2026-04-09 Dauug|18: Faster Than a '286, but Inspectable Like a Soroban Marc W. Abel 4615 Fri 2026-04-10 Clicking through an audit Lee 4616 Mon 2026-04-13 Thoughts about age control and further suggestions Trollercoaster 4617 Tue 2026-04-14 UNIX Curio #4 - Archiving Files Vance 4618 Wed 2026-04-15 Simple Podcasting - Episode 2 - Basic Filtering Whiskeyjack 4619 Thu 2026-04-16 HPR Beer Garden 12 - Baltic Porter Kevie 4620 Fri 2026-04-17 The Second Doctor, Part 1 Ahuka 4621 Mon 2026-04-20 Android volume control help operat0r 4622 Tue 2026-04-21 Hackerpublic Radio New Years Eve Show 2026 Episode 5 Honkeymagoo 4623 Wed 2026-04-22 A brief infodump on the Broadcast Address and Routing Jon The Nice Guy 4624 Thu 2026-04-23 Cheap Yellow Display Project Part 7: GUI Trying a Simple Hello World Trey 4625 Fri 2026-04-24 Site Specific Browsers Lee 4626 Mon 2026-04-27 Cable Management / PC Speakers operat0r 4627 Tue 2026-04-28 UNIX Curio #5 - Faster, Pussycat! Kill! Kill! Vance 4628 Wed 2026-04-29 Nuclear Power Technology Follow Up Whiskeyjack 4629 Thu 2026-04-30 What did I do at work today? Part 2 Lee Comments this month Past shows hpr4424 (2025-07-17) "How I use Newsboat for Podcasts and Reddit" by Archer72. Ken Fallon said: "Summary of findings" (2026-04-05 14:09:24) Archer72 said: "Not fixed from أحمد المحمودي" (2026-04-25 11:02:26) hpr4569 (2026-02-05) "Kiosk with guest mode on Linux" by Klaatu. 0xf10e said: "Preconfiguring browsers profiles? and re-replies ;)" (2026-04-17 09:56:49) hpr4585 (2026-02-27) "mpv util scripts" by candycanearter. candycanearter07 said: "perpetually updated script(s)" (2026-04-14 20:41:28) hpr4596 (2026-03-16) "Adding voice-over audio track created using text to speech on the movie subtitles" by Ken Fallon. Windigo said: "Great usability win" (2026-04-24 19:33:03) hpr4600 (2026-03-20) "The First Doctor, Part 5" by Ahuka. Kevin O'Brien said: "Maybe I will" (2026-04-12 16:16:00) hpr4603 (2026-03-25) "On the Erosion of Freedom in Open Source Software" by HopperMCS. Trollercoaster said: "Hopper did time traveling!" (2026-04-09 05:46:52) hpr4605 (2026-03-27) "Lee locks down his wifey poo" by Elsbeth. Lee said: "Quotation" (2026-04-05 15:59:54) Paulj said: "Thanks!" (2026-04-06 16:44:28) hpr4606 (2026-03-30) "My Nerdy Childhood: From Floppy Disks to Dial-Up Dreams" by Trollercoaster. Trollercoaster said: "Damn you Nerdy Nostaliga!" (2026-04-06 15:28:34) This month's shows hpr4608 (2026-04-01) "Simple Podcasting - Episode 1 - Preparation and Recording" by Whiskeyjack. Archer72 said: "Listening ahead" (2026-04-01 10:06:46) Whiskeyjack said: "Reply to Archer72 on HPR4608" (2026-04-01 12:27:46) Reto said: "It reminds me about Solocast" (2026-04-03 07:49:58) Whiskeyjack said: "Response to Reto comment on HPR4608" (2026-04-04 18:19:25) Whiskeyjack said: "Further response to Reto comment on HPR4608" (2026-04-04 22:21:38) hpr4609 (2026-04-02) "Proper Date Format" by Ahuka. Jim DeVore said: "It is the only proper date format" (2026-04-04 14:19:15) candycanearter07 said: "sensical date format" (2026-04-06 09:37:47) hpr4611 (2026-04-06) "HPR Community News for March 2026" by HPR Volunteers. candycanearter07 said: "misattributed comment" (2026-04-06 03:24:30) Ken Fallon said: "Fixed" (2026-04-06 13:50:17) hpr4614 (2026-04-09) "Dauug|18: Faster Than a '286, but Inspectable Like a Soroban" by Marc W. Abel. Jim DeVore said: "Is this the best approach for privacy?" (2026-04-12 03:15:44) candycanearter07 said: "interesting!" (2026-04-13 16:43:22) hpr4616 (2026-04-13) "Thoughts about age control and further suggestions" by Trollercoaster. Antoine said: "'Jus'do the age verification'" (2026-04-20 01:37:33) candycanearter07 said: "good strategy" (2026-04-22 13:24:48) Trollercoaster said: "Looking forward at next steps" (2026-04-25 15:37:22) Antoine said: "Our State. The Invitation." (2026-04-26 23:55:45) hpr4618 (2026-04-15) "Simple Podcasting - Episode 2 - Basic Filtering" by Whiskeyjack. Antoine said: "Applying filters - exp. with declicking - Compression?" (2026-04-20 12:50:09) Whiskeyjack said: "Response to Antoine on de-essing in HPR 4618" (2026-04-22 15:59:57) Vance said: "Click removal" (2026-04-25 14:31:40) Whiskeyjack said: "Reply to Vance in HPR4618 - Click Removal" (2026-04-27 00:48:11) Vance said: "To Whiskeyjack - Click Removal" (2026-04-28 00:43:11) Whiskeyjack said: "Reply to Vance on Click Removal in HPR4618" (2026-04-28 17:16:54) hpr4619 (2026-04-16) "HPR Beer Garden 12 - Baltic Porter" by Kevie. Gan Ainm said: "Störtebeker - again" (2026-04-17 16:37:29) hpr4621 (2026-04-20) "Android volume control help" by operat0r. candycanearter07 said: "intended double entendre?" (2026-04-21 18:58:54) hpr4624 (2026-04-23) "Cheap Yellow Display Project Part 7: GUI Trying a Simple Hello World " by Trey. Ken Fallon said: "Great to hear your success" (2026-04-23 08:36:28) hpr4625 (2026-04-24) "Site Specific Browsers" by Lee. candycanearter07 said: "electron charged opinion" (2026-04-24 03:38:13) hpr4627 (2026-04-28) "UNIX Curio #5 - Faster, Pussycat! Kill! Kill!" by Vance. Antoine said: "kill and killall" (2026-04-29 11:57:27) candycanearter07 said: "killer episode" (2026-04-29 15:14:31) Vance said: "Glad you enjoyed it" (2026-04-29 20:58:44) candycanearter07 said: "Re: Glad you enjoyed it" (2026-04-30 18:58:50) Mailing List discussions Policy decisions surrounding HPR are taken by the community as a whole. This discussion takes place on the Mailing List which is open to all HPR listeners and contributors. The discussions are open and available on the HPR server under Mailman. The threaded discussions this month can be found here: https://lists.hackerpublicradio.com/pipermail/hpr/2026-April/thread.html Events Calendar With the kind permission of LWN.net we are linking to The LWN.net Community Calendar. Quoting the site: This is the LWN.net community event calendar, where we track events of interest to people using and developing Linux and free software. Clicking on individual events will take you to the appropriate web page. Provide feedback on this episode.

4.2
out of 5
34 Ratings

About

Hacker Public Radio is an podcast that releases shows every weekday Monday through Friday. Our shows are produced by the community (you) and can be on any topic that are of interest to hackers and hobbyists.

You Might Also Like