My Guide to Securing My Project with HTTPS

The Challenge

My goal is to get my code accessible by anyone on the internet, yet prevent anyone else from knowing who visited my site, or seeing any data in transit from them to my server. I hope I can also prevent my visitors’ data from being saved on my server, or prevent my own server, with possibly their data on it, from getting hacked.

Will HTTPS get me there?

Ostensibly, yes. From my understanding, HTTPS is the first major step to prevent bad actors from eavesdropping, tampering, and message forgery on my site.

To be honest, I don’t yet how “safe” HTTPs really is. Can I, the owner of the server, see who is visiting my HTTPS site? How can I not do this? How can I prevent others from hacking my server?

Along these lines, I’ve read that people can modify HTTPS’ security parameters to their liking, which seems to defeat the purpose of consistent and safe browsing on the internet. Maybe it’s not as much modification as it first sounds like. But I need to find out what kinds of security parameters I will add to my site.

Generally, though, HTTPS is the accepted standard. Even Google Chrome wants me to know which sites are secure or not. Interestingly, my WordPress editing page is not secure.

So, what is HTTP?

HTTP is a protocol that sends data between a visitor’s browser and a website. (HTTPS stands for Hyper Text Transfer Protocol). HTTP fetches resources to show on your browser when you visit sites.

And what is HTTPS?

Adding an S on the end signifies the protocol is secure (Hyper Text Transfer Protocol Secure).

HTTPS is secure because it uses additional protocols, most commonly TLS (Transfer Layer Security), to apply encryption to the client’s data.

What is TLS?

TLS offers authentication, encryption, and integrity. It confirms the identity of the server and user. It encrypts any data passed back and forth. And it ensures the data is not lost along the way.

How does HTTPS/TLS check for identity?

HTTPS/TLS helps your browser check a website’s server’s digital certificate to see if it was issued by a trusted organization (important because otherwise anyone can create a certificate claiming to be whatever website they want).

The certificate is used to confirm identity. Specifically, a digital certificate is a data file that links a private cryptographic key to an organization.

You’re Not Done

To modify your server’s configuration of TLS, Mozilla recommends using newest cryptographic tools available for the browsers you want to connect to your site. There are basically three options, each allowing you to work with older and older browsers if needed.

Once you use a configurator tool like Mozilla’s to find a TLS set up that’s best for your visitors, it looks like you enter the provided TLS text inside an appropriate file on your server and restart the server. You need to review the new TLS text in your file to add correct domain names.

How to Actually Build a Site with HTTPS

The ‘Moving to HTTPS Guide‘ is a good overview & how-to for switching over. … Or at least the Mozilla Foundation recommends it, and I trust Mozilla!

You can find the actual configuration options and associated code at Mozilla’s configurator tool here.

I’m unclear if using CertBot’s command-line level application to get a HTTPS key and certificate removes the need to use Mozilla’s TLS configurator tool above? Or do I also need the TLS protocol text provided by Mozilla?

Steps I Need to Take

I started a guide for myself here.

References and More Reading

Mozilla Foundation’s webpages on TLS, HTTP (or how a lot of the internet works, and specifically HTTPS.

Future Topics

Cookies – I don’t need cookies since my visitors won’t be logging in and want anything saved for later (requires cookies to remember state information for the stateless HTTP protocol), and I don’t want to save or analyze my visitors behavior.

Web Analytics – Do I want to know how many people visit the site? Can I accomplish this without google analytics?

Temporary Expert – Topic #2 Blog Links and Updates

As for updates, you can read about…

  • How I’ve put all of my blog posts in online documents here. I find it a lot easier to manage this than my blog. Plus I can use the doc’s comments feature to write down next steps or unanswered questions.
  • Who I’ve asked for informational interviews.
  • My very full are.na mood board for content research.
  • My empty are.na mood board for materials research. I will work on this. But at least I have these two separate tracks set up.
  • My research notes. I reread Lakoff’s Metaphors We Live By and got myself oriented within the IPCC report.

I still need to do these things, but really want to…

  • Set my milestones.
  • Watch Donella Meadows video.
  • Make a crazy sketch.
  • Audio record a two-minute interview with a working participant / non-climate change expert and write two sentences on how what they said could affect/impact your topic, and to post both interview and your response.
  • Did I already did this part here, or this is something different?: State your intent, craft a question.

You can also click around my progress using this link or by clicking on the image below.

Temporary Expert – Topic #2 Intentions and Goals

The topic you choose should:

  • Identify a problem, to which your design is a relevant response (the problem can be grounded in /focused on a subject that is historical, political, social, physical, biological, climatological, economic, etc). From this problematic topic you will design a project that can contribute to change, or offer a participating public critical consideration and new insights.

Climate change is a problem that is tied to other major human concerns, such as racism, poverty, health, and decent work. I was inspired by the United Nations’ 17 Sustainable Development Goals and their climate change panel’s recent report about terrible climate change by 2040 unless we change all market economics at an unprecedented scale in the next ten years. The panel seems to be saying in their report that mitigating climate change can positively influence other Sustainable Development Goals. I found this framework to be helpful for some reason – it makes stopping climate change seem more feasible because people are going to be motivated by at least one of those 17 goals.

  • Start with a question (hypothesis) and design ways to test it

In what ways might addressing climate change from a lens of the UN’s sustainable development goals help people tackle huge problems in the next ten years?

  • Require a consideration of media, audience, and outcomes (theory of change)

By using research in my creative process, creating media and/or physical forms for a specific audience to interact with…

I will accomplish a set of outcomes, or a theory of change.  For example, an outcome might be I might hope to get people to engage with climate change longer than they do on a typical day. A theory of change might be that by engaging with my crazy ITP project, people are more likely to change how they think about climate change.

  • Engage actively with a public (participation, feedback, co-creation)

A public will engage with my piece some how, some way. My research and testing will lead me there!

 

You are required to address each of these points on your blog:

  • Set your intentions (what are you setting out to do?)

To see if I can make stopping climate change seem approachable to people.

To see if I can give people more ways to be motivated to stop climate change.

  • Set your goals (personal learning objectives)

I want to learn more about the UN’s sustainable development goals, and how the UN sees climate change interlinked with those.

I want to interview someone from the I.P.C.C. panel, or a similar group, about the IPCC’s report that just came out.

I want to research mediums and form factors that allow looking at one thing from different angles, revealing different layers depending on the tool you use, reshaping the same form.

Maybe my research will lead me to different approaches to mediums and form factors, too.

  • Hypothesis: what are you asking?

Can a research-based interactive project help people personally engage with climate change?

  • Method: How will you test it?

I could do an artistic-based baseline study, and ask people in different locations how often they think about climate change. What they do or don’t do about it.

And then ask people what they think after engaging with my piece, and/or a week later, too.

  • Epistemologies: what ‘ways of knowing” are you employing? How experimental and open can you be in your research of material and form?

I’d definitely like to be more experimental with the material and form of my Topic #2 than my Topic #1. I can build in milestones to have researched and tried different materials and forms at the same time I am researching about my topic.

  • Results: what goals will you have for your ideation

That people can engage and participate my project. That I prototype something that could be done at scale.

Maybe it’s something they can take and share with other people?

  • Contexts: where do you see this work existing?

Maybe in the mail or drop off points.

Maybe in a public space where a lot of trash is thrown out.

  • Public(s): who will you make this work for/with?

I need to think about this more. I could think of moments in the day when someone might be participating in climate change and poverty, but doesn’t know it. My project could intersect at this point.

  • Documentation: use the suggested template (on the student blog page) for tracking your work threads,  or design your own.

Social VR – Drawing Game

We each created a “drawing game” with the Oculus Virtual Reality headset, using the Steam VR Input package – a recent update that makes it easier for developers to tailor specific events upon player using different controller button inputs.

In the game, the player can pick a paint color and then paint by pressing a button on one of their controllers. In the code, pressing a button is linked to a script’s specific draw() function which instantiates many prefabs of a sphere, creating an illusion of painting.

Here’s a small piece of documentation. Code is on Github here.

 

Social VR – First Person Shooter Tutorial

Here is a link to my assignment that recreates Unity’s first person shooter tutorial.

The Unity tutorial is found here.

Screen Shot 2018-10-05 at 11.33.46 AM.png

We covered setting up the Player GameObject and Camera and Lighting, and wrote code to move the player on keyboard press, and instantiate prefabs of laser shots when shooting. Then we added asteroids, and wrote code to keep track of game events, such as destroy asteroids upon collision with laser shots, instantiating asteroids in waves, counting points and displaying the score using the GUI interface. I went ahead and built the game for the web. The code is saved on my server and available here.

 

 

 

Computational Narratives – Ren’py and Branching Narratives

I decided to wrap a Ren’py dialogue within an in-person conversation between two people.

The premise is two people sit down to talk about the meaning of life, in an open way directed by turning over cards on the table.

You can find a zip file of the project to download and play yourself.

Here is a video link to documentation of the Ren-py game, until I figure out how to get the game online.

Below is the dialogue and interaction flow.

 

Two people

Put two gold cards face down in front of you.

Image result for gold cards playing

Take turns flipping one up, and discuss the question together.

  • Card 1: At what times in your life have you thought most about the meaning of life?
  • Card 2: In what ways has religion, philosophy or science played a part in your understanding life?

Now turn over one colored card from the separate stack.

Image result for colored playing cards

  • Card A: Where do our moral obligations come from?
  • Card B: Is knowing different than believing?
  • Card C: Can science support religion? Can religion support science?

Discuss for a minute.

Then together choose an advisor to include in your conversation.

[Dalai Lama, Ethics Philosopher, or Brain Scientist are projected on a wall, with a mouse provided to engage with the Ren’py project]

Image result for dalai lamaImage result for brain  researcher womanImage result for ethics philosopher simone

One scenario could be:

Card A: Where do our moral obligations come from?

&

Choosing Dalai Lama

Seekers: “We’ve come to ask you a few questions about life, and what it all means.”

Dalai Lama: “Yes, there are many questions to ask.”

Dalai Lama: One great question underlies our experience, whether we think about it consciously or not: What is the purpose of life? [link]

Dalai Lama: What interests you most in this moment?

  • Option #1: Moral Obligations
  • Believing and Knowing
  • Science, Religion, and Science

Option #1: Moral Obligations

Our inner lives are something we ignore at our own peril, and many of the greatest problems we face in today’s world are the result of such neglect.

  • Question #1A: Do you believe moral obligations are the responsibility of the individual or society?
  • Question #1B: Can science provide the grounds for moral obligations?

Question #1A: Do you believe moral obligations are the responsibility of the individual or society?

Dalai Lama: Ultimately, the source of our problems lies at the level of the individual. If people lack moral values and integrity, no system of laws and regulations will be adequate. So long as people give priority to material values, then injustice, inequity, intolerance and greed — all the outward manifestations of neglect of inner values — will persist.

Question #1B: Can science provide the grounds for moral obligations?

Dalai Lama: It’s good to ask where we can turn for help. Science, for all the benefits it has brought to our external world, has not yet provided scientific grounding for the development of the foundations of personal integrity — the basic inner human values that we appreciate in others and would do well to promote in ourselves. …  What we need today is an approach to ethics which makes no recourse to religion and can be equally acceptable to those with faith and those without: a secular ethics. [link]

 

Narrator to end interaction:

“What resonated for you in what the Dalai Lama said? Do you think something is missing in the Dalai Lama’s responses?”

“Try choosing a new card.”

 

Computational Approaches to Narratives – Inform 7

I created a scene about Rachel Carson, the marine biologist, author, and conservationist. She wrote Silent Spring, a book from 1962 that served as a major milestone for the environmental movement. This is a great recent article about her in The New Yorker.

My scene takes place in the study of Rachel Carson’s Maine cottage which she called “Silverledges”.

I may include Rachel Carson in another project of mine that is virtual reality-based. This assignment helped me imagine her as a character in a scene, rather than a biographical figure.

My source code is below. My online playable version is here (it’s working now).

One note: I attempted to create rules where you can put the sea shell in your pocket on the tray of curiosities, look out the picture windows to see outside, and choose to go with Roger down to the shore. (Roger is her 4-year-old nephew who she adopted.)  I couldn’t successfully do this, but got a sense of how they work from the Inform 7 documentation.

 

Source code

“Silverledges, Rachel Carson’s Cottage in Maine” by Elizabeth J Ferguson

Study is a room. “This is your study, inside your cottage in Maine which you call Silverledges. You are Rachel Carson.”

The picture windows are east of the study. “To the east, you can look out the picture windows.”

Roger is in the study. “Roger comes up to you asking to go down to the shore again.” The description of Roger is “Roger has sand on his shirt.”

a writing desk is in the study. The writing desk is fixed in place.

a manuscript is on the writing desk. The description is “‘… What is the value of preserving and strengthening this sense of awe and wonder, this recognition of something beyond the boundaries of human existence?'”

a shelf is in the study. On the shelf is a tray of curiosities.

picture windows looking out to the sea are in the study.

[The player carries a sea shell. A sea shell can be examined or unexamined.

After taking sea shell unexamined:
say “You are looking at a pale green sea shell”;
try examining the sea shell.

Carry out examining sea shell:
Now the sea shell is examined.]

[Before taking the tray:
if the player has a sea glass:
now the piece of sea glass is on the tray;
say “Rachel puts down her latest piece of sea glass on the tray.”]

Computational Approaches to Narratives – Using Twine to Tell Hyperlinked Stories

I based my story on the evolutionary tree of life.The prototype is here.

You can choose an animal to begin as, and go back in time to actually become other beings you are distantly related to.

I’m inspired by the game Everything by David OReilly. In this simulation game, you start out as one animal and become others. You can become animals smaller or larger than you (in contrast to mine, in which you change animals based on evolutionary connections). I really love this game because it focuses on a non-human story.

In the future, I would like the story structure to be more complex, in which you get rerouted to be able to become one of the other original animals you could have chosen from.

 

 

My thanks to the Open Tree of Life site, which is the first accurate & complete evolutionary tree on the web.

Screen Shot 2018-09-19 at 11.41.26 AM.png

 

 

Approaches to Computational Narratives – First Assignment

Here is a link to my sketch that remixes the children’s book “Sylvester and the Magic Pebble”.

I’m interested to see how others divided story from discourse, as I found it challenging to do within Tracery! But I liked working in Tracery and the idea of dividing the two narrative components of story and discourse from each other.


My notes before writing up the code.

Sylvester (Fanny, Joanna, Roger)

donkey (chef, librarian, junior associate)

Oaksdale (D.C., Paris, New York City)

parents (peers, enemies, pool hall buddies)

father (restaurant owner, university dean, boss)

rocks (spices, rare books, watches)

pebble (saffron, Guttenberg Bible, Rolex)

magic (delicious cooking, irreplaceable value, stock market profits)

home (desert, river, office)

lion (food safety expert, budget cuts, greed)

badrock (soup pot, paperback mystery, jail time)

picnic (restaurant family meal, book club escapade, trip up the Hudson River)

 


Sylvester was a donkey who liked to collect rocks.

One day when on a walk he found a flaming red pebble in the shape of a marble.

It turned out to be magic.

The pebble could make any wish come true.

Sylvester started to take the pebble home.

But a lion crossed his way, and out of fright, Sylvester wished he was a rock.

Sylvester was stuck as a rock for a year, unable to hold the pebble and make another wish.

One day, his parents – who dearly missed him – went out for a picnic and sat on the rock. By coincidence, the father put the pebble on the rock.

Sylvester, out of desperation and not knowing whether it would work, wished to become Sylvester again.

It worked!

His parents locked the pebble in a safe. Because what else could they wish for, now that they had Sylvester back?

 

 

 

 

Sylvester and the Magic Pebble

Sylvester Duncan

Mother and Father

Acorn Road in Oaksdale

Collecting pebbles unusual shape and color

Rainy Saturday during vacation

Found flaming red, round, like a marble

Shiver from excitement, rain cold on back

“Wish it would stop raining”

To his surprise, it stopped!

Description of rain stopping

Never had a wish gratified so quickly

Magic must be at work

Magic must be in red pebble

To make a test, put pebble on ground. Wished. Nothing happened.

But if he held it, the magic worked.

“What a lucky day, now I can have anything I want. Parents. Relatives. Friends. Anyone”

Wished sun back. Wished wart away.

Started home. Could hardly wait to see parents.

Maybe they woudn’t believe him

Crossing STrawberry Hill

Crossed a mean hungry lion

Frightened – so made a bad wish. Could have wished for many things. But panicked. Couldn’t think clearly.

Wished he’d be a rock. Lion came over, left confused.

“I saw that donkey! Maybe I’m going crazy”

And there was Sylvester, a rock. Unable to touch the pebble.

Would have to have someone wish while putting pebble on him as a rock.

Fell asleep. Saw stars.

Parents worried.

“Won’t ever scold him again” said mother.

Asked all neighbors, animals, children.

Went to police (pigs). Could not find child.

All dogs went searching.

Even smelled rock, but smelled like a rock, not Sylvester.

A year passed.

Parents tried to be happy. But always reminded of Sylvester. No meaning in life.

Sylvester slept all the time. Endless sleep.

One day, a wolf sat on him and he howled.

Seasons passed. Spring came.

Parents went on a picnic. To try to live again and be happy.

They sat on the rock! Sylvester woke up. He wanted to shout, but couldn’t!

Set up picnic. Lots of great picnic items for donkeys.

Father saw pebble, said Sylvester would have liked it. Put on the rock.

Mother could feel Sylvester’s energy. But Sylvester couldn’t feel the pebble on his rock.

Sylvester wished out of desperation!

They embraced, questioned, answered, exclaimed.

Father put pebble in iron lock.

They might want to use it later, but now they had all they wanted.