Monday, December 8, 2014

Personal Ethics as a Computing Professional

I recently read the "ACM Code of Ethics and Professional Conduct," and I was struck by how much it seems that these are not followed by computing professionals. Granted, the majority of these professionals are not members of the ACM, but it seems that everyone should follow a basic code of ethics, regardless of membership in any organization. I think that the most important guideline to follow is that one should always try to contribute to society. Because there are so many people with such different skill sets, each person should contribute his expertise to benefit everyone as a whole. This could be, for example, identifying possible solutions to problems or planning an implementation. Personally, I find that contributing to or starting open source projects has been very beneficial to me in that I try to solve a problem as best I can while being exposed to the ideas of others.

Tuesday, December 2, 2014

Foreign Involvement in American Technology Enterprise


An article I saw recently described the backlash against social networks after a British Army soldier was killed by two extremists, one of whom had discussed such an act 5 months before the murder took place. In the particular case described, Facebook was the target of the discontent, with several government organizations and security agencies expressing their concern that such networks are becoming “[…] safe haven[s] for terrorists[…]”

As of around four days ago, the EU parliament voted “yes” on a motion to break up Google, an act that is purely symbolic in nature, but nonetheless expresses how other countries feel about American enterprise as a whole.

I find it interesting that the world is starting to take more notice of American businesses and, in short, find them responsible for horrific events or negatively impacting economies. In general, I feel that governments should not be involved in economics, so I disagree with a European government or organization trying to change any business, much less American ones, but I do think that the people of those countries should be able to express their opinions.

That said, I feel that one of the biggest differences between countries is the idea of how businesses should be run. For example, the EU may think that Google is a monopoly, but the only legislature that would affect Google would be American, and as of right now, few people in the United States feel that this measure is necessary.

In the case of Facebook, there was some criticism over the lack of policing of content by the company, but many people in the United States and in the world believe in the idea of an open internet with protected privacy. Regardless of Facebook’s policies regarding monitoring of user content, there is a discrepancy between public beliefs and desires in the United States and governmental or organizational beliefs and desires outside.

To summarize, as long as governments exist as they currently are, federal boundaries water down proposed changes. As a side note, an example of this is Presidente Pena Nieto in Mexico; several people outside of Mexico have requested a resignation, but the pressure hasn’t built enough for him to resign.

Sources:

http://www.nbcnews.com/tech/internet/european-monopoly-eu-parliament-urges-regulators-break-google-n257816

Thursday, November 13, 2014

Here Comes Everybody

I didn't like this book. It was redundant, and for someone who grew up with the internet, it didn't present too many new ideas. That said, it might be of more value to the right audience. I just felt that I wasn't that audience.

One thing that I did find interesting that was presented in the book was the idea of a purely democratic self-government. As an example, let us analyze the very first example presented in the book. A phone was stolen, and as a result the self-government decided to prosecute the offender. One of the methods of doing so was a de-privatization of Sasha's life. In and of itself, it may be wrong to post people's private information on the internet, as it is a breach of privacy. It may be unconstitutional. But the internet is not governed by national law.

Therefore, the way the internet governs, very simplistically, is this: if a wrong is done by one, a wrong may be done to that one. An example is the hacking group Anonymous. If the group decides that someone's actions are wrong, the group then does a wrong to that person.

The problem with this is that morality on the internet is defined by individual users and organizations, and even if a right action was done, someone may see it as wrong, and the actor may suffer consequences.

Wednesday, November 5, 2014

Title IX

I had never previously thought too much about women in technology; I had noticed the lack that existed in classes and interviews, but I didn't really consider my position on the topic. After reading some articles assigned for class, however, I found myself pondering the issue and possible solutions. The article in particular with which I disagreed was in the September 2003 Computing Research News (http://archive.cra.org/CRN/issues/0304.pdf), where Senator Wyden considers Title IX as a driving influence in rectifying the problem. I have strong opinions about Title IX; whereas it is a good idea and has paved the way for many beneficial programs, I also have seen detrimental effects. History has shown on several occasions that the involvement of government in many issues is detrimental to the development of society; as such, any progress that is made in the name of a law passed by the government is a two-edged sword. I feel that there definitely should be more women in Mathematics and Engineering, but not by way of Title IX.

Wednesday, October 29, 2014

The Church's Use of Technology

After reading the article by Kathleen Lubeck in the Ensign, I was a little unimpressed by the information presented until I realized that it was published in June 1984. It is comforting to me that technology savvy members of the church have always been ready and willing to share the newest technological advances with other members of the church (or work for the church) to further the work of the Lord. An example of this is the FamilySearch project, which is using cutting edge research and technology to allow for easier genealogical research.

I feel that in general, people should be willing to help others; in the field of Computer Science, this could mean contributing to open source projects or developing applications to otherwise make lives simpler. I am a strong proponent of open source projects because it completely removes one of the prime motivators from the project (i.e. greed). Without greed, there is less reason to try to produce something mediocre just for the paycheck.

Thursday, October 2, 2014

Facebook's guinea pigs

http://money.cnn.com/2014/10/02/technology/social/facebook-experiment/index.html

Facebook has apparently acknowledged the error of their ways, as far as experimenting on us goes, after facing such an uproar about the breach of privacy and user trust their experiments caused. I'm not sure how I feel about these experiments; I feel that an A/B test would probably be okay, as long as the user agrees to it. I personally am a web administrator (and architect) for a website, and one of the site's main goals is to give users what they want. Therefore, I think any experiments should be opt-in instead of opt-out. At the same time, I feel that a website's owners can definitely monitor the endpoints that are being used on the server, but not the information that is sent across, nor to where it goes, without express permission from the user.

Monday, September 29, 2014

Genealogy and Genetic Diseases

I have seen and heard some claims recently about family history being used in genetic counseling as far back as the 1600s. To those who are unfamiliar, genetic counseling is the use of a family history to track genetic diseases in a family for early detection and treatment, as well as family planning. I find it interesting that it is possible to track these diseases back as far as a pilgrim ancestor to the United States, for example, and I wonder how easy it is to determine whether or not ancestor x actually had the genetic disorder in question. I also wonder at the accuracy of determining someone's cause of death that far back. Without some real evidence, I shouldn't trust the claims, but it is definitely interesting to think about.

Thursday, September 25, 2014

Shellshock

http://www.cbc.ca/news/technology/shellshock-computer-bug-already-exploited-by-hackers-1.2777514

Something I found interesting about "shellshock" (though I prefer "bash bug," as there are more shells than bash, and as far as I can tell, the flaw only effects bash) is that there doesn't seem to be a patch yet, although the article does mention a fix. The problem is that there aren't enough details in the article (or in any security related article) to determine the present state of the bug. As far as I can tell, the difficulty with this bug is that there must be a software release to fix the issue, but there are so many system administrators who don't patch and update on a regular basis, leaving a plethora of systems wide open to attack. As someone who has worked with bash for a long time, I feel like the details that I've been able to find haven't really told me whether or not my own systems have been compromised. I've never used environment variables (the setting of which is exploitable) in my servers (as far as I know), so I don't think I'm vulnerable, but more details would help.

Monday, September 22, 2014

Apple's iPhone 6 Release

http://www.businesswire.com/news/home/20140922005316/en/Weekend-iPhone-Sales-Top-10-Million-Set?smid=tw-nytimesbits#.VCDaAPldWJK

The article posted comments on the record-setting release of the iPhone 6. Most interesting to me is the explicit bias in the article. The author fawns over Apple technology as though compensated for the article by the resurrected Jobs himself. The article asserts that the iPhone 6 and the iPhone Plus are the "biggest advancements in iPhone history" with "innovative technologies." That said, the detractors of the iPhone claim that it is behind the times, and that Apple's "innovative" features have existed in Android phones for a long time. Yet despite the other options that exist and the features that are actually innovative in them, Apple sold more of the iPhone 6 than any previous model in its first weekend. I have many friends that have purchased the newest model, and in a survey, most of them said that their purchase of the iPhone is not a result of a superior product, but a result of a desire to purchase the brand. Why is it that we sacrifice technological advancement to be associated in some minuscule way with a company that seems to be "in?"

Wednesday, September 17, 2014

Orders of Ignorance

In reading some of Phillip G. Armour's Orders of Ignorance, I had a couple of thoughts. He describes in the beginning the process of development as an acquiring of knowledge. He also states that unknowledge gained is not necessarily unimportant; he quotes Edison as saying something along the lines of, and I paraphrase, "Mistakes show us how not to do something, which is just as important." I think this is a very important point, and it leads to one of my main thoughts. One of Armour's questions that he raises multiple times is, if we've done something before, why are we doing it again? An answer I propose is what is known as a pattern in software, where we are required to do something very similar, but not the same, as what we've done before. If we've made mistakes before, we already know how not to build the new product, and by process of elimination, we know what will probably work. This cuts our development time drastically.

Tuesday, September 9, 2014

Is Technology Divine?

Neil Postman fifth and final point in his talk "Five Things We Need To Know About Technological Change" is that technology tends to become "mythic," or accepted by the public as a God-given truth. His example is that, if he were to suggest changes to television programming, people would react as though he had suggested that we change when the sun rises. The culmination of this point, at least in my understanding, was the comment that "technology is not part of God’s plan but a product of human creativity and hubris." This conflicts with Brigham Young's statement that "Every discovery in science and art, that is really true and useful to mankind, has been given by direct revelation from God." I feel that God has definitely directed our development technologically for His purposes, if for no other reason than that He created us and gave us our intelligence in the first place.

Saturday, September 6, 2014

The Cuckoo's Egg

This is my first post that directly addresses a requirement from my CS 404 class.

We were required to read a book that details Dr. Clifford Stoll's story about tracking German hacker Markus Hess titled The Cuckoo's Egg. It is a true account, taken for the most part from Dr. Stoll's personal notes written during the events of the story. After reading, we report on it and record our thoughts.

As I started reading the story, I was curious as to why I hadn't heard the story before. It was interesting to realize that the story took place (and was written) during the 1980s, making it the earliest account I've ever heard (or read) of hacking. Before reading, I already had started comparing it to the works of hacker Kevin Mitnick that I've read (The Art of Deception, The Art of Intrusion, and his auto-biography Ghost in the Wires). It was different from these stories, especially because it was written from the perspective of the lawful instead of the lawless, but I enjoyed it almost as much.

I enjoyed the story. It is quite fascinating, especially for someone who understands some of the more technical details of how the hacker was able to get in and how Stoll was able to defend against Hess's attempts to get classified information. Most interesting to me was Stoll's transformation during the story from someone who might not have cared so much about hacking and had a distaste for government organizations to someone who began to want to protect personal privacy and had to work with these same organizations (and encourage an increase in their involvement in people's lives). I feel that this transformation is similar to the transformation experienced by former students from an extremely liberal group to one that is more conservative upon experiencing life from a different standpoint.

My personal thoughts on hacking and cryptography are slightly different from Dr. Stoll's (at least as they are expressed in the story). I feel that it should be legal to try to gain access to a computer, but that private information should be private, and no destruction should occur. Unfortunately, it is so hard to police this, and perhaps harder to stop once access is gained. Upon gaining access to a private system, the temptation is to see what is available, but to me this is personal data. Also unfortunately, I can't really suggest a solution where breaking into a computer is legal and the rest isn't, but ideally (to me) that would be the case.

I also feel, however, that the race between people who try to protect information and people who try to access it is a waste of valuable time. Stoll does mention this slightly in his book, in that he personally had to sacrifice time doing things for people in protecting his system against Hess. As a result, I have a vision of a world where this protection (and the race) is not necessary. This would mean that all information would be accessible. This would also mean that anyone could access anyone's financial accounts.

I don't know how this could be implemented, but I think if we were to spend time trying to bring it to pass, it could happen.


Why I Use Linux

One of the most important things to understand about me when reading my posts and understanding my bias is how I feel about the different operating systems that are available. This post will technically be about my feelings toward Microsoft and Apple as well, but I will for the most part be discussing their operating systems as they relate to Linux. As such, this post will be in two parts. The first part will be my thoughts toward Microsoft and Apple, and the second will be why I use Linux.

As I mentioned in a previous post, I grew up using Microsoft products, even from the pre-GUI days. I tried, as far as possible, to learn the ins and outs of Windows operating systems, and even learned a little batch scripting. When I could, I would default to using the command line (cmd.exe), because it made me feel powerful. I felt like I could do anything I wanted to my machine, if I just spent the time to learn how. Unfortunately, as time went on, I found that this wasn't always the case, and as I tried to learn more and more about how Windows worked, it became more and more complex. I also developed a distaste for the number of junk programs and applications I had to install on my machine in order to get it to do exactly what I wanted.

I didn't have as much experience with the development of the Mac OS, and didn't work with it nearly as much as with Windows. It seems from my perspective that the Mac started as a more complex machine to use, and more convoluted than Windows, but that many people would use it because they felt the company had better policies than Microsoft (with the whole monopoly thing that was going on). My first Apple product was an iPod Mini (I think it was 4th generation). I used it because it was what people used as a portable music player at the time. It also seems from my perspective that over time, the Mac OS started to get better, especially once it started using Unix as its base, and my perspective of the product is that it is quite good now. Because of the "full stack" of Apple products (from hardware to software), the products can optimize different parts of the hardware, resulting in better machines. For example, as far as I've seen, battery life on Apple products is far superior to the competition.

The reason I don't use Microsoft products for the most part isn't a result of the company, it's a result of my view of their products as inferior. They give people what the want, but poorly. I don't use Apple products, not because of the inferiority of the product, but because of my dislike of their company policies. They tell people what they want.

I've seen a very distinct difference (in general) between people that use Windows and Mac OS, and people that use Linux. If there is a problem, people that use Windows and Macs will buy a new machine (or take it to a technician). Linux users will try to fix it themselves. Obviously, there are exceptions, but that has been my experience.

Now, the second part of my post: why I use Linux:

It started because I felt it was the best option out there. I didn't like Microsoft and Apple, the two producers of competitors to Linux. At the time, had a product emerged that I thought was better, I would've used it (which is still probably the case). As time has gone on, there have been a couple other reasons for why I stay with it. I will mention two.


1. I like to customize my machine and experiment with it.

As I mentioned, I worked with the command line on Windows. Out of all the options out there, Linux is the most customizable, because it's open source. I can download the source code, edit it, compile it, and then put it on my machine. I'm a fan of the theory of open source, and will perhaps get into it in a different post, but I try to keep posts to the point, so I won't discuss it too much here.


2. It's simple.

I know a lot of people will disagree with me, but I think this is a valid point. Let's say, for example, that I want to connect via ssh to another machine. If I were to use Windows, I would have to find a program that allows it (a common one is PuTTY). But then, I have to worry whether the program I use has all the features I need. For example, what if I want to copy a file from the remote computer? I could use a variety of applications and protocols (ftp, scp), but I have to find a new program (WinSCP?). Or, if I want an extension of the same feature? I have yet to find a program for Windows that has the same functionality as 'ssh -X' using openssh.

Now, I know that Linux also has to download programs to handle this feature, but it's a lot easier to do. Openssh has all the functionality I've mentioned. Also, it's simple to install it. Some distributions even have the program pre-loaded onto the machine, but I use Arch, so I had to get it myself.

Another example is the handling of compressed files. Most good applications on Windows to handle zip, rar, tar, tgz, or any other popular compression method cost money (often with free evaluation periods). The best applications to use these on Linux are open source and free.

Some get around this by using something like Cygwin, but it's another application to install.


In some cases, it's true that Windows and Mac OS X are better at doing certain things (like media editing), but I think there will come a day when this is no longer the case. Again, I will discuss my views on open source software another day, but I feel that eventually there will be open source alternatives that are better than currently used applications.

If you have any questions or comments on this post (or even would like to express your opinion of the situation) please do so. Ad hominem attacks on me (or anyone else) will not be tolerated, and please read other comments before posting, but within those limitiations, post anything you like.

Friday, September 5, 2014

About me

My name is Jeffrey Angell. I'm currently a student at BYU (United States) studying Computer Science. I've taken classes in several imperative languages (and am currently taking some in more), but my real experience lies in personal projects and work experience.

I'm currently working as a quality engineer writing automation testing (among other things), and have previously worked as a web developer (full stack).

I've used a variety of technologies over the years. I started with Flash programming (Actionscript 2.0), then worked with Java, PHP, C++, C#, Python, C, Assembly, Ruby, HTML, CSS, JavaScript (including JQuery and AngularJS), with some exposure to a variety of others that I will not list (it would be a long list). I've also worked with database technologies (mostly SQL RDBMS, but some NoSQL as well). You might think that this would pad my resume, but as I started preparing my resume for possible career fairs this semester, I realized that people are more interested in the techniques that I've learned. For the most part, I've done web work (because of a fascination with the idea of networking), and have since moved on to all types of distributed systems (I've worked somewhat with Java's rmi, for example). I don't do graphics design well, but given designs I can develop the product.

My OS history started with MS-DOS, then moved with Microsoft through Windows 95, 98, XP (skipped ME, of course), then Vista. I first heard about Linux during the XP era (my high school years). I had a friend who used it extensively. At the time, I didn't look into it too much, but when I started college (and had my own computer), I started working with Ubuntu (as it was what everyone I knew used). I used both Windows and Ubuntu off and on for a couple of years (dual-booting, vms are too slow for me), but in 2013 (or late 2012) I decided that I had had enough of Windows, and switched over completely to Ubuntu. By this time I had used Fedora as well, but it didn't appeal to me. After a few months of using Ubuntu, it started to bug me. I know people will be opinionated on this topic, so I'll explain some of my reasons. I started getting error reports every 5 to 10 minutes, saying that something went wrong, but it wouldn't tell me what. Arguably, at the time I didn't know enough about Linux to really figure out what was going on, but the error was really annoying. I also didn't enjoy the user interface. But, because I had been using Debian based systems for a while (I had experimented with a couple of distros, including Debian itself, from the family), I was somewhat experienced with those commands in the terminal. As a result, I switched to Linux Mint. I used mint for another few months, and found that I really liked the user interface (Cinnamon desktop environment), but as I started understanding more about Linux in general, I came to feel that Linux wasn't quite doing everything I wanted. It was then that, on the suggestion of a coworker, I decided to try out Arch Linux. I like (and agree with) the goals and ideology of Arch, and the community is great, but one day I'll have to tell the story of my installing Arch for the first time. Since then, I've done it on more than ten systems and become much more familiar with it. About a week ago I installed Enlightenment as my desktop environment, and it's been good so far.

I do have experience with other distributions as well. At work I use OpenSUSE 13.1 with KDE4. It works okay, but it's not my preferred distro.

In my next post I will address my current ideas about various topics (including why I don't use Windows or Mac OS X). This one was just getting too long.

Introduction

This blog was created for my Ethics in Computing class; one semester-long assignment is to post to a blog every so often.

But, since I've had a lot of thoughts recently on technology in general, I've decided that this will also host some of my personal thoughts on computing, technology, and possibly the world in general (though I think everything will tie into technology somehow).

There will be an about me post slightly after this one that will explain my biases and experience in computing and software development. I thought it better to create a second post, rather than cram it into this one, just for formatting's sake.

I hope that some of the things I post will be interesting or entertaining to others. Feel free to post comments or suggestions on any post.