Please note: This site is in an active redesign. Some things might be a little off 🧐

EH

school

Hi Mark, Thanks for your post. I agree that Wordpress and PHP are linked together and as long as Wordpress is around, PHP will be around. It is relatively useful, especially it’s ease of use in shared servers. It’s unfortunate though, because I find the typed variables helpful in things like TypeScript and Swift. I would love for more web hosting to start building in more support for things like Node.js, Swift or Go. They have some great features that help building web applications easier and more safely, but it can be a large overhead to maintain them currently.

Thanks, Eddie

HI Heidi,

Thanks for your post. I agree with everything you said about PHP including “the ease of the language means that it is often poorly written.” I think the ease of the language is also one reason that PHP is used so much across the web. It has a relatively low maintenance burden because unlike many other languages pretty much all shared web hosting providers have PHP pre-configured so all you have to do is upload PHP files alongside your HTML files and it will just work for the most part. This is a big difference in comparison to languages like node.js or Go where you have to start the program running and then figure out how to keep it running 24/7.

Thanks, Eddie

Hi Miranda,

I enjoyed reading your post. I was happy to read as you wrote about Jesus’ knowledge of Judas’ betrayal. That is the prophecy I chose as the one that stuck out to me the most as well. I agree that “Jesus not only forgave his persecutors, but felt love for them.” I think we often think about Jesus’ pain on the cross but not his pain on the earth while he dealt with temptation, betrayal and more. Jesus dealt with a lot when he was on earth beyond just his final death on the cross. But thankfully, he didn’t avoid pain and discomfort and chose to love Judas and all other sinners, including us!

Thanks,

Eddie

Hi Brooklyn, Thanks for your thoughtful post. I agree with you that I believe that Jesus is the messiah. For the purposes of this forum I took a bit of a different view. While I do believe that Jesus is the Messiah, I don’t believe there is logical proof of Jesus being the messiah. To an extent, sure, but I think there are several things missing. First is proof that the Bible verses themselves are true, which have been presupposed to be true in this course. Secondly, as this course pointed out, the Bible verses present a very convincing hypothesis test, however a hypothesis test is never 100%, instead it is all about probabilities. I think ultimately we agree though, I think God didn’t intend for there to be absolute or logical proof of Jesus as the Messiah because, as you mentioned, God desires faith. Faith is the foundation of our beliefs and thus God has always designed things to strength and encourage our faith but never to replace it with sheer logic.

Thanks, Eddie

I think these verses are definitely evidence of Jesus being the Messiah, I also personally believe that Jesus is the Messiah. But the real question is whether or not there is absolute proof. To this, I would say no. My answer no has both a logical and a biblical basis.

The logical basis is around the hypothesis test discussed in the Discussion Board Forum 2 instructions. It mentions that to reject the hypothesis that Jesus is not the Messiah would require a level of significance 0.00000000000000001 and the smallest level of significance used in mathematical equations tends to be 0.01, which means that the hypothesis that Jesus is not the Messiah can definitely be rejected, but that means you have to think about what the level of significance means in hypothesis testing. The level of significance is “the probability with which we are willing to risk a type I error”. A type I error means that we reject the null hypothesis (Jesus is not the Messiah) when it is in fact true. This means it is only 0.00000000000000001 likely that Jesus is not the Messiah, but logically and mathematically there exists a small variable of chance that we could be rejecting the null hypothesis incorrectly.

The biblical basis for the fact that there is no absolute proof that Jesus is the Messiah comes from the fact that God requires faith. Hebrews 11:6 says “Now without faith it is impossible to please God, since the one who draws near to him must believe that he exists and that he rewards those who seek him” (CSB). and Hebrews 11:1 defines faith as “the reality of what is hoped for, the proof of what is not seen” (CSB). Which means in order for these verses in Hebrews to be true, God requires faith and faith requires us to place our hope in God. If we had absolute proof of Jesus being the Messiah faith would not be required.

Liberty University CSIS 316

PHP's Relevance

(This post was written as an assignment for my CSIS 316 class as a short ~300 word analysis of PHP vs newer programming languages)

PHP has been the bedrock of web development for decades. It was actually the first server-side language I learned how to program, 15 years ago. It has historically been one of the most dependable server-side programming languages, but the question is does it still hold that place in today's fast changing, ever growing market of programming languages?

PHP has a lot of things going for it, historical reliance, a large base of programmers who know and program it, server support in essentially every shared hosting plan available, as well as being the foundational language in two of the most popular Content Management Systems available (Wordpress and Drupal). Ease of use for newcomers is also key to its success. Once PHP is integrated with the web server it rarely if ever has to be managed or restarted and individual PHP scripts are run automatically by the PHP server service.

There is a lot of competition in today's programming market. Many of them have better tooling, are more exciting to work in and have great features that help with reliability such as typed variables, native multi-threading and speed of processing. But are these improvements worth the cost of the reliability and dependability of PHP? For me, that depends on the use case. If the application isn't going to have anyone experienced with managing it routinely, PHP is the best route to go because of the ability to easily deploy it on shared hosting environments by just uploading the scripts, while other languages such as Node.js, Swift, Go and others require an executable to be run and to ensure it remains up in the event of a crash, there needs to be a secondary server that restarts the application. If you need modern tooling with robust features such as typed variables and multi-threading it can help to use a more modern language rather than trying to use new libraries that make PHP more modern.

Ultimately I think it comes down most of the time to personal preference. There are likely few cases where any specific server-side language is going to drastically change things unless the application is frequently under a large load or has a lot of intensive data processing tasks.

Liberty University CSIS 316
Hi Matt,

This is a great post, outlining a lot of important aspects around security and the people involved. I agree that there are essentially three roles and that those roles might be fulfilled by the same person or by two or three different people or even organizations.

Something I would add in regard to using trusted wifi connections is that there are a lot of services out now that provide VPNs (Virtual Private Networks) that provide a secure tunnel between your computer and that computer. VPNs are a great solution to using the internet from potentially insecure wifi locations like fast food, hotels and more.

Liberty University CSIS 316
Hi Laura, Great post! I definitely agree with you that ultimately security falls on the owner of the website, regardless of who is actively managing the security measures. I also appreciate that you mentioned that you should hire someone unless you have extremely good security knowledge. I think a lot of people just assume that what little they know is good enough rather than thinking critically about how much they know about internet and website security. I really think all websites in today’s day and age should be running https/ssl, not just finance websites, because SSL certificates are often inexpensive and some are even free (a service called Let’s Encrypt helps provide free SSL certificates). I think by spreading https/ssl across the web it helps alleviate a lot of issues that users run into.
Liberty University CSIS 316
Who is responsible for website security?

Website visitor security is important and I believe the responsibility falls on a couple roles which may or may not be the same person, company or separate people or companies.

A large amount of the responsibility for website security lands on the website programmers both front-end and back-end. There are a number of various attack vectors that hackers and other malicious parties can attempt on a website and it is up to the programmers to understand common errors and to enable robust programming tactics in order to avoid valuable customer information to fall into the wrong hands.

Responsibility also falls on the web server manager. This could be the programmer or a separate person in the same company or even a separate company if web hosting is outsourced. The security of the website itself doesn’t matter if the server that is making the website available to the rest of the web is insecure. For this reason, it’s important for programmers that don’t understand the dynamics of web hosting management should outsource that task rather than trying to handle it themselves.

Yay!! Spring 2018 classes complete ✅

No more classes until this fall (after Luke is born)

Hi Paul, Thanks for your interesting look at how Jesus’ kingdom is an example of encapsulation. As you were talking about the Kingdom being hidden it made me think about how we become saved and yet, our true salvation is delayed until Jesus’ second coming. It reminds me of both encapsulation and asynchronous behavior. I know we haven’t started discussing asynchronous functions yet, but it’s a powerful function that allows the caller to keep doing other things while they wait for a response to a function. It helps prevent blocking the user interface while long running functions might need to happen. It got me thinking about how we get eternal life and how we don’t get to know much about it. As I mentioned in my initial thread post, salvation is a black box and a perfect example of encapsulation in that all we can do is use a getter to understand who Jesus is and what He has done for us, as well as a setter function to commit our lives to Jesus’ purpose. But salvation is kind of like a long-running function in that our response is delayed. We know we used the “setter” but we don’t really see a tangible response until we die or Jesus returns. However we aren’t just supposed to sit and wait for the response. Instead, of a normal synchronous function that might block the main thread of our lives, God designed it asynchronously so that while we wait for Jesus return on a background thread, we can continue going about our lives on earth. In fact, we don’t just choose meaningless tasks either. Matthew 28:18-20 is a method call to us, that we shouldn’t just sit around but that while we wait for the asynchronous callback of our salvation, we should share the Gospel and make disciples.
Liberty University CSIS 312
Hi Justin, What a great example, using Moses parting the Red Sea as a demonstration of encapsulation. I think miracles are one of the best forms that reflect encapsulation. As you talked about that I thought about miracles throughout the Bible and how Jesus himself performed a lot of miracles. Jesus was God, but when He walked the earth, He embraced his humanity. That means Jesus didn’t heal people through His own power as God, He healed people through the Father’s power as God the same way that Moses and all the prophets did miracles. So I was thinking about if a co-worker and I started talking about Jesus’ miracles and how the happened. In John 9:6 Jesus spits in the dirt, makes mud and spreads it across a blind man’s eyes. He is healed when he washes the mud off his eyes. In John 4:46-53 Jesus heals a boy far away just by telling the father “Go, your son will live”. Normally people might think it is unlikely that Jesus healed people in this way. But I thought if I was talking to a co-worker, this would be easily explained in terms of encapsulation. Jesus didn’t want people to think healing people was like magic, like you say something specific and wave your hand. So Jesus used the concept of encapsulation to hide the details of healing. Instead, He engaged with each person differently, but privately He communicated with God the Father and requested the healing. God the Father and Jesus communicated through prayer. Which is much like a public interface to a class. Jesus can use “setters and getters” to communicate with God the Father. We can do the same thing. So if prayer is like setters and getters, why are all our prayers not always answered? Because like any good engineer, God has set up conditions inside the “setter” of prayer to ensure that only prayers that align with His will are acted upon or “set”. The healings were never about the actions Jesus took, it was about the relationship and communication with God the Father, the same way that our objects in Java work because of communication between each other.
Liberty University CSIS 312

God's Use of Encapsulation

(This post was written for an assignment in my CSIS 312 class at Liberty University. I was assigned to write about how the Bible shows examples of the programming concept: Encapsulation)

Encapsulation is a programming concept that refers to the ability to hide information about how a section of code works, instead requiring the person using the code to only have to know what information to provide and what results to expect. “Implementation details can be hidden within the objects themselves. This information hiding, as we’ll see, is crucial to good software engineering” (Deitel & Deitel, 2018, p. 12).

A great example of encapsulation in the Bible is Salvation. As Christians we only have to know what Jesus did: that He died on the cross for our sins, and rose to life defeating sin and death (1 Cor 15:3-4). If we believe that and put our trust in Jesus for salvation, He will save us. How does this work? We don’t understand the entirety of it. We understand some things, that death came for everyone through Adam’s sin and yet is offset as resurrection comes to everyone through Jesus’s righteous death (1 Cor 15:21-22).

The core of what we have to know is just what we have to provide and what results to expect: We have to believe in God and that Jesus, His son, came and died for our sins to restore our relationship with God. We know that happens because God has provided the explanation (or in programming terms, interface) for us through the Bible. However, the exact details of how Jesus’ death on the cross for us reverses the sins of each of us is never truly understood and explained. The Bible uses metaphors to explain to us what is happening (that we are justified, that we are adopted) but it never explains how it happens. This is the essence of encapsulation when it comes to programming.

A second form of encapsulation in the Bible is the battle at Jericho. In Joshua 6, God tells Joshua to have the Israelites circle Jericho one time a day for six days and on the seventh day to circle it seven times and to shout and blow the trumpets (Josh 1-5). This is the input: circling Jericho and blowing trumpets. The output: The city of Jericho’s walls will collapse and the Israelites will be able to take the entire city.

God doesn’t explain how the city’s walls will collapse or what circling the city has to do with it. That is all God’s business. All that the Israelites have to worry about is doing what God said, and watching as they get the results that God promised. In this sense, Jericho is a perfect example of God using encapsulation.

📖 Read pg. 604-645 of Java How to Program, Late Objects (Day 28 of 100)
📖 Read pg. 517-563 of Java How to Program, Late Objects (Day 24 of 100)
I like Patrick, how you explained “God created each thing for a purpose and gave each item a function and a role that would be unique to that creation”. In addition to that, Professor Sipantzi, I like how you mention information hiding or encapsulation. I think that while the creation account is an example of encapsulation, that also every object of creation is an example of encapsulation.

Patrick, like you mentioned that plants and trees could use the seed class for the purpose of reproduction. Nothing outside of a tree has to worry about the way that it reproduces, it just produces a seed that when planted and watered produces a new tree. All the details and instructions for the seed to grow into a full tree are contained inside.

In a similar way, for thousands of years we as humans didn’t know anything about the way that we reproduce except the basic concepts. We don’t will ourselves to reproduce, our bodies handle it naturally through specific acts and functions. The output is a baby. The mother’s body handles growing, caring and raising the baby until it’s birth. None of this is things that we have to outright act upon, it is all hardwired into who we are as human beings. It is a function of the public interface that results in the creation of a new human being. “The price instance variable…is hidden inside the object…and protected by an outer layer of public methods” (Deitel & Deitel, 2018, p. 256). It’s pretty amazing when you think about it. It’s also kind of like humans are packages in Java and our individual systems in our bodies are classes, allowing for private functions that aren’t even accessible to our conscious mind, while other things have package access. I, as part of the Eddie Package, have access to things and control within my body that you, as an external package don’t.

Hi Evan, Thanks for your post, it’s very informative. I like how you said “The characteristics of God’s creations are the data or variables of objects in a program.” In fact, a great example of what you’re talking about is “let birds fly above the earth” (Gen. 1:20 CSB) and “all the creatures that crawl on the ground” (Gen. 1:24 CSB). These are definitions of functions that God provided to specific animals. You can imagine an Abstract function ‘move’ that for the CrawlCreature class that would make a creature crawl along the ground, and for a FlyingCreature class that would make a creature fly. They might have a variable called speed, because some creatures crawl faster than others and some fly slower than others. “The same message (in this case, move) sent to a variety of objects has many forms of results—hence the term polymorphism” (Deitel & Deitel, 2018, p. 363).

The way God created animals is done in a very polymorphic way. Some animals breathe air and other animals absorb air from water through gills. This can very through types of animals, even animals that swim! These differing abilities to breathe air or water is reminiscent of the way we use Interfaces or Abstract classes to cross Class definition boundaries.

In Genesis 1:24, it mentions “Let the earth produce living creatures according to their kinds”, which is another way the Abstract Animal class might work. An Abstract procreate function might be defined in different ways by different animals. Some produce live animals and others produce eggs. Some require two different genders (parameters) and some produce asexually (like it has no arguments).

Object Oriented Creation

(This post was written for my college class, CSIS 312)

God’s creation in Genesis 1 is actually very similar to object oriented development. The idea in object oriented development is that you want to start with the most general use case and then you want to create more definition from there.

In Genesis 1:3-5 God creates a general framework, in which creation can live. He creates light and darkness, day and night. Everything lives in day and night. Secondly, he creates sections of sky, water and land (Gen. 1:6-10) these are the general terrains and atmospheres that humans and animals will reside, but each one is vastly different than the other.

God then begins to get more specific, in Genesis 1:11-19 He begins to give attributes and behaviors to the various environments. He provides the Sun and the Moon for the sky and provides green vegetation for the land.

Finally, God created life in each of the environments (Gen. 1:20-25). He created birds to fly in the sky, all kinds of sea creatures for the water and all the creatures that walk and crawl on the land. In Genesis 1:25 it says “So God made the wildlife of the earth according to their kinds, the livestock according to their kinds, and all the creatures that crawl on the ground according to their kinds” (CSB). The phrase, according to their kinds reminds me of classes in object oriented development. It’s like God had class definitions of the different type of land creatures: wildlife, livestock and crawling creatures. Yet those aren’t even all the creatures God made, those are just the ones that inherit from the “LandAnimal” abstract class.

In Genesis 1:26-28, God decides to create man. Man in some ways inherits from the “creatures that walk on the land” class of animals, yet mankind has something special. An “added Interface” if you will, that provides particular attributes not found in other animals. “Interfaces define and standardize the ways in which things such as people and systems can interact with one another” (Deitel & Deitel, 2018, p. 386). In fact, this Interface is only found in one other definition. God. God provides parts of His character and personality into mankind even though God and humans are completely different, we share a common set of attributes. In a similar way, a programmer can have two completely different classes share similar attributes through an Interface.

Hi Mason, Great post! I really enjoyed reading it and how you expounded on each of the five points this week. In the third and fourth points, you wrote that “Effective writing requires that the writer conduct research and write with expression”. I think the third and fourth points that “God desires that we write effectively” and “God demands communication be clear and easily understood” also can be reflected through our work in this class and eventually through careers in Software Development and Engineering. When we are writing in Java, just as might write in life, there are effective and ineffective ways to write. Because each computer has limited resources (battery, processing power, hard drive space) and each user has limited resources (time and attention), we should ensure that the programs we write are done in such a way that they take advantage of the resources in the best possible way. For example, by asking for things from the user up-front and then working in the background while the user can focus on something else rather than interrupting the user to ask for something new every step along the way. In regards to point four, that “communication be clear and easily understood”, one of the key elements that makes Java and modern programming language differ from lower level languages like Assembly is that we are able to write our programs in expressive and clear ways. Like when we are choosing the names of variables or methods. All of these things are important because when we are working, we should “work at it with all your heart, as working for the Lord, not for human masters” (Col 3:23 NIV). To me, writing code is important because eventually someone else if going to have to edit that code and when they do, they will see the quality of work I put into it. That will reflect on my faith and my relationship with God.
Hi Isaac, Thanks for a well thought out thread. You talked about how “God in fact did leave us the Bible so that we may learn and study more”. I think an important aspect of that is the time spent in the Bible. While studying deeply through using study bibles and looking up word definitions can be beneficial, the best way is time. The more time spent, the more we know God. Psalm 119:11 says “I have hidden your word in my heart that I might not sign against you” (NIV). This is important because something gets in our heart and we know it the best because of time. The things in our hearts are the songs that come to our mind as we drive down the road, or the words of the movie that we can recite line for line. These things happen not just because we thought deeply about it for a short period of time but that we spent extended time listening, watching, reading over and over again. I believe that’s the best way to grow closer to God. This is a practice that is challenging to me and that I have a hard time with, but I believe in the value of it. Here is a quote I really appreciate from a book I’m reading on the topic: “At the end of the day, there is simply no replacement for finding a regular time and place, blocking out distractions, putting your nose in the text, and letting your mind and heart be led and captured and thrilled by God himself communicating to us in his objective written words” (Mathis, 2016, Loc 563). If we can all embrace and engage God’s word like described above, I think we can all have deep relationships with God.

References Mathis, D. (2016). Habits of grace: Enjoying jesus through the spiritual disciplines. Wheaton, IL: Crossway. Kindle Edition.