Blog

  • Chad Chapter 13: Spirit is Thicker than Blood

    After the children and their parents ate watermelon, Chad wanted to explain the purpose behind the Bible verses he and his friends were sharing.

    “In the first chapter of Luke, we discovered that the mother of Jesus was a virgin named Mary. In case anyone is still wondering about the virgin part. It is clear that Mary became pregnant by the power of the holy Spirit instead of through the regular way all of you were created by your parents.”

    “But how did our parents create us?” asked Simon.

    “I wish I could tell you, but if I were to try, your parents would probably get angry at me for telling you something they should have told you themselves already. For now, just keep in mind that you are biologically related to your parents and look like a combination of them because you received half your DNA from your mother and father,” said Chad.

    “What is a DNA?” asked Sally.

    "Honestly, Sally, I ain’t got a clue. It is one of those fancy things biologists talk about, but I don’t know how it works. But more importantly, I would like Matthew to begin reading from the first chapter of the book of Matthew so we can compare it to the story in Luke.

    Matt then began to read from the book of Matthew:

    Matthew Chapter 1 from NET Bible


    Matthew 1:1 This is the record of the genealogy of Jesus Christ, the son of David, the son of Abraham.

    2 Abraham was the father of Isaac, Isaac the father of Jacob, Jacob the father of Judah and his brothers, 3 Judah the father of Perez and Zerah (by Tamar), Perez the father of Hezron, Hezron the father of Ram, 4 Ram the father of Amminadab, Amminadab the father of Nahshon, Nahshon the father of Salmon, 5 Salmon the father of Boaz (by Rahab), Boaz the father of Obed (by Ruth), Obed the father of Jesse, 6 and Jesse the father of David the king.

    David was the father of Solomon (by the wife of Uriah), 7 Solomon the father of Rehoboam, Rehoboam the father of Abijah, Abijah the father of Asa, 8 Asa the father of Jehoshaphat, Jehoshaphat the father of Joram, Joram the father of Uzziah, 9 Uzziah the father of Jotham, Jotham the father of Ahaz, Ahaz the father of Hezekiah, 10 Hezekiah the father of Manasseh, Manasseh the father of Amon, Amon the father of Josiah, 11 and Josiah the father of Jeconiah and his brothers, at the time of the deportation to Babylon.

    12 After the deportation to Babylon, Jeconiah became the father of Shealtiel, Shealtiel the father of Zerubbabel, 13 Zerubbabel the father of Abiud, Abiud the father of Eliakim, Eliakim the father of Azor, 14 Azor the father of Zadok, Zadok the father of Achim, Achim the father of Eliud, 15 Eliud the father of Eleazar, Eleazar the father of Matthan, Matthan the father of Jacob, 16 and Jacob the father of Joseph, the husband of Mary, by whom Jesus was born, who is called Christ.

    17 So all the generations from Abraham to David are fourteen generations, and from David to the deportation to Babylon, fourteen generations, and from the deportation to Babylon to Christ, fourteen generations.

    18 Now the birth of Jesus Christ happened this way. While his mother Mary was engaged to Joseph, but before they came together, she was found to be pregnant through the Holy Spirit. 19 Because Joseph, her husband to be, was a righteous man, and because he did not want to disgrace her, he intended to divorce her privately. 20 When he had contemplated this, an angel of the Lord appeared to him in a dream and said, “Joseph, son of David, do not be afraid to take Mary as your wife because the child conceived in her is from the Holy Spirit. 21 She will give birth to a son and you will name him Jesus because he will save his people from their sins.” 22 This all happened so that what was spoken by the Lord through the prophet would be fulfilled: 23 “Look! The virgin will conceive and give birth to a son, and they will name him Emmanuel,” which means “God with us.” 24 When Joseph awoke from sleep he did what the angel of the Lord told him. He took his wife, 25 but did not have marital relations with her until she gave birth to a son, whom he named Jesus.


    Before Matt had finished reading from chapter 1 of the book of Matthew, some children were so bored they fell asleep.

    “This doesn’t make any sense! Why should we care who was the father of some guy who was the father of another dude who was the father of some other brother from another mother?” asked Trevor.

    "Glad you asked, Trevor! I don’t care any more than you do. I don’t know the names of my ancestors from thousands of years ago, and I don’t care. I am who I am regardless of how I came to this world. Similarly, I don’t care about the people mentioned in these verses because who Jesus was had nothing to do with these people. Also, the genealogy was clearly an error because it was the ancestors of Joseph, who was not the biological father of Jesus. God was the father of Jesus, and Mary was his mother. Jesus was conceived by the holy Spirit and not through the bloodline of the 42 generations of ancestors mentioned in the book of Matthew.

    “Why were these people included in the book if they don’t matter?” asked Trevor.

    Whoever was writing these books died thousands of years ago, and so we can’t ask them, but if I had to guess, they saw Jesus as being the legal son of Joseph because Mary became his wife, and in those days, women were seen more as property than people. You may have noticed that the genealogy lists mostly men and only a few women, despite the fact that every one of them had a mother. The writer probably didn’t like women or perhaps excluded them so he didn’t have to write so many of those long names," said Chad.

    “Come on, Chad, that is just guessing. You have no clue what you are talking about,” said Luke.

    “Yes, I did say I was guessing, but it doesn’t miss the larger point that the Holy Spirit was the reason that Mary became pregnant with Jesus without needing a man. I guess you could say that the Spirit is thicker than blood in this case,” said Chad.

    At this point, Stacy decided to speak, despite generally being shy in crowds.

    “Chad, sorry to interrupt, but I think I understand. The writers tried to frame everything in terms of their culture and ancestry because it was important to them, but it was not important to God. The conception and birth of Jesus completely contradict everything else in the society. Patriarchy and a man’s permission were ignored because God sent the angel directly to Mary before Joseph knew anything. It also opposed the genealogy because Jesus was not a biological descendant of Joseph’s bloodline,” said Stacy.

    “Thanks for your input, Stacy! Yes, I do think that the writers tried to include extra things that were not important to understanding the life of Jesus. It is one of the mistakes in the New Testament, but we can still learn a lot from the gospels about who Jesus is and what he taught,” said Chad.

    “Excuse me, Chad, but did you really say there are mistakes in the Bible?” said Pastor Mark.

    “Of course, Mark. All writings have mistakes due to human error and personal or political bias. Seeing which parts are true and which are just the opinions of humans is the hardest part,” said Chad.

    “But the Bible is the infallible word of God!” I can’t let you speak such heresy to these children," said Mark.

    “And I won’t let you lie to them and say that there are no mistakes in the Bible when clearly there are contradictions between the intentions of the writers and what God was intending to teach people through the life of Jesus,” said Chad.

    “Chad, you’re fired. No one talks back to me. I am the pastor of this church, and I say what happens here,” said Mark

    SLAP

    Stacy slapped her father hard in the face and interrupted him.

    “Shut up, Dad. You think you are the boss, but you are not God, and you are not a man of God either. You care only about your reputation and money rather than whether these kids hear the truth. I think Chad has a point here, and I want the kids to hear it,” said Stacy.

    "Thanks, Stacy. We are almost done here for today. Pastor, we will talk about this later, but for the record, you can’t fire me because I am a volunteer!

    Pastor Mark did not say anything else because his daughter, Stacy, might slap him again. She was in a mood today that he had never seen before.

  • chastdin for FreeBASIC

    I have rewritten my chastdin program (the stack based calculator that reads keyboard input from standard input) into the FreeBASIC programming language. I did it as an exercise to prepare myself for a future book on the BASIC programming language which was my first programming language. FreeBASIC is compatible with QBASIC which is what I first started on. Luckily, BASIC is not so different from C but I had to spend a lot of time on the documentation to refresh my memory in how I used to do things with it.

    Eventually I would like to make a GUI version of this command line calculator. I am trying to take baby steps in working my way into programs that the average person would use. However, command line utilities are still the easiest to build and that is an acceptable place to start.

    main.bas

    #include "chastelib.bi"
    #include "chastdin.bi"
    
    dim shared as integer chastack(256)
    dim shared as integer csi=0 'Chastity's Stack Index
    
    radix=10
    
    dim as integer a,b
    dim shared as string s
    
    sub help()
    ?  "chastdin is a stack based interactive calculator"
    ?  "Numbers are pushed on the stack and commands can do math."
    ?  "It is a fork of chastack that reads from stdin instead of arguments."
    ?  "Each line can contain multiple numbers or commands."
    ?
    ?  "Math commands are add,sub,mul,div,rem"
    ?  "And use the top two stack numbers for their operations"
    ?
    ?  "The setradix command uses the top of stack as the new radix"
    ?  "The exit command ends the program"
    ?  "The ? command prints the entire stack"
    ?
    end sub
    
    sub stack_check()
     if csi>0 then
      chastack(csi+1)=0 /'erase old top of stack because command was successful'/
     else
      print "Error: two numbers required for command: ";s
      csi+=1 /'increment the pointer to what it was before the failed command'/
     end if
    end sub
    
    help():
    
    while s<>"exit"
    
    s=""
    
     s=getstr() 'read and ignore empty strings
    
    'print entire stack
    if s="?" or s="print" then
     b=csi
     while csi>0
      print intstr(chastack(csi))
      csi-=1
     wend
     csi=b
    
    elseif s="exit" then
    exit while
    
    elseif s="help" then
    help()
    
    elseif s="setradix" then
     if csi>0 then
     radix=chastack(csi)
     chastack(csi)=0
     csi-=1
     else
      print "Error: need one number on stack for command: ";s
     end if
    
    elseif s="add" then
    b=chastack(csi)
    csi-=1
    a=chastack(csi)
    a+=b
    chastack(csi)=a
    stack_check()
    
    elseif s="sub" then
    b=chastack(csi)
    csi-=1
    a=chastack(csi)
    a-=b
    chastack(csi)=a
    stack_check()
    
    elseif s="mul" then
    b=chastack(csi)
    csi-=1
    a=chastack(csi)
    a*=b
    chastack(csi)=a
    stack_check()
    
    elseif s="div" then
    b=chastack(csi)
    csi-=1
    a=chastack(csi)
    a\=b
    chastack(csi)=a
    stack_check()
    
    elseif s="rem" then
    b=chastack(csi)
    csi-=1
    a=chastack(csi)
    a=a mod b
    chastack(csi)=a
    stack_check()
    
    else
    
    'try to interpret string as a number if not empty
     a=strint(s)
     if strint_errors<>0 or len(s)=0 then
     'print s;" cannot be added to the stack because it is not a valid number"
     else
     csi+=1
     chastack(csi)=a
     print intstr(a);" was added to the stack"
     end if
    
    end if
    
    wend
    
    /'
     This is a FreeBASIC program.
    
     compile and run as:
    
     fbc main.bas && ./main
    '/
    
    

    chastelib.bi

    /'
     global variables to define radix and formatting
     for the intstr function
    '/
    dim shared as integer radix=2
    dim shared as integer int_width=1
    
    /'
     translation of intstr function for FreeBASIC
     by original C programmer Chastity White Rose
    '/
    function intstr(i as uinteger) as string
     dim as string s=""
     dim as integer w=0
     dim as byte c
    
     while i<>0 or w<int_width 
    
      c=i mod radix                  
      i\=radix                     
    
      if c<10 then 
      c+=48
      else
      c+=55
      end if
    
      s=chr(c)+s
    
      w+=1                     
     wend
    
    return s
    end function
    
    /'
     global variable for error detection in strint function
     this variable will be zero if last string was a number
    '/
    dim shared as integer strint_errors=0
    
    /'
     translation of strint function for FreeBASIC
     by original C programmer Chastity White Rose
    '/
    function strint(s as string) as uinteger
    dim as uinteger i=0
    dim as integer x=0,y=len(s)
    dim as byte c
    
    strint_errors = 0 /' clear errors '/
    
    while x<y
    
     /' read digit from string '/
     c=s[x]
    
     /' 0 to 9 '/
     if c >= 48 and c <= 57 then
     c-=48
     /' A to Z '/
     elseif c >= 65 and c <= 90 then
     c-=65
     c+=10
     /' a to z '/
     elseif c >= 97 and c <= 122 then
     c-=97
     c+=10
     /' whitespace '/
     elseif c >= 0 and c <= 32 then
      exit while /' exit correctly at string end '/
     else
      strint_errors+=1
      print "Error: ";chr(s[x]);" is not an alphanumeric character!"
      exit while /' exit at invalid character '/
     end if
    
     if c>=radix then
      strint_errors+=1
      print "Error: ";chr(s[x]);" is not a valid character for radix ";radix
      exit while /' exit at digit wrong for radix '/
     end if
    
     /'multiply by radix then add digit'/
     i*=radix
     i+=c
    
    x+=1
    wend
    
    return i
    end function
    

    chastdin.bi

    dim shared as string stdin_buf
    dim shared as integer stdin_buf_index
    dim shared as integer stdin_buf_length=0
    
    function getstr() as string
    dim as string s=""         'create empty string
    dim as byte c              'temporary byte/char variable
    
    /'
    this section gets a line of text
    if the length of the string/buffer is 0
    '/
    
    if stdin_buf_length=0 then      'check if there are characters in the buf
    input "-> ",stdin_buf           'if not, read a line of text
    stdin_buf_index=0               'set index to zero
    stdin_buf_length=len(stdin_buf) 'set the length
    end if
    
    /'
    regardless of whether input was added above
    or if it still had bytes from the last input
    we then extract characters one at a time into the
    substring s to be returned from the function
    '/
    
    while stdin_buf_index<stdin_buf_length
    c=stdin_buf[stdin_buf_index]
    stdin_buf_index+=1
    if(c>=33) and (c<=126) then
    s=s+chr(c)
    else
    exit while
    endif
    wend
    
    /'
    if the index matches the length of buffer
    set length to zero so that more will be read
    next time this function is called
    '/
    
    if stdin_buf_index=stdin_buf_length then
    stdin_buf_length=0
    end if
    
    return s
    end function
    
    /'
    the getline function always gets an entire line of text
    I don't really need it but it is here as a reminder of
    how to use the input statement in FreeBASIC
    '/
    
    function getline() as string
    dim as string s=""
    input "-> ",stdin_buf
    s=stdin_buf
    return s
    end function
    

  • chastelib for Pascal Programming Language

    I managed to hack my four functions from chastelib into the Pascal programming language. This program includes the functions and the test suite which works just like the C version. The code is a bit more complex than the C version because strings and characters are handled very differently than they are in the C programming language. The strint function was the hardest to write but it seems to be working according to the standards I require.

    I am doing this for education and possibly a future book on old programming languages. Pascal is nice but I will also be studying BASIC again.

    program chastelib;
    
    const
     string0='Official test suite for the Pascal version of chastelib.'#10;
    
    var //this is the global variable section
     a:integer;
     b:integer;
     
     radix:integer;       //current radix being used
     int_width:integer=1; //global integer width
     strint_errors:integer=0; //error result for strint function
    
    (*
    A function to print a string using Pascal's write function.
    *)
    procedure putstr(s:string);
    begin
     write(s);
    end;
    
    (*
     a function to return a string form of an integer
     using the global radix variable
    *)
    function intstr(i:integer):string;
    var
     s:string=''; //string that will be built and returned from this function
     width:integer=0; //the current width
     c:integer;
     ch:char;
    begin
     while (i>0) or (width<int_width) do
     begin
    
      c:=i mod radix; //get integer division modulus or remainder
      i:=i div radix; //get integer division quotient
    
      (*turn remainder c into character ch for digit in this radix*)
      if c<10 then
      begin
       ch:=chr(c+48);
      end
      else
      begin
       ch:=chr(c+55);
      end;
    
       s:=ch+s; //prefix the string with this character
       width+=1;
    
     end;
    
     intstr:=s; //return this string from the function
    
    end;
    
    (*use both putstr and intstr to print an integer*)
    procedure putint(i:integer);
    begin
     putstr(intstr(i));
    end;
    
    (*
    Because characters and integers are separate types in Pascal,
    it is required to get the ASCII value of characters in the string
    for the strint function so I can do the math the same way
    as I did in the C version of the function.
    *)
    
    function strint(s:string):integer;
    var
     i:integer=0; //integer that will be built and returned from this function
     x:integer=1; //index used to scan forward through the string
     c:integer=0;
    begin
     strint_errors := 0; (*set zero errors before we parse the string*)
     if (radix<2) or (radix>36 ) then
     begin
      strint_errors+=1;
      writeln('Error: radix ',radix,' is out of range!');
     end;
     while(x<=length(s)) do
     begin
      c:=ord(s[x]);
      if (c>=ord('0')) and (c<=ord('9')) then 
      begin
       c-=ord('0')
      end
      else if (c>=ord('A')) and (c<=ord('Z')) then
      begin
       c-=ord('A');
       c+=10;
      end
      else if (c>=ord('a')) and (c<=ord('z')) then
      begin
       c-=ord('a');
       c+=10;
      end
      
      else if (c < $21 ) then
      begin
       break; (*end loop because we have found whitespace*)
      end
      
      else
      begin
       strint_errors+=1;
       writeln('Error: ',s[x],' is not an alphanumeric character!');break;
      end;
      
      if(c>=radix) then
      begin
       strint_errors+=1;
       writeln('Error: ',s[x],' is not a valid character for radix ',radix);
       break;
      end;
      
      i*=radix; //multiply by the radix
      i+=c;     //add the digit from the character processed
    
      x:=x+1;
     end;
     strint:=i;
    end;
    
    
    
    
    begin
     radix:=16; //set the radix used by both intstr and strint functions
    
     a:=0;
     b:=strint('100');
    
     putstr(string0);
    
     while a<b do
     begin
      radix:=2;
      int_width:=8;
      putint(a);
      putstr(' ');
      radix:=16;
      int_width:=2;
      putint(a);
      putstr(' ');
      radix:=10;
      int_width:=3;
      putint(a);
    
      if (a>=$20) and (a<=$7E) then
      begin
       putstr(' ');
       putstr(chr(a));
      end;
    
      putstr(#10);
      a+=1;
     end;
     
     putstr(string0);
    
    end.
    
    (*
     fpc main.pas && ./main
    *)
    
  • Everlasting Love Podcast Index

    The official YouTube channel under Judena’s account is the best place to search for and find our episodes. However, because YouTube can be a bit confusing to navigate and sometimes changes, I have provided this index of episodes in the order they were recorded, along with their YouTube link.

    Official YouTube Channel:

    https://www.youtube.com/@EverlastingLoveJeremiah31-3

    Everlasting Love Episode 1: Introduction

    Judena Klebs and her hybrid son/daughter, Chastity, give a short introduction to our podcast and what we will be talking about in future episodes.

    https://www.youtube.com/watch?v=HkOnRJnLujQ


    Everlasting Love Episode 2: Asexuality and Transgender Identity

    In this episode, Judena Klebs and Chastity White Rose define terms and look at scriptures about eunuchs in the Bible.

    https://www.youtube.com/watch?v=iv6qEXTdxYM


    Everlasting Love Episode 3: Transgender Concerns

    Judena and Chastity talk about various concerns like gendered bathroom laws, equality in sports, the history of sexism, and how we should all be equal as stated in Galatians 3:28.

    Galatians 3:28 There is neither Jew nor Greek, there is neither slave nor free, there is neither male nor female–for all of you are one in Christ Jesus.

    https://www.youtube.com/watch?v=6BQyVwF-gvk


    Everlasting Love Episode 4: Understanding Depression and Suicide

    Judena and Chastity share past experiences with depression and suicidal thoughts. Many times, people condemn people with mental health struggles and make the problems worse. However, in the minds of depressed people, they often feel like they are doing the world a favor and have nothing to offer. But this is not true. God loves them and so do people, including those who they have not met yet.

    https://www.youtube.com/watch?v=utb98jllO98


    Everlasting Love Episode 5: Jesus’ Command of Love for His Church

    The true church of God’s people is not a building. It is made up of God’s people who have come to Christ for salvation.

    https://www.youtube.com/watch?v=ndBkPfUbkMY


    Everlasting Love Episode 6: The People of God and the Rainbow Bridge

    All the religions of the world are humanity’s effort to reach God and appease him except for true Christianity. It is God reaching out to humankind and coming to save and relate to them.

    https://www.youtube.com/watch?v=sj0ryRkRrEw

    You can read the currently available chapters of “Walking the Rainbow Bridge” at the following links.

    https://chastitywhiterose.com/walking-the-rainbow-bridge/

    https://chastitywhiterose.github.io/Walking-the-Rainbow-Bridge/

    You can also buy the republished paperback of Chandler’s Honesty containing all 6 parts of the story.

    https://www.amazon.com/gp/product/B0FNLRS2D4

    Everlasting Love Episode 7: Alphabet Acronym and “Abomination”

    In this episode, we defined the letters of the LGBTQIA+ acronym, and then we talked about the historical meaning of the words that were later translated into homosexuality and abomination.

    Finally, we discussed other issues that people falsely assume about LGBTQIA+ people. For example, People assume that LGBTQIA+ individuals all support abortion or that all transgender people are school shooters.

    https://www.youtube.com/watch?v=0so6NCeRSV8

    Everlasting Love Episode 8: Resources and excerpts on LGBTQIA+ and Suicide Prevention

    In this episode, we shared some quotes from the Bible and also some very relevant books written by other authors, which will be helpful to Christians who are on the LGBTQIA+ spectrum.

    https://www.youtube.com/watch?v=2avMdLQsdGU

    3 of these books are also linked to in Chastity’s 6th chapter of Walking the Rainbow Bridge.

    https://chastitywhiterose.com/2025/06/17/chapter-6-can-someone-be-gay-and-a-christian/

    Also, we have published a book on The Many Sides of Suicide:

    https://www.amazon.com/Many-Sides-Suicide-Judena-Klebs/dp/B092P62TRR/

    Everlasting Love Episode 9: When God Finds YOU

    Judena and Chastity share their stories of how they came to believe in God despite being given wrong messages by humans. Sometimes people are searching for God, and sometimes they give up, but even then, God will go to find the lost sheep.

    https://www.youtube.com/watch?v=aS8pyjb2Dpw

    Everlasting Love Episode 10: Two Kingdoms: A Teaching About Spiritual Warfare

    Judena introduces the topic of Spiritual Warfare and shares her experience and some Bible verses for historical context on Satan and the demons. Chastity asks Judena some questions she has and suspects others may want to ask about these things.

    https://www.youtube.com/watch?v=1m06bHaZq9s

    Relevant Verses:

    John 10:10 Ephesians 6:12 James 4:7 1 Peter 5:2-9

    Everlasting Love Episode 11: Spiritual Warfare Continued

    Judena and Chastity continue their discussion on spiritual warfare and some background information on Lucifer/Satan/Devil.

    https://www.youtube.com/watch?v=Kolh2QstXt8

    Bible Verses:

    Revelation 12:7-10 Isaiah 14:12-17 Ezekiel 28:12-19 Luke 10:17-20

    2 Corinthians 4:4 2 Corinthians 11:14 Hebrews 2:14-18

    Everlasting Love Episode 12: Halloween

    Judena and Chastity discuss the history of Halloween and good elements that should be enjoyed at other times of year, and bad elements that could be replaced with something healthier and celebrating life instead.

    https://www.youtube.com/watch?v=z1o-cDhvXdc

    Everlasting Love Episode 13: Halloween Part 2

    Occult practices promoted by Halloween and why they are dangerous.

    https://www.youtube.com/watch?v=UMkc3ODoX1w

    Referenced Verses

    Exodus: 5:1 And afterward Moses and Aaron went in, and told Pharaoh, Thus saith the LORD God of Israel, Let my people go, that they may hold a feast unto me in the wilderness.

    2 And Pharaoh said, “Who is the LORD, that I should obey his voice to let Israel go? I know not the LORD, neither will I let Israel go .”

    "Exodus 7:8 And the LORD spake unto Moses and unto Aaron, saying,

    9 When Pharaoh shall speak unto you, saying, Shew a miracle for you: then thou shalt say unto Aaron, Take thy rod, and cast it before Pharaoh, and it shall become a serpent.

    10 And Moses and Aaron went in unto Pharaoh, and they did so as the LORD had commanded: and Aaron cast down his rod before Pharaoh, and before his servants, and it became a serpent.

    11 Then Pharaoh also called the wise men and the sorcerers: now the magicians of Egypt, they also did in like manner with their enchantments.

    12 For they cast down every man his rod, and they became serpents: but Aaron’s rod swallowed up their rods."


    Everlasting Love Episode 14: Admitting When We Are Wrong

    How important our words are and the influence we have. It is important to set a good example and admit the times when we are wrong in what we said.

    https://www.youtube.com/watch?v=4AxHVp9NqIo


    Everlasting Love Episode 15: How to Help Ourselves and Others with Depression

    Special guest Lauren joins us and speaks about her experience with depression and what helps.

    https://www.youtube.com/watch?v=AnYI93mxqVg

    Everlasting Love Episode 16: “Christian” Hypocrisy

    Often God can work through non-Christians better than people who claim to be Christians because often Christians have bad attitudes that don’t reflect Christ.

    When God tells us to help someone, we just need to obey God and leave the results to him and not demand something in return.

    We need to minister to the people on the earth the way Jesus did, instead of looking for something in return and manipulating others to do what we want them to do. Simply obey God and show people through what we say and do what God is like.

    https://www.youtube.com/watch?v=vnYoq3zeFuw

    Everlasting Love Episode 17: Grief and the Holidays

    Dealing with grief over the holidays and showing compassion to others who are grieving too.

    https://www.youtube.com/watch?v=7wflDRjJEGs

    Everlasting Love Episode 18: Pro-Life Thoughts and Convictions

    Chastity and Judena talk about Chastity’s upcoming trip to the March for Life and why the topic of abortion is so important to Chastity, because it connects with every other social justice matter of life and death.

    https://www.youtube.com/watch?v=dUDZVgQSLzQ

    Proverbs 31:8+9:

    8 Speak up for those who cannot speak for themselves; ensure justice for those being crushed. 9 Yes, speak up for the poor and helpless, and see that they get justice.

    https://chastitywhiterose.com/2026/01/08/plans-for-march-for-life-2026/

    Everlasting Love Episode 19: Pro-Life Thoughts Part 2

    Chastity tells what happened on her trip to the March for Life in Washington, D.C., and then Judena and Chastity both talk more about why the abortion topic is so important and is shaped by our beliefs and influences around us.

    https://www.youtube.com/watch?v=s6Yc9lAwcgI

    1 John 1:9 “If we confess our sins, He is faithful and just to forgive us our sins and to cleanse us from all unrighteousness.”

    Everlasting Love Episode 20: The Honest Truth

    Chastity and Judena talk about the red herring and other logical fallacies that distract from the topic being discussed and lead to dishonest communication by bringing up new subjects that have no relevance to what you were talking about in the first place.

    https://www.youtube.com/watch?v=p6r53K0hdmY

    Matthew 5:33-37 “33 “Again, you have heard that it was said to an older generation, ‘Do not break an oath, but fulfill your vows to the Lord.’ 34 But I say to you, do not take oaths at all—not by heaven because it is the throne of God, 35 not by earth because it is his footstool, and not by Jerusalem because it is the city of the great King. 36 Do not take an oath by your head because you are not able to make one hair white or black. 37 Let your word be ‘Yes, yes’ or ‘No, no.’ More than this is from the evil one.”

    https://netbible.org/bible/Matthew+5

    Everlasting Love Episode 21 “Does this dress make me look fat?” – The “Double Barreled” Question.

    Some questions cannot be answered with a yes or a no. Chastity and Judena talk about some of these questions and why some questions are dishonest from the start, because someone is forced to lie if they answer yes or know.

    https://www.youtube.com/watch?v=NQr_Q8JzXjA

    Chastity also reads Amendment 3 because it is worded to combine two separate topics, which should have been different amendments, instead of being rolled into one when the topics are unrelated.

    "A double-minded man is unstable in all his ways. (James 1:8)

    Everlasting Love Episode 22: What is God Like?

    Looking at the Bible’s message concerning the character of God.

    https://www.youtube.com/watch?v=d7zooSQc1Vk

    Everlasting Love Episode 23: Should We Fear God?

    When the English translations of the Bible use the word fear, they are not talking about what fear means to us today.

    https://www.youtube.com/watch?v=gfMiDM2IwOk

    Everlasting Love Episode 24: What Does it Mean to Trust God?

    Judena and Chastity talk about the different meanings of faith and trust. These things can sometimes be confusing, but become clearer when understanding who a person is, even if that person is God.

    And for some, God is not always human but may be something else they can trust when they can no longer trust humans.

    https://www.youtube.com/watch?v=A4P0FC8oY7Y

    Everlasting Love Episode 25 “Easter-anity”

    What is Easter? Is it a time once a year to visit a church that you don’t bother to visit most other Sundays, if at all, throughout the year? Is it a time to buy new clothes and put on a fashion show at a building and see who looks the best?

    https://www.youtube.com/watch?v=xWh4WWOhAaY

    Everlasting Love Episode 26: “Easter-anity” Part 2

    Judena and Chastity talk about the greed and competition of modern churches that directly contradict the teachings of Jesus and often lead to idolatry as they claim ownership of truth and even copyright on the Bible.

    https://www.youtube.com/watch?v=hHflQ-UqPBs

    Everlasting Love Episode 27: Sacrifice

    What is sacrifice? Giving what is important and valuable to us in order to serve God and to provide for the needs of others.

    https://www.youtube.com/watch?v=T0o4GB2zhMw

    The Rich Young Man

    Matthew 19:16 Now someone came up to him and said, “Teacher, what good thing must I do to gain eternal life?” 17 He said to him, “Why do you ask me about what is good? There is only one who is good. But if you want to enter into life, keep the commandments.” 18 “Which ones?” he asked. Jesus replied, “Do not murder, do not commit adultery, do not steal, do not give false testimony, 19 honor your father and mother, and love your neighbor as yourself.” 20 The young man said to him, “I have wholeheartedly obeyed all these laws. What do I still lack?” 21 Jesus said to him, “If you wish to be perfect, go sell your possessions and give the money to the poor, and you will have treasure in heaven. Then come, follow me.” 22 But when the young man heard this, he went away sorrowful, for he was very rich.

    The Sacrifice of Isaac

    22 Some time after these things, God tested Abraham. He said to him, “Abraham!” “Here I am!” Abraham replied. 2 God said, “Take your son—your only son, whom you love, Isaac—and go to the land of Moriah! Offer him up there as a burnt offering on one of the mountains which I will indicate to you.”

    3 Early in the morning, Abraham got up and saddled his donkey. He took two of his young servants with him, along with his son Isaac. When he had cut the wood for the burnt offering, he started out for the place God had spoken to him about.

    4 On the third day, Abraham caught sight of the place in the distance. 5 So he said to his servants, “You two stay here with the donkey while the boy and I go up there. We will worship and then return to you.”

    6 Abraham took the wood for the burnt offering and put it on his son Isaac. Then he took the fire and the knife in his hand, and the two of them walked on together. 7 Isaac said to his father Abraham, “My father?” “What is it, my son?” he replied. “Here is the fire and the wood,” Isaac said, “but where is the lamb for the burnt offering?” 8 “God will provide for himself the lamb for the burnt offering, my son,” Abraham replied. The two of them continued on together.

    9 When they came to the place God had told him about, Abraham built the altar there and arranged the wood on it. Next, he tied up his son Isaac and placed him on the altar on top of the wood. 10 Then Abraham reached out his hand, took the knife, and prepared to slaughter his son. 11 But the angel of the Lord called to him from heaven, “Abraham! Abraham!” “Here I am!” he answered. 12 “Do not harm the boy!” the angel said. “Do not do anything to him, for now I know that you fear God because you did not withhold your son, your only son, from me.”

    13 Abraham looked up and saw behind him a ram caught in the bushes by its horns. So he went over and got the ram and offered it up as a burnt offering instead of his son. 14 And Abraham called the name of that place “The Lord provides.” It is said to this day, “In the mountain of the Lord provision will be made.”

    Everlasting Love Episode 28: Connecting with Jesus

    If Jesus is the head of the church, we can’t function as a living organism as his body, the church, without being and staying connected with him.

    https://www.youtube.com/watch?v=eNLuR2bJ4Ts

    Everlasting Love Episode 29: Perseverance

    When the Bible uses the word “patience”, it means perseverance or endurance in the way we talk today.

    https://www.youtube.com/watch?v=H-cN2NuEe2I

    Everlasting Love Episode 30: LGBTQIA+ Part 1 Preparing for “Pride Month”

    We are going to start a series today to cover many of the topics we promised to deal with regarding the LGBTQIA+ community.

    https://www.youtube.com/watch?v=H-cN2NuEe2I

    Everlasting Love Episode 31: LGBTQIA+ Part 2: Attitudes about Gender in the book of Genesis

    Second part of the series for Pride Month 2026.

    https://www.youtube.com/watch?v=suFmcYn5L_s&pp=0gcJCaMLAYcqIYzv

    Everlasting Love Episode 32: LGBTQIA+ Part 3: Laws and Abominations

    • Define Abomination
    • Various Laws that were called Abominations
    • Are some sins worse than others
    • What is sin?
    • Picking out sin that are popular to criticize by heterosexual people, but ignoring others that were considered as abominations.

    https://www.youtube.com/watch?v=Dan0qFOhktI

    Everlasting Love Episode 33: LGBTQIA+ Part 4: The Purpose of the Law

    Chastity and Judena talk about the importance of understanding what the law is for and the reasons why old testament laws were given. Too often, people just use them as a weapon against people and say they are bad for breaking laws from the same book that the accuser doesn’t live by to begin with.

    https://www.youtube.com/watch?v=Magt-rnyYAg

    Everlasting Love Episode 34 LGBTQIA+ Part 5: The word “homosexual”

    Historical background of how this word came to be invented and mistakenly added to the Bible.

    https://www.youtube.com/watch?v=6i86oMG_srg

    Everlasting Love Episode 35: Dealing with Depression

    Lauren Pundmann joins us for a deeper look at depression.

    https://www.youtube.com/watch?v=J6rc2l2mfls

  • Getting Started with Linux

    This is chapter 19 of my Linux Assembly book. However, it has a ton of information about Linux in general. I also cover how to run the Tiny Core Linux distribution inside of the QEMU emulator. This will give current Windows users a way to try out Linux without having to give up Windows until they are sure they no longer need it. Even if you don’t plan to do Assembly programming, this is a great way to get a retro computing feel because a terminal only Linux system is very similar to DOS, except the names of all the commands are different!

    Chapter 19: Getting Started with Linux

    This whole book was written on Debian version 12 (bookworm). This has been my Linux distribution on my desktop computer since at least 2024 when Microsoft Windows decided to overwrite my bootloader when I had a dual boot between Windows and Ubuntu. I installed the newest version of Debian available at the time and have never looked back.

    I got my start in the Linux world back in 2005 during the time of Ubuntu 5.10 (Breezy Badger). Ubuntu was my first distribution and I used it without problem for years. But since Ubuntu was based on Debian, I decided to go with the original distribution. I highly recommend either of them because both of these projects have great websites with detailed installation guides.

    https://www.debian.org/
    https://ubuntu.com/

    If you have an old machine running Windows but it is kind of slow, I recommend following the official instructions and installing one of these distributions of Linux to your hard disk by booting either a live CD or USB drive and following the instructions. I figured it out with no background in Linux when I was 18 years old. They have done great work making Linux easy for beginners.

    But what I am going to do is share a method of trying out Linux for people who don’t have a space computer in their house and they can’t risk deleting Windows because their job or school requires specific Windows software.

    Just as I used a DOS emulator to emulate DOS for the DOS edition of Assembly Arithmetic Algorithms, it is also possible to run Linux in an emulator.

    There are some things you should know about running Linux in an emulator.

    1. Emulators are slower than real hardware and cannot be used to judge Linux. Just because you ran Linux in an emulator and it was slow does not mean that the operating system is a failure or that you should give up the idea.

    2. Emulators have many different options that you should read about and the reason I recommend learning how to use an emulator is because it teaches you to understand hardware better. Files are used as virtual compact disks or hard disks but the emulators see them as being the same as real hardware.

    3. Portability is the best reason to use an emulator. Because an emulator can run software for the same machine type or even a different architecture, you can use the information in this book even if you are running an Intel emulator on an ARM or RISC-V processor.

    The emulator I will be using for this example is called QEMU.

    https://www.qemu.org/
    https://www.qemu.org/docs/master/system/invocation.html

    And the distro I will be using is called Tiny Core Linux.

    http://tinycorelinux.net/

    You will want to go to the downloads page and get the smallest of the three files. It will be named “Core-current.iso”.

    Install QEMU on whatever OS you are currently using. QEMU is available for Windows, Mac, and Linux.

    Once you have QEMU installed and downloaded “Core-current.iso” to a directory somewhere, you can launch it with QEMU by using this command.

    qemu-system-x86_64 -drive file=Core-current.iso,media=cdrom
    

    You can also use the shorter form of the command which means the same thing.

    qemu-system-x86_64 -cdrom Core-current.iso
    

    Either way, it will boot into a tiny Linux system that is only a command line. You can use standard Linux commands such as ls,cat,sed,cp,rm,cd, and exit. There is even the “vi” editor built in. If you have not used the vi or vim editors before, don’t worry about it. However, if you have used them, go ahead and practice by making some text files and saving them.

    When you are done using Tiny Core Linux, just use this command:

    sudo poweroff
    

    How does Tiny Core work?

    Everything will shut down and the emulator will also stop. If you clicked on the QEMU Window and your mouse cursor disappeared, press Ctrl+Alt+G on your keyboard to grab it back from the emulator so you can do other things while the emulator is still running Tiny Core Linux.

    Tiny Core Linux runs entirely in RAM when you run it using only the ISO image for the cdrom drive. Any changes you make will not be saved when you exit the emulator.

    I am sure you are wondering what good an operating system is that doesn’t save your work. For that, I have 2 answers.

    1. Because Tiny Core starts fresh each time using only the files in the CD image, it means each time you have a new chance to do something new and test things without any fear of messing up your system.

    2. There is a way to install it to a hard disk and configure it to save changes. I will be explaining more about this in this chapter.

    Installing Software Temporarily

    Before trying to permanently install Tiny Core to a hard disk, it is important to understand the package manager that it uses. It is called tce-ab. You can run it by its name.

    tce-ab
    

    It has a lot of text with instructions that let you search for and install packages. For example, on my machine when I booted into Tiny Core on QEMU, I was able to search for and install the “nano” text editor and the “nasm” assembler.

    You can also directly install programs with the tce-load program. This is often faster than navigating the menus of tce-ab.

    tce-load -wi nano
    

    However, because even previously installed programs will be gone on the next reboot, it is time to teach you how to create a virtual hard disk and reboot into the emulator with a hard disk that we will install to.

    Installing to a Hard Disk

    First, exit the emulator and then use the qemu-img command below to create a 1 Gigabyte empty file that will be used as a hard disk.

    qemu-img create harddisk.img 1G
    
    qemu-system-x86_64 -drive file=Core-current.iso,media=cdrom -drive file=harddisk.img,format=raw,media=disk
    

    The Tiny Core install program is ironically not included in the cdrom file we are booting from. Therefore, it becomes necessary to install the installer!

    While you are booted into QEMU with both the cdrom and harddisk images, install the install script with the tce-load command below.

    tce-load -wi tc-install
    

    It will take some time to install the dependencies of the Tiny Core install script. Notable dependencies are Perl (a popular scriping language) and syslinux (the bootloader).

    After it finished installing, run this command:

    sudo tc-install.sh
    

    The installer asks a lot of questions about what options you want when you want to install.

    • i for installing from booted cdrom
    • f for frugal hard drive installation
    • 1 for whole disk installation
    • 2 for sda (first hard disk)
    • y for installing the bootloader
    • 3 for the ext4 file system

    Most other options you can leave blank and press enter.

    I know that process may have been a little complex but it highlights the difference between installing Linux and installing Windows.

    You don’t install Windows. It was already on your computer when you bought it. This means somebody else chose all the options for you.

    When you install Linux, you need to know some basic facts or at least google them when in doubt. This takes some time to learn but it gives you unrestricted control in the kind of system you are building for your software development.

    In fact Tiny Core provides a helpful book that explains some of these options.

    http://www.tinycorelinux.net/book.html

    The book covers the graphical interface which is available on a much larger ISO file. I chose to go the pure command line only route and adapt the instructions for the tc-install.sh script which only got a passing mention in the book.

    When you have completed those steps, it is now possible to boot directly into the hard disk without the cdrom!

    qemu-system-x86_64 -drive file=harddisk.img,format=raw,media=disk
    

    The main benefit of installing to a hard disk instead of just booting from the cd image each time is that any programs you install with tce-ab or tce-load will stay there and be available to use each time you reboot.

    Making a Persistent Home Directory

    However, the files in your home directory are deleted each time you reboot. However, there is an easy fix for this. We will open the bootloader configuration and add an option to restore the backup from sda1.

    First, open the config file:

    nano /mnt/sda1/tce/boot/extlinux/extlinux.conf
    

    And add this option to the line that starts with APPEND.

    home=sda1
    

    This means that the home directory will become an actual directory on the hard disk instead of a temporary location only loaded into RAM. With this step completed, you can begin programming in Assembly on your Tiny Core Linux system! Time to install the tools.

    NASM is already in the repository and this is the standard way to install it.

    tce-load -wi nasm
    

    However, FASM is not available in the repository but it can be easily downloaded from the official website. However, this system only has a terminal with no web browser. Don’t worry, there is a way! We can use the wget command that is already in Tiny Core Linux!

    wget http://flatassembler.net/fasm-1.73.35.tgz
    

    After the TGZ (Tar with GZip compression) file downloads, we need to extract the files from it.

    tar -xf fasm-1.73.35.tgz
    

    Now you can change to the fasm directory that was just created.

    cd fasm
    

    Inside are several files including “fasm” (the actual executable that can assembly all the programs in this book), “fasm.txt” the manual in plain text that describes both how to use FASM and also introduces the Intel instruction set. The “license.txt” may also be of interest.

    To install fasm, we should add it to somewhere where it can be in the current path. Check what the path is currently with this command.

    echo $PATH
    

    One of the directories that is in the path is “/home/tc/.local/bin”. This gives us the information we need to install fasm permanently there. Just copy fasm there like this:

    cp fasm ~/.local/bin
    

    Now enter “fasm” as a command and see what happens. If you see the following output, then it was done correctly!

    flat assembler  version 1.73.35
    usage: fasm <source> [output]
    optional settings:
     -m <limit>         set the limit in kilobytes for the available memory
     -p <limit>         set the maximum allowed number of passes
     -d <name>=<value>  define symbolic variable
     -s <file>          dump symbolic information for debugging
    
    

    This means that you can assembly and run any program that I have included in this book, Assembly Arithmetic Algorithms for Linux.

    Keep in mind however that programming in this terminal based environment may feel different because you have to use terminal text editors like vi,vim, or nano. These text editors are just as good as graphical ones except that there is no mouse support. However, I was hoping to give you the retro feeling of programming like a crazy person in the 1980s.

    This is just the tip of the iceberg about what Tiny Core Linux can do. However, I wanted to at least spend this chapter introducing this lesser known distro because it is small enough that it emulates with QEMU flawlessly.

    Although Debian, Ubuntu, Linux Mint, and many others are better than Tiny Core because they have more programs in their repositories, they are too large to emulate because their graphical X Windows System displays use a lot more memory and it is harder for a PC emulator like QEMU to emulate them properly.

    Consider Tiny Core Linux as a way to test the waters and get used to running commands in a Linux terminal before you are ready to install a more mainstream distro like Debian. However, once you have made the jump into the wonderful world of Linux, you will not be disappointed as a programmer because there is no shortage of text editors, assemblers, compilers, and even video games. For example, Final Fantasy 6 and Chrono Trigger from my Steam game collection both work on my Debian Linux system. Ironically, my Windows 11 laptop could not run Chrono Trigger.

    I wrote this chapter to do my small part in the world to help people discover the things I like about Linux and the freedom it offers.

    Tiny Core Linux makefile

    The following makefile is something I use to run commands for emulating Tiny Core Linux inside QEMU. I use it to remind myself what commands I use to set up a new installation of Tiny Core Linux.

    Core-harddisk:
    	qemu-system-x86_64 -drive file=harddisk.img,format=raw,media=disk
    Core-cdrom:
    	qemu-system-x86_64 -drive file=Core-current.iso,media=cdrom
    Core-cdrom-short:
    	qemu-system-x86_64 -cdrom Core-current.iso
    Core-cdrom_and_harddisk:
    	qemu-system-x86_64 -drive file=Core-current.iso,media=cdrom -drive file=harddisk.img,format=raw,media=disk
    harddisk:
    	qemu-img create harddisk.img 1G
    

    Of course, this chapter also serves as a reminder to myself about how to use Tiny Core Linux and also why it is one of my favorite distributions of Linux. I like it because sometimes I just want to have a text-only system upon which I can improve my scripting and command line usage skills. Modern Linux distros include Graphical User Interfaces where you can point and click your way to doing anything, but from the beginning it was not this way. Therefore, I always promote learning the Linux terminal because it is the one thing that stays consistent and trustworthy no matter which distro you are using at the time.

    I will admit that using the command line is a huge learning curve when you are first getting started. Perhaps I found it easier because I grew up with MS-DOS where text commands were all I had. In any case, knowing how to navigate directories on Linux to edit, copy, rename, and delete files is helpful because there are so many different graphical user interfaces and I can’t remember which menus to click on.

    But the real reason text commands are the best is because text can be copy pasted and then I am able to give you the exact commands to run so that you don’t have to spend months google searching for the right documentation on all these different things!