Thursday, December 9, 2010

Keep Walking

I think a good metaphor for life is walking to somewhere. Sometimes, perhaps more so than others, it's freezing outside. You're cold, tired, and don't want to go on anymore, and to make things worse, you don't even know where you're going or how much longer you have to walk.

It's not fun, maybe even miserable, and yet you keep walking. You're tired and you have no idea how much longer you have to walk, and yet you keep walking. Why? Because you know that eventually, somewhere, there's an end to this journey, where you'll be able to sit down someplace warm and comfy and be able to rest.

As you tiredly walk in this cold journey, you see others walk by. There are some who are as cold and tired as you, but there are also some happily jogging, and you wonder to yourself how they could possibly be enjoying themselves when it's freezing outside.

I don't have an answer on how to enjoy the journey, because honestly, I'm still trying to figure it out myself. But what I do know is that you can't stop, you have to keep walking. No matter how tired, cold, and miserable you might be, you have to keep going, because somewhere, somehow, there's a warm place to rest at the end of the journey. And if you stop, you'll never make it, so just keep walking.

Wednesday, December 8, 2010

Managing Software by Managing People (CS 428)

There are many things to take into consideration when managing the development of software, such as the development process, the budget, and the schedule. The most important element of managing software, however, is the people. It’s the people that will create the software, determine when the software gets finished, and determine the quality of the finished product. The major hurdles that face the manager will depend not so much on the complexities of the software as it does on how people will build it. Understanding this could mean the difference between success and failure.

The quality of a program is dependent on the quality of the people who build it. If there are lousy designers, the result could be a design that’s impossible to implement or software that doesn’t do what it’s supposed to. If the coders and testers are lousy, the result could be a product riddled with bugs that took too long to build. Quality people can create quality software, so the people working on the project should be chosen well.

The software will still be hampered, however, if they’re poorly managed. Not everyone works the same way, so what’s needed for a person to perform optimally isn’t the same for everyone. For instance, if all the team members are young, single adults that can be fueled simply by pizza, fifty hour work weeks could be possible. If a team of older, married adults with kids were to have fifty hour work weeks they would likely be burned out and their work would suffer as a result. People also do well when they’re excited about what they’re working on, so what part of the project a person would be more excited about should be taken into consideration. How people are managed greatly affects the quality of the software, so when a problem arises, the problem can often be traced back to people.

When problems arise, and they always do, it’s usually a people problem. For example, if a project runs late, it could be because the manager didn’t schedule enough time for testing. If the software fails to meet the user’s needs, it could be because the designers didn’t adequately gather the requirements. Sometimes even honest attempts to improve performance can backfire. For example, if success is measured by how fast a software project is released, the result could be a project that’s released on time but at the cost of missing features or buggy code. By understanding that problems are really people problems, the issue can be tackled at its source.

The best way to manage software is to manage people. Do whatever that’s needed for the team work effectively, even if it means spending extra money on something like food. If people are happy and can work effectively then a successful software project is likely. Poorly managing people working on the project is a great way to ruin it. Cut their pay in half, have them work sixty hour weeks for several months, fire your testing team, and you’ll end up with a barely-working program that doesn’t meet the user’s needs. The people working on the software project are the most important aspect of management, and understanding this can mean the difference between success and failure.

Friday, December 3, 2010

I Like Being Weird

A lot of people try to be "normal" or to "fit in." I, however, dive head first in the opposite direction. Yesterday as I went to the kitchen, I heard some familiar music coming from the living room. My roommate was in there on his laptop, and he said to me,

"Did you know that others can see your iTunes library?"
"You've got some weird music."
"I know."

If you want to see an example of my weird taste in music, you can check out this playlist I made on Youtube.

Not exactly sure why I like being weird. Perhaps it's that I don't want to be like other people, or maybe it's because I like standing out or I'm actually trying to seek attention. I don't know the reason, really, and frankly I don't care.

Old Games

Since I'm a poor college student I don't buy many new games. Actually, I think it's been over five years since I bought a game when it first came out. I do, however, still enjoy many old games, and even occasionally buy games for older systems like the PS2 when they're less than $20.

When I went home for Thanksgiving break I took back with me some old PC games, namely Jazz Jackrabbit CD and SimCity 2000 Ultimate Edition. Thanks to DosBox, I've been able to play Jazz just fine (I can't play it in full screen, but hey, not a big deal) on my Windows 7, but SimCity 2000, however, has been a problem. It will run, and you can build a city just fine, but you can't save or load a file. This is a big problem because, while building a city is fun, it's almost pointless if I can't save it.
Interestingly, most of the game speeds in SimCity have a set timing, but I believe the fastest speed is set to run at however fast the processor can run, because once I select the fastest speed, it becomes impossible to change it before the end-of-the-year finances window pops up.

Having old games is great because they're still fun and they're free, it just sucks when they don't work like they used to.

Tuesday, August 24, 2010

Aquaria: A Beautiful Game

I just beat the Indie game Aquaria, and I'm very impressed with the game. I got it through the Humble Indie Bundle not long ago, and that was my first time hearing about it. Of all the games I played from the bundle, Aquaria was the best experience, more so than World of Goo (Though World of Goo was quite good as well).

I rarely use the word beautiful to describe a game, but that's the word I would use. The artistic style given to the game, along with the scenery of the underwater world that Bit Blot created is wonderful. What added to the beauty as well was the story and voice overs. The story isn't as deep as something like Lunar 2, but it's good, and the voice for Naija was done very well. After playing the game for a while I became very interested in the characters, and hoped for a good ending (Which it did). The gameplay started out slow, but as you gain more powers along the way, things really picked up.

For an Indie game, this was very well done, and for whatever it's worth, I give my recommendation.

Wednesday, August 11, 2010

Search2mzIdentML: A Simple Ruby mzIdentML Converter

I've been working on building software to aid research in proteomics. With the suggestion of my professor, I created a Ruby implementation of a pepXML to mzIdentML converter. Proteowizard already created one, but through the power of Ruby and Nokogiri, Search2mzIdentML is simple, clean, and easy to expand. There were some challenges that came along while creating this, but I believe that Search2mzIdentML is now a releasable program.

I know that my blog only has about two readers, but just in case there's someone out there who searches for an mzIdentML converter that happens to come across this, I hope they'll find it useful. What's more, if that person could give some input about any problems or concerns, that would be even better.

Monday, July 5, 2010

Carl's Jr.'s Mockery

Back where I grew up in California there's a restaurant called Green Burrito. The food is really good, and I consider it to be my favorite Mexican food (Americanized Mexican food to be technical, but I actually prefer it over authentic Mexican food). Depending on where you've been, you may have noticed that Carl's Jr. has a "Green Burrito" menu. Since coming to BYU, Green Burrito is something I've missed, so I decided to go to Carl's Jr. and try out their "Green Burrito" nachos.

Now, keep in mind, that I went into this place expecting to be disappointed, because I was sure that Carl's Jr. wasn't going to deliver the same thing that the original restaurant could. What I got, however, went even lower than what I was expecting. Green Burrito's nachos have just about everything you would want on it, refried beans, cheese, steak, salsa, sour cream, and guacamole. And for about $5, you got a lot.
Carl's Jr.'s "Green Burrito" nachos, however, can only be considered a disgrace to the name of Green Burrito. The chips weren't as good, and all it had was refried beans, lamesauce (Nacho cheese sauce, as opposed to real, grated cheese), some beef in some lame sauce, and some guacamole. They were pitiful. They were worse than Taco Bell's nachos. And to add it insult, it was about half the size as Green Burrito's nachos for almost the same price! Augh! I was thoroughly disappointed.

As my closing remarks, I just want to say, this is truly a disgrace to my favorite Mexican restaurant! What Carl's Jr. exec had the gall to call this "Green Burrito?" And for any of you that have only experienced Carl's Jr.'s version, please, know that Green Burrito is far better than this!

Wednesday, June 30, 2010

Another GT Feature

Wow, my second Starfox Vs. became a featured video on GT, just like the first one. While I come up with a lot of ideas for videos, I don't find them to be anything grand. It's not original, either. But then again, no one else has done it before, and I suppose that's the same case for everything that gets attention.

One person's comment said to the effect: "While this is cool, what would posses someone to actually come up with this?" All I can say to that is "I'm a weird guy."

Thursday, May 27, 2010

My Current Job

I currently have a job as a research student working at Prince Labs at BYU, and so far it's been good. The funny thing is, though, that it's a Proteomics lab, and I know very little about that stuff; I've never even taken a chemistry class! But that's okay, because what I do is write Ruby programs to accommodate the Mass Spectrometry stuff. Aside from learning a lot more about Ruby and Linux, I've been able to see more how a CS degree can allow me to work in just about any field. I really don't need to know a whole lot about what the program is for, just how to get it to fulfill the required tasks.

What I'm currently working on is a Mass Spectrometry pipeline, which will allow users to execute a single command, and raw MS data will be transformed into identified proteins. My work can be viewed at Github.

I'm also working on an mzIdentML converter. My mentor (Is that a proper term for him?) thinks that if I make this converter then it will be something used by lots of people and maybe even get me mentioned in a paper. I have trouble believing such high claims, but I can at least say that no one is making a Ruby implementation, and with the power of Nokogiri, it's a clean and fast implementation. It would be cool though to create a program that would be useful to others.

Tuesday, May 25, 2010

My Recipe Book

Last Christmas I made a recipe book program for my Mom as a present, and I've found it useful. If anyone wants to use it as well, you can get it here. Below is a picture of the program in action, as seen in Windows 7.

Wednesday, May 19, 2010

Clean Music

I don't like profanity, so it bothers me when music I like uses it. To fix this problem I edit the songs, and now I'm uploading some of them to Youtube in case anyone else is interested.

Drop the Dodongo

Oil Ocean (WT-40 Mix)

Wednesday, April 7, 2010

Standing by One's Principles (CS 404)

Some companies will do anything to make money, but not everyone. Some, like Google, will stand by their principles even if it means losing some profit. Having principles, though, is more than just feeling good about yourself: it can be good for business. If, for example, you're a small research group that focuses on green technology, are you going to find support from a company that is determined to help the environment, or a company that will turn its back on you if it's not profitable enough? When a company consistently stands by its principles, it gains trust, and when a company can be trusted, it not only gains more customers, but it creates loyal ones.

Thursday, March 25, 2010

US Government Long Overdue for Some Pruning

I don't know a whole lot about politics, but I've been rather concerned about how things have been going lately. For one thing, our government has gotten way too big and far too much in debt. Taking control of health care doesn't help either. In a simplistic view (Or, in other words, I'm too ignorant to the details), the reason we're in debt is because we're spending more money than we earn. A simplistic answer to this simplistic view is to:

1) Stop spending money on unnecessary things, and,
2) Cut out any programs that cost more than they earn.

Like a tree, the government has grown out of control and producing less-than-optimal fruit. The removing of limbs may be painful to the tree, and after pruning it way back it will take a while for it to start bearing fruit again. With a debt of several trillion dollars, the day it bears fruit may not be in any of our lifetimes. Slow, yes, but the government certainly hasn't fixed the problem by spending more money.

On a separate note, I believe this health care bill will make things even worse. The principles of economics say that when you greatly increase demand and decrease supply, costs go way up. I don't believe the government is exempt from economics.

Again, I'm not very versed when it comes to these things, so if I'm wrong, I'll readily admit that I am. But if I'm right, I fear that it might even be too late to change the direction we're headed.

Can't I Get a Little Respect? (CS 404)

Monday, March 22, 2010

Duality of Technology (CS 404)

Both God and Satan try to influence people to do good or to do evil. While the effects are obvious in people, their workings can also be seen in technology. For example, television, radio, and the World Wide Web provide truth and uplifting messages, but they also provide lies and vulgar media. As in times past, God inspires men to bring about good, but Satan comes along and inspires others to pervert what is good. But are we going to let that stop us from creating new technology? No! If we work to harness technology's power to spread the work of God, then we can strengthen ourselves in the battle between good and evil. Technology we can't even imagine is just over the horizon, and we need to be ready use it for the good of the world.

Tuesday, March 16, 2010

Whacking the World with a Tenderizer (CS 404)

The World is Flat, the book I wasn't able to read, talks about the different forces that have flattened our world, bringing the world closer together. The process of this flattening makes me think of a tenderizer. Of all the the kitchen utensils, I find the it to be the most curious one: a spiked mallet used to whack the heck out of meat. This flattening is like a giant tenderizer being let loose upon the world, flattening it with every stroke.

Whoever is swinging that tenderizer right now is in a frenzy. Technology in the past few decades have not only greatly flatten the world but it's done it rapidly. Twenty years ago I didn't know what the Internet was, and yet today I can't meet someone who hasn't. The Internet alone has brought people closer together than anything else in the past, literally giving people access to the whole world without leaving their home. The accessibility itself drives people towards contributing to the Web, letting more and more people to share their ideas and works.

The flattening  hasn't been smooth though, as with each swing of the spiked mallet parts of the world get roughed up, leaving us with new challenges and questions to ask. How can we protect ourselves from hackers? How can we prevent pirating? Should the Internet be censored? Can technology go too far? Questions like these aren't easy to answer, and even if we can answer them, they'll just come back once things get roughed up again.

It's an exciting time with all this rapid change, but we'll have to work at smoothing out the bumps as we go along. In this flattening world, only one thing can be certain: the tenderizer will strike again.

Wednesday, March 3, 2010

A New Form of Tyranny (CS 404)

So after reading some articles about copyright laws I was thinking about something: why are the big companies making the laws? Big movie studios and record companies get upset about something that might cut their profits, so they start sueing people, which then lead to copyright laws being made. Who do these laws help? The big companies. Who do they hurt? Everyone else. Is it just me, or does this sound like tyranny? Wasn't the constitution set up to prevent something like this from happening? These copyright laws can, strangely enough, even hurt the authors themselves. Take Earthbound for example: it was a big hit when it was released, but I sadly never played it. Due to new copyright laws, Earthbound will never make a reappearence in the U.S, which means Nintendo can't sell it on the Wii's virtual console. And what about me? I'm a poor college student, so I'm defintely not going to fork over a hundred dollars, and the only other choice is a legally questionable ROM for ZSNES. Something doesn't seem right here, but as long as the big buisnesses stay in power, nothing will change.

Monday, March 1, 2010

Should We Let Computers Learn For Us?

I'm currently taking a machine learning class where I learn different algorithms to get a program to learn a task. I find it fascinating how you can give a program some data, and after training itself on that data, it would then be able to correctly determine the answer on an instance it hasn't seen before. But things like machine learning sometimes bring up the question, "Will we become dumber by having computers do everything?" In some of the small examples I've gone through in class, you can find the answer by hand faster than setting up a computer to do it. Computers aren't needed for small problems, but what about the big ones? An article about predicting threats in cybersecurity talks about Lockheed Martin "processing 1 million 'incidents' a day" to find high-risk activities in cybersecurity. The article doesn't say, but chances are they're using software that's similar to what I'm learning in class to find their answers. When it comes to looking at millions of data, machine learning software is indispensable, especially when the answers can help protect us. Yes, using a calculator to tell you the answer to 2 + 2 could make you dumber, but using technology to tell you the answer to something that would take weeks or months or to do by hand can only help us.

Monday, February 22, 2010

Universal Controllers Don't Work (CS 404)

So it turns out that Sony filed a patent application for a universal gaming controller back in 2008. I can see why such a controller would be appealing: why keep around ten different controllers when you can just have one? Sure, it sounds good in theory, but universal controllers just don't work in practice. Just take laptops for example: to have both a keyboard and a mouse, most laptops have a keyboard and a touchpad. I hate the touchpad! Running your finger across the pad just isn't the same as holding a mouse in your hand. The same problem goes for Sony's universal controller. If all the buttons and controls are done through a touchscreen, how can you know whether or not you actually have your finger on the A button? And how would it incorporate the Nintendo 64 controller with its Z button on the back and the port for connecting a memory card? How would the controller actually connect to the system? The only way they could is by also having a universal connector that has an end to plug into each and every system's controller port. That sounds rather clunky. Perhaps these problems are the reason why there's no word of Sony actually building the universal controller.

Thursday, February 18, 2010

My Strange Taste in Music

My brother once asked me, "So, have you, like, started listening to normal music yet?" My answer was, and still is, no. When he asked this question he was referring to my playlist that's composed mostly of music from OverClocked Remix (You can visit the sight from my list of links on the right). While this music may not be considered normal by many people, I see it as wonderful, well created music. My strangeness doesn't stop there, however, oh no. Throughout the day I've had a song stuck in my head that most people would probably find strange, annoying, or maybe even down right scary. The song I'm referring to is the following:

 The Tiger-Patterned Ronald

For some reason I really like music that is made from non-musical sounds, like creating a beat from machine guns, producing a melody from windows sound effects, or the sound of Mario's voice played to Kriby's theme song. Sure, occasionally I'll buy a song that's made by a professional artist, but those songs are old, like U Can't Touch This old. I guess the popular and mainsteam music these days just don't interest me much. At least I can say I'm unique!

Note: If per chance you like this stuff too, you can see more on my favorites list on my Youtube profile.

Hacking is Lame (CS 404)

After reading The Cuckoo's Egg, I gained some insights into what hacking is like, and I've come to a conclusion: hacking is lame. Why is it lame, you ask? Because it doesn't take a genius and superior technology, just a few facts and dull persistence. For instance, some users choose simple passwords, like "12345," "password," or their username. If a hacker can find a list of users, he could just go through that list and enter a common password until he gets in. It's not much different than someone walking down a street to see who left their homes unlocked. Where's the glory in that?

Unless someone is hacking to gain something of value, like money or company secrets, hacking doesn't even provide a meaningful reward. For example, some of my roommates and their friends got into a "Facebook War" not long ago. Dude A would leave a computer while still logged on to Facebook, so dude B would edit A's Facebook account, like changing their picture to something lame, give a lame status update, and join groups that dude A would never join. Once dude A sees that his Facebook account was hacked, he would find the opportunity to take the same advantage of dude B. And what's to gain from this? To be able to say, "Ha ha, I made you like gay!" Oh, yeah, real mature.

But what if a hacker tries to do something worse, like steal money from my bank account or give my computer a virus? While it's problems like these that give serious concerns about hackers, password protection isn't difficult. As long as you don't choose a password that's a word in the dictionary, don't write down the password, and don't pick something simple, the chances of being hacked are greatly diminished. There are, however, other ways for hackers to get into things, and this often comes from bugs in a program. Sadly, the current model of software programming isn't perfect, and bugs are inevitable. Bugs can be fixed though, preventing the same problem from happening again.

Hackers will probably disagree with me, but I find no glory in taking advantage of people. It's just lame.

Wednesday, February 3, 2010

The Spirit of Elijah (CS 404)

There were no dedicated organizations of genealogy before 1836, but only a year after Elijah's return, England and Wales began mandatory recording of births, deaths, and marriages of their citizens. Since then, more and more people have made efforts in identifying their ancestors. Before computers, searching for ancestors was difficult, and sometimes involved a lot of traveling. With computers and the Internet, however, there are many resources for genealogy, such as,, and now the With databases holding billions of names and climbing, it's doubtless that more people will become interested in genealogy, and more technology will be developed to aid this great task. All of this is a testimony to me of the truthfulness of The Church of Jesus Christ of Latter-day Saints.

Friday, January 29, 2010

Technorati is Slow

If Technorati has a lot of backlog then I can understand why it's taking more than three weeks to review my blog and add it to their listing. If not, then Technorati is just slow. Is there only one person there working at it? Are they lazy? Do they not care? I think it's obvious that my blog is of little consequence to the world, so just go ahead and give it the lowest rating possible and be done with it. Sheesh.

Thursday, January 28, 2010

Nuclear is the Way to Go (CS 404)

I was rather surprised to hear Obama talk about building new nuclear power plants. "Green tech" is becoming increasingly popular, but wind and solar power doesn't cut it. Much like in SimCity 2000, you have to build 125 wind mills to equal the power of one nuclear power plant. While numbers might not play out exactly in real life, you get the idea. Many people keep trying to find clean energy, not realizing that nuclear power, when properly constructed and maintained, is very clean.  The number of jobs it would create would also be a plus. Yes, there are concerns that come with it, but current technology and high standards can greatly lessen those concerns. If people want to invest in "green tech," then nuclear power is the way to go.

Tuesday, January 26, 2010

Wanted: Women in Computer Science (CS 404)

I've taken a number of CS courses at my university now, and while I've met many other people there, I can count on one hand the number of them that were females. While I don't have an answer as to why there are so few women in computer science, I believe there is a need for women. A woman's mind works differently than a man's, and computer programming is about logic: the way your mind thinks has a large impact on the outcome of a program. Programs have been mostly influenced by men for years, so if there are more woman majoring in computer science, we could possibly see a paradigm shift. Technology is changing our lives in unprecedented ways, and there are still many problems to work out. So come on girls, come help us shape the future!

Friday, January 22, 2010

You Choose to be Happy

The first two weeks of this semester were pretty good. With two easy classes in my schedule (One so easy I don't bother going to class), I was finally finding some spare time amidst school life, something that was very rare for me. But then I started the labs in my harder classes, and now things aren't so nice.

For the two years I've been going to school, I've haven't really done anything other than schoolwork. And because it's the prominent thing in my life, my happiness is directly correlated to my success in school. If things are going well, I'm happy; if I have a bug in my program and I can't figure out how to fix it and the deadline is near, then everything in life just sucks. I've been told that happiness is a choice, but obviously I haven't learned how to do that yet.

And then you finally fix that bug, and suddenly life is good again.

Thursday, January 21, 2010

High Tensions Between China and America (CS 404)

China's heavy use of censorship on the Internet has rubbed Americans the wrong way, but the recent cyberattack against a Stanford student and Google has only made things worse. So then what will become of this mess? I highly doubt that China will take down the "Great Firewall," so if action is taken, it will likely be from America. If tensions continue to rise, perhaps other companies like Google will threaten to leave China, or more politicians will condone China's actions. Chances are that the problem will go on for quite some time, but if there is a final outcome, I can think of three possible ones: China ends its censorship, Americans give up and lets them be, or America ends its relations with China.

Thursday, January 14, 2010

Technology and Its Consequences: Worth Considering? (CS 404)

Should we consider the consequences of new technology? After reading "From Movable Type to Data Deluge" and "Five things we need to Know About Technological Change," I started thinking about the hurried rate of new technologies and the changes it brings to our lives. Computers and the Internet have, without a doubt, changed the world, for both good and bad. We can see the effects in retrospect, but can we accurately foresee its outcome? When the ENIAC was built, could the inventors have known that it would lead to a world with thousands of affordable, personal, hand-held computers? When the ARPANET was created, could they have known it would lead to a massive increase in pornography? So if we can't truly know what new technology will bring, is it worth considering? Of course it is. If we don't consider the negative consequences, then how else will we have stories like The Matrix?

Thursday, January 7, 2010

GT Feature

I was pretty excited last Monday to find out that my Starfox Vs. FFXIII video was featured on GT! It's not an easy thing to get considering how many people upload videos to that site. What's even more exciting is that everyone who commented on it said they liked it. Yay!

The video