My thoughts on charity: make education great
Posted on July 24th, 2010

In short: If we want to fix every world problem, we need to start with education.

When you see how many problems there are in the world, you see pretty quickly that you can’t solve all of them. But you’d like to try, of course.

There are two ways to solve these major issues. (1) Resources. That means volunteers or hired workers, money, food, et cetera. (2) New ideas. That means, “I just found a better way to solve this problem.”

Ideally, you could contribute both new ideas and resources. Unfortunately, you’re just one person and you’re not a problem-solving genius and you’re not a multibillionaire.

The way I see it: Contributing to education is the best way to make this happen. Better education means smarter people. Smarter people means (1) better jobs, more money which can be donated to resources (2) people with new, intelligent ideas.

I think that a brute-force, “let’s just get tons of resources” method is NOT the way to improve education. The number of teachers and the amount of money required for this effort would be unrealistically immense.

I think the best way to improve education is through the use of technology; that’s the “new idea.” And that requires two things:

(1) A question needs answering: how can we teach most effectively with technology? I don’t think we have an answer for that.

(2) Once we figure out a good way of teaching, we need to go for it. Put it all on the internet.

So if we want to fix every world problem, I think we need to improve education. And I believe the best way to improve education is to use technology.

Image credit: One Laptop Per Child.

Filed under Thoughts and reflections. No Comments

Palo Alto skyline
Posted on July 16th, 2010

I’m going to miss Palo Alto.

Filed under Photos. No Comments

Mac or PC? Who cares? It’s all about the browser now
Posted on July 7th, 2010

A Mac and a PC

In short: People are going to stop asking “Mac or PC?” and start asking “Chrome or Firefox?” This is because most stuff has moved online.

When people ask me “Mac or PC,” I respond that they can both run Firefox so it doesn’t matter.

A quandary that has troubled nerds for centuries: Mac or PC? People make strong, often angry and NSFW points about why one operating system is better than the other. But I believe those arguments will soon become largely irrelevant because more and more of our computing is done online, and all reasonable operating systems run your favorite web browser.

I think it’s fair to say that people predict most software to move online, if it hasn’t already. That means word processing, communication, games, et cetera. Because of this shift, users of any operating system can use software without having to worry about compatibility. Developers can develop software without having to worry about user compatibility. It’s very nice.

So now the question is going to be — what’s your favorite browser?

Image credit: pandemia of Flickr.

Filed under Thoughts and reflections. No Comments

Kaua’i rooster
Posted on July 1st, 2010

Kaua’i is a pretty place. Also, a rooster is here.

Filed under Photos. No Comments

A mindless to-do list
Posted on June 17th, 2010

In short: I added a “mindless” tag to my task list for items that don’t require thought, so that when I’m out of it, I can still get stuff done.

Part 1: We all have times in which we want to accomplish something. We also have times when we are unable to accomplish much because we are tired or lazy. But sometimes you are tired and lazy, but still want to get something done.

Part 2: There are a lot of different tasks that don’t require a lot of thought, but need doing. For example, I need to log into my high school email account every so often to keep it alive. It needs doing but doesn’t require a lot of thought.

Bring these two parts together.

Tag tasks as “mindless” when adding them to your to-do list. When you’re feeling meh but still want to get something done, cross off items on your “mindless” list. This has worked pretty well for me, as I am mindless a lot of the time.

Filed under Tips and tutorials. No Comments

How to: record Skype into GarageBand for free
Posted on June 16th, 2010

I wanted to be able to put it into GarageBand and not drop a dime. After a good deal of tinkering and Googling, I figured it out. As far as I know, there are similar instructions online but they didn’t work for me.

These instructions are pretty basic. If you already know your way around, check this short cheatsheet.

Before you start

  1. You’ll need SoundFlower and LineIn.

In GarageBand

  1. Open the GarageBand Audio/MIDI preferences. At the top bar, go to Garageband, Preferences, and then to Audio/MIDI.
  2. Set the Audio Input to Soundflower (16ch) and the Audio Output to whatever your output is (headphones, speakers, etc). You will hear the Skype call through this input.
  3. Make two new tracks. To do that, go to Track in the top menu, and then New Basic Track (twice).
  4. Select one of these tracks to be your Skype track. Select it and click the “i” button at the bottom-right, or press Apple-I. Change the Input Source to Stereo 1/2 and turn the Monitor On.
  5. The other track will be your voice. Select it and open that menu if it isn’t already. Change the Input Source to Mono 3 and turn the Monitor Off.

In Skype

  1. Open the Skype audio preferences. Go to the top bar and click on Skype, then Preferences, then Audio.
  2. Set both the Audio input and output to Soundflower (16ch). The Ringing option can be whatever you choose. I also had luck with setting the Audio input to whatever your microphone is, so if that doesn’t work, try that.

In LineIn

  1. Change the Input to whatever microphone you’re using.
  2. Change the Output to Soundflower (16ch).
  3. Click Advanced. In this window, put the left and right Input channels to 1. Put the left and right Output channels to 3. Click OK.
  4. Click Pass Thru.

In System Preferences

  1. Open System Preferences and then Sound. Make sure that the input is whatever microphone you want to use and that the output is whatever you’re listening with (speakers/headphones).

Hit the red record button in GarageBand and you should now be able to record calls from Skype! Test it by calling the Skype Call Testing Service at echo123.

Once again, check out the cheatsheet, and enjoy!

Filed under Tips and tutorials. No Comments

Under a tree
Posted on June 12th, 2010

I was under a tree and I looked up and I liked it.

Filed under Photos. No Comments

My high school study guides
Posted on June 11th, 2010

I’m modestly famous (emphasis on “modestly”) at my school for my study guides. I’ve made over 50, but I’m most proud of these three. I no longer have a need for them, but other people around the Internet might. Here they are:

They’re all released under the CC Attribution license, so go and send it to the world if you wish.

If you’d like them in other formats (HTML, ODT, Word, etc), just contact me.

Filed under Resources. No Comments

What I’ve learned from high school
Posted on May 31st, 2010

Tomorrow is the beginning of my last week at Palo Alto High School. Amid the finals and yearbooks and parties lies reflection. Here are bullet points, complete with expletives.

If you look at the third bullet point, I write that I am not wise. These bullet points sound an awful lot like wisdom…so take them with a grain of salt.

I’ve had a good time at Paly, and I — oh shit. College.

Image credit: lilhelen of Flickr.

Filed under Thoughts and reflections. No Comments

Idea: balance multiplayer games automatically
Posted on May 23rd, 2010

One of the most important parts of a competitive multiplayer game is balance. One weapon should not always win, one armor should not give an unfair advantage, red team should not always beat blue. This is something game developers tussle with at great lengths, and it’s very hard to fix. Here’s my idea of how developers might.

In short: Have the server collect data from every game, and see what wins (weapons, armors, etc). If something is winning an irregular amount, have the server make those things weaker. If something never wins, make it more powerful.

The problem

Let’s compare two first-person shooter games that I really like. The first is Halo 3, and the second is iPhone game Eliminate Pro. The former has excellently-balanced gameplay and the latter has many holes in its balance (even though I still love the game to death).

Bungie, creator of the Halo series, is a pretty big studio with a pretty big budget. They’ve hired a “Sandbox Lead,” someone who basically balances the game. They just finished a beta for their latest game and had over 1 million unique players in one dayngmoco, on the other hand, is a much smaller studio with more limited resources. They also are constantly releasing downloadable weapons and armors.

Two things make ngmoco’s game less balanced:

  1. They’re a smaller studio. Less money means they can’t hire the problem away, or have a big beta test.
  2. They constantly release weapons and armors which change the game.

And the lack of balance is an issue.

Fixing it, step 1: Stats

Bungie is crazy good at stats tracking for their games. They have kill heatmaps for each level (which can be broken down by weapon) and incredibly detailed statistics for every game (click here for one example). As far as I can tell, this isn’t that hard to do from a programming perspective. It looks like just a bunch of pretty SQL.

This data is incredibly important for automatic balancing.

Fixing it, step 2: Figure out what’s broken

Once this data is collected, a look at the database can probably show what weapons win more often and what weapons never win.

You can get more advanced and figure out why something is better. Perhaps a weapon always wins against another. Perhaps a weapon always wins on the higher ground. Just don’t go too crazy — don’t weaken the sniper because it tends to win at long-range.

Fixing it, step 3: Tweak what’s broken

Now that you know what’s too good and what’s no good, you simply need to tweak variables. If it’s an armor, you might want to make its damage resistance higher. If it’s a weapon, you might want to make it shoot faster. More detailed data collection can tell you which variables to tweak.

Once those variables have been tweaked, send the changes to players. If the changes are slight (they should be), then players probably won’t even notice.

Conclusion

I want to clarify that I have no idea if this would work.

I’ve oversimplified this problem like crazy, somewhat on purpose. Each game has its own specifics that I could delve into, but I think that would detract from the overall idea: tweak automatically based upon data.

Image credit: commorancy of Flickr.

Filed under Thoughts and reflections. No Comments