Daniel Mai

1001 Spikes

You are dead

“You are dead”: Three words that I’ve been seeing a lot in the past couple of days. They’re from a game called 1001 Spikes, a difficult game with brilliant level design that I can’t seem to put down once I start it up. The pacing seems just right, in the same way that Super Meat Boy nailed it.

As I played the really hard levels the game has to offer, it reminds me that as long as I perservere through the unknown and learn from the many mistakes that I’m bound to make, I will succeed. If I don’t try, then I won’t get anywhere, so it’s best to keep on trying, even though I may fall into some spikes every now and then. No pain, no gain, as the saying goes.

If you’re in for a challenge, I highly recommend it.

Twenty Years Ago

Twenty years ago today, Leslie Lamport was writing a page of the Getting Started section of the LaTeX manual.1

A simple date on a calendar, but it means different things to different people. Most days are just like any other day, but some days carry more weight than others.

Have a great day today. It’s the only May 18, 2014 you’ll have in your lifetime.


  1. I haven’t been putting much of my time into reading this book lately, but hopefully I’ll read it more after this semester ends. I want to write beautiful documents, especially with math symbols.

Drowning in Problems

You’ve probably heard of this game called Minecraft. Well, Notch, the great creator, made a small game called Drowning in Problems. It’s good. It’s small in that it’s nothing but text, but it’s interesting in the emotions it conveys.

And after you’ve played that (or maybe before), you might want to read this piece he wrote about his father.

All you need are words to make something meaningful.

The Best People (and How I Keep in Touch With Them)

The best people in my life bring me joy; they are able to make me laugh to the point that I can’t breathe anymore.

My friends are amazing people. We can talk about practically anything together. Most of the time it’s the funny stuff, but the serious stuff isn’t forbidden from our conversations; it’s just not as laughable.

They are the reason why I’m always happy to have a break away from school; we can all get together, sit in a room for hours and talk, laugh, and go crazy together. It’s really fun. All we need is ourselves and some stories to share. We don’t need to do anything that breaks the bank; we only need each other to have a blast.

This is what I did. It’s 1:07 AM right now and I just came home from having a blast with you all, my friends. My life would be so dull without you guys, so thanks. I’m really grateful that I’m allowed in your lives.


What I love about our conversations is how it builds up as time passes. We talk about something new, and connect it with something we’ve talked about before. We connect the dots and reminisce about past events, and we essentially create a huge collection of mutual knowledge that, when we mention a sound bite, brings back memories and, usually, joy. It probably doesn’t make sense to someone who isn’t in-the-know, but it doesn’t have to be. Memories are contextual.

This is how I usually converse with people. I mention something in the past that we’ve talked about. I bring back the past a lot.

After writing that, it sounds as if I like to dwell in the past. I like to remember the good ones, and less so of the bad ones.

My relationships with people are all based on memories, anyway. If I forget the memories, I essentially don’t know anything. I wouldn’t know anyone. So if I bring back some past memory when I’m talking to you, it’s because I want to rekindle some thought between us. It’s to reexamine my relationship with you—to determine what I know about you.

I guess it’s kind of like Rogerian argument. I repeat what’s been said as a way to tell myself and my friends that yes, I am listening. Yes, I care.

When I want to experience some certain emotion, I’ll think about some memory that matches the emotion. Sort of like some dose of a drug. Nothing physically dangerous enters my body; it’s completely mental.

It’s now 2 AM. I guess it’s time to sleep, huh?

Who Am I?

I don’t know who I am. I’ve known this for a while. Every time someone’s asked me a personal question, nothing really concrete comes out as an answer.

I had an interview recently and I did a horrible job answering personal questions, which should probably be the easiest part, and the part I really shouldn’t mess up with. So it’s probably time for me to think about myself. The following questions aren’t all from the interview I had. It also includes questions that people had asked me from their curiosity.

What do I do in my free time?

I like to read. Right now I’m into reading about programming as a way to learn more than what college doesn’t do much to teach me, such as famous computer scientists, using version control, and a little bit about the well-known languages and frameworks that are used in the industry. At least, the classes I’ve taken so far haven’t taught me these things, and I’m impatient with my learning.

It’s strange when my professor or a textbook mentions something that I only know about from doing some reading outside of school. When it’s presented in lecture it’s almost as if we should’ve already known how to do this, but none of the classes I took before really covered it; I need to do my own reading to be on top of what’s happening in class.

I enjoy bicycling to places. It’s amazing that I can just pedal my feet to get somewhere relatively quickly. For example, I can bike to school with about fifteen minutes more time compared to driving (and a whole lot more sweat), without worrying about needing gas, changing my oil, running someone over, or finding parking. It’s great.

I like to play video games. They’re fun. I love interacting with these surreal worlds that hundreds of hours of man work has been able to concoct.

And I write. Here, in my journal, and with my friends, practically every day. I’m not a great writer, but if practice makes perfect, then I hope to become better by writing every day.

Where do I see myself in five years?

I see myself working on something that lives on the web. Things on the web can be opened by any browser, no matter what OS is running, with no notion of being “downloaded and installed”. It’s pretty amazing.

What do I want to do with a CS degree?

When a guy asked me this question last semester I told him “I don’t know.” I still don’t really know, but I know I’m interested in networks and the web. I want my CS degree to allow me to create things that people can use.

What kind of music do I listen to?

I’m not really a music person. By that, I mean I don’t follow or listen to whatever’s popular on the radio. Heck, I’ve never really fully memorized any lyrics to a song. When I see people sing along to their favorite songs, it amazes me that they know all the words. I can’t do that.

I tend to listen to songs that I like; that’s not really narrowed to any particular genre, and my tastes change over time. Nowadays, I tend to listen to video game and movie soundtracks. Listening to them brings me back into their respective worlds, and they sound fabulous to boot.

Selling Myself

Right now it’s around the time that people look for a summer internship. There was a job fair at SJSU last week. I went to it, but didn’t really do anything there. I just walked around and had some good laughs, as I usually do when I’m with my friends. The fair was really crowded, and I didn’t want to wait in line for any particular company.

I don’t even think I’m ready for a job.

My friends at school say that I’m absolutely qualified for an internship—I have the grades to prove it, they say. But grades aren’t everything. They just show that I was able the play the game well enough to do well in class. Sure, I learned a lot from the classes I took, but is that even good enough for me to get a job?

I don’t think so.

One of the skills that I truly believe I’m lacking is talking (and communication in general). I don’t really like talking to other people, probably in fear of being judged (but I’m getting better at not caring). Although from the outside you may think that I’m a good communicator, it may just all be a facade. I’m just trying to copy other people whom I think are great at talking. And if that’s working, then great.

But that’s me copying other people. I’m not comfortable with presenting myself. I don’t know how to sell myself.

Am I smart? I wouldn’t say so. (Although my GPA may tell you otherwise, but it’s just a number.)

Can I program? Sure, but they’re not great. I try to make the code readable and to make myself understand what’s going on, but I’m lacking in the reusablility aspect.

Am I an excellment communicator? No, I wouldn’t say so.

I tend to undersell myself. In my opinion, that’s better than overselling myself. I don’t want to give false promises.

I’ve seen the resumes of my classmates, who write about all of their experience with such-and-such program and working on such-and-such project. Most of which I feel like is complete BS. Is BS how we succeed?

What I really want to know is how shallow our experience can be in order for a company to hire us.

Understanding, Not Memorizing

One of the best ways to learn new things is by understanding the material, not just knowing definitions and cramming facts into memory.

That’s why I don’t do well in history classes; at least, I’m not fond of them. I don’t really understand why things happen, and I try to get by solely with memorizing. History isn’t supposed to be that difficult if you understand why people acted the way they did when key events happened.

I take so many notes in history class, not putting much effort into understanding what people did. I just write whatever’s on the slide and whatever my profressor is talking about. I try to jot down most of what happens in class, but it doesn’t mean I retain it. Suffice to say, I’m not confident on history exams.

From what I learned in history classes (or, rather, from the lousy way I’ve tried to understand the material), most of human history involves racism, sex, greed, and war. It’s all the same thing, but different. There are lots of dates to remember, people to know, and rationales to connect the dots with.

On the other hand, I don’t take much notes in my CS courses. What I try to do in those courses is understand the material. Because understanding something allows me to get that information practically instantaneously without needing to refer to my notes.

If I’m going to consider myself competent in this computer stuff, I need to understand, not just memorize.

So if it takes me many hours to understand something, so be it. So long as I can shove the logic into my brain so I can comprehend it. One of the hardest things about learning something hard is being overwhelmed by all the details. It’s better to digest the new information slowly.. Try to understand the little parts and not think of the big picture.

In fact, my statistics professor told us just that two days ago:

Be patient, do each step one at a time, pay attention to the assumption you make at each step and you’ll get there.

If I could just remember to take things slow, I would be better off.

Someone Must Hate Me

Egg remnants on my car.

I found out this morning that my car got egged. I spent a good hour scrubbing it off my car, but it still reeks of egg.

I wonder if whoever threw the eggs has something against me, or if it was some random hooligans who wanted to egg a car.

Or if it was someone coming back from the supermarket and somehow dropped the eggs from the grocery bag all over the place. (It could happen, right?)

In any case, at least I got an excuse to wash my car.

I Just Had to Ask…

Thanks for the compliment, Dr. Horstmann. :)

Work is tough because I’m asked to do things I have no clue about. But that’s what’s great about it, because I get to learn on the job and work on interesting problems.

As much as I’m struggling to deliver results for whatever I’m asked to do, I have to remember that the final solution will come if I step away from the big picture and focus on some small part of the problem first; someone once told me, “Nothing’s really that challenging. If something’s hard, I’ll make it easy.”

I’m not extremely talented, but I’m doing my best, whatever that means.

My Best Ain’t the Best

Voicemail question: what do you do when your best isn’t good enough?

A bookmark Calvin gave me

When my best isn’t good enough, I learn from my inadequacy and do better next time.

Best is relative. What you may think is best is probably not what I think is best, and what I think is best is probably not even close to what someone else thinks is best.