Featured

A Short Introduction

This is the post excerpt.

Hi.  My name is Chris Scaramella, but my friends call me Scary.  I’m a junior CS who is also a Trombone in the marching band and a member of the ballroom dance club.  I like old and new Nintendo games (ask me about the Switch and I’ll talk for hours) and I have never beaten Dark Souls even though I’ve started it like 5 times.

I think the biggest issue facing Computer Scientists right now is that of privacy vs. security, and trying to find a balance between providing personal data that can be useful to a person, and using personal data to exploit them or spy on them.  I think there is a lot of overlap in the way information can be used, which means there may not be a right answer to this question.

Patents

Ok, let’s talk about Intellectual Property.  This one was super dry and boring to read about.  The main thing I read about was the DMCA, which was first produced in 1998.

Basically the DMCA is a really solid compromise for web hosters like YouTube.  It basically says that they and their users can post whatever they want, as long as if someone requests that they remove a video they remove it.  So YouTube can safely allow anyone to post anything they want, without fear of being taken to court, and large companies can request that anything they want be taken down if they have a solid reason for it to be taken down.  Then appeals can even be made to see if something truly is breaking copyright, which can help prevent unfair censorship.  Now, this system has problems, but it’s incredible that it works so well in almost all situations, since it came out almost 20 years ago.  As for DRM, that is an interesting discussion that I do not know the answer to.  Personally, I think that people should recognize the loss in value that buying with DRM implies.  I really like video games, but I will not buy expensive games digitally because digital games are very difficult to use on more than one system, and they can’t be resold.  I buy as many games as I can physically.  The interesting thing is that most games that are sold digitally can be purchased at a fraction of their original selling price on markets like Steam.  I have a list of games that I want to play, as well as their original prices, and when I get bored I’ll waste time by checking the prices of those games on Steam and other websites…  but I digress.  The point is that I only purchase games on Steam if I am okay with only purchasing that game for myself to be played on my computer.  Most games are not worth their high prices unless they are on sale for like 90% off.

 

As for the morality of pirating, here’s my take.  There are a lot of content producers online, whether they make music, videos, or webcomics.  If I like the things that these people produce, then I will typically find some way to support them.  One way to do that is to pay for CDs or merchandise.  I don’t think there is a problem with me buying Megan Trainor’s newest album on CD, then ripping high quality versions of the same songs online, or getting around DRM schemes.  The problem occurs if I try to resell these CDs, because then other people are not supporting M-Train for her awesome music, and if not enough people support her, she may not decide to make a thirde album for awhile.  I can do the same thing by say, clicking on the sidebar ads of my favorite comic in order to add to their click-count, thereby getting them more money, or watching the ads before YouTube videos of my favorite content producers.  In all of these situations, I decide to devote my time or money to something that I appreciate people making.  I think that’s the best way to make sure that more of the things that I like are created.

Now some things I do might be contradictory.  I use Spotify, but mostly for how easy it is to find new music through Spotify.  Finding a new band that I love through Spotify is awesome, even though I know they aren’t being fairly compensated for it, because if I like a band, I’ll find some way to support them financially.

 

Automation

Ok, so lets talk about automation and jobs.

In the big picture, I don’t think that the results of automation on the job market are a computer science problem.  Regardless of the human ramifications, I don’t think that we should design automatons to be any less efficient, or not design an automaton because it could endanger people’s jobs.  If I work for Amazon robotics, I’m not going to poorly design my delivery drone to protect the jobs of delivery workers.  That just seems wrong.  However, I do see the point of discussing these problems since we are likely the ones who best understand the current limitations of computers.

The Luddite movement is interesting because it came at a time when there was a paradigm shift in the way that work was done.  The automation of factory machines is very comparable to the automation of factories themselves, because in each case, an entire job is being taken over by machines.  However, I think that the concept of people losing their jobs to automatons is silly, because that’s literally why automatons are designed.

A lot of people seem to worry that in the future, all money will be concentrated on a few people, while the rest of society has nothing.  There are a few problems with this concept.  For one, the only way big businesses are able to profit is when people buy their products, and if all people have no money they won’t buy any products.  Therefore it will become advantageous in the future for businesses to ensure that people have money to spend on products.  That’s just the way capitalism is.  A bonus is that if people stop working and then don’t have money to spend on anything, the government already has programs in place that will help people survive.  The redistribution of wealth will just lead to huge economic problems that will just make all of those automatons redundant and decrease consumerism.  So in other words, people should be supported in all situations.  The cool thing about capitalism is that business benefits when people have disposable income.  And capitalism is strong enough to find some way to make that happen.  How that happens will be a big debate in politics, but it will eventually happen.  Luckily as a computer scientist, I can just enjoy making those automatons.

 

Trolls

Ok so let’s talk about internet trolls.  I like to browse reddit.  I lurk, because posting comments doesn’t seem necessary most of the time.  Whenever I post a comment on reddit, I look it over a lot and make sure it is polite and won’t be interpreted incorrectly.  I wish that other people did that too.  Reddit has policies that try to protect their users.  “Witch hunts” which is a term that describes trying to look up a user’s personal information, are banned on all subreddits, and posting personal information is heavily discouraged.  Even so, Reddit is a breeding ground for trolls.  It is hard for moderators of subreddits to catch everything that goes wrong, and once something goes online it is easy for it to be picked up by almost anyone.  Even still, the rules that reddit has help protect users better than websites like 4chan.  I don’t like the fact that 4chan exists, because it allows redditors to say, “well we aren’t as bad as them, so we’re okay”.  Which isn’t true.  Gamergate sucks, but it isn’t the only serious problem that the internet has caused.  If you look around, you can find lots of people who’s lives have been ruined because they posted too much information on the internet, and people didn’t like it.  I think that the problem with the internet is that there is a blend of anonymity and real names.  If everyone were anonymous, harassment would stop where the account stopped.  Unfortunately, many accounts are linked to personal information.  If all accounts had real names attached to them, it would possibly help to curb trolls, since people could be held accountable for their words. After listening to the the podcast with Lindsey West, I realized just how threatening trolls can be.  People who’s opinions differ from yours can lead to a lot of hatred.  I think a lot of the problem of hatred is the general internet argument culture, that quickly leads to ad hominem attacks when logical arguments fail.

I am not a troll, and I hate how so many of the culture’s I am interested in being a part of can be so toxic.  There are a lot of games that I play, which I would love to discuss with other people, but I feel like if I interact with the community it will only leave a negative impression.  Take League of Legends for example.  I like to play with my friends, and my friends are good people, but they’re complete a**holes to the randos we play with.  Their excuse is that “That’s what the culture is, and everyone is doing it, but it just makes the game less fun, which sucks when I’m playing it in order to have fun with my friends.  I don’t get why trolling appeals to people when it’s way more fun to be nice and friendly with people.

Project 3 – Reflections

After going through this challenge, I am considering deleting my Facebook page.  The Messenger app can be accessed using my phone without an account, and I never really look at my facebook page anymore.  I get most of my news from more anonymous sites like reddit now, although now that reddit allows users to post comments on their own profiles, it is becoming annoyingly facebookish.  I hope that doesn’t get worse.

I choose technological convenience over privacy almost every time.  The truth is, I think it’s a little bit conceited to want to hide your personal details, because it implies your personal details are important to other people.  The reason why they’re important is that those details can be combined with other people’s details to create consumer profiles.  That doesn’t hurt me, and actually helps me, and I struggle to find a situation where the world knowing that I like Maroon 5 or Death Note negatively affects me.  This is an easy choice for me, because technological convenience is awesome.

It’s an interesting idea that you can find so much out about a person with just their name.  I think less privacy does have the potential to lead to people being more easily targeted based on their personal information, and I think that some information (such as credit card/ bank account info) needs to be stored securely, but other than these concerns, I think privacy is vastly overrated.

The Cloud

So let’s talk about the internet.  Actually wait, let’s start with an anecdote of little Scary when I was still in middle school.  My brother and I had saved up money, and pooled it to buy a laptop with help from our grandparents.  We used it to write papers and play games.  I often turned off the WiFi adapter because I rarely need to use the internet on that computer.  I didn’t often browse reddit or watch youtube videos.  My laptop was a versatile tool that didn’t require the internet to make it better.

Sometime after then, but before now, my mindset changed.  Now my computer needs to be constantly connected to the internet, not just for the aforementioned reddit browsing, but also to do things like SSH into my pi or the school servers for schoolwork, or to save data for the steam games that I play.  I now see a computer without the internet as a limited, weak tool.  Almost all of the activities that I perform now require an internet connection (meta: including this blog post, obviously).  So what changed?

Well first of all, I started using more features on my computer, but I don’t think that’s everything.  The games I used to buy were discs that I would put into my computer’s disc reader, which would allow me to play.  Now very few laptops have disc readers.  Before, I Had the storage space to put everything I ever wanted on my computer, with no worries about size constraints.  Now I have to choose between files to save locally on my computer while the rest of my files are saved to whichever cloud service is easiest.  I think that as new devices come out, they are designed with cloud services in mind, which in turn makes us more reliant on cloud services.

Take my surface for example.  The ports on it include microSD, thunderbolt, a usb port, and a headphone jack.  This is more than enough for me, and I’ve actually never felt too strained by the lack of ports on my computer.  Even though I love wiring up a second screen or additional keyboard to my device, the truth is I very rarely need to connect a cable other than a charger to it.  I access my homework files from online repositories, or by accessing the school servers themselves.  In other words, my computer is really just an efficient portal for accessing other computers.  Very little important computing is done on my machine, rather, it is just used to instruct other machines in what to do.  And smartphones are extremely guilty of being portals to access as opposed to doing things themselves.  So what does this mean?

The Microsoft Article, by Brad Smith, talks about how their goal is to empower people to do more, but they realize that with this power, there is also a need to protect people.  The truth is that in today’s world, the most important thing a tech company can produce is trust.  No large tech company would be able to survive if they lost the trust of their users, and companies are constantly trying to ensure that their users are protected so that they do not lose that trust.  I think that the best way to keep this system in check is to keep track of how large companies like Microsoft are using our information.  If they are selling it to the highest bidder for advertisements, that may be a problem.  But the best security against these processes is knowing that if a lot of people find out Microsoft has not protected their privacy, they will have the opportunity to switch to a new company.  This way, Microsoft must keep trust because it is good for business, and what’s good for business is what will happen.

 

 

 

 

Therac-25

Ok, so let’s talk about mistakes.  Yes mistakes.  Everybody makes mistakes.  To err is human.  We know that.  Of course, computers do exactly what they are told, so a computer makes mistakes when it is designed incorrectly or given poor code or instructions.  This stuff makes sense.  What is more important though is the following question:  How can we reduce the harm that our mistakes cause?

Since I love math, here’s an equation.  Let n equal the number of mistakes that are made, and let h equal the harm that that mistakes causes when it happens.  n*h = t, where t is the total harm that can be done in a process where mistakes are made.  There are two ways to reduce this t value.  We can either reduce n, or reduce h.  So how do we do that?

We already know that people make mistakes, therefore, the best way to reduce mistakes is by using redundancy.  If a program is correct 90% of the time, it has 90% accuracy, but if the program is run 3 times in a row(ok I know this implies a lot of things, but you get the concept) then 99.9% accuracy is achieved.

On the other hand, reducing the h value of a mistake is more difficult.  Mistakes are often unpredictable or difficult to control.  An example of lowering the h value of a program mistake may be simulating a rocket launch before the launch actually happens.  In the event of a mistake, there is no failed rocket launch.

For real world applications with high h values, even 99.9% accuracy is not enough.  In the business world, real world processes try to keep their processes “Six sigma” accurate, meaning less than .00000002% of processes fall outside of expected bounds.  For important things such as drinking water purity, even this number of mistakes may not be low enough!

Although computers can be very precise, they can also make mistakes, when programmed incorrectly.  We’re learning (or learned) in Operating Systems Principles that many programs that are written can run differently each time they run.  If a program is used in an important system such as a medical system, this can be catastrophic.

This leads us to the topic of discussion, the Therac-25.  The Therac-25 was programmed entirely in assembly code.  The article we read states that the coder for the Therac-25 likely didn’t have any “experience with real-time systems”.  In other words, the programmer did not set up the code to be able to deal with many things happening at the same time.  The initial problem happened when a controller tried to input a new command while the first command was still being processed.  Since the Therac-25’s h value for mistakes is incredibly high, the n value must be very low.  Older versions of the Therac had mechanical failsafes that would protect a patient in the event of a computer malfunction, which lowered the program’s h value(since a mistake would lead to a caught error), but the Therac-25 decided to forgo some of these failsafes, likely because of confidence in the design.

As a software designer working with systems with such a high h value, I think that there should be lots of error checking and failsafes in the code itself.  When you produce an application in a company, that company is liable of any mistakes that that product makes.  Not only could mistakes hurt people, but they could also hurt your career if you are not careful.

 

Diversity in the Workplace

Ok, so let’s talk about diversity in the workplace.  I think the most important thing that I’ve learned from the readings is that the main reason why there is no diversity in Silicon Valley is because of the culture there.  It makes sense that if you’re very different from the rest of the people in your job, you’d be uncomfortable.  I guess that makes sense.  So then the argument is that the reason why minorities or women don’t want to join a Valley company is because the culture is too different… I don’t like this argument.  It seems like people are blaming minorities and women for not fitting in in Silicon Valley.  That’s like blaming me for having a different sense of humor from my friends or something.

This is always a weird subject for me to try to talk about, because in reality, I don’t really spend a lot of time with people who aren’t like me.  I know that I have this bias, and I’m ashamed of it, but I don’t really think there’s a way to fix it.  I put off writing this for a while because it’s a subject that makes me feel uncomfortable.  I think that the reason why I’m uncomfortable is that I am part of the problem.  I just am sorta doing my thing at school, but my thing doesn’t encourage diversity or anything.  I think this is the sort of problem that doesn’t solve itself, so by not trying to help solve it I’m part of the problem.  I feel bad… and yet… I don’t know how to fix it.  So I’m just going to keep doing what I’m doing.  How do I help fix this diversity problem?

The article accuses companies of not doing enough to attract minority workers.  I think this puts the problem in perspective.  Someone who hadn’t thought about this at all may assume that Google was just choosing white prospects over black ones for jobs, but the problem is bigger than that.  In reality, there are significantly less applications for the job from black prospects because they don’t want to work at a company with the culture that Google tries to create in it’s workplace.  This concept isn’t the only problem with the workforce, but it allows one to see a specific problem with Google: that they focus on attracting people who are already like them.

 

 

 

 

 

Work/Family Balance

Ok, so let’s talk about work family balance.  Last article, I talked about a plan of waiting to have kids until I retired.  Yeah that sounds pretty crazy when I say it.  The articles I read today have a completely different opinion of the world.  In her article “Why Women Still Can’t Have It All”, Anne-Marie Slaughter writes,

Average life expectancy for people in their 20s has increased to 80; men and women in good health can easily work until they are 75. They can expect to have multiple jobs and even multiple careers throughout their working life. Couples marry later, have kids later, and can expect to live on two incomes. They may well retire earlier—the average retirement age has gone down from 67 to 63—but that is commonly “retirement” only in the sense of collecting retirement benefits. Many people go on to “encore” careers.

I think that Slaughter is biased because she expects all people to have careers where they  continue to work until they are 60-70 years old.  That’s a lot of work.  My goal is to find a way to work for a little while, then spend the rest of my life doing what I want, whether that is work or spending time with my kids, or literally anything else.  The way Slaughter talks, I probably seem lazy or unambitious, but I think my plan is more ambitious than it looks at first.  I want to learn to live frugally, spend less money, and learn to control myself in a world that expects me to work all day, then spend most of the money I make on things that will take the rest of my time.  All of this while finding a way to take care of children, which will take time.  For me, it seems like time will be my most precious resource in the future.  I already fell like I don’t have enough of it, and having a child will not make that easier.  My goal with my work and spending habits in the future will be to minimize the total time I spend working so that I can spend time on all of the other things I want to do, like spending time with my family.

So how will I do this?  I have no clue.  This all seems really surreal to me because I’m not planning on getting married anytime soon.  I also have no idea what my career path is going to look like.  I feel like this is all written in some language that I don’t understand.  I can see patterns, and the logic probably makes sense, but I have no clue how to do this by myself.

I really liked Slaughter’s husband’s follow up piece, where he explained that he could have a job and be a father.  I think I would like something like that.  I don’t think there needs to be a “lead parent” as Mr. Slaughter describes, but both parents could be both lead parents, and have jobs.  They just don’t need to follow a promotion path and take on more work, especially since they’re planning on retiring once they have a passive income that can support them.

 

 

 

A Code of Ethics

CodeofPictures.png

So let’s talk about ethics.  This Code that my friends and I created is designed to be specifically for Notre Dame Comp Sci majors.  If I had to highlight some of the most important points on this list, I would point out 0x00, 0x02, and 0x08.  These points alone try to guide a student using their own moral compass.  0x00 asks students to be well rounded.  I think this is important because computer science has a lot to gain from other disciplines.  A person can become a better computer scientist without learning any computer science, by learning new things about the world.  0x02 states that your goal with your work should be to improve the world.  This is one of my favorite rules on the list, because I think it gives me a goal to shoot for every day when I code.  I can always use my work to improve the world.  Finally, 0x08 says that I am responsible for what I code, and I need to ensure that what I code is bug free and a good thing.

I think that this document’s weakness is that it is too idealistic.  It was produced by 4 college students, who have had little real world experience.  I’m sure our bias’ show through the document.  I think we need more practical experience before we can make a better product.  Maybe we could come back to this document in five years to fix this document.

I think that a Code of Ethics is not that important of a document.  These rules are not binding, and only provide ethical talking points that allow people to argue about and understand more about the ethics of comp sci.  This process can be achieved by a dialogue of computer scientists almost just as easily, so it makes the document less important.  When I try to do the right thing, I will follow my moral compass in making a decision, and I doubt I will find a problem where I will need to reference such a broad document.

 

My plans after graduation

Ok, so let’s talk about jobs and salaries.  As a junior who didn’t have an internship last year and is still looking for my summer internship next year, I don’t have a lot of experience with jobs.  However, I do have a plan of what I want to do with my life.

In the past, we read about how comp sci majors typically have a day job that they profit from, and a night job that they do as a hobby.  I want to do this.  I really like video game design, but this isn’t something I think I can make a career out of.  I would like to find a job in some sort of software engineering, preferably something stable, or something that will give me really good experience and make me an attractive hiring candidate.  So my first goal is to find that good first job.

Ok, next up is salary.  I don’t think my salary will have a significant impact on my life.  My goal once I’m out of college is to spend as little money as possible.  More salary money will just be more money that goes to paying off student debt, and more money that goes into an index fund that will carry me through retirement.  However, a larger salary will mean I can retire more quickly.

There is a sect of the internet that has fixated on the idea or Financially Independent Early Retirement(FIRE).  In other words, you find a way to live off of passive incomes that don’t require working.  Mr. Money Mustache is one of the greatest examples of this FIRE idea.  Mr. Money Mustache is a blogger who encourages his readers to save over 75% of their paychecks, which will potentially allow them to retire 15 years after they start working, allowing them to live off of the interest of the money they earned.  This sounds impossible to people who haven’t read the blog, but the numbers don’t lie.  People may argue that you need more money in order to have kids, or a family, but if my wife follows the same process as me, we’d have twice the money that one of would have (or 1.7x because of the patriarchy).  Plus, we could wait to start a family until we’re near retirement.  Then I could take care of my kids all day.

Ok.  So now maybe you think FIRE is possible.  Or maybe you don’t and you’re shaking your head saying “Scary doesn’t know anything about life.  He is so misguided.”  This is true, but there’s nothing wrong with changing my plans in a few years.  But if you do think it’s possible, then you might be thinking “why would you want to stop working?”  Well I’m not going to stop working, but I am going to stop going to a 9-5 job in order to feed my family.  Instead, I’m going to work on things that probably won’t make money, but will be fun for me.  Imagine the games I could develop if I didn’t have to worry about profits?  This is what gets me really excited about the future.  Let me know what you think pbui.  Like actually.  I think there’s a comment system for this blog.