Tags List Template

This is still in progress


{ "config": { "base_url": "https://arsmachina.net", "theme": null, "title": null, "description": null, "default_language": "en", "languages": [], "translations": {}, "highlight_code": true, "highlight_theme": "base16-ocean-dark", "generate_feed": false, "feed_limit": null, "feed_filename": "atom.xml", "hard_link_static": false, "taxonomies": [ { "name": "tags", "paginate_by": null, "paginate_path": null, "feed": false, "lang": "en" }, { "name": "categories", "paginate_by": null, "paginate_path": null, "feed": false, "lang": "en" } ], "compile_sass": false, "minify_html": false, "build_search_index": true, "ignored_content": [], "extra_syntaxes": [], "link_checker": { "skip_prefixes": [], "skip_anchor_prefixes": [] }, "slugify": { "paths": "on", "taxonomies": "on", "anchors": "on" }, "search": { "include_title": true, "include_content": true, "truncate_content_length": null, "include_description": false }, "extra": {} }, "cow": " _______
< Hello >
 -------
        \\   ^__^
         \\  (oo)\\_______
            (__)\\       )\\/\\
                ||----w |
                ||     ||\n", "current_path": "/categories/", "current_url": "https://arsmachina.net/categories/", "data": { "topMenu": [ { "name": "Home", "url": "/", "class": "accent-3", "children": [] }, { "name": "Blog", "url": "/blog", "class": "", "children": [] }, { "name": "Projects", "url": "/projects", "class": "", "children": [] }, { "name": "Music", "url": "/music", "class": "", "children": [] }, { "name": "Photography", "url": "/pictures", "class": "", "children": [] }, { "name": "About", "url": "/about", "class": "", "children": [] } ], "footerMenu": [ { "name": "About", "url": "/about", "class": "green", "children": [ { "name": "About Me", "url": "/about/aboutme", "children": [] }, { "name": "About Website", "url": "/about/aboutsite", "children": [] } ] }, { "name": "Code", "url": "/about/aboutcode", "class": "red", "children": [ { "name": "Main Github", "url": "https://github.com/mboleary", "children": [] }, { "name": "Old Github", "url": "https://github.com/nesdood007", "children": [] }, { "name": "Gitlab", "url": "https://gitlab.com/mboleary", "children": [] } ] }, { "name": "Section Title", "url": "/test/", "class": "blue", "children": [ { "name": "Post 1", "url": "/test/post1", "children": [] }, { "name": "Post 2", "url": "/test/post2", "children": [] }, { "name": "Post 3", "url": "/test/post3", "children": [] } ] }, { "name": "Section Title", "url": "/test/", "class": "orange", "children": [ { "name": "Post 1", "url": "/test/post1", "children": [] }, { "name": "Post 2", "url": "/test/post2", "children": [] }, { "name": "Post 3", "url": "/test/post3", "children": [] } ] } ] }, "lang": "en", "taxonomy": { "name": "categories", "paginate_by": null, "paginate_path": null, "feed": false, "lang": "en" }, "terms": [ { "name": "art", "slug": "art", "permalink": "https://arsmachina.net/categories/art/", "pages": [ { "relative_path": "projects/mandelbrotExplorer.md", "content": "

https://github.com/mboleary/fractals-canvas

\n

Mandelbrot Explorer

\n

This was a testing project for me to learn how the canvas works in Javascript, as well as how I can color the Mandelbrot set. This was written without the use of a Javascript Framework.

\n

There are additional Images in the repo linked above.

\n

Motivation

\n

I built this demo as a way to learn Javascript, and how to specifically use the Canvas to draw things.

\n

How to run this locally

\n

Go to the repository above, and clone or download the code locally. In there, use python3 -m http.server 8000 --bind 127.0.0.1 in a console, and then open a web browser and navigate to localhost:8000.

\n", "permalink": "https://arsmachina.net/projects/mandelbrotexplorer/", "slug": "mandelbrotexplorer", "ancestors": [ "_index.md", "projects/_index.md" ], "title": "Mandelbrot Explorer", "description": "This is a mandelbrot demo that I built in Javascript in order to learn how the canvas works", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "categories": [ "projects", "art" ], "tags": [ "code", "js", "mandelbrot", "canvas" ] }, "extra": { "titlecard": "img light", "img": "/asset/mandelbrot.png" }, "path": "/projects/mandelbrotexplorer/", "components": [ "projects", "mandelbrotexplorer" ], "summary": null, "toc": [ { "level": 1, "id": "mandelbrot-explorer", "permalink": "https://arsmachina.net/projects/mandelbrotexplorer/#mandelbrot-explorer", "title": "Mandelbrot Explorer", "children": [ { "level": 2, "id": "motivation", "permalink": "https://arsmachina.net/projects/mandelbrotexplorer/#motivation", "title": "Motivation", "children": [] }, { "level": 2, "id": "how-to-run-this-locally", "permalink": "https://arsmachina.net/projects/mandelbrotexplorer/#how-to-run-this-locally", "title": "How to run this locally", "children": [] } ] } ], "word_count": 117, "reading_time": 1, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] } ] }, { "name": "blog", "slug": "blog", "permalink": "https://arsmachina.net/categories/blog/", "pages": [ { "relative_path": "blog/2020-01-18_FirstPost.md", "content": "

Hello World

\n

This is the first post in my new personal blog. Expect to see a lot of changes as the website design improves and matures. I still have a lot of things to implement, such as the rest of the CSS framework, and the rest of the Website layout.

\n

This website is still a work in progress. Things will be a mess at first.

\n", "permalink": "https://arsmachina.net/blog/firstpost/", "slug": "firstpost", "ancestors": [ "_index.md", "blog/_index.md" ], "title": "First Post", "description": "This is the First Post on the blog", "updated": null, "date": "2020-01-18", "year": 2020, "month": 1, "day": 18, "taxonomies": { "categories": [ "blog" ], "tags": [ "first", "post", "test" ] }, "extra": { "titlecard": "bg-black fg-a4" }, "path": "/blog/firstpost/", "components": [ "blog", "firstpost" ], "summary": null, "toc": [ { "level": 1, "id": "hello-world", "permalink": "https://arsmachina.net/blog/firstpost/#hello-world", "title": "Hello World", "children": [] } ], "word_count": 65, "reading_time": 1, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] } ] }, { "name": "computer_music", "slug": "computer-music", "permalink": "https://arsmachina.net/categories/computer-music/", "pages": [ { "relative_path": "projects/p4.md", "content": "

Editor's Note: This was Project 4 of my New Media Arts Class

\n

Original Title: Project 4 - What if you can make music with just your hands?

\n

Original Description: What if you could make music just by waving your hands in front of a sensor? This system makes music based on the position of your hands in front of a pair of ultrasonic sensors using pentationic scales.

\n

Links

\n

Source Code

\n\n\n

The Device

\n

I created this device in a few hours using the base of an old keyboard I took apart a long time ago, and a lot of Sticky Putty.

\n
\n \n
Here is the device I made for the project.
\n
\n
\n \n
Full Device.
\n
\n
\n \n
Here is the device connected to my computer.
\n
\n

Project Information

\n

This was the final project in my MART380 class.

\n

Motivation

\n

I have recently been researching more about Computer Music, and decided that this would be a cool concept to peruse for my final project in this class. I had some experience in working with the Distance Sensor for an Arduino, so I decided to go with that.

\n

Music

\n

I decided to go with using a Pentatonic Scale, as well as 7th chords with added 2nds to make my music. There are a few distinct parts of the music generation process: The Arpeggio, Chords, Melody, and Bass. The Melody is randomly generated by picking one of the 5 notes to play. Chords change on the user putting their hands close to the device, which causes a new Chord to be randomly selected.

\n

System Requirements

\n

Currently I only support linux, but in theory this project can be modified to work on other platforms, such as Windows or MacOS.

\n

Software Required:

\n\n

Tools Needed

\n

In order to setup this system, you will need:

\n\n

Setup Procedure

\n

This is a brief guide to setting up the Arduino software and hardware, as well as Pure Data.

\n

Arduino

\n
    \n
  1. Connect the Arduino to the Distance Sensor.
  2. \n
\n

NOTE: Be sure that the ultrasonic sensors point opposite of each other, otherwise interference may occur.

\n
    \n
  1. \n

    Connect Arduinos to PC

    \n
  2. \n
  3. \n

    Write Program to both Arduinos

    \n
  4. \n
\n

PC

\n
    \n
  1. Start Jack
  2. \n
\n

a. Note that QJackCtl has a nice GUI to help with setup if you are into that type of thing

\n
    \n
  1. Start Pure Data
  2. \n
\n\n
    \n
  1. Start ZynAddSubFX
  2. \n
\n\n
    \n
  1. \n

    Make connections

    \n
  2. \n
  3. \n

    In the Opened Pure Data Project, click on the large Bang Object (looks like a button) at the top-left corner of the window, where there is a comment saying "Start".

    \n
  4. \n
\n

Use

\n

By default, the system should be quiet, as the reverb is on full-blast, and the notes are very short. Place hands in front of the sensors, about 20 inches away, and move around, probably closer to the sensor, until the L LED on the Arduino illuminates. When this light is lit, you will know that your hand is within the range of the sensor, and a non-zero or 127 value will be sent to the computer.

\n

First, try moving your hands closer to the sensors and listen for the music to get louder. To change Chords, move your hands closely in front of the sensors, until the lights go out (from your hands being too close). After a few ticks, the chord should randomly change.

\n

Modification

\n

This program can be modified to accomodate different instruments, sensors, or chords.

\n", "permalink": "https://arsmachina.net/projects/p4/", "slug": "p4", "ancestors": [ "_index.md", "projects/_index.md" ], "title": "Project 4 - What if you can make music with just your hands?", "description": "This system makes music based on the position of your hands in front of a pair of ultrasonic sensors using pentationic scales.", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "categories": [ "projects", "mart380", "computer_music" ], "tags": [ "arduino", "escape", "opensource", "test" ] }, "extra": { "titlecard": "img light", "img": "/asset/p4_bg.jpg" }, "path": "/projects/p4/", "components": [ "projects", "p4" ], "summary": null, "toc": [ { "level": 1, "id": "links", "permalink": "https://arsmachina.net/projects/p4/#links", "title": "Links", "children": [] }, { "level": 1, "id": "the-device", "permalink": "https://arsmachina.net/projects/p4/#the-device", "title": "The Device", "children": [] }, { "level": 1, "id": "project-information", "permalink": "https://arsmachina.net/projects/p4/#project-information", "title": "Project Information", "children": [ { "level": 2, "id": "motivation", "permalink": "https://arsmachina.net/projects/p4/#motivation", "title": "Motivation", "children": [] }, { "level": 2, "id": "music", "permalink": "https://arsmachina.net/projects/p4/#music", "title": "Music", "children": [] } ] }, { "level": 1, "id": "system-requirements", "permalink": "https://arsmachina.net/projects/p4/#system-requirements", "title": "System Requirements", "children": [] }, { "level": 1, "id": "tools-needed", "permalink": "https://arsmachina.net/projects/p4/#tools-needed", "title": "Tools Needed", "children": [] }, { "level": 1, "id": "setup-procedure", "permalink": "https://arsmachina.net/projects/p4/#setup-procedure", "title": "Setup Procedure", "children": [ { "level": 2, "id": "arduino", "permalink": "https://arsmachina.net/projects/p4/#arduino", "title": "Arduino", "children": [] }, { "level": 2, "id": "pc", "permalink": "https://arsmachina.net/projects/p4/#pc", "title": "PC", "children": [] } ] }, { "level": 1, "id": "use", "permalink": "https://arsmachina.net/projects/p4/#use", "title": "Use", "children": [] }, { "level": 1, "id": "modification", "permalink": "https://arsmachina.net/projects/p4/#modification", "title": "Modification", "children": [] } ], "word_count": 732, "reading_time": 4, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] } ] }, { "name": "mart380", "slug": "mart380", "permalink": "https://arsmachina.net/categories/mart380/", "pages": [ { "relative_path": "projects/p3.md", "content": "

Editor's note: This was Project 3 for my New Media Arts Class

\n

Original Title: Project 3 - What if there was an Alternate Universe?

\n

Original Description: What if, in a world devoid of color, there was an alternate universe with splashes of color? How would you escape to this world?

\n

Link to the Game on Itch.io

\n

https://mboleary-usc.itch.io/escape

\n

Source Code on Github

\n

Project Information

\n

A Unity game where you must escape from the world you are currently in.

\n

Introduction

\n

This is a First-person styled game where you must figure out how to go from world to world.

\n

Directories

\n

/Assets - The Assets Directory to include in a new Unity Project

\n

/Build - Prebuilt binaries for Linux, MacOSX, Windows, and WebGL

\n

Controls

\n

Mouse - Look Around

\n

Left Mouse Button - Shoot a Projectile. The projectile will glow all colors that it can interact with

\n

WASD - Move Around

\n

SHIFT - Run

\n

How to build

\n

In order to build this project, you should create a New Unity Project, and then import the assets from this assets directory into your project. It should contain all scripts and resources needed to test out the project.

\n

Motivation

\n

Since this project used a lot of scripts, I felt that it would be good to have this project be open-source to help other students that may take this class in the future see how C# code is written, and how it can be used to make a cool game.

\n

There are scripts to spawn in enemies, keep track of colors, and change the music when the player collects a tessaract, among other things.

\n
\n

Walkthrough

\n

When this game was demoed in class, I think that the objective of hte game wasn't initially obvious enough, so I have made a walkthrough to help people play through it.

\n

Main Objective

\n

The entire world is governed by collecting colored cubes, giving the player the ability to interact with other objects that also are the same color.

\n

Objects

\n
\n \n
This is a Tessaract Piece. Your objective is to collect all four of these. They are all different colors.
\n
\n
\n \n
This is a Colored Switch. You touch this to make the miniature capsule rotate, which signifies that the state of the switch has changed. These can make walls disappear, or make other things happen. There is also a colorless variety.
\n
\n
\n \n
Surrounding the tree are Colored Enemies. You must have collected the cooresponding color of tessaract to make these disappear. Pro Tip, they are actually harmless and were placed simply to be a nuisance. (Perhaps you can modify them to be harmful to the player?)
\n
\n

Areas

\n

Light World (First Scene)

\n

You, the player are in a cube. You must touch the switch to escape this bow, but you aren't finished escaping yet! Go and investigate that suspicially large and dark tree in the middle of the area.

\n
\n \n
This is the tree that you should go toward.
\n
\n

Darker World (Second Scene)

\n

You have been teleported to a darker version of the world you were just in. Off in the distance, you should see colored Tessaract Cubes (as seen above) in each corner of the area. You can collect them in any order that you choose. When you collect all 4, you will be teleported to another area.

\n

Darkest World (Last Scene)

\n

You should see a lighter tree in the middle of the field, like the first one that you initially touched to get to the Dark World. Go touch that tree!

\n
\n \n
This is the tree that you should go toward.
\n
\n

After this you are teleported back to the Light World. You can go around again, if you want, or try to escape a different way in the Darkest World. Hint: Then enemies don't always stay on the ground!. Also this breaks the game, FYI.

\n", "permalink": "https://arsmachina.net/projects/p3/", "slug": "p3", "ancestors": [ "_index.md", "projects/_index.md" ], "title": "Project 3 - What if there was an Alternate Universe?", "description": "What if, in a world devoid of color, there was an alternate universe with splashes of color? How would you escape to this world?", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "categories": [ "projects", "mart380" ], "tags": [ "unity", "escape", "test" ] }, "extra": { "titlecard": "img light", "img": "/asset/p3_bg.png" }, "path": "/projects/p3/", "components": [ "projects", "p3" ], "summary": null, "toc": [ { "level": 1, "id": "link-to-the-game-on-itch-io", "permalink": "https://arsmachina.net/projects/p3/#link-to-the-game-on-itch-io", "title": "Link to the Game on Itch.io", "children": [] }, { "level": 1, "id": "project-information", "permalink": "https://arsmachina.net/projects/p3/#project-information", "title": "Project Information", "children": [ { "level": 2, "id": "introduction", "permalink": "https://arsmachina.net/projects/p3/#introduction", "title": "Introduction", "children": [] }, { "level": 2, "id": "directories", "permalink": "https://arsmachina.net/projects/p3/#directories", "title": "Directories", "children": [] }, { "level": 2, "id": "controls", "permalink": "https://arsmachina.net/projects/p3/#controls", "title": "Controls", "children": [] }, { "level": 2, "id": "how-to-build", "permalink": "https://arsmachina.net/projects/p3/#how-to-build", "title": "How to build", "children": [] }, { "level": 2, "id": "motivation", "permalink": "https://arsmachina.net/projects/p3/#motivation", "title": "Motivation", "children": [] } ] }, { "level": 1, "id": "walkthrough", "permalink": "https://arsmachina.net/projects/p3/#walkthrough", "title": "Walkthrough", "children": [ { "level": 2, "id": "main-objective", "permalink": "https://arsmachina.net/projects/p3/#main-objective", "title": "Main Objective", "children": [] }, { "level": 2, "id": "objects", "permalink": "https://arsmachina.net/projects/p3/#objects", "title": "Objects", "children": [] }, { "level": 2, "id": "areas", "permalink": "https://arsmachina.net/projects/p3/#areas", "title": "Areas", "children": [ { "level": 3, "id": "light-world-first-scene", "permalink": "https://arsmachina.net/projects/p3/#light-world-first-scene", "title": "Light World (First Scene)", "children": [] }, { "level": 3, "id": "darker-world-second-scene", "permalink": "https://arsmachina.net/projects/p3/#darker-world-second-scene", "title": "Darker World (Second Scene)", "children": [] }, { "level": 3, "id": "darkest-world-last-scene", "permalink": "https://arsmachina.net/projects/p3/#darkest-world-last-scene", "title": "Darkest World (Last Scene)", "children": [] } ] } ] } ], "word_count": 676, "reading_time": 4, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] }, { "relative_path": "projects/p4.md", "content": "

Editor's Note: This was Project 4 of my New Media Arts Class

\n

Original Title: Project 4 - What if you can make music with just your hands?

\n

Original Description: What if you could make music just by waving your hands in front of a sensor? This system makes music based on the position of your hands in front of a pair of ultrasonic sensors using pentationic scales.

\n

Links

\n

Source Code

\n\n\n

The Device

\n

I created this device in a few hours using the base of an old keyboard I took apart a long time ago, and a lot of Sticky Putty.

\n
\n \n
Here is the device I made for the project.
\n
\n
\n \n
Full Device.
\n
\n
\n \n
Here is the device connected to my computer.
\n
\n

Project Information

\n

This was the final project in my MART380 class.

\n

Motivation

\n

I have recently been researching more about Computer Music, and decided that this would be a cool concept to peruse for my final project in this class. I had some experience in working with the Distance Sensor for an Arduino, so I decided to go with that.

\n

Music

\n

I decided to go with using a Pentatonic Scale, as well as 7th chords with added 2nds to make my music. There are a few distinct parts of the music generation process: The Arpeggio, Chords, Melody, and Bass. The Melody is randomly generated by picking one of the 5 notes to play. Chords change on the user putting their hands close to the device, which causes a new Chord to be randomly selected.

\n

System Requirements

\n

Currently I only support linux, but in theory this project can be modified to work on other platforms, such as Windows or MacOS.

\n

Software Required:

\n\n

Tools Needed

\n

In order to setup this system, you will need:

\n\n

Setup Procedure

\n

This is a brief guide to setting up the Arduino software and hardware, as well as Pure Data.

\n

Arduino

\n
    \n
  1. Connect the Arduino to the Distance Sensor.
  2. \n
\n

NOTE: Be sure that the ultrasonic sensors point opposite of each other, otherwise interference may occur.

\n
    \n
  1. \n

    Connect Arduinos to PC

    \n
  2. \n
  3. \n

    Write Program to both Arduinos

    \n
  4. \n
\n

PC

\n
    \n
  1. Start Jack
  2. \n
\n

a. Note that QJackCtl has a nice GUI to help with setup if you are into that type of thing

\n
    \n
  1. Start Pure Data
  2. \n
\n\n
    \n
  1. Start ZynAddSubFX
  2. \n
\n\n
    \n
  1. \n

    Make connections

    \n
  2. \n
  3. \n

    In the Opened Pure Data Project, click on the large Bang Object (looks like a button) at the top-left corner of the window, where there is a comment saying "Start".

    \n
  4. \n
\n

Use

\n

By default, the system should be quiet, as the reverb is on full-blast, and the notes are very short. Place hands in front of the sensors, about 20 inches away, and move around, probably closer to the sensor, until the L LED on the Arduino illuminates. When this light is lit, you will know that your hand is within the range of the sensor, and a non-zero or 127 value will be sent to the computer.

\n

First, try moving your hands closer to the sensors and listen for the music to get louder. To change Chords, move your hands closely in front of the sensors, until the lights go out (from your hands being too close). After a few ticks, the chord should randomly change.

\n

Modification

\n

This program can be modified to accomodate different instruments, sensors, or chords.

\n", "permalink": "https://arsmachina.net/projects/p4/", "slug": "p4", "ancestors": [ "_index.md", "projects/_index.md" ], "title": "Project 4 - What if you can make music with just your hands?", "description": "This system makes music based on the position of your hands in front of a pair of ultrasonic sensors using pentationic scales.", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "categories": [ "projects", "mart380", "computer_music" ], "tags": [ "arduino", "escape", "opensource", "test" ] }, "extra": { "titlecard": "img light", "img": "/asset/p4_bg.jpg" }, "path": "/projects/p4/", "components": [ "projects", "p4" ], "summary": null, "toc": [ { "level": 1, "id": "links", "permalink": "https://arsmachina.net/projects/p4/#links", "title": "Links", "children": [] }, { "level": 1, "id": "the-device", "permalink": "https://arsmachina.net/projects/p4/#the-device", "title": "The Device", "children": [] }, { "level": 1, "id": "project-information", "permalink": "https://arsmachina.net/projects/p4/#project-information", "title": "Project Information", "children": [ { "level": 2, "id": "motivation", "permalink": "https://arsmachina.net/projects/p4/#motivation", "title": "Motivation", "children": [] }, { "level": 2, "id": "music", "permalink": "https://arsmachina.net/projects/p4/#music", "title": "Music", "children": [] } ] }, { "level": 1, "id": "system-requirements", "permalink": "https://arsmachina.net/projects/p4/#system-requirements", "title": "System Requirements", "children": [] }, { "level": 1, "id": "tools-needed", "permalink": "https://arsmachina.net/projects/p4/#tools-needed", "title": "Tools Needed", "children": [] }, { "level": 1, "id": "setup-procedure", "permalink": "https://arsmachina.net/projects/p4/#setup-procedure", "title": "Setup Procedure", "children": [ { "level": 2, "id": "arduino", "permalink": "https://arsmachina.net/projects/p4/#arduino", "title": "Arduino", "children": [] }, { "level": 2, "id": "pc", "permalink": "https://arsmachina.net/projects/p4/#pc", "title": "PC", "children": [] } ] }, { "level": 1, "id": "use", "permalink": "https://arsmachina.net/projects/p4/#use", "title": "Use", "children": [] }, { "level": 1, "id": "modification", "permalink": "https://arsmachina.net/projects/p4/#modification", "title": "Modification", "children": [] } ], "word_count": 732, "reading_time": 4, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] } ] }, { "name": "projects", "slug": "projects", "permalink": "https://arsmachina.net/categories/projects/", "pages": [ { "relative_path": "projects/mandelbrotExplorer.md", "content": "

https://github.com/mboleary/fractals-canvas

\n

Mandelbrot Explorer

\n

This was a testing project for me to learn how the canvas works in Javascript, as well as how I can color the Mandelbrot set. This was written without the use of a Javascript Framework.

\n

There are additional Images in the repo linked above.

\n

Motivation

\n

I built this demo as a way to learn Javascript, and how to specifically use the Canvas to draw things.

\n

How to run this locally

\n

Go to the repository above, and clone or download the code locally. In there, use python3 -m http.server 8000 --bind 127.0.0.1 in a console, and then open a web browser and navigate to localhost:8000.

\n", "permalink": "https://arsmachina.net/projects/mandelbrotexplorer/", "slug": "mandelbrotexplorer", "ancestors": [ "_index.md", "projects/_index.md" ], "title": "Mandelbrot Explorer", "description": "This is a mandelbrot demo that I built in Javascript in order to learn how the canvas works", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "categories": [ "projects", "art" ], "tags": [ "code", "js", "mandelbrot", "canvas" ] }, "extra": { "titlecard": "img light", "img": "/asset/mandelbrot.png" }, "path": "/projects/mandelbrotexplorer/", "components": [ "projects", "mandelbrotexplorer" ], "summary": null, "toc": [ { "level": 1, "id": "mandelbrot-explorer", "permalink": "https://arsmachina.net/projects/mandelbrotexplorer/#mandelbrot-explorer", "title": "Mandelbrot Explorer", "children": [ { "level": 2, "id": "motivation", "permalink": "https://arsmachina.net/projects/mandelbrotexplorer/#motivation", "title": "Motivation", "children": [] }, { "level": 2, "id": "how-to-run-this-locally", "permalink": "https://arsmachina.net/projects/mandelbrotexplorer/#how-to-run-this-locally", "title": "How to run this locally", "children": [] } ] } ], "word_count": 117, "reading_time": 1, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] }, { "relative_path": "projects/p3.md", "content": "

Editor's note: This was Project 3 for my New Media Arts Class

\n

Original Title: Project 3 - What if there was an Alternate Universe?

\n

Original Description: What if, in a world devoid of color, there was an alternate universe with splashes of color? How would you escape to this world?

\n

Link to the Game on Itch.io

\n

https://mboleary-usc.itch.io/escape

\n

Source Code on Github

\n

Project Information

\n

A Unity game where you must escape from the world you are currently in.

\n

Introduction

\n

This is a First-person styled game where you must figure out how to go from world to world.

\n

Directories

\n

/Assets - The Assets Directory to include in a new Unity Project

\n

/Build - Prebuilt binaries for Linux, MacOSX, Windows, and WebGL

\n

Controls

\n

Mouse - Look Around

\n

Left Mouse Button - Shoot a Projectile. The projectile will glow all colors that it can interact with

\n

WASD - Move Around

\n

SHIFT - Run

\n

How to build

\n

In order to build this project, you should create a New Unity Project, and then import the assets from this assets directory into your project. It should contain all scripts and resources needed to test out the project.

\n

Motivation

\n

Since this project used a lot of scripts, I felt that it would be good to have this project be open-source to help other students that may take this class in the future see how C# code is written, and how it can be used to make a cool game.

\n

There are scripts to spawn in enemies, keep track of colors, and change the music when the player collects a tessaract, among other things.

\n
\n

Walkthrough

\n

When this game was demoed in class, I think that the objective of hte game wasn't initially obvious enough, so I have made a walkthrough to help people play through it.

\n

Main Objective

\n

The entire world is governed by collecting colored cubes, giving the player the ability to interact with other objects that also are the same color.

\n

Objects

\n
\n \n
This is a Tessaract Piece. Your objective is to collect all four of these. They are all different colors.
\n
\n
\n \n
This is a Colored Switch. You touch this to make the miniature capsule rotate, which signifies that the state of the switch has changed. These can make walls disappear, or make other things happen. There is also a colorless variety.
\n
\n
\n \n
Surrounding the tree are Colored Enemies. You must have collected the cooresponding color of tessaract to make these disappear. Pro Tip, they are actually harmless and were placed simply to be a nuisance. (Perhaps you can modify them to be harmful to the player?)
\n
\n

Areas

\n

Light World (First Scene)

\n

You, the player are in a cube. You must touch the switch to escape this bow, but you aren't finished escaping yet! Go and investigate that suspicially large and dark tree in the middle of the area.

\n
\n \n
This is the tree that you should go toward.
\n
\n

Darker World (Second Scene)

\n

You have been teleported to a darker version of the world you were just in. Off in the distance, you should see colored Tessaract Cubes (as seen above) in each corner of the area. You can collect them in any order that you choose. When you collect all 4, you will be teleported to another area.

\n

Darkest World (Last Scene)

\n

You should see a lighter tree in the middle of the field, like the first one that you initially touched to get to the Dark World. Go touch that tree!

\n
\n \n
This is the tree that you should go toward.
\n
\n

After this you are teleported back to the Light World. You can go around again, if you want, or try to escape a different way in the Darkest World. Hint: Then enemies don't always stay on the ground!. Also this breaks the game, FYI.

\n", "permalink": "https://arsmachina.net/projects/p3/", "slug": "p3", "ancestors": [ "_index.md", "projects/_index.md" ], "title": "Project 3 - What if there was an Alternate Universe?", "description": "What if, in a world devoid of color, there was an alternate universe with splashes of color? How would you escape to this world?", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "categories": [ "projects", "mart380" ], "tags": [ "unity", "escape", "test" ] }, "extra": { "titlecard": "img light", "img": "/asset/p3_bg.png" }, "path": "/projects/p3/", "components": [ "projects", "p3" ], "summary": null, "toc": [ { "level": 1, "id": "link-to-the-game-on-itch-io", "permalink": "https://arsmachina.net/projects/p3/#link-to-the-game-on-itch-io", "title": "Link to the Game on Itch.io", "children": [] }, { "level": 1, "id": "project-information", "permalink": "https://arsmachina.net/projects/p3/#project-information", "title": "Project Information", "children": [ { "level": 2, "id": "introduction", "permalink": "https://arsmachina.net/projects/p3/#introduction", "title": "Introduction", "children": [] }, { "level": 2, "id": "directories", "permalink": "https://arsmachina.net/projects/p3/#directories", "title": "Directories", "children": [] }, { "level": 2, "id": "controls", "permalink": "https://arsmachina.net/projects/p3/#controls", "title": "Controls", "children": [] }, { "level": 2, "id": "how-to-build", "permalink": "https://arsmachina.net/projects/p3/#how-to-build", "title": "How to build", "children": [] }, { "level": 2, "id": "motivation", "permalink": "https://arsmachina.net/projects/p3/#motivation", "title": "Motivation", "children": [] } ] }, { "level": 1, "id": "walkthrough", "permalink": "https://arsmachina.net/projects/p3/#walkthrough", "title": "Walkthrough", "children": [ { "level": 2, "id": "main-objective", "permalink": "https://arsmachina.net/projects/p3/#main-objective", "title": "Main Objective", "children": [] }, { "level": 2, "id": "objects", "permalink": "https://arsmachina.net/projects/p3/#objects", "title": "Objects", "children": [] }, { "level": 2, "id": "areas", "permalink": "https://arsmachina.net/projects/p3/#areas", "title": "Areas", "children": [ { "level": 3, "id": "light-world-first-scene", "permalink": "https://arsmachina.net/projects/p3/#light-world-first-scene", "title": "Light World (First Scene)", "children": [] }, { "level": 3, "id": "darker-world-second-scene", "permalink": "https://arsmachina.net/projects/p3/#darker-world-second-scene", "title": "Darker World (Second Scene)", "children": [] }, { "level": 3, "id": "darkest-world-last-scene", "permalink": "https://arsmachina.net/projects/p3/#darkest-world-last-scene", "title": "Darkest World (Last Scene)", "children": [] } ] } ] } ], "word_count": 676, "reading_time": 4, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] }, { "relative_path": "projects/p4.md", "content": "

Editor's Note: This was Project 4 of my New Media Arts Class

\n

Original Title: Project 4 - What if you can make music with just your hands?

\n

Original Description: What if you could make music just by waving your hands in front of a sensor? This system makes music based on the position of your hands in front of a pair of ultrasonic sensors using pentationic scales.

\n

Links

\n

Source Code

\n\n\n

The Device

\n

I created this device in a few hours using the base of an old keyboard I took apart a long time ago, and a lot of Sticky Putty.

\n
\n \n
Here is the device I made for the project.
\n
\n
\n \n
Full Device.
\n
\n
\n \n
Here is the device connected to my computer.
\n
\n

Project Information

\n

This was the final project in my MART380 class.

\n

Motivation

\n

I have recently been researching more about Computer Music, and decided that this would be a cool concept to peruse for my final project in this class. I had some experience in working with the Distance Sensor for an Arduino, so I decided to go with that.

\n

Music

\n

I decided to go with using a Pentatonic Scale, as well as 7th chords with added 2nds to make my music. There are a few distinct parts of the music generation process: The Arpeggio, Chords, Melody, and Bass. The Melody is randomly generated by picking one of the 5 notes to play. Chords change on the user putting their hands close to the device, which causes a new Chord to be randomly selected.

\n

System Requirements

\n

Currently I only support linux, but in theory this project can be modified to work on other platforms, such as Windows or MacOS.

\n

Software Required:

\n\n

Tools Needed

\n

In order to setup this system, you will need:

\n\n

Setup Procedure

\n

This is a brief guide to setting up the Arduino software and hardware, as well as Pure Data.

\n

Arduino

\n
    \n
  1. Connect the Arduino to the Distance Sensor.
  2. \n
\n

NOTE: Be sure that the ultrasonic sensors point opposite of each other, otherwise interference may occur.

\n
    \n
  1. \n

    Connect Arduinos to PC

    \n
  2. \n
  3. \n

    Write Program to both Arduinos

    \n
  4. \n
\n

PC

\n
    \n
  1. Start Jack
  2. \n
\n

a. Note that QJackCtl has a nice GUI to help with setup if you are into that type of thing

\n
    \n
  1. Start Pure Data
  2. \n
\n\n
    \n
  1. Start ZynAddSubFX
  2. \n
\n\n
    \n
  1. \n

    Make connections

    \n
  2. \n
  3. \n

    In the Opened Pure Data Project, click on the large Bang Object (looks like a button) at the top-left corner of the window, where there is a comment saying "Start".

    \n
  4. \n
\n

Use

\n

By default, the system should be quiet, as the reverb is on full-blast, and the notes are very short. Place hands in front of the sensors, about 20 inches away, and move around, probably closer to the sensor, until the L LED on the Arduino illuminates. When this light is lit, you will know that your hand is within the range of the sensor, and a non-zero or 127 value will be sent to the computer.

\n

First, try moving your hands closer to the sensors and listen for the music to get louder. To change Chords, move your hands closely in front of the sensors, until the lights go out (from your hands being too close). After a few ticks, the chord should randomly change.

\n

Modification

\n

This program can be modified to accomodate different instruments, sensors, or chords.

\n", "permalink": "https://arsmachina.net/projects/p4/", "slug": "p4", "ancestors": [ "_index.md", "projects/_index.md" ], "title": "Project 4 - What if you can make music with just your hands?", "description": "This system makes music based on the position of your hands in front of a pair of ultrasonic sensors using pentationic scales.", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "categories": [ "projects", "mart380", "computer_music" ], "tags": [ "arduino", "escape", "opensource", "test" ] }, "extra": { "titlecard": "img light", "img": "/asset/p4_bg.jpg" }, "path": "/projects/p4/", "components": [ "projects", "p4" ], "summary": null, "toc": [ { "level": 1, "id": "links", "permalink": "https://arsmachina.net/projects/p4/#links", "title": "Links", "children": [] }, { "level": 1, "id": "the-device", "permalink": "https://arsmachina.net/projects/p4/#the-device", "title": "The Device", "children": [] }, { "level": 1, "id": "project-information", "permalink": "https://arsmachina.net/projects/p4/#project-information", "title": "Project Information", "children": [ { "level": 2, "id": "motivation", "permalink": "https://arsmachina.net/projects/p4/#motivation", "title": "Motivation", "children": [] }, { "level": 2, "id": "music", "permalink": "https://arsmachina.net/projects/p4/#music", "title": "Music", "children": [] } ] }, { "level": 1, "id": "system-requirements", "permalink": "https://arsmachina.net/projects/p4/#system-requirements", "title": "System Requirements", "children": [] }, { "level": 1, "id": "tools-needed", "permalink": "https://arsmachina.net/projects/p4/#tools-needed", "title": "Tools Needed", "children": [] }, { "level": 1, "id": "setup-procedure", "permalink": "https://arsmachina.net/projects/p4/#setup-procedure", "title": "Setup Procedure", "children": [ { "level": 2, "id": "arduino", "permalink": "https://arsmachina.net/projects/p4/#arduino", "title": "Arduino", "children": [] }, { "level": 2, "id": "pc", "permalink": "https://arsmachina.net/projects/p4/#pc", "title": "PC", "children": [] } ] }, { "level": 1, "id": "use", "permalink": "https://arsmachina.net/projects/p4/#use", "title": "Use", "children": [] }, { "level": 1, "id": "modification", "permalink": "https://arsmachina.net/projects/p4/#modification", "title": "Modification", "children": [] } ], "word_count": 732, "reading_time": 4, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] }, { "relative_path": "test/post1.md", "content": "

Hello World

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

Hello World 2

\n

This is a test.

\n

This is a test.

\n

Hello World 3

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n", "permalink": "https://arsmachina.net/test/post1/", "slug": "post1", "ancestors": [ "_index.md", "test/_index.md" ], "title": "This is a test", "description": "Test", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "tags": [ "test", "tag", "blue", "pizza" ], "categories": [ "projects" ] }, "extra": { "titlecard": "bg-a1-a3" }, "path": "/test/post1/", "components": [ "test", "post1" ], "summary": "

Hello World

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

Hello World 2

\n

This is a test.

\n

This is a test.

\n", "toc": [ { "level": 1, "id": "hello-world", "permalink": "https://arsmachina.net/test/post1/#hello-world", "title": "Hello World", "children": [] }, { "level": 1, "id": "hello-world-2", "permalink": "https://arsmachina.net/test/post1/#hello-world-2", "title": "Hello World 2", "children": [] }, { "level": 1, "id": "hello-world-3", "permalink": "https://arsmachina.net/test/post1/#hello-world-3", "title": "Hello World 3", "children": [] } ], "word_count": 153, "reading_time": 1, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] }, { "relative_path": "test2/post1.md", "content": "

Hello World

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

Hello World 2

\n

This is a test.

\n

This is a test.

\n

Hello World 3

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n", "permalink": "https://arsmachina.net/test2/post1/", "slug": "post1", "ancestors": [ "_index.md", "test2/_index.md" ], "title": "This is a test", "description": "Test", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "categories": [ "projects" ], "tags": [ "test", "tag" ] }, "extra": { "titlecard": "bg-a1-a3" }, "path": "/test2/post1/", "components": [ "test2", "post1" ], "summary": "

Hello World

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

This is a test.

\n

Hello World 2

\n

This is a test.

\n

This is a test.

\n", "toc": [ { "level": 1, "id": "hello-world", "permalink": "https://arsmachina.net/test2/post1/#hello-world", "title": "Hello World", "children": [] }, { "level": 1, "id": "hello-world-2", "permalink": "https://arsmachina.net/test2/post1/#hello-world-2", "title": "Hello World 2", "children": [] }, { "level": 1, "id": "hello-world-3", "permalink": "https://arsmachina.net/test2/post1/#hello-world-3", "title": "Hello World 3", "children": [] } ], "word_count": 153, "reading_time": 1, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] } ] } ] }