Archive for March, 2010

Nine Inch Nails Remixed

Sunday, March 21st, 2010

Since we’ve been on the topic of audio and video editing, I thought I might share a few interesting remixes of songs by Nine Inch Nails. The head of the band, Trent Reznor, has always encouraged his fans to “steal” and remix his work; now that’s he’s split from the major record labels, he gave out his last album as a free download and it’s open for everyone to use in just about any way they’d like. I made a slide show for UMW’s GALL (Guerilla Art Liberation Lives) using pictures that I took from last year’s art and pranks and the song called “Corona Radiata,” and as far as I know, I don’t have to worry about any sort of copyright claim if I decide to share it on Youtube. (I might post it later, but you get my usual excuse for now: stuck in the Unix lab!)
If I were musically gifted, I’d love to do some of my own remixes, but I think I’ll just leave it to other fans and Reznor himself.

This one is called “Tear Zero,” and I’m a huge fan of both songs. The song you hear in the intro is “Teardrop” by Massive Attack (which most people know as part of the House theme), and the voice is the lyrics from “Zero-Sum” by Nine Inch Nails. You can hear bits of “Zero-Sum” mixed in at one point, but it’s almost inaudible.
The best part of this song is that it’s not the only one. Someone took most of the songs from NIN’s Year Zero album and remixed them with other songs by different artists. There are also a few that are remixed with other NIN songs. This person titled his collection of remixes “Bootleg is Resistance,” after a sort of slogan for the Year Zero album: “Art is Resistance.”

Here’s another one by the same person called “Hypercloser,” which is a remix of two NIN songs, “HYPERPOWER!” and “Closer.” This one’s one of my favorites, even though I’m really not a huge fan of “Closer.” Uh, this one also has “bad” words in it. If you don’t like it…don’t watch it?

And I really love this one too 🙂 It’s called “In This Green World,” remixed from “In This Twilight” by NIN and “O Green World” by Gorillaz.

If you like those as much as I do, there’s a site to download these remixes called Bootleg Is Resistance. I’ve downloaded stuff from here before with no problems, so you should be just fine.

This one is a mashup of NIN’s “Discipline” and Vanilla Ice. Admittedly, I liked this one a whole lot better when I could hear NIN over Vanilla Ice instead of vice versa, but it was still strangely satisfying. And as an added bonus, the cartoon of NIN playing on stage? Done by a fan as a prank. He posted it on Youtube as the “official video” for the song and everyone went nuts because it gets even more outrageous and non-NIN than what you see in this video. Reznor apparently thought it was really funny and adopted it as the actual official video. See what creative, “obsessed” people can do?

This is my apology for my rick roll post earlier in the semester: NIN’s “The Hand That Feeds” mixed with Rick Astley’s infamous “Never Gonna Give You Up” as “The Hand That Gives You Up.” Uh… Well, it’s a little better this way, right? 🙂

I really, really love this one 🙂 It’s NIN’s “Meet Your Master” and Queen’s “Get Down, Make Love” (which, funny enough, NIN covered at one point).

This one, a mix of NIN’s “Suck” and Daft Punk’s “Indo Silver Club,” had its moments where it was really good. I didn’t like it at first, but around one minute in, I think it sounds pretty great. Also, around 2:46 it’s full of discord (the end of “Suck” being somewhat chaotic, plus the Daft Punk thrown in there). It’s FANTASTIC (for a person like me who loves that sort of thing), but I actually wish the artist had cut parts of “Suck” out or something. I don’t know, there are just a few parts that I really don’t like coupled with some really amazing ones.
I’ve got a million more, but I think this post will take up enough space as it is. Does anyone else have a favorite remix? Nine Inch Nails is my favorite band, but what about yours? Any that include your favorite? Share if you’d like 🙂

Voices of Experience: Talking with Women in Technology (Lucky Seven Project "Aside" #2, part 2)

Friday, March 19th, 2010

I started down the path to Trinkle from Dupont around 6:55 PM last night. I’d wanted to finish helping with our video editing project, but I figured things would go well without me and we could present on Tuesday. I was running a bit late, so I picked up the pace. I ducked into the back entrance of Trinkle’s basement, home of the computer science department, and made my way down the hall to the only lit room that I could see.
It was filled with professors, students, and even some alumni. I waved hello to Dr. Anewalt, my current professor, and sat down nearby. The president of PERL, Jessica Zeitz, introduced the six women who would be answering questions for us. The first question asked the women how they got their jobs and what they do. Several of them “just needed a job” and found that they were perfectly capable working in IT or programming for a company. One of them majored in Mathematics “before computer science was a major” and got the opportunity to pursue a Masters in Computer Science once she was working for a company. One of them who particularly caught my attention majored in Computer Science (after needing a job, teaching herself a bit of programming, and realizing she was good at it) and Linguistics. She wasn’t working in computational linguistics, but it was still exciting. Most of them simply majored in Computer Science, and I think half of them were UMW alumni.
Another question asked them if they had any advice for the next generation of computer scientists, gender-specific or otherwise. They talked a lot about internships, and in fact I think there was a separate question all about them. I’m really considering looking for an internship next summer (as I think it’s probably too late to start looking now, and I didn’t know that I was qualified for one yet–I thought I needed more classes to be useful to anyone), and it was good to hear so many positive things about them. Most of the women said that it’s important to be good at what you do. I think that’s good advice regardless of gender or discipline 🙂 One girl also said that you should have a sense of humor; she explained that sometimes guys will say stuff, not to be mean, but because they just don’t know what to say. She told a story about how she was in a group to work on a project. She was the only woman, and a man came in and said, “You’re…a girl.” She laughed about it, and it was a very funny story to hear. Another woman said that she always felt that she should dress more professionally than the others because she was young and she felt that whenever they would go out after work, others would think of her as just “the secretary.” And one of the women said that women are ready to rise to the challenge, so there’s no need to be afraid. That one made me smile a bit 🙂
All in all, I thought it was a good session. I got to hear lots of great stories from great women. Unfortunately I couldn’t stay for drinks and snacks, so I can’t comment on how tasty they were. (Just kidding, I’m sure they were great.) One thing I’d have to say, though, is that there were no current graduate students. I’m seriously considering graduate school in my future, and I really want to hear from someone who’s there right now, doing what I’d like to do. They were probably aiming to have just women who are already in the workforce, however, and I still think it was great.

Girls? What girls? (Lucky Seven Project "Aside" #2, part 1)

Thursday, March 18th, 2010

Tonight I’m going to a session hosted by PERL (UMW’s all-female computer science club) and the computer science department. I have to leave class a bit early in order to get there on time, so I’m going to blog about it as part of my project. Plus, I think it’s a very relevant issue for beginning programmers to take note of, as well as any other member of the field.
The session is called “Voices of Experience: Talking with Women in Technology.” If you go down to Trinkle’s basement and look into the labs, you’ll probably notice something. I stand out a bit. Why? Do I have three eyes? Do I wear a funny hat? Nope. I just happened to get an X chromosome from each of my parents, and somehow I’ve found myself a minority in my chosen field. So, tonight there are going to be a bunch of women talking about their experiences as computer scientists. It should be fun 🙂
I’m planning to write about what I hear tonight, and maybe I’ll compare their experiences to my own.
And if you want to skip part of class with me, uh, er, come…
It’s at 7 PM in Trinkle B6. There’s free snacks and stuff.

Apples to Apples, or How to Compare Stuff ("Lucky Seven" Project #3)

Tuesday, March 16th, 2010

Programming almost always involves comparing some value to another. It’s a fact of life, er, coding (Is there a difference?), and it’s not difficult to do. You compare things in your head all the time, and I’m sure you’ve compared numbers in math class before. Now let me show you how to compare things in Javascript.
(I’m also going to include some logic stuffs, which also isn’t difficult. I’ll give examples for everything, so don’t worry.)
By the way, the == operator tends to confuse beginning programmers until they’re ripping their hair out, but there’s no reason to fear it. Just make sure you understand the difference between == and =. Ask me questions about it if you don’t 🙂

I know you took algebra in middle school. This means the same thing, “greater than,” and is used to compare two values.
9>7 is obviously true.
(Yes, this stuff sounds ridiculous right now.)

Same thing. This one means "less than."
“Greater than or equal to.”
This is the same thing as the > with a line under it, which you’ve probably seen before.
9>=5, and 9>=9

"Less than or equal to."
And this is the same thing as the < with a line under it, as you probably guessed.
5<=9, and 5<=5

This is how you say "not equal" in Javascript.
This is probably the first one that you don't recognize. The exclamation point, sometimes called "bang" in computer science jargon, is the symbol for "not."

This is how you say "equals" in Javascript. BEWARE! This is not how you make a variable (more on those later) equal to something else, for example x=5. If you say x==5, x won't equal 5. x==5 is checking to see whether or not x already equals 5.
if 5==5
then say that they are equal
otherwise (else)
say that they are not equal



This is how you say "and" in Javascript.
if (you don't ever show up for class)&&(you don't ever study)
you're probably going to fail

if (you like what you're reading)&&(you like to have fun)
major in computer science

Note that both of these conditions MUST be true in order for the next line to happen. If you like to have fun but you hate what I talk about in my tutorials, don't bother majoring in computer science. If you never show up for class but you study lots, you might just pass. Yes, I know these examples aren't that great, but if you'd like then I can pull out my old discrete math textbook and find you some better ones that will give you a good idea of how these logic things work.

This is how you say "or" in Javascript.
if (you are reading this)||(you want to make me feel good about myself)
comment on some of my stuff /*Just kidding… Maybe.*/

if (you have red paint)||(you have yellow paint)||(you have blue paint)
you have a paint that is a primary color
//Note that you can compare more than two things, like in this example.

Unlike the &&, only ONE of these conditions has to be true. Both and/or all of them can be true, but it's not necessary in order for the second line's conditions to be true or carried out.

I know that this post doesn't have much in it words-wise, but comparisons are actually pretty important for what you're going to be doing. Make sure you're familiar with them, and post comments if you want better examples or if anything is unclear.

HTML and You ("Lucky Seven" Project #2)

Tuesday, March 16th, 2010

As I mentioned in my introduction to this project tutorial, the best part of using Javascript is that you can go straight from Notepad to your browser of choice. If you have your own web space–and everyone in Digital Storytelling does–it’s easy to use Javascript to make interactive, interesting web pages for your site. Javascript interacts with HTML and CSS to make pop-up windows, rollover images, text boxes, and even simple games for your site.
I figured I’d explain how to put up a new web page on your site for three reasons:
1. I really just wanted to get it out of the way because I’ll forget later.
2. I also wanted to get it out of the way because I’d much rather be coding 🙂
3. Apparently there are people in this class who haven’t been able to get their home page up, and this will help cut down on some of the intimidation and give you a template to work from.
So here’s my step-by-step guide to getting your stuff straight for the future.

Stop worrying. Web design is fun, not frightening. Open up a basic text editor. I’m almost certain you have one on your computer. If you don’t, well, I have no idea what you did with it, but you can download them online for free. Windows users, you’ll use Notepad; Mac users, try TextEdit. This is NOT a job for Word. Word does not like computer code. Not only will it give you red lines all over, but you also won’t get much done as far as making a website goes. Just don’t do it.

Now that you’ve got your text editor open, you’re ready to start with HTML. HTML is what makes your web pages pretty, and I’m going to give you the basic template for every web page out there. I’m also going to go a bit farther and explain what each part is for. When you see text /*between a set of slashes and asterisks, like this*/ it means that everything between and including those slashes and asterisks doesn’t actually belong in your HTML file. All of that text is my explanation, and you should get rid of it before you upload your HTML file so that it’s a visible part of your site. Otherwise, it’ll look ugly and everyone will laugh at you. (Just kidding, but you need to get rid of them.)
Why did I choose those stupid symbols to mark what I’m going to tell you? Well, I didn’t. Take notes now; this is the first thing I’m going to teach you about writing code.
Whenever you see /*text between slashes and asterisks*/ or
//a single line of text that’s preceded by two slashes
then you should know that the text is invisible to the computer as it starts reading and executing the Javascript code. These are called comments, and every good programmer uses them.
But why are they important if the computer never sees them? Comments make things easier for humans to understand when they try to read through hundreds of lines of programming languages. You’ll get a better understanding of what I mean once you get started with this project. If you work on this project on Monday, have a lot of studying to do, and then pick back up with the project on Thursday, then trust me, you’re going to wonder what in the world you were doing last time you sat down to code. You’ll wonder what this does, why you decided to add that, and you’re going to get frustrated. Comment as you work. The slash-asterisk style of comment is generally used for several lines of comments or only a small portion of a line, while the double slash comment is used for a single line (and everything on that line will be commented out). Simply put in one or the other and write yourself a bunch of notes on what you’re doing. You’ll start to get a feel for what you need and want to comment as you start working.
Now that you’re familiar with comments, you can see the backbone of an HTML file. So, here it goes:

/*The first bracket lets the computer know that you’re starting to write HTML. The bracket things are called tags.*/

/*All of your fun Javascript stuff is going to go in here!*/

<br /> /*Whatever you put in here will show up at the top of your browser window, where the minimize and close buttons are. Try to keep it short, sweet, and to the point; there’s a limit to where it’ll simply get cut off. */<br />

/*Everything that you want people to be able to see on your page goes in here. For this project, you’ll probably write a little bit about your game, like instructions for how to play and what the goal is.*/

/*In case you didn’t notice, each tag needs to have a closing tag to tell the computer that a part is done. For example, a tag follows this comment so that the computer knows that the HTML is all finished.*/

Now here are some fun pictures to help you along!
This is a bare bones web page:

NOTE: I’m having difficulty getting this to work for some reason, so I’m going to complete this tutorial at a later date. I’ve been trapped in front of a computer screen for a majority of the past two days working on a do-or-die programming project (There’s really no exaggeration there.), and I’m honestly not in the mood to mess with this stuff right now. Plus, I’m really, really sick. I’ll try to get the next part of this project up soon–I know I’m behind–and finish with this one ASAP. Sorry for the delays and brutal honesty.

Demented Aliens Attack

Saturday, March 13th, 2010

Paul worked on this too. Thanks to Nine Inch Nails for the awesome background music 🙂

Demented Aliens Abduct Someone

Just to remind you that we’re not THAT disturbed, here’s the video for the song in our sound story:
“Pinion” by NIN
(Warning: The video kinda sorta really can be, uh, weird the first time you watch it.)

Confessions of a C++ Programmer (A Lucky Seven Project "Aside")

Friday, March 12th, 2010

Most people are under the impression that linguists are always fluent in dozens of languages. Some of them actually are, but not all of us. I used to be very good with Latin back when it was my major, but I’ve recently started to stumble over words that I swear I knew when I was in 8th grade. I’ve sadly come to the conclusion that the old saying, “use it or lose it,” is too true.
I don’t really consider myself multilingual as far as natural languages go, but I know a good handful of programming languages. Right now, I’m working with C++. I love it, even when it gives me nasty errors. But just like Latin, my memory of Javascript (the first programming language I ever learned) has rapidly faded. I haven’t used it seriously in almost a year, and I’ve forgotten a lot of things. I actually think the last time I wrote a decent program with Javascript was over the summer, when I wrote the Lucky Seven game that you’re going to make over the next few weeks.
This project is going to be a great refresher for me because I’m going to have to dig out my knowledge of Javascript syntax from under the rules of C++. I’m having fun going through all of my old 110 notes to remember just how to do something (even things that aren’t going to be included in this project) and looking at all of the programs I wrote back then.
And you know what? I think I’ll read some Latin tonight.

(The second part of this project is coming soon. I’ve got it almost written, but it’s on one of my computers and I’m stuck in the Unix lab for the day. Fun fun.)

Introduction ("Lucky Seven" Project #1)

Tuesday, March 2nd, 2010

For my digital story, I’ll be teaching you how to make a number guessing game using a programming language called Javascript. Even if you don’t consider yourself the type of person who would be interested in coding, I hope you’ll follow along and create a fun game that you can put on your web site. I think that it’ll be challenging for non-programmers, but hopefully not overly frustrating.
I wrote the game, which I call “Lucky Seven,” last summer. It’s not a difficult program to understand, nor is it a long one. The language I used to write it is called Javascript, which is an interesting language that I taught myself in junior high and then studied in my first computer science class at UMW. It works in a browser alongside HTML and CSS to make awesome web pages, but it’s much different than either HTML or CSS. What’s the difference? Javascript is a programming language, a language used to write algorithms that a computer can “understand” and execute, while HTML and CSS merely make things look nicer. Javascript doesn’t require some of the “extras” that other languages would, which is why I think it’s a good first programming language. The biggest bonus to using Javascript for this project in this class is that you put it in an HTML file and you can put it on your site. Hopefully I’ll put a sample of the game on my own site soon so that you can see it. One downside to Javascript is that it doesn’t get compiled; I also consider that a bonus because you don’t have to go out and download a compiler, but… Compilation is basically converting a programming language into something the computer really “understands,” and if you’ve done something wrong… Well, the computer isn’t so polite about it. You don’t get cryptic error messages and core dumps with Javascript, but instead it will mess up and leave you with nothing to work from. If you intend to follow through with this project and build your own “Lucky Seven” game, I have to warn you that you’re probably going to run into a few errors. To remedy this, I suggest using Firefox (at least when you’re working on this project, if you don’t want to/already use it full time) and downloading an add-on called Firebug by clicking here. (I swear I’m not rick-rolling you guys again.)
Firebug is a debugger for Firefox that will help you find errors in your Javascript code. I personally hated using it back in 110 because it can be very confusing and I like to solve problems by myself. (Yes, I am stubborn.) I’m still very willing to help if you need clarification on anything and I’d love to help you debug, but I still suggest using Firebug for those simple “oops, forgot a semicolon, my bad,” laugh-it-off types of errors. I code almost every single day, including weekends, and sometimes I’m too frustrated, too tired, too busy, or too something to give prompt help. That doesn’t mean that you shouldn’t leave me a comment that I didn’t explain something very well or that you have some crazy bug that you can’t figure out. I absolutely LOVE to help people and don’t mind explaining something in multiple ways if it’ll help someone understand, but I also believe that making mistakes, finding them, and correcting them is one of the best ways to learn (and the only way for a person to learn how to program).
I was going to write something awesome about what computer programming really is, but I honestly don’t think it’s necessary. Computer programming is all about writing algorithms. Computer programming is the art of bossing computers around. Computer programming is fun, challenging, and something everyone should try.
And if you follow this project and like what you see, consider taking CPSC 110. I can’t guarantee you’ll learn Javascript, but you’ll learn some of the same basic information in another language. It’s good for a math gen ed and great for a budding CompSci major 🙂