Infinity and Zeno’s Paradoxes

Infinity is a well explored concept across many disciplines. As of yet, I’ve managed to only interact with infinity behind the safety net of definite integrals and unbounded limits. So I thought I’d take a deeper look at infinity though the lens of Zeno’s paradoxes. But first, a short discussion about English.

When I was 6, “red” was the color of my favorite rain jacket. That was it.

When I was 14, “red” was no longer simply a color, it was an emotion, an object, a physical force. I could smell the redness of a cherry orchard and hear the redness of a laugh.

In fact, if I were imaginative enough, I could make the word “red” mean anything I wanted. “You are a poet!” my teacher cried, “Bend your words, twist them, pepper them with your thoughts; present to the world a feast of poetry.” English was quite a willing and malleable medium, which was great, but this foray into non-literal completely defeated the sure-ness of words that I had believed in as a kid. With poetry, even the most innocuous sentence like “today was sunny” could have ten different meanings.

Now, I’ve held on to the belief in the certainty of mathematics since my days of Algebra I. Unlike poetry, the result of a definite integral doesn’t change with the whims of the one grading the problem. Math was unmoved by emotion, and (to borrow the words of Bertrand Russell) I felt that it was the turtle that could hold all other turtles.

However, take a hard look at this concept called “infinity”. Infinity is to mathematics what poetry is to English—it takes the previously solid math of algebra into the fuzziness of philosophy. Though I knew nothing of its intricacies, I often invoked the threat of infinity upon my childhood friends when I “triple times infinity dared” them to do something dumb. Infinity was a big deal, since we didn’t know anything of what it was other than the fact that it was really, really big. But what is the actual value of infinity? How can a mere concept of “really, really, big” become something we can realistically use?

[Read more…]

French Baguettes

French Baguettes
Super easy bread
Write a review
Prep Time
1 hr 30 min
Cook Time
15 min
Total Time
1 hr 45 min
Prep Time
1 hr 30 min
Cook Time
15 min
Total Time
1 hr 45 min
Proofing yeast
  1. 1/2 C warm water
  2. 2 envelopes dry yeast (1 1/2 tbps)
  3. 2 tbsp honey
  1. 1 C warm water
  2. 3 1/2 to 4 C AP flour
  3. 2 tsp salt
  4. 1 egg, beaten
  5. Vegetable oil for greasing bowl
  1. 1. Mix 1/2 C warm water with the yeast and honey. Wait for about 5 minutes for the yeast to eat the honey, until its bubbly.
  2. 2. Mix the flour and salt together.
  3. 3. Pour the yeast mixture into the dry, and mix
  4. 4. Gradually add the 1 C warm water to the flour mix, only until the dough is slightly damp and holds its shape. You might not need to use the whole cup.
  5. 5. Knead the dough for 2-5 minutes--You can tell when it's about ready if the dough springs back if you push on it lightly with your thumb.
  6. 6. Lightly grease a bowl with vegetable oil. Let the dough sit in the bowl for an hour or so in a warm place, covered with a damp towel until it's about doubled in size
  7. 7. Shape the dough into 2 baguette sized pieces, let sit for another 30 minutes or so
  8. 8. Stick it in the oven for 15 minutes, at 450C. You can choose to use an egg wash to make the crust a bit more crunchy and shiny.
  9. 9. Yummy bread! 😀
Adapted from Kelsey Nixon
Adapted from Kelsey Nixon
sophie's blog

I love bread. But I love freshly baked bread and strawberry jam even more. Here’s a recipe I found for really incredibly easy french baguettes that ends up being pretty delicious. I was a bit nervous when I made these at first since I didn’t have a bread maker nor bread flour, but it turned out pretty well even when I worked the dough by hand. Bread that you eat after a bit of hard work tastes leagues better than bread anywhere else!



Algorithm for knight’s tour in Python

I’ve written an updated version of this code here. Please take a look! It adds a visualizer, ability to solve for closed tours and step requirements, and has a better exiting strategy. 🙂

In Discrete class, we’ve been talking about planar graphs and stuff like Hamilton traversals. One of our in-class exercises involved the knight’s tour, and whether we could find a rule that would allow us to decided if a knight’s tour was possible given a chessboard of a certain dimension. I have a hard time understanding graphs, but the “Knight’s Tour” sounded really cool so I looked it up on Wikipedia. The problem is actually a pretty interesting one, so I decided to try my hand at implementing an algorithm for solving it in Python.

From Wikipedia:
A knight’s tour is a sequence of moves of a knight on a chessboard such that the knight visits every square only once. If the knight ends on a square that is one knight’s move from the beginning square (so that it could tour the board again immediately, following the same path), the tour is closed, otherwise it is open.

The .gif below is an example of what knight’s tour would look like on an 8×8 board.
Gif of knight's tour

In writing my own implementation, I heavily referenced this site and this site. I’ll do a walkthrough of my code below.

[Read more…]

Python speech to text with PocketSphinx

I’ve wanted to use speech detection in my personal projects for the longest time, but the Google API has gradually gotten more and more restrictive as time passes. In order to ensure that my projects could work even without an internet connection, I looked for another speech recognition package that would preferably be easier to use. I found the Sphinx voice recognition suite of CMU to be a really great speech to text package. However, documentation and sample code is non-existent, so it took me forever to get anything done. Finally, I’ve figured it out! The example code is at the bottom of this post, but you can directly download it from Github here.

Here are the steps to take to get this working:

  1. Download SphinxBase and follow the install instructions
  2. Download PocketSphinx and follow the install instructions
  3. Download PocketSphinx-python and follow the install instructions
  4. Run the code below

[Read more…]

Equations of motion for a planar simple double pendulum

To provide some background information for my N-link pendulum project, I’ve broken the methodology for solving the equations of motion (EOM) for a simple double pendulum into a separate post. I’ll explain to the best of my abilities!

The pendulum that we are solving for is composed of two masses, m1 and m2, suspended from each other by strings of length l1 and l2. Their positions relative to 0 is represented by theta1 and theta2. The entire pendulum is supported by point 0, which is a frictionless, massless point. The whole thing is a pain to create digitally, so I drew the setup below:


This will be a pretty long post, so scroll to the bottom for the cool graphs!

[Read more…]

N-link compound pendulum simulation

For our Mechanical Dynamics final project, a friend and I decided to generalize the equations for compound pendulums to write a simulation program that could generate animations for n-link compound pendulums with user specified lengths, masses, angular displacement and velocities. We originally wanted to write a full blown physics engine, but quickly realized that two weeks was not enough time to do something of that scale, haha.

First things first, a demonstration! The following is an simulation of a 5 link compound pendulum:

Read our final report for a more formal/comprehensive explanation of the process!
Download the code!

[Read more…]

PseudOS — A baremetal RaspPi OS

Now that I’ve got a bit of time, I thought I’d do a debrief of a couple of cool projects that I’ve worked on this past year. First up, PseudOS, a baremetal Raspberry PI OS that I wrote with some friends for our Software Systems final project.

(We were really sleep deprived when making the final video, apologies for any strange noises we make.)

It doesn’t look really amazing, because we didn’t really implement any OS features other than UART and a basic calculator program. However, we did do this all baremetal. What is baremetal, you ask? Well, it means that the code we wrote interacted with the RaspPi at the hardware level. We modified an Assembly boot file to give us control over the hardware registers, and wrote a kernel in C to provide the actual OS functionality. This website was an amazing resource for us through the whole process.

[Read more…]

Chocolate Chip Cookies

Chocolate Chip Cookies
So delicious
Write a review
Prep Time
20 min
Cook Time
15 min
Prep Time
20 min
Cook Time
15 min
  1. 1 1/3 c AP flour
  2. 1/2 tsp baking soda
  3. 1/2 tsp baking powder
  4. 1/2 tsp salt
  5. 1/2 tsp cocoa powder (optional)
  1. 1/2 c softened butter
  2. 1/2 c brown sugar
  3. 1/2 c white sugar
  4. 1 egg
  5. 1 tsp vanilla extract
  1. 1 c semisweet chocolate chips
  2. walnuts? almonds? gummy bears?? whatever extra stuff you like!
  1. 1. Preheat oven to 350F
  2. 2. Mix dry ingredients together well
  3. 3. Cream butter with sugar until you can't see clumps of butter anymore
  4. 4. Mix in egg and vanilla
  5. 5. Mix dry in wet
  6. 6. Pour in chocolate chips
  7. 7. Shape into vaguely ball shaped objects, and place on baking sheet well spaced.
  8. 8. Bake for 15 minutes, but check the oven around 10 minutes or so. Cookies should still be soft when coming out of the oven, as long as the bottom of the cookies are brown
  9. 8. Eat delicious cookies.
  1. Depending on the condition of the butter, the resulting dough may be either too crumbly or too watery. If too crumbly, use 1/2 tsp of milk to get the dough to form. If too watery, refrigerate the dough for 30 minutes or so until firm.
  2. Watery dough will cause the cookies to spread a lot and be really thin. Crumbly dough will make your cookies taste like rocks. Your preference though, haha.
sophie's blog
Chocolate chip cookies were the first things I ever baked. It was for a bake sale back in 4th grade, and I made the cookies from a mix. Because even back then I was a super baker and totally great at reading instructions, I left the cookies in the oven to cool instead of taking them out and rock hard cookies the next day, haha. (My teacher told me they were delicious anyways… Man, he was a great teacher. ;_;)

A decade later, I have refined the cookie baking process, and have come up with a recipe that seems to be received pretty well. The card is at the top of the post, but more detailed instructions and pictures will be below.

[Read more…]

A Reflection on 2015

Since it’s the last day of the year, it’s prime time to do some reflecting!

All in all, this year was pretty great. I got a summer internship at Apple, which has opened up an insane amount of doors. Though I’ve still got far to go and much to learn, being selected for a summer internship at such a big company has given me quite an ego boost. Still, since confidence easily turns into pride, I hope that I can rein it in a bit in the coming months. Quiet confidence is what I’m aiming for, the kind that manifests itself as an aura instead of hot air.

I’d really like to make blogging a habit, but the lack of free time in my schedule makes it difficult. And it’s not just time, but motivation as well. I enter each semester brimming with ambitions and ideas, but always end up burning out near the end. I’d like to put more effort into work life balance next semester, impossible as it may sound. I’ll pour more free time into working on Edwin instead of fooling around on the internet.

edwin head

Look at how cute he is!

There’s a paper deadline coming up in March, and I really need to buckle down and really think about how I’m going to write this and present it. My robotics professor has poured a lot of time into my project, so I need to repay him in kind. Slacking off would not only be a detriment to me, but an insult to him.


I promise that we’ll do great things together Edwin!

On a separate note entirely, I haven’t been able to bake or cook as much as I’d like to this past semester, but I’m hoping to change that by having some new posts dedicated to cool recipes that I have. I have a lot of interests, but I think with proper time management I can succeed at all of them. It’s a matter of arbitration and passion I suppose. I made some really great green tea almond cookies last year, and I’m hoping I can dig up the recipe for it again.

I’ve also bought a new camera, and I’ve been playing around with the features. Photography is a really interesting art, one that I’m hoping to learn a bit about. One way I practiced was following my friends around and taking pictures of their lives. It was pretty fun and an interesting way to spend more time with people. I think I’ll try to do more of that next year too.


She’s super talented. (Taken and published with permission.)

Whether its music, photography, or technical expertise, I’m going to continue working on learning all the things and doing all the stuff. Next year is going to be great. 😀