Showing posts with label experiments. Show all posts
Showing posts with label experiments. Show all posts

Tuesday, January 12, 2010

Time-Lapse IKEA

I've watched my fair share of time-lapse IKEA videos on YouTube, but let me tell you, this one makes all those others look normal-speed.




And the reveal...

6 Things to Do in Australia

1. Watch the New Years Eve fireworks in Sydney.


2. Learn how to play cricket.
(and then lose to my sister)

3. Try boogie boarding at Bondi Beach.


4. Have some kangaroo on the barbie.

5. Buy "CANDY posing pouch".

6. Go to jail. :(

But not necessarily in that order...

Tuesday, December 1, 2009

Running the Seattle Marathon

About three months ago, my friend David and I decided to run a marathon. Neither of us had run so much as a 10k before. Although it was a spontaneous decision, we took it seriously. I found a beginner's training schedule and we stuck with it as best we could. Rain or shine, night or day, oncall or not, we ran.

Marymoore park was our preferred training location. We would always start at the park, run out half our training distance, turn around, and try to make it back to the car. I had blisters on my feet, sore joints, and aching legs, but we would always made it back. We ran that trail so many times, that it became a part of me; I learned every twist and turn, and every mile marker. We could run it with our eyes closed, and sometimes we did, in the pitch black of night.

The night before the marathon, my roommate cooked. I went to sleep with a belly full of pasta. I was woken up at 4am by an unexpected text message. "What are ya doing man?" it read, but I was too bleary eyed and preoccupied with the marathon to reply. I needed to get going anyway. When we hit traffic driving to Seattle Center, David kept busy by measuring the rate of raindrops hitting the windsheild. "It's slowing down," he told me.

We managed to park and walk to the race start with a few minutes to spare. My Dad had come to support me and take pictures. It was the first time I had seen him in a month. He didn't say anything about my hair. The raining stopped just as we came to the start time.

The first half of the marathon flew by for me. Seeing everyone else running with me, and hearing the spectators cheer us on really got me going. At that moment, I felt like I could run 100 marathons. We started near the back, but we kept passing runners. As we ran across the I-90 bridge, we caught up with the 4 hour 45 minute pace runners. We managed to stick with them through the halfway point, giving us a split time of 2 hours 22 minutes.

At mile 15, things got a lot harder. Pain and fatigue caught up with me and I couldn't keep up my pace. I had to slow to a walk, and the aching that was masked by endorphins really kicked in. It was the worst I felt during the entire race, and perhaps my entire life. I wondered how I could ever finish the remaining 11 miles. Giving up was so tempting. But I remembered the guy at mile 9, holding up the sign that read "Pain is temporary, pride is forever". I remembered the smile of the little girl at mile 12, cheering and making more noise with her little cowbell than anyone else. I remembered the man with the loudspeaker at mile 7, saying how he was so proud of all us. I remembered all the reasons that I had to run. And I kept going.

Each mile after that was a struggle. The time between mile markers grew and felt like an eternity. At mile 20, my Dad called me, wondering how I was doing. At the time, my phone felt like a brick in my hand. He asked if I wanted him to come pick me up. "No", I said without hesitation. I had made up my mind. There was no way the day was going to end without me finishing what I had started.

Just short of mile 25 I heard David yell out in pain. I turned around and saw him holding his leg. It had cramped up. David told me to keep going without him, but I wouldn't have it. I wasn't about to abandon my friend. Not when we had gone so far, and were so close to the finish. I waited for David to recover. Then we limped/walked/ran/sprinted the final mile.

It took me 5 hours 42 minutes and 10 seconds to run my first marathon. So why did I do this? Why did I choose to put myself through such pain? For me, it's more than just being able to say I've run a marathon. It's about pushing the limits of my ability, experiencing new things, and most importantly, achieving something that I really want.


Friday, October 30, 2009

Chef


I found out that being a chef has its perks. And I'm not just talking about scaring little kids with your big bloody knife. I went to a busy Indian restaurant with some friends after work, and was still wearing my chef's outfit (though I had put away the knife). I had a feeling our service was a bit faster than usual. We were seated immediately while others had to wait. Our plate of rice and glasses of water were always refilled quickly. Our food was very good. Not only that, but after the main course, we were presented with complimentary tea and desserts. Right before we were about to leave, our waiter asked me what I had thought of the food. He looked disappointed when I told him I wasn't really a chef...

Saturday, September 26, 2009

Luther Burger


The Luther Burger is the pinnacle of human invention. It combines the succulent juiciness of a cheeseburger with the soft and chewy goodness of a glazed doughnut. There are some who may call it an unholy flavor abomination, but they have obviously not yet experienced this culinary orgasm. One bite of the Luther Burger is enough to convince anyone that it is the food of the gods. The only way it could be better is if you had two of them, or if it were deep-fried. If it's a choice between a Luther Burger, and a myocardial infarction, I choose the Luther Burger every time.

Tuesday, August 18, 2009

We do what we must, because we can

Back in college, I had a roommate who would go for hour-long runs two or three times a week. One night, I spontaneously decided to go running with him. It soon got so painful that I had to stop. I was only able to run for fifteen minutes that night. When he returned to the dorm (after completing his run), I asked him how he could keep running like that; did he not feel the pain? His simple answer surprised me. Yes, it was painful, but he endured it.

Today, I registered to run in the Seattle marathon.

I've never tried running a marathon before. Or even a half-marathon. But I didn't sign up for this because it was going to be easy. I signed up for the same reasons that I leaped off a 40ft high bridge. I signed up for the same reasons that my friend tried out for (and got accepted into) the Navy SEALs. I signed up for the same reasons that the United States chose to put a man on the moon.

I signed up because "we do what we must, because we can".

Sunday, July 19, 2009

If your friends jumped off a bridge...

...would you jump too?


Fuck Yeah!

Saturday, May 16, 2009

Bike to Work Fail

So I tried to bike to work on Friday. I really did. You see, after my bike mishap two weeks ago, I was ready to give up. But I don't like quitting things, especially ones that are important to me. So I went online and ordered a new set of innertubes and tires. I watched videos online to learn how to change an innertube and got the tools I needed. I trained on the stationary bike at the gym the week before.

The day of the event, I was ready, or so I thought. I'm about 1 mile into my planned 14 mile route, when I notice my rear tire feels weird. I pull into a parking lot and find a rusty nail-like object sticking out of my tire. This sucks, I thought, but I had prepared for this. I take out the spare innertube in my backpack and change it in the parking lot. It takes me about 20 minutes. After a few spins around the parking lot to make sure everything feels right, I continue along the planned route. Not two minutes afterwards, I hear a loud pop, not disimilar to the one I heard two weeks ago. My tire's completely blown. I'm out of spares, and just too far from my house to be able to drag my bike back.

Next time I'll buy a real bike instead of a $70 piece of junk from Walmart.

Sunday, March 29, 2009

Home Theater 2.0


Ever since I did my first living room upgrade, I've been meaning to get a surround sound system. After six months, I felt like I've waited long enough. I went with the Onkyo HT-S5100 7.1 home theater in a box system because it was pretty inexpensive. More pictures here.

Both my HTPC and XBOX360 output 5.1, which the receiver can expand into 7.1. The only gripe I have with the receiver is that the HDMI inputs are pass-through only, meaning they can't be used for audio input. So whereas with my TV, I was able to connect one HDMI cable from my XBOX360 for both audio and video, now I need to connect one HDMI cable for video, and one optical S/PDIF cable for audio. Onkyo's higher end models do support audio over HDMI, but I wasn't going to pay an extra $200 or so for this extra convenience.

I hate visible wires about as much as Steve Jobs hates buttons (just look the latest shuffle), so I tried very hard to balance wire management with optimal speaker placement. The center speaker is on a wall shelf that is just above the TV. The front speakers are wall mounted with wires mostly hidden behind the TV. The surround speakers are on speaker stands with wires hidden under the thing that runs along the bottom of the wall (I have no idea what it's called). The surround back speakers are also on speakers stands with the wires hidden under the floor in the crawlspace (I hope I never have to go down there again).

Some movies that really show off the audio system:
  • Transformers
  • Cloverfield
  • Children of Men
  • Independence Day
  • Terminator 2
  • Iron Man

Saturday, March 28, 2009

Building a Home Theater PC


For the past few months, I've been using my Dell Inspiron 9300 laptop to steam video to my home theater. It works well for 720p videos and below, but totally chokes on 1080p. Also, it only outputs stereo audio, and I wanted to output 5.1 channel surround sound.

That's why I decided to build a HTPC. Ii needed to decode 1080p video, so a fast CPU was a must. The video card was less of a concern. I also wanted it to fit nicely in my TV stand, so I went with the smaller microATX form factor motherboard and case. The case is also shorter than normal, which means only low-profile cards will fit in the expansion slots (not a problem since I'm not using any expansion slots). Loudness was also a concern, but not a major factor.

Update: More pretty pictures! (with comments inline)

The components that I bought (total cost around $500):
  • Intel Core 2 Duo E8400 @ 3GHz
  • GIGABYTE motherboard with NVIDIA GeForce9400 graphics
  • hec microATX case with 270W power supply (has HDMI and optical S/PDIF outputs)
  • Seagate 1.5 TB hard drive
  • USB wireless adapter
The components that I had lying around:
  • 2 x 1GB memory
  • 250GB hard drive
  • Optical drive (borrowed to install Windows XP)
After getting it up and running, I found that it's able to decode 1080p video just alright (high action or noisy parts still result in some chopiness). The integrated GeForce9400 graphics kind of sucks. While I haven't tried playing any games, the new iTunes visualizer (which is very GPU intensive) doesn't seem as smooth as on my laptop's GeForce6800 (mobile version). And my laptop is almost 4 years old now.

I was hoping to get better performance by overclocking the CPU (Intel Core 2 CPUs are nicely overclockable), however I ran into some problems that I think are caused by the integrated GeForce9400 not being able to keep up with the faster FSB. The end result is that the system failed even a minor overclock from 3GHz to 3.2GHz. Compared to building my first computer, which I was able to overclock from 2.4GHz to 3.3GHz, this is terrible.

Saturday, March 21, 2009

Coke Can Dating



I was exploring my house's crawlspace (the shallow, unfinished space beneath the living space used for visual inspection and access to pipes and ducts), and found this old coke can lying there. There's no date on the can, but assuming it was left there when the house was constructed, I'd say it's from the late 1970's. The list of ingredients corroborate this: it has sugar instead of high fructose corn syrup, which means it's from before 1985, when Coke made the switch.

Sunday, March 15, 2009

Doorbell Hacking


What's the first thing a thief does when he's casing a house? Ring the doorbell to see if anyone's at home, right? If someone answers, he can play it off like he's a door-to-door camera peddler or some kind of religious fanatic. If nobody answers, it's a good sign that the house is empty and ripe for the picking. The burglar proceeds to break in and steal everything that catches his fancy, including the ancient Chinese sword, the antique Italian restaurant menu, and the highly-valuable anime pencil-sketches. Meanwhile, the owner comes home to find all his shit missing, but there's nothing he can do because the perp is long gone.

Well, it's a different story when it comes to my house. Shortly after the thief rings my doorbell, I get an SMS message on my phone. I then rush home as fast as I can, where I find him struggling to lift the TV. I quietly grab my can of mace, sneak up behind him, yell "Surprise Motherfucker!", and get him good in the eyes (which are the testicles of the face). I am called a hero by my friends and neighbors.

This is how it works: My house has an oldschool mechanical doorbell. Normally, pressing the doorbell closes a circuit that activates an electromagnet which slams the chime against the tone bar. I bought a 12V reed relay from Radio Shack and hooked it up in parallel so that pressing the doorbell also activates the relay. This sends a signal to my computer (I'm glossing over this part because it's a bit complicated and involves a Phidget, not to be confused with a midget).

There's a program running on the computer that listens for the signal and makes a status update to Twitter user baic_house using Twitter's REST API. My main Twitter account follows baic_house and is set up to recieve an SMS message whenever baic_house makes an update. The whole process from pressing the doorbell to SMS message recieved on phone only takes a few seconds.

Thursday, December 18, 2008

Homemade Chili with DS

I was working from home today due to snow, so I tried my hand at cooking chili with the help of my Nintendo DS. The whole process was surprisingly easy. I marked the ingredients in the chili recipe that I didn't have, and the DS created a shopping list for me. I brought my DS with me to QFC and checked off ingredients as I got them.

When I was ready to start cooking, the DS read aloud every step of the recipe for me. All I had to do was follow the instructions and yell "continue" when I was done. If I wanted, I could yell "more info" to see details about a step (like watch a video showing the proper way to dice an onion). Before I knew it, I had made chili!

Okay, so there were some minor difficulties. The pan I used was too small, so some liquid spilled over the side. Also, I had never used cayenne pepper or paprika before, so I wasn't sure how much to use, resulting in a slightly spicier chili.

More pictures.

Tuesday, December 2, 2008

Image Editing with Java and Excel

Here's a nice 2560x1600 image I found the other day. I thought I had the perfect desktop wallpaper, except there was this unsightly dark rectangle on the left side of the image. I'm the kind of guy who gets irked by dead pixels on my monitors and TVs; I can't enjoy a movie unless the picture is perfect. So, there was no way I could use this wallpaper as is. However, it seemed like such a travesty to waste an otherwise perfectly good image.

First, I tried trusty old Photoshop. I selected the dark rectangle and applied the brightness/contrast filter. But alas, it seemed like no combination of brightness and contrast values did the trick of completely removing the rectangle.

After a little thought, I realized that the dark rectangle is really just a function, mapping the original pixel value to another pixel value. If I knew what that function was, I could apply the inverse function and restore the original pixel values! Finding that function is the tricky part. If I could only get a good sample of original pixel values and corresponding dark pixel values, I could approximate it however. Then it hit me; I could look at the right edge of the dark rectangle. Pixel values generally don't change too much over just a few pixels, so I could take the pixel just to the right of the edge to be the original value and take the pixel just to the left of the edge to be the corresponding dark pixel value! Of course, JPEG artifacts and high texture areas in the image would make the data a bit noisy, but the idea should still work.

I wrote a quick Java program to get the data. The program went down the edge, making a map from original pixel value to a list of all corresponding dark pixel values. When finished, it would output all the original pixel value it had seen, and the average corresponding dark pixel value. I had it only output the original value if it had seen it at least 3 times (to reduce noise in the data). I then imported the data into Excel, made a scatter chart, and computed a liner regression.

I created another Java program to apply the inverse function to the rectangle. This is the final result. You can still make out the outline of the rectangle, but it's much better than before.

Friday, August 15, 2008

Water Sport Progression



I've spent the last few weekends doing various water related activities.
  1. Canoeing on Union Bay
  2. Kayaking at Deception Pass
  3. Whitewater Rafting the Skagit River (Class 3)
As you can see, I'm trying progressively more extreme activities. The logical question is: what even more dangerous activity involving water should I do next?

Saturday, June 28, 2008

Retaining Wall


After three weeks of manual labor, I've finally completed construction of my wall. The next step is to prepare the area for planting, which means pulling grass and tilling the soil. I'm using tarps to kill the grass by starving them of sunlight. View the album to see more pictures.

Sunday, June 8, 2008

Pimp My Bike


I've been riding my bike for a week now and it hasn't fallen apart yet. I still need to re-tighten the front and back brake pads after every ride. It's surprising there's still material on the brake pad to wear down.

I made a few upgrades for my bike:
  1. Replaced the seat with a more cushioned seat.
  2. Added headlight and blinking taillight.
  3. Added water bottle holder.
I'm still just riding around my neighborhood. Maybe next weekend, I'll try riding on a street with traffic.

Tuesday, June 3, 2008

How Good is a $70 Bike?

As a test run, I rode my bike to QFC and back, about 4 miles round trip. I tried to stay off the main roads as much as possible, as I'm still scared of cars. Overall it went pretty well, with some exceptions.
  1. The seat was really uncomfortable. It felt like I was sitting on a bumpy, sharp rock. Not fun.
  2. The brakes wore down to the point that they were unusable. I almost hit a fence going down a hill because fully squeezing both brake levers did hardly anything.
  3. Finally, my 18-speed bike is more like a 6-speed bike. Let me explain. I have a left shifter labeled 1, 2, 3 and a right shifter labeled 1, 2, 3, 4, 5, 6 for a theoretical combination of 18 speeds. In practice, I'm not supposed to use the extreme gear combinations where the chain is not in a straight line. This eliminates 8 combinations: 1-4, 1-5, 1-6, 2-1, 2-6, 3-1, 3-2, 3-3. Then, to make matters worse, I've never been able to successfully shift the left to 3 or the right to 1, eliminating another 4 combinations: 1-1, 3-4, 3-5, 3-6. This leave just 6 combinations that I can use: 1-2, 1-3, 2-2, 2-3, 2-4, 2-5.

Monday, June 2, 2008

Buying a Bike at Walmart

I finally got a bike! I considered getting a cheap one off craigslist, but most of them were surprisingly expensive. So I got this 26" 18-speed mountain bike for about $70 from Walmart.

Shopping there was painful, as usual. The bike I wanted was on the top, and it was apparent no associate was going to offer to help me get it down. The woman I finally drafted to help me did not look happy about the job at all. She got a ladder, realized it was too short, then disappeared for 15 minutes to get a bigger ladder. Once she returned, I offered to just use the ladder and get it down myself, saving her the trouble, but she said it was against store policy. While she was trying to get it down, I seriously worried for her safety and wondered why a more in-shape associate wasn't doing this.

All together, it took 30 minutes to actually get the bike down. Then while I was riding the bike to the cash registers, another associate told me it was against store policy to do so. How else was I supposed to test it? Finally, as I'm walking my bike out of store, another associate tells me to stop. At this point, I just want to leave the store as quickly as possible, so I ignored her, knowing that I have no legal obligation to stay in the store. She actually ran outside after me and grabed the bike to stop me. I considered arguing with her, but instead just showed her the damn receipt.

Did I mention how much I hate Walmart?

Sunday, June 1, 2008

Squirrel Holes?

The other day, I saw two squirrels in my backyard and quickly snapped some pictures from my kitchen window. When I looked at the pictures later, I saw something strange: two brown patched in my yard that look like dirt. So I go out for a closer look and see this:


What in the world? They're definitely holes, but I'm not sure how deep they are or where they lead. Then there's the mystery of how they got there and what made them. Was it the squirrels? Invisible gophers? Malicious neighbors? Rare geological phenomena? Tiny mole people? Aliens? I'm definitely keeping a close eye on the happenings in my backyard from now on.