Adam Bright

Christian, husband, dad, software developer, aspiring entrepreneur

Read this first

Communication Checklist

I am involved with several organizations across my professional and personal life. While they have mostly been reasonable to work with, I have encountered a handful of organizations that I wish had better communication skills. Ideally, every message coming from an organization is crafted in a way that the meaning they intend is transmitted with no revisions to the recipient(s)? While perfect transmission of meaning between two parties with different life experiences is close to impossible I believe there are steps we can take to get close to that goal.

Airplane pilots have an important job to keep their passengers safe. To ensure that they are adhering to all of the safety protocols that have been established they use checklists. A consistent checklist may seem tedious for a job that is performed every day but it is an effective tool to verify that what should be done is done.

Perhaps...

Continue reading →


The Myth of Jesus’ Parables

In Mythologies, Roland Barthes describes and offers several examples of a type of rhetoric he refers to as myth. Myth is a second-order semiological system. This creates an abstraction that obscures the intended message initially but causes the receiver to come to the conclusion that the message is natural. The character of Jesus in the bible engaged in rhetoric to convince the Jewish people living in the first-century of the common era that living as citizens of the “kingdom of God” was a better way to live. To do this he told stories called parables that utilized Barthes’ idea of myth to convey his message.

Summary

At its most basic level, Roland Barthes’ states that “myth is a type of speech” (Barthes, 1991). Myth is a mode of communication that uses signs and is not constrained to linguistics. Anything can be used to construct a myth but myth is not inherent to anything. Mythical...

Continue reading →


Reading Between the Lines

The Importance of Defining Relationships in Documentation

The best organizations have a clear vision of why they exist (Sinek). This answer to why an organization exists is clearly important but tends to sit isolated within documents set apart from documentation around the people and processes supporting the why. This disconnect makes it difficult to gain an understanding into how aligned an organization is to why it exists.

The German philosopher Hegel tells us that absolute truth or knowledge of a concept (Concept is used as a general idea or understanding of something, here it is primarily used as a term for a goal, process, role, or resource within an organization.) is a destination that is only reached through the construction of a hierarchy of smaller truths (Fox, page 112). Each smaller truth within the hierarchy is its own absolute truth destination with its own hierarchy...

Continue reading →


The importance of margins

Take a minute and look over the layout of this page. Most importantly I want you to observe what’s on the sides of this text. Assuming you don’t have your browser zoomed in to 400% you should see blank space on either side of this text. At first glance this seems wasteful. We live in the information age and every day people are coming up with new ways to increase the density of information. That blank space on either side is called a margin and it serves an important purpose. With a margin you can remain focused solely on the content you are viewing and not be distracted by your environment. If the words started at the very edge of the screen and each line went as far to the other side as they could a couple of things would happen. First, you would burn through a lot of mental energy just trying to keep track of where you are in the text. Shorter lines allow the reader to...

Continue reading →


Software developers are people too

I was just in a conversation where it was revealed that a development manager for another team had recently left the company. An actual statement that followed:

But it doesn’t matter [that he left] because he didn’t write any code, and it should only have a psychological impact on his team.

I am a software developer, which means I know a handful of languages that computers understand. As far as I’m aware, that doesn’t preclude me from being a human being. The statements above tell me that the person who said them considers the “smart people” (term used when I was interviewing) who work for the company are hired exclusively as machines that are micro-managed to produce a narrow set of outputs and nothing more. This is demonstrated clearly when there are questions of design and creative problem solving they can only be addressed in meetings restricted to a handful of managers who are...

Continue reading →


How to improve the world: planning

We can all agree that the world can and should be improved. There are numerous problems to be fixed and areas that can be improved. These improvement opportunities exist at every human scale from global warming to not knowing how to file your taxes to maximize your returns. I’m guessing you have had ideas about how some these improvements could be made. In my opinion, bringing these ideas to life is performed most effectively if you can define the knowledge hierarchy around the solution. That is, define what your improvement is, then determine why this improvement should be made, and finally determine how it can be implemented. Note, that answering these questions may take time. Sitting and thinking may not feel productive but I assure you there is a necessary amount of thought that need to go into any improvement and it is usually more effective and efficient to have put the...

Continue reading →


Hack attempt

As I was trying to build a simple system to control downloads for a project I’m working on I happened to leave journalctl open and following logs for the application I was trying to debug. When I came back to my computer I noticed that I had inadvertently captured an attempt to hack my server. The full list of paths the hacker tried are at the bottom of the post.

Looking through the list of attempted paths I couldn’t help but notice some interesting trends. First, with the exception of /webdav/ all of the paths have the .php extension. PHP has what I’ll call the ‘Windows problem’. Windows catches all kinds of flak because of all the viruses that get into Windows systems and wreak havoc. I believe this is mostly due to Windows success as an operating system. If the Windows operating system didn’t have the market penetration that it did then people wouldn’t bother writing malware...

Continue reading →


Let’s build a logic bomb (for legitimate reasons) in Go

For the past couple of months I have been working on a script library tool written in Go. This is a tool that I wanted to sell and I wanted a way for people who were interested to give the tool a test drive. A lot of tools today need to connect to the internet in order to function which makes it easy to control access since the server can track when a client application was first used and can simply forbid access to that application instance after the trial period has passed. The tool I was building is intended to be run completely locally. I needed a way to build a binary that will have full functionality until a certain amount of time has passed at which point it would only print a message directing the user to purchase the full version of the tool. Not really malicious code but essentially disabling the application after a certain condition is met (the trial period ended), a...

Continue reading →


Fallout: New Vegas

https://xkcd.com/606/

I’ve been dealing with some issues over the past few months that have prevented me from being as physically active as I would like to be. So a couple weeks ago I decided to embrace it and purchased a “new” game I could play on the computer, Fallout: New Vegas. I had read a lot of good things about the game and I wasn’t disappointed.

Right out of the gate, I was engaged in the story. Essentially the premise being that your character suffers severe amnesia after being shot therefore providing a solid premise for the initial setup of your character. You start with a fairly mundane selection of points allocated to strength, intelligence, etc. but then a nice touch comes when the doctor character guiding you through the setup gives you essentially a psychiatric evaluation to help assign initial skill points. This is where I really started to be impressed because it was such a unique...

Continue reading →


Defending Christian doctrine with sensibility

Listening to The Briefing this morning Albert Mohler described an exchange between Senator Bernie Sanders and President Trump’s nominee for the White House Office of Management and Budget, Russell Vought, during a Senate Budget committee nomination hearing. Mohler described the exchange as an attack on religious liberty, since Senator Sanders was declaring Vought unfit for office based on his religious convictions. While I’m sure Senator Sanders was trying block the nomination, I believe that the religious element of the attack was purely incidental.

Senator Sanders accusation of Vought centered around a blog post where Vought was defending his alma mater, Wheaton College, in their dismissal of a professor for statements regarding Islam that went against the Christian school’s core beliefs. Here is the line in the blog post that caused the controversy:

They [Muslims] do not know...

Continue reading →