Skip to main content

Perceptrons

Basic Perceptron

This week's assignment is to code a Perceptron in Python and train it to learn the basic AND, OR, and XOR logic operations.

I created a Perceptron function with parameters that will let me study the operation of this algorithm.

Read more…

Clustering and NumPy

K-means clustering

Our second assignment in our Learning Machines class is to implement k-means clustering in Python. I've implemented this in other programming languages but not in Python. Normally I'd use scikit-learn for this but it is a worthwhile exercise to think through how to do this in Python.

Read more…

More After Effects and Understanding Comics

Understanding Comics

Scott McCloud’s book Understanding Comics is ostensibly a book about comic books as an art form, including its history, evolution, and modern structure.

The author has much love for comics and fell in love with them as a child. I can partially relate in that when I was younger I looked forward to the Sunday newspaper and reading the comics. However, I never had an affinity for comic books and found them to be a waste of time. These days I only read Dilbert on a regular basis.

Read more…

Playtesting Results

Last week Camilla and I did Playtesting with our fellow students. In general the results were positive, with some testers expressing an interest in using the final project. Some of our ideas about how the interaction would work were not as well received as I expected.

Results Summary

One tester told us he had previously discussed our project idea with his wife, who works as a therapist. She thought it would be helpful to have some way to help patients practice breathing exercises before the session begins. I find it encouraging that somebody found our project to be sufficiently intriguing to talk about it with someone else. I know she'll be at the Winter Show and I'm looking forward to showing her the final result.

Read more…

Run Length Encoding

Our first assignment in our Learning Machines class is to implement a run length encoder and decoder. This is a simple data compression algorithm that benefits from repeated patterns.

It happens that I previously had an idea for an Arduino project that requires a light-weight data decompression algorithm to decode audio data. I was going to use run length encoding because it is simple to implement and the code itself won't take up much of the Arduino's precious memory. I'll also need to encode the audio files in Python, and I'll use the below code to do it.

Read more…

Playtesting

Tomorrow we will begin Playtesting for our final project. I'm feeling good about the direction of our project and am looking forward to answering our user interaction questions.

New Design

We made some changes to our design. Most notably, we are going to drop MIDI sounds in favor of sampled sounds in mp3 or wav format. This simplifies our design and also removes the requirement that future users of this device will need to buy relatively expensive MIDI software to make pretty sounds. Additionally, we discovered that there might be some shortcomings in a Mac's MIDI subsystem that may be behind some of the technical challenges we faced during the midterm.

We are going to continue referring to our device as MIDI Meditation until we come up with a better name. The name of the project is probably the least important thing for us to think about right now.

Read more…

After Effects

We started learning about Adobe After Effects, a video editing and compositing tool that I enjoy immensely. I spent more time than I should have going through After Effects tutorials and learning about what this tool can do. This tool is super useful; there were many moments when I realized that some cool thing I've seen can be easily done with After Effects. I want to become proficient at this and use it for creative work.

We were asked to build a short composition with animated shapes but I got carried away building an animated character that walks across the screen. The character is built in Illustrator and animated in After Effects. I added some sound effects using Premiere. Enjoy!

Read more…

Final Brainstorming

Camilla and I decided that for our final project we will continue working on our MIDI Meditation device. We did well working together and we have a good project idea. The feedback from the midterm presentation is that if we improve the interaction and user experience we will have a great final project and an intriguing submission for the final show. Rather than try to build some kind of crazy flying robot, I believe that working on the interaction and user experience design will be a good learning experience for me.

Read more…

Stop Motion

Our first group project is to create a short stop motion animation using Dragonframe. We created a short story about an apple tree.

This video is hilarious and cracks me up every time I watch it. This was a lot of fun to make.

Read more…