PodcastsUddannelseHacker Public Radio

Hacker Public Radio

Hacker Public Radio
Hacker Public Radio
Seneste episode

193 episoder

  • Hacker Public Radio

    HPR4573: Nuclear Reactor Technology - Ep 6 Thorium Reactors

    11.2.2026
    This show has been flagged as Clean by the host.

    Thorium Reactors

    01 Introduction

    In this episode we will describe the use of thorium in nuclear power, including what thorium is, how it differs from uranium, and what sort of reactors can use it.

    03 What is thorium

    05 How thorium differs from uranium

    07 Sources of Thorium

    09 Why there is interest in using thorium as a fuel

    10 Abundance of Thorium

    11 Some Countries Have a Lot of It

    12 Thorium Breeder Reactors are Simpler than Uranium Breeder Reactors

    14 Supposed Lower Nuclear Weapons Potential

    16 What is Thorium Breeding

    20 Breeding Ratio

    21 What sorts of reactors can use thorium

    22 PHWRs - Heavy Water Reactors (Including CANDU)

    24 HTR - High Temperature Gas Cooled Reactors

    26 MSR - Molten Salt Reactors

    29 Light Water Reactors (PWR, BWR)

    31 Fast Neutron Reactors

    32 The Challenges Facing Thorium Fuelled Reactors

    37 Thorium in India - An Example Use Case

    39 Why is India Pursuing Using Thorium?

    40 How a Thorium Fuel Cycle Would Work in India

    43 Current Status

    46 Conclusion

    Thorium is an abundant material that is seen as an alternative to uranium in nuclear power.

    Experimental thorium power reactors date back to at least the 1960s.

    No new reactor technology is required to use thorium.

    Existing well proven reactor designs which have been in use for decades can use thorium as fuel.

    The common light water reactor designs that popular in some countries however are not well suited to using thorium.

    Initial interest in thorium was mainly driven by a perception that uranium would be in short supply in future, and slow neutron thorium reactors were cheaper and simpler than fast neutron uranium reactors.

    However, huge new high grade supplies of uranium were found in a number of countries, causing uranium prices to fall and reducing interest in finding alternatives.

    While some R&D continues on thorium fuel in a number of countries, the mainstream of development continues to be on uranium based fuel.

    Some countries with abundant thorium reserves though maintain a major interest in thorium, with India being the prime example.

    In the next episode we will describe small modular reactors.

    Provide feedback on this episode.
  • Hacker Public Radio

    HPR4572: Uncommon Commands, Episode 3 - strace

    10.2.2026
    This show has been flagged as Clean by the host.

    These are the commands mentioned in the You may need to use
    "sudo" to run these commands depending on how your system is
    configured.

    strace uptime

    strace ls 2>&1 | grep open

    strace -e openat ls /

    strace ls /does/not/exist

    strace -o ls-trace.log ls

    strace -ff -o pid12345-trace.log -p 12345



    HISTORY


    The original strace was written by Paul Kranenburg for SunOS and
    was inspired by its trace utility. The SunOS version of strace was
    ported to Linux and enhanced by Branko Lankester,
    who also wrote the Linux kernel support. Even though Paul released
    strace 2.5 in 1992, Branko's work was based on Paul's strace 1.5
    release from 1991.



    In 1993, Rick Sladkey took on the project. He merged strace 2.5
    for SunOS with the second release of strace for Linux, added many
    features from SVR4's truss(1), and produced a ver‐
    sion of strace that worked on both platforms. In 1994 Rick ported
    strace to SVR4 and Solaris and wrote the automatic configuration
    support. In 1995 he ported strace to Irix (and
    became tired of writing about himself in the third person).



    Beginning with 1996, strace was maintained by Wichert Akkerman.
    During his tenure, strace development migrated to CVS; ports to
    FreeBSD and many architectures on Linux (including
    ARM, IA-64, MIPS, PA-RISC, PowerPC, s390, SPARC) were introduced.



    In 2002, responsibility for strace maintenance was transferred to
    Roland McGrath. Since then, strace gained support for several new
    Linux architectures (AMD64, s390x, SuperH), bi-
    architecture support for some of them, and received numerous
    additions and improvements in system calls decoders on Linux;
    strace development migrated to Git during that period.



    Since 2009, strace has been actively maintained by Dmitry Levin.
    During this period, strace has gained support for the AArch64,
    ARC, AVR32, Blackfin, C-SKY, LoongArch, Meta, Nios
    II, OpenRISC 1000, RISC-V, Tile/TileGx, and Xtensa architectures.
    In 2012, unmaintained and apparently broken support for non-Linux
    operating systems was removed. Also, in 2012
    strace gained support for path tracing and file descriptor path
    decoding. In 2014, support for stack trace printing was added. In
    2016, system call tampering was implemented.



    For the additional information, please refer to the NEWS file and
    strace repository commit log.


    Links


    https://strace.io

    https://en.wikipedia.org/wiki/Strace

    https://www.man7.org/linux/man-pages/man1/strace.1.html

    Provide feedback on this episode.
  • Hacker Public Radio

    HPR4571: Data processing retrospective

    09.2.2026
    This show has been flagged as Clean by the host.

    We start with
    Orwellian depictions of the future
    read about in the 1950/60s. Working in the 1970s at companies such as
    British Telecom
    and the L
    urgie
    . We hear about
    telex
    ,
    mainframes
    with
    magnetic tape
    ,
    type-writers
    , and the upskilling of the workforce by the
    labour-exchange
    . How did a cold and lack of a home telephone lead to businessmen arriving in a foreign land sans camels? Why were
    filing cabinets
    replaced by
    databases
    (or were they)? We hear about gaming from a home made version of
    Pong
    all the way to
    Alone in the Dark
    . Then modern times: we hear about some favourite
    youtube
    streams and discover that living in the 2020s is (just about) possible without a
    smartphone
    .

    Provide feedback on this episode.
  • Hacker Public Radio

    HPR4570: Playing Civilization V, Part 8

    06.2.2026
    This show has been flagged as Clean by the host.


    In our next look at the game mechanics for Civilization V we examine several related topics: Diplomacy, Spies, and Religious Pressure. They are all ways to interact with other players without the force of arms being involved. And we will discuss the Diplomatic Victory, which is a new victory type added in Civilization V and can be fun to play.

    Playing Civilization V, Part 8 - Diplomacy

    Other Players

    With other players you have a relationship based on their approach to you. They are:

    Neutral – This is not Friendly nor is it Hostile. Trades you make with them will be fair from their point of view

    Friendly – They like you, and will accept requests from you more often. Trades will be slightly in your favor from their point of view.

    Afraid – This only happens if you have a a very substantial advantage in strength, so this is rare. They will readily accept requests from you, and trades will be in your favor

    Guarded – They are suspicious and defensive, and will be more likely to be unfriendly. Trades will be harder to achieve, and favor them rather than you.

    Deceptive – They will pretend to be friendly, but they are plotting against you. They may bribe other players to declare war on you. They will not accept requests for help, and trades will be hard to achieve.

    Hostile – They hate you, and are completely open about it. Trade deals, if you can get them, will be heavily against you.

    War – This means they have decided to go to war with you. But they need the right conditions, so they may pretend to be Friendly, Neutral, Guarded, or Hostile while they wait for those conditions to mature.

    These are not set in stone, as you can modify how the other player feels towards you by your actions. If you have friends in common that will improve your relationship, or if you have enemies in common. Agreeing to their requests will also improve things. But if you cannot agree, just say so. The worst negative modifier is when you agree to do something, and then do the opposite. Saying no is also negative, but not as bad. Finally, remember that negatives will erode over time if they are not reinforced. If you want a very detailed look at the mechanics and details of this, check out https://civ-5-cbp.fandom.com/wiki/Detailed_Guide_to_Diplomacy.

    City-States

    City-States are also important diplomatic partners. We’ll cover all of the benefits in a different section, but here I want to focus on how they enable the Diplomatic Victory. At a certain point the United Nations will be born out of the World Congress, and when this happens a Diplomatic Victory is possible. This will occur when any player reaches the Information Era, or whenever half of the players have reached the Atomic Era. Diplomatic Victory requires that you get the votes of a certain number of delegates to the United Nations. Each player gets delegates based on their population, and there are also some additional delegates you can earn, such as through building the World Wonder Forbidden Palace which gives you two additional delegates. Anyone planning for a Diplomatic Victory should consider building this Wonder as mandatory.

    But each City-State gets one delegate, and if you are allied with them their delegate is yours. The mechanics of City-State relationships is that they love gifts, and cash is always the best. So anyone planning a Diplomatic Victory would be well-advised to focus on building a large Treasury. You will know when a World Leader vote is coming up in the United Nations, and can make cash drops on any City-States that are not already allied with you before the vote. But watch out that another player doesn’t do the same thing after you and snipe away some of your allies. Also, you can place your spies in City-States to rig elections, and that is another way to get them to ally with you.

    Spies and Espionage

    Spies are simply awarded to you whenever any player enters the Renaissance Era. After that you receive another spy each time to advance to another Era. So you can in general have as many as 5 Spies, but if you build the National Intelligence Agency you get one more. This is a National Wonder, and should be a mandatory build if you are going for a Diplomacy victory. And England starts with 1 extra Spy, so if you play as England you could get as many as 7 Spies.

    Spies can be used for offense or defense. If you station one of your spies in one of your cities it can operate as a counter-spy, and may thwart or even kill an enemy spy. If you are well ahead in technology, that might be a good use, since other players will be trying to steal your tech. But if you are behind, you might want to use your spies to steal tech from other players. You may be successful in this, but the theft does not go unnoticed, and other player may use one of his spies to counter your operation. If you spy is killed, you will get another one in 3-5 turns, but if your spy was a high-rank spy with promotions, that is a serious loss, so you may want to move that spy elsewhere for a while.

    Diplomats

    When you assign a spy to the capital of another player you can designate them as a Diplomat. They will take a few turns (depends on game speed, but around 6 turns on normal speeds) to get set up. This is called “Making Introductions”, but the point is that if you need an effective diplomat, don’t wait until the last minute. Diplomats can be useful in several ways. Early on, they allow you to trade votes in the World Congress. And they will bring you intelligence about intrigues, and you can then share that with other players. And it can also give you a view of the other player’s City Screen. Once you have researched Globalization your Diplomats can help with a Diplomatic Victory because each one counts as one additional vote in the United Nations for World Leader.

    You can change a spy into a Diplomat and vice versa just by moving the Spy/Diplomat from its current location to another location, which will trigger the ability to change the job assignment. This means that when you first get Spies, and they cannot yet be used to get additional Delegate votes as Diplomats, you can assign them to City-States, where they can help you get alliances. Then as you start to research Globalization, move them to the capitals of other players and turn them into Diplomats. This of course assumes you want to win a Diplomatic victory. If instead you are going for a Science victory and are ahead in Science, it is probably best to station them in your own cities to do counter-intelligence work. If you are ahead in Science, other players will be trying to steal tech from you.

    Religious Pressure

    If you have researched all of the Piety Social Policy Tree, you will have option to choose a Reformation Belief to add to your religion. One of these, Underground Sect, allows your spies to exert religious pressure against the city they have been sent to. However, this effect is fairly small. If there is not a Follower of your religion in the city, it seems to do nothing. But in combination it can flip cities to your religion. Start by sending in a Missionary to spread your religion, then your spy can add to that. And you should also combine that with a trade route to add additional religious pressure. And by gradually moving your spies, missionaries, and trade routes from city to city, you can make your religion dominant in a region.

    Diplomatic Victory

    This can be a fun way to win, and I have done it. If you want to get a leg up, start with a Civ that gives you advantages, such as Greece or Venice (although my last diplomatic Victory was achieved with Ethiopia, which is generally regarded as a military/domination Civ. You can win any victory type with any civ, and it can be fun to “play against type”). Greece gets an advantage from relations with City-States, which are key to a Diplomatic Victory because each one gets a vote for World Leader. And Venice is interesting because you cannot build settlers. But you can use cash to puppet City-States, and you can purchase units in puppeted City-States as well. Cash is king in the Venice strategy, and you will want to get as many Trade Routes as possible. The first two should send Food to Venice to help boost your population. Since you will only ever have one city as Venice you will want to max it out. All trade routes after that should focus on cash. Use your cash to purchase or upgrade military units, and employ a defensive strategy. You want enough military to deter any aggression against you, but you should avoid making any hostile moves against others if possible. Remember, this is a strategy for a Diplomatic Victory. If you want to go to war, don’t choose Venice. Instead choose one of the Domination Civs, like the Zulus or the Mongols.

    Links:

    https://civ-5-cbp.fandom.com/wiki/Detailed_Guide_to_Diplomacy

    https://www.palain.com/gaming/civilization-v/playing-civilization-v-part-8/

    Provide feedback on this episode.
  • Hacker Public Radio

    HPR4569: Kiosk with guest mode on Linux

    05.2.2026
    This show has been flagged as Clean by the host.

    Create a Linux kiosk at your library

    Start without a guest account

    The first few steps of this process don’t actually require a guest user directory to exist, so do NOT create your guest user account yet. However, you do need to choose what your guest user account is going to be called. A reasonable account name for Don’s purposes is libraryguest. On my personal computer I call my guest account guestaccount, and I’ve used kioskguest on some installations. I avoid just the name “guest” because in modern computing the term “guest” gets used in a few other ways (such as a “guest operating system” in a virtual environment), and it’s just easier to find something unique in logs.

    Choose a unique name for you guest account, but don’t create it yet. For this article, I’m using libraryguest.

    Create the PostSession script

    By default, GDM recognises several states: Init, PostLogin, PreSession, and PostSession. Each state has a directory located in /etc/gdm. When you place a shell script called Default in one of those directories, GDM runs the script when it reaches that state.

    To trigger actions to clean up a user’s environment upon logout, create the file /etc/gdm/PostSession/Default. You can add whatever actions you want to run upon logout to the Default script. In the case of Don’s library, we wanted to clear everything from the guest’s home directory, including browser history, any LibreOffice files or GIMP files they may have created, and so on. It was important that we limited the very drastic action of removing all user data to just the guest user. We didn’t want the admin’s data to be erased upon logout, so whatever rule we added to /etc/gdm/PostSession/Default had to be limited to the guest user.

    Here’s what we came up with:

    #!/usr/bin/sh
    echo "$USER logged out at `date`" >> /tmp/PostSession.log
    if [ "X$USER" = "Xlibraryguest" ]; then
    rm -rf "$HOME"
    fi
    exit 0
    The first line is for logging purposes. The /tmp directory gets cleared out on most distributions automatically, so we weren’t worried about creating a file that’ll grow forever and eventually crash the computer. If your distribution of choice doesn’t clean out /tmp automatically, create a cron job to do that for you.

    GDM knows what user triggered the logout process, so the if statement verifies that the user logging out is definitely the libraryguest user (that’s the literal name of the user we created for library patrons).
    Note that the whitespace around the square brackets is important, so be precise when typing!

    As long as it is libraryguest, then the script removes the entire user directory ($HOME). That can be extremely dangerous if you make a mistake, so do thorough testing on a dummy system before implementing a script like this! If you get a condition wrong, you could erase your entire home directory upon logout.

    In this example, I’ve successfully limited the rm command to a logout action performed by user libraryguest. The entire /home/libraryguest directory is erased, and the computer returns to the GDM login screen. When a new user logs in, a fresh directory is created for the user.

    You can put any number of commands in your script, of course. You don’t have to erase an entire directory. If all you really want to do is clear browser history and any stray data, then you can do that instead. If you need to copy specific configuration files into the environment, you can do that during the PreSession state.

    Just be sure to test thoroughly before committing your creation to your users!

    What happens when the guest doesn’t log out

    At this point, the computer erases all of the user’s data when the user logs out, but a reboot or a shutdown is different to a logout. GDM doesn’t enter a PostSession state after a reboot signal has been received, even if the reboot occurs during an active GDM session.

    The easiest and safest way to erase an entire home directory when there’s a cut to system power is to use a temporary RAM filesystem (tmpfs) to house the data in the first place. If the systems you’re configuring have 8 GB or more, and the system is exclusively used as a guest computer, you can probably afford to use RAM as the guest’s home directory. If your system doesn’t have a lot of RAM, then you can use the systemd work-around in the next section.

    Assuming you have the RAM to spare, and that your systems are supported by a backup power supply, you can add a tmpfs entry in /etc/fstab. In this example, my tmpfs is mounted to /home/libraryguest and is just 2 GB:

    tmpfs /home/libraryguest tmpfs rw,nosuid,nodev,size=2G 0 0
    That’s plenty of space for some Internet browsing and even a few LibreOffice documents to be saved while a user works.

    Mount the new volume:

    $ sudo mount /home/libraryguest
    Next, you must create the libraryguest user manually in a terminal.
    The useradd command creates user profiles:

    $ sudo useradd --home-dir /home/libraryguest libraryguest
    useradd: warning: the home directory /home/libraryguest/ already exists.
    useradd: Not copying any file from skel directory into it.
    Because you’ve already created a location for the home directory, you do get a warning after creating the user. It’s only a warning, not a fatal error, and the guest account is automatically populated later.

    Create a password for the new user:

    $ sudo passwd libraryguest
    That’s it! You’ve created a guest account that refreshes with every logout and every reboot. You can skip over the next section of this article.

    Using systemd targets instead of a ramdisk

    Assuming you can’t create a ramdisk for temporary user data, you can instead create a systemd service that runs a script when the reboot, poweroff, and multi-user targets are triggered:

    [Unit]
    Description=Kiosk cleanup
    [Service]
    Type=oneshot
    ExecStart=/usr/local/bin/kiosk-cleanup.sh
    [Install]
    WantedBy=poweroff.target reboot.target multi-user.target
    Save the file to /etc/systemd/system/kioskmode.service and then enable it:

    $ sudo systemctl enable --now kioskmode
    The script, like the GDM script, removes the libraryguest directory. Unlike GDM script, this one must also recreate an empty home directory and grant it user permissions:

    #!/usr/bin/bash
    rm -rf /home/libraryguest
    mkdir /home/libraryguest
    chown -R libraryguest:libraryguest /home/libraryguest
    Grant the script itself permission to run:

    $ sudo chmod +x /usr/local/bin/kiosk-cleanup.sh
    Now the libraryguest user data is erased after:

    Logout

    Reboot

    Shutdown

    Startup

    Essentially, no matter how the computer loses its session or its power, the libraryguest account starts fresh when a new session is started.

    Security and privacy

    Using systemd to erase data at shutdown and startup isn’t strictly as secure as using a temporary ramdisk for all user data. Should the computer lose power suddenly, all saved user data in the libraryguest account is present during the next boot. Of course, it’s erased as soon as multi-user.target is called by systemd, but it is technically possible to interrupt the boot process and mine for data. You must use full drive encryption to protect data from being discovered by an interrupted boot sequence.

    Why not just use xguest

    On many Linux distributions, the xguest package is designed to provide the Guest account, which resets after each logout. It was an extremely useful package that I installed on every machine I owned, because it’s handy to be able to let friends use my computer without risking them making a mess of my home directory. Lately, it seems that xguest is failing to launch a desktop, however, presumably because it relies on X11.

    If xguest works for you in your tests, then you may want to use it instead of the solution I’ve presented here. My solution offers a lot of flexibility, thanks to GDM’s autodetection of session states.

    Kiosks in libraries

    Privacy and personal information is more important than ever. Regardless of how you setup a kiosk for your library, you have an obligation to your users to keep them informed of how their data is being stored. This goes both ways. Users need to know that their data is destined to be erased as soon as they log out, and also they deserve to be assured that their data is not retained.

    However, it’s also your responsibility to admit that glitches and exceptions could occur. Users need to understand that the computer they’re using are public computers on a public network. Encryption is being used for traffic and for data storage, but you cannot guarantee absolute privacy.

    As long as everyone understands the arrangement, everyone can compute with confidence. Linux, GDM, and systemd are great tools to help libraries create a sustainable, robust, honest, and communal computing platform.

    Show notes taken from https://www.both.org/?p=13327Provide feedback on this episode.

Flere Uddannelse podcasts

Om 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.
Podcast-websted

Lyt til Hacker Public Radio, Ramt Af Stjernerne og mange andre podcasts fra hele verden med radio.dk-appen

Hent den gratis radio.dk-app

  • Bogmærke stationer og podcasts
  • Stream via Wi-Fi eller Bluetooth
  • Understøtter Carplay & Android Auto
  • Mange andre app-funktioner
Social
v8.5.0 | © 2007-2026 radio.de GmbH
Generated: 2/12/2026 - 12:13:37 AM