Tuesday, February 22, 2011

Abstraction

We've been learning a bit about Abstraction in my software engineering class.  As part of our assigned reading we had to read the following Wikipedia articles:

http://en.wikipedia.org/wiki/Abstraction_(computer_science)

http://en.wikipedia.org/wiki/Abstraction_inversion

http://en.wikipedia.org/wiki/Encapsulation_(computer_science)

http://en.wikipedia.org/wiki/Specification_(technical_standard)

I also found this article on the Pragmatic Programmer website that I think is pretty good:

http://www.pragprog.com/magazines/2011-02/abstraction

I found the relation between Abstraction & Duplication interesting, as well as putting TDD in the abstraction context as well.

Many of these things seem to also be related to the famous "information hiding" paper from David Parnas:

http://www.cs.umd.edu/class/spring2003/cmsc838p/Design/criteria.pdf

 

Posted via email from What I learned today

Thursday, January 14, 2010

Plato's Theory of Forms and Object Oriented Programming?

I'm taking an Object Oriented programming class and was thinking about how it seems to relate pretty well to Plato's Theory of Forms.  When you define a class its kinda like creating a non-material ideal, but when you actually implement it, then you create the material form.  Or you could think of abstract classes and subclasses of that abstract class in the same way.  

Posted via web from What I learned today

Thursday, March 26, 2009

OnLive Cloud based video games

OnLive Seems like a really cool idea, play games online from anywhere, no downloads, play the latest games online. Wonder if it will be the game changer its hyped up to be?

Wednesday, March 25, 2009

Wolfenstein 3D classic on iPhone

Pretty cool stuff from iD software, John Carmac has released the source code to an implementation to the 'grandfather of fps', Wolfenstein 3D on the iPhone. http://www.idsoftware.com/wolfenstein3dclassic/

Thursday, March 20, 2008

Jon Kabat-Zinn at Google

Jon Kabat-Zinn wrote one of my favorite books on meditation, Wherever You Go, There You Are: Mindfulness Meditation in Everyday Life, and is a professor at the UMass medical center. Here is a great talk given by him at Google, its a big long since there are some meditation sessions, but worth the time.

Wednesday, December 19, 2007

The Story of Stuff

From DailyGood today I was shown this great page about how our consumerist economy works, and the consequences of our consumption. The main page has a roughly 20 min video that is a great overview of how what we buy impacts the world. Check it out http://www.storyofstuff.com/index.html

Wednesday, November 21, 2007

Keeping Time

Last night I went to a concert featuring tabla master Zakir Hussain. It was an amazing musical performance, his skill with the tabla is simply mind blowing. I don't think I've ever heard a drum that could have so many different tones and sounds. Nor have I heard a player who could play so fast, with rhythm, and complexity. Equally impressive is the improvisiational nature of the music, having to completely focus on the other instrument and play in a complimentary fashion. At that level, it really doesn't seem like the artist is 'thinking', but simply 'flowing' with the music. I wonder how people get into that 'flow' state, and what exactly it is. Is it a different brain process, or perhaps a very well tuned neural network? Would it be possible for a computer to get into a 'flow', maybe a parictular algorithim or hardware design?