Creative Coding Week 3
So for my project this week, I made a dance party! After spending a good chunck of time digesting the concepts and learning how to make an object thing work and using an array to make the most of it I decided I'd make a bunch of fun looking lights that went to a beat. I kept that same interval timer I used last time so things didn't flicker all over the place and started with my main beat in the center that would thump rythmically like a subwoofer. When I got my array working, I wanted them to change somehow to another color. I accidentally had them change color after they hit a wall which also changed the center ball's color everytime one would hit a wall which I actually kinda liked alot so I kept it. I did a little experimenting and put a variable in my class which lets me control the speed of the rainbow balls and with the array I can easily control how many balls I get too. To finish off a dance party, I figured a lazer show would be nice so I have some lines coming from the center of the canvas and drawing to a random spot up to half way towards any direction. check out the code here! This was actually my backup attempt after I unsuccessfully spent hours trying to do a similar setup but with WEBGL which I didn't fully learn properly or anything yet. Turns out moving stuff in 3D space without knowing how to isn't too easy! But it still looks okay I think, check it out below! check out the code here!Objects of Our Affections: How Object Orientation Made Computers a Medium, by Casey Alt Response
Reading through their process of designing the ways the computer worked with loops, variables, math, and everything just from the binary of 0 and 1. I kind of thought of it like they were gods writing the laws of physics for a digital world. The ingredients of life, air, water, a sun... in this case, algebra and other functions. So with an environment for coding to work, you have space and with the processor determining the speed and how you order things in the loops and the linear way, you have time..... space-time for infinite possibilities! That kinda made me think of space invaders and how the processor would run faster if there were fewer enemies on the screen because of memory being freed up and it became more difficult the farther you got which was a cool mistake that worked perfectly. I never really thought too much about memory and how the computer has to keep values to talk to itself. In a way, it's like sending messages to itself through time since the messages don't always moe linear, and with polymorphism, it's like the message is being sent after going through a different dimension and getting modified, or finding the receiver modified. I can't imagine how they eventually came up with the idea and design of a mouse from a pen tablet and eventually folders and other user experience things. The design must be good since we still use those conventions to this day. Small talk did a good job bridging everything together with its environment and translating computer language in a way that humans could interact with and understand. It's kinda like the Bifrost that connects us regular folk into the digital world. It was interesting to me to read about how computers used to be thought of as just calculators and how they've changed so much. In the same thought, I think people have changed too because of computers with each new generation being born into something new. They talked about how everything around us could be broken down into object-oriented systems. I was thinking that even people, no matter how complex we are, maybe could be broken down into algorithms too. Just look at machine learning and how we're starting to get fooled by them. Although not just machines to calculate things anymore, I would argue that a lot of the examples of computers creating media isn't quite accurate. Most of the things like streams and videos are media is hosted on the computer, while special effects use computers as tools to create some media. I would say that a video game is a better example of a computer being media since it wouldn't work without the processing of inputs by a player. I always heard the term object-oriented programming, but I never really perfectly understood why it was called that or why it was so quintessential. I think I have a better idea now, by having each object have its properties, they designed an interface in a way that objects can talk to each other and work more effectively since they don't need to know what's inside each other. Hide the internals but send out the functionality through interface or protocol. It makes sense that OOP was designed this way, it breaks things down so it's easier to work out how to make stuff, just like in real life when you have complicated issues. I think having people learn how to program and think this way could change the way they think, maybe become better problem solvers or more logically oriented.home
while (!deck.isInOrder()) {
print 'Iteration ' + i;
deck.shuffle();
i++;
}
print 'It took ' + i + ' iterations to sort the deck.';