Tuesday, April 10, 2012

It's unfortunate that perhaps the most personally important post that I put up for CS 404 comes during the final week in which no one will probably read it. I've had issues in the past with being on the computer for untold hours doing nothing productive and finding myself utterly addicted to the nothingness in front of me. My mind runs relentlessly, and I'm only reminded that I have a body attached when I've got to pee.

For the computer addict that can't seem to break the habit, I propose a solution. The premise is simple: I want to remind you who you are. Constantly. If you could see yourself going about your activities the way other people see you, would you be happy to watch yourself? Here's an application to let you do just that: CamDesk.

This is a quick utility that displays your webcam on your desktop. No install, just download and run. You can change the opacity of the image, its size, and position on the screen (by holding ctrl + mouse drag). Right click on the image to control the properties. Here's a quick candid while typing this blog post:

In short, amigos: Mosiah 4:30. I hope this helps you as much as it is helping me to control my computer usage. :)

Words to Live By

If you're not comfortable talking about it, you shouldn't be doing it. There is are major advantages to living your life in such a transparent fashion. Some people are tempted to ask about sacred and intimate parts of my life when they hear about this rule. To those, I say: Grow up. I will not cast my pearls before swine. Nevertheless, as a pearl is not meant to be hidden, so too will I share with those who will appreciate its value.

Treat everything as better than your own. Treat others as yourself. You are one of many. Every person you pass has their own back-story—their own struggles, their own family, aunts, uncles, siblings—and you know NONE of it. Those relatives mean just as much to them as your own mean to you. Their interests are just as valid; their lives just as important; their opinions have just as many life-stories built in as yours do. Respect them, and think of them the way you hope they think of you.

Wear one face no matter where you are or who you're with. Yes, you have different social groups with different interests and different behaviors. In many cases, you don't dare mix them. Nevertheless, you can be the same. Christ walked with, talked with, and healed both the beggar and the king. He was better than them all, yet edified their lives equally. Do the same, and when those social circles happen to cross, you shouldn't be ashamed of either of them.

Believe in the power God gave you. Question: Why did God, who, by primitive definition, can do all things and thereby doesn't need any of your help in building this universe, create you in the first place? Because YOU are the reason he created EVERYTHING ELSE. He's building YOU. Don't forget that. He's made you to be an incredibly awesome individual capable of so many things, and on top of it all, He's given you the choice to be who you want to BE. God is not going to give you everything you ask for, but he's not going to let you sit back and ruin your life either. Because it's ironically applicable: God will "give you the beating [or blessing] not that you deserved, but that one that [you] needed." ~College Humor Batman

If you don't have time to do it right the first time, you'd better have time to do it again. This adage I owe to my father. It carries with it several implications that guide my life. "Give 100% to everything you do." "If you can't give it 100%, it's not worth doing." "Live life without regrets." "You can succeed in all you try your hand at if you give it enough effort."

"This Is Your Life. Are you who you want to be?" Don't cheat yourself. There is no reason why you can't be happy. There is no reason why you can't be exactly who you want to be in life. Rich and famous? Sure. Go for it. The only thing to stop you is when you choose to quit going after it. These are lyrics by Switchfoot from a song entitled, "This Is Your Life," and as cheesy as it sounds, they changed my life. I was not happy with who I saw in the mirror. He didn't stand for anything. He lived one way around family and another way around friends. He hadn't done anything meaningful for someone else in years. And I changed all that. I wanted to be different, and I did something about it. And it feels great. My new dream? To be that cheesy young LDS dad, work a job I love, and make everyone I meet smile.

The gospel is at the core of it all. You can't say much more than that. Let the Gospel of Jesus Christ be the motivating factor in all your decisions, big or small. Don't let a day go by without thanking God for what you've been given, who you are, and who you have the possibility to become. I love Life. It's a great adventure, and I'll be terribly sad when it's over. And then I'll remember that it's never over, thanks to Him and His Son.

I could come up with more, but these are at my core, and anything beyond them would be mostly a composite of the above. Enjoy, and I hope they help you find out who you want to be.

Tuesday, April 3, 2012

You can be whoever you want to be. That's the enticement of role-playing video games. Has anyone ever told these addicted gamers that they can do the exact same thing with their own lives? You are in control of your life. You make the choices. You can pick your career. You can build the body that you want. You can be whoever it is that you really want to be, and the best part is: it's all real.

If you find yourself wishing that you could be different, don't just wish it. Do it. Be whoever your really want to be, and don't look back.

Thursday, March 22, 2012

The world turned on its head, or so you think. That's what happens when the economics of daily human interaction change. "It's all that new technology!" you say. "It changes everything!" Yes and no.

The world is an aggregate. It exists only as a result of our existence. To perceive the emergence of technology in the world as an event rather than a decision is to err. When technology catches hold, a key set of individuals must decide that such technology is in their favor. The novelty will either propagate or tumble over itself. The deciding factor? Us. We are the ones that change, and we bring technology with us.

Human interaction is at the root of it all. Everyone decides to accept the rules of social interaction or be swept up in the tide of what everyone else accepts. Technology comes with it, and enables it further.

Thursday, March 15, 2012

Does "Equal Opportunity" mean equal results? I just read a few articles about encouraging women to participate professionally in the sciences. While I agree the industry ought to be open to anyone, I don't think it's necessary to entice people of a specific demographic unless there is a direct correlation to their ability in the field. The best solution: Make it equal and open to everyone, and let people's natural tendencies flow their course.

Tuesday, March 13, 2012

Today's daily events did not call for a half cup of your opinion, two and a quarter cups hype, and a tablespoon of misinformation. Give it to me straight: Who, What, When, Where, Why, and How. Don't be so cavalier with your influence of my opinion. Information spreads too rapidly and misinformation spreads even faster.

Monday, March 12, 2012

WOW. I just got finished taking care of one of the most annoying Windows bugs I've seen yet. Some weird behavior involving Netbeans created a MASSIVE directory tree with repeating directory names (e.g. myDir/build/classes/build/classes/build/classes...). When I tried to delete this tree with any ordinary method, I'd get an error message, "Path name too long...yada yada." Windows Explorer would show that it was gone, but I'd come back and it was still there.

Nevertheless, HERE IS THE SOLUTION: Create a batch file that follows these steps.

Rename your repeating directories to an x.

Dive into the renamed directory and try to move the alternate directory up into your top level directory (i.e. my_Dir).

Remove the directory that you renamed (which no longer contains anything) Make sure to use the /s/q options (/s removes any subfiles, /q prevents windows from asking you "Y/N?" each time you delete the folder).

Repeat by calling the .bat (batch) file again at the end of the batch file. (YES, this creates an infinite loop. You'll just need to stop the batch file with "ctrl+c".

Tuesday, February 28, 2012

Does this bother you? Are you worried? Don't be. But this illustrates an incredible principle about today's world. Everything is built on trust. And that trust is very fragile.

Your computer is constantly downloading programs and files that were written by people you've never even met. And you're okay with it! "As long as it doesn't hurt me," you say. Unfortunately, it can. People can. If you let them. 99% of the hacker's successes in "The Cuckoo's Egg" came from user oversight (e.g. a password written in an email, default system passwords left unchanged). Here's your reminder: Be informed. Don't put information on the net that you wouldn't mind showing up on someone else's computer screen. "Oh be wise, what can I say more?"

Thursday, February 16, 2012

I figured it's about time that I post something relevant to FX, graphics, and simulation. Without giving away too much, I wanted to post some preliminary photos of the research I've been helping Seth Holladay with here at BYU. His work centers around efficient granule simulations. This particular portion of the problem relates to the need for granular level detail in a render as opposed to a displaced surface.

For the layman, I'll explain. Most ground surfaces, even in movies, is done like this:

This is great in most cases, but what if I want to get really close to the dirt and see individual pieces? Ever see Spiderman 3?

Well, in order to put all of those sand particles onto the sandman's skin, the artists had to instance thousands of particles and then pack them in so they would look right. Our research eliminates that process and instead instances the granules right on the surface (which can also be used in a Level of Detail situation at render-time based on camera distance from the surface, but that's another story). The process of instancing the granules onto the surface is simple, but can basically be explained in 4 steps. I won't give great detail here, but a trained eye ought to be able to pick out what's going on from the photos. You can get the details from Seth's paper once it's published.

1. Instance Granules within a volume.

2. Resolve Granule Penetrations.

3. Delete Out of Bounds Granules.

4. Settle Granules with a few steps of Gravity.

I hope you enjoyed the sneak peek! I'll most likely post more on this topic as we make some more progress.

The greatest super computer on earth would take more than a week to run a physically-precise simulation of millions of sand granules falling through my fingers, but it happens naturally in an instant. Without going into the philosophical or religious details, it appears as though each particle knows how to react to everything around it. (You're thinking, "Did he just imply a grain of dirt is intelligent?" Yup. And they're pretty good at what they do too.)

There are a host of subjects I'd love to discuss about that doctrine, but I'd like to prove just one thing at the moment. The tools for solving the world's toughest problems may no longer be super computers. According to the NY Times todays fastest super computer is "able to make 8.2 quadrillion calculations per second, or in more technical terms, 8.2 petaflops. The performance of [this super computer] is equivalent to linking around one million desktop computers, Mr. Dongarra said." Only a million? Come on guys...we already hit the one billion PC mark back in 2008, not to mention recently surpassing something like 150M smartphone users...

What if large simulations or other tasks could be decentralized and farmed out to each of these users? Graphics aficionados already know the importance of parallelized processing, but let's take it a step farther. Conceptually, give each particle its own set of rules, processor, and access to communicate with the nearest 10 particles around it. Sure, the method has a unique set of problems, but nothing innovative comes easily. Gamification, crowd sourcing, and social networks are already conceptual proof of the idea. I want to see it done.

Tuesday, February 14, 2012

I pose to you today the conundrum of education: How do you present decades of information to a student so they learn the critical principles of a subject but question that learning enough to explore new ideas? I'm a Computer Science major, and much of our learning takes the form of lengthy programming projects contrived by the professor to teach a principle well-known by industry professionals. The following is an alternative approach to teaching these principles as well as real-world problem solving skills.

Give students a unique real-world problem to solve (or let them find their own if they are capable.) The problems posed to students may be in a similar realm of study (e.g. web security, social communication, mobile-programming, computer graphics, etc.) giving the professor opportunity to teach current industry practices. Students' grades would be based on the performance of their end product and an explanation of their methodology.

Teaching students to innovate is especially important in the fast-paced world of technology where anybody can be the first to do anything. You can do anything given the chance, and I'd be really interested in seeing what a group of college undergrads could come up with.

Tuesday, February 7, 2012

As a side note to those of you who check my blog for FX related items, I've been doing a lot of research into Volumetric Rendering and simulation with Houdini. I've posted my findings thus far on another private blog, but I'll repost them sometime soon here so they are available to everyone. If anybody would like to help out with this sort of thing, please let me know! Thanks!

Monday, February 6, 2012

We Solve For X. What an interesting idea. In a world where collaboration has become commonplace, and networking with individuals across the globe is RIDICULOUSLY simple, could we encourage the general public to use it to solve real world problems? I mean, Angry Birds is great and all, but I want to do something REALLY meaningful with my time. Not only that, if I come up with a great idea, I want it to be MINE and get recognition (and hopefully some money) for it!

Aside from this guy's sweaty armpits and lack of finesse in describing these ideas, this video is indicative of what I hope people could achieve together in the next 10-20 years. I'd encourage you all to check out www.wesolveforx.com and see what it's all about. Not for you? Just wait 10 years, and I bet you'll be surprised at the new social networks that crop up...

Thursday, January 26, 2012

What are you talented at? Writing? Drawing? Playing Music? Playing a CD? Making money?

I've found a love for scientific problem-solving, art, and procedural graphics. The only down side was that I wasn't even aware of its existence until I was 21 and in my second year of college. Is there a way to reorganize public education such that the natural interests and talents of students are discovered and emphasized? Watch this video from Sir Ken Robinson for more on this idea.

My opinion: technology in the classroom is only truly advantageous to a student when skillfully used (or left unused) by an inspired teacher — not to mold a child's interests, but rather to bring out their natural talent.

Tuesday, January 24, 2012

An interesting conundrum has been posed this morning. See 1 and 2.With all the genius and ingenuity that this world has to offer, what do we do with it? Or rather, how do I expend my efforts and utilize my knowledge?Just yesterday I was shown an iPhone app which records five seconds of footage and renders a missile explosion on top of the video you just recorded. Entertaining? Extremely. Worthwhile? Probably not. Another example? "Adventure Time."This blog is focused on visual effects and art as a medium, but introspectively: A medium for what? As a matter of personal principle as well as advice to colleagues and students, resolve today to determine to what end you will utilize your talents. Just remember:Mindless humor may be hilarious, but it's still mindless.