Month: December 2015

Less stress or more schoolwork?


This is my response to what has happened in this article:

Before I start, don’t expect that I am going to say “more schoolwork” because I am Asian.

I live in a community where most people are white and there is a very, very small percentage of Asian-American residents. It, perhaps, may not be a coincidence that most of my friends are Asian-American, but certainly my community has a different environment than this of the New Jersey school district. I think the NJ school district here could be most similar to nearby Plano ISD or even Allen ISD, where Asian-Americans constitute a sizable minority whose posterity command academic excellence in schools. But what’s different in McKinney is that, although ethnic1 traditions may play a part in those families that command academic excellence in our schools, the divide is not ethnic, rather it is more based on individual families’ values. Some whites and some Asian-Americans alike will push their children for more schoolwork, while other whites and other Asian-Americans will push their children to enjoy high school and don’t emphasize academic excellence as much.

It would be fair to consider me as a high achiever. My blog has many examples of my academic achievements, so I won’t list them here. One would expect me to perhaps say more schoolwork is good. However, that’s actually not what I want. I actually want a break.

I learn a lot and am under a lot of stress at times in the school year. There have been days where I come home from school at 3:00pm and work until 11:00pm nonstop just on schoolwork. That was not acceptable and didn’t really help me learn anything; I was extremely stressed and I think that the negatives definitely outweighed the positives. So why haven’t I stopped?

I’m in the GT program at my school, where the culture is super-competitive because all the smartest kids of the school are in a tightly-knit community that pressures and promotes increased academic excellence. This is where grades matter, and letting down the guard a bit isn’t acceptable. In other classes, students make friends and don’t have nearly as much stress as GT kids do. I don’t stop this cycle of stress at school because, unlike the pressure-absent environments of other classes, the environment of GT classes reward intelligence and hard work. Good grades is something that is the norm in the classroom and it pushes fellow students to work harder. If a student tried to ditch their stress, they would be pressured by the other well-performing students to do even better. It’s simply impractical to ditch the pressures of school as a GT student.

And what would my family say? My parents are typical brain drain immigrants that have worked so hard to get to the US. I have always been quite adept at schoolwork. There is certainly a pressure for me to do well and to continue doing so until the end of university. Cry. My parents don’t use belts to whip me if I get poor grades. Me, myself, and I alone keep myself in check and combined with the GT pressure, my familial piety act as another pressure. I don’t have the stable foundation that most white families have. Thirty years ago, nobody in our family had even came to the United States! Now that we’ve finally been able to settle down comfortably, I don’t want to mess that up for my parents. I want to create a legacy in the US as well for my posterity and family.

I just don’t want to work for success in such a stressful manner.


Some say school is about endurance instead of intelligence. I’d say that’s very true.

It’s just not fair.

But then again, why do we have class ranks? It’s not fair!

Well, how would we separate the exceptional from the mediocre? Mediocre don’t make the next drug to treat cancer. The exceptional do.

We have to keep this innate unfairness, but make it less painful please.

Reduce our stress and schoolwork, please. You’re trying to kill us, school system. This comes from a second-generation Asian-American student with high marks in school that pushes himself to do better and more importantly, wants to learn. My knowledge won’t help me in the grave.



  1. not racial; this is a very important difference because ethnicity is one’s culture, while race is one’s biological origins. Clearly, skin color does not influence how people act; culture does.

Using computer science to efficiently print out and analyze Twelve Days of Christmas


I love using computer science concepts. They’re so helpful when you know them.

Today, I felt festive (it’s Christmas Day) so I decided to do something I’ve wanted to do for a while now so that I could sate my curiosity: Print out Twelve Days of Christmas using programming concepts. Even though I learned how to do these principles in Java, I easily transposed them to PHP, because I wanted to make this on a webpage.

I first began with researching the lyrics, as I could not remember much except for “a Partridge in a Pear Tree”, “Five Golden Rings”, and everything between. A visit to Wikipedia revealed the lyrics, which I carefully formatted and pasted inside an array. This was important, because I could then use this array in a for loop. Since the lyrics “count down” each new day, it would be very, very easy to do a for loop to print out the Twelve Days of Christmas.

Then, I put “a”, “two”, everything between, all the way to “twelve” in an array called “nums”. For the ordinal days (e.g. “first”, “second”, etc.), I put them “first” through “twelfth” into an array called “ordinal”.

Finally, I used a set of nested for loops to control the printing of the lyrics. The outer loop controlled which day we were doing, while the inner loop started from that day’s ridiculous gift all the way down to the partridge.

But I wasn’t done: I wanted to do the “statistics” behind the Twelve Days of Christmas, namely counting how many times a gift was given. For example, the Eleven Pipers Piping would be given 22 times because it was given on the 11th and 12th days, or two days. I used some simple algebra to come up with an equation that would determine this. Using a for loop, I generated the f(x) when x = 1 thru 12.

You can see the actual page and the GitHub repository for this little script.

How I boosted my SAT scores by nearly 300 points


Since the old test is going to die in a month anyway and I’m not really trying to advertise any SAT prep services anyway (lol) I’ll just cut to the chase:

Guessing is good if you can eliminate at least one answer choice from each question.

Which in most cases is very easy. The probability will work in your favor. (Don’t randomly guess answers, that won’t help!) Don’t let the -¼ point deduction scare you: it doesn’t make that big of a difference. Obviously, the new SAT will probably promote guessing because no points are deducted for incorrect answers, but if you are forced to take the old SAT for a specific reason, this should help.

My previous score was a 1940, and I found out from my detailed Score Report that the Collage Bored gives out that I had skipped many questions! I took a practice CR section the night before my next SAT and decided that it was in my best interests to guess. So the next day, I bubbled in every question. Sure enough, I got a 2210 afterwards!

Well, good luck, it helped me so much!

Why I’m a lonely programmer


No, I’m not a loner. I have friends, trust me.

So what do I mean by a lonely programmer then?

Since I started programming in 2008, I have explored many types of programming, but what has always resonated with me is web programming. In fact, that’s why my business tends to concentrate on the web. My business MyWikis uses MediaWiki to host wikis, so naturally, since MediaWiki is written in PHP, I have become quite fluent in the language. Although it’s been derided for its confusing array of language constructs and inconsistent functions, it’s still important to web programming.

Why am I so interested in web programming, then, if its main languages are beginnerish and inconsistent? Because I know that desktop applications are lame, inaccessible, and unless it’s really good, there’s not much of a point in using them. I started web programming before HTML5, before Chromebooks, before the present era of the easy, modern web. Most people are interested not about downloading a web application and then using it, but simply typing in an address and getting all the information on a website. And if this website can do really cool things, all without leaving the comfort of one’s web browser, then that’s awesome!

Thankfully, I have an awesome group of friends that I’ve had for many years now, but they do not share the same passion for web programming that I do. (There are thankfully some exceptions, but more on that later.) While I slaved away at building MyWikis using PHP, JavaScript, HTML, shell, etc., my friends developed their interests in Java, C++, and other desktop development platforms. I do have minimal experience with desktop application development (some attempts at Visual Basic, Java, etc.), especially with my AP Computer Science and Computer Science 3 classes I take in high school. However, I still strongly resonate with web programming, and the recent developments of web programming has led me even further away from their programming passions.

Unfortunately, I’m an old dog, new tricks kind of web programmer, because the industry moves so quickly it’s unimaginable and hard for me to keep up with. The issue with old dog, new tricks kind of people is that they tend to stick with their old-style roots, which doesn’t help in an environment where new is (almost) always better. Now, the new thing is Node.js and since MediaWiki requires this in Parsoid, I am forced to bend down and get familiar with Node.js. And don’t forget Python and Ruby, which have somehow become backbones of the web. (I’m clearly in denial! :P)

Here’s where my exceptions come in. (Not try-catch ones.) Both friends are interested in web development and that makes me excited! One friend has recently picked up Node.js and has caused my school project with him and another friend to lead to two flavors: one in PHP and another in Node.js. I’ve got to hand him the trophy for “Most Modern Idea” but unfortunately Node.js just isn’t that mature yet, and I can’t really support Node.js because I don’t have the money for it. (Yes, that is my biggest reason why. Also, JS wasn’t that useful back then.) PHP is still more accessible to others with a tight budget and resources (cough cough that’s me cough cough) and that is why I continue to use it. Another friend develops in Python and helps Mozilla, and has actually created several creations of his own, which I support because they’re great ideas and I have just enough resources from my company to support him at the most basic level.

But I still feel lonely.

I might just have a really closed mind, or I might actually be a loner, but it’s mainly because web programming is so diverse and nobody comes near the web development associated with MediaWiki, WordPress, and other software like that. Node.js isn’t used for stuff like that, and Python is probably better suited for newer, larger, and more complex applications. The nearest cousins of MediaWiki in Python would be MoinMoin and I’m not getting into that! (I don’t think there is a MediaWiki in Node.js yet.)

Why am I so concerned with people knowing PHP or even remotely having some kind of passion for MediaWiki?

It’s hard to run a company alone, but I manage to do so because there isn’t anybody interested in what I do, even though it makes money! A company is supposed to be a team effort, and honestly would be much more fun and efficient if that was done. However, nobody has that passion, and being a teenager who has done this for half his life (yikes!) doesn’t help with finding people actually interested in developing with or maintaining a company about MediaWiki. Furthermore, the market is quite divided, with most people not even needing the services of MyWikis or they use a completely different wiki engine that isn’t remotely compatible, like TWiki or MoinMoin.

And that’s why I’m a lonely programmer. I’d love to be not-lonely.

(Friends-o-mine: I am so thankful to be friends with you! We’re just different, and the best of friends are fine with and embrace being different. I really like what you make on the desktop but it’s just not my true passion.)

How I use my Raspberry Pi with only power and Ethernet

Raspberry Pi on VNC
My Raspberry Pi, accessed through VNC.

If you know me, one of the things that drives me crazy about the Raspberry Pi is its lack of VGA or DVI ports. All of my monitors and computers have VGA and DVI ports, but apparently the $35 mini-computer needs to have only HDMI and for some reason, composite video. Bleurgh.

So I decided to put my RPi away until I could use it without going to the nearest TV with an HDMI port. Anyway, from previous experiences, there are two technologies that I thought of that would allow the Raspberry Pi to run autonomously.

  • SSH
  • VNC

So I set them up as part of the startup launching daemon thingies and now they run whenever I plug in the RPi. It’s literally that simple.

Of course, I’d be doing most of my stuff on the VNC graphical interface, not a command line. Unfortunately, VNC is somewhat laggy and can’t run graphically intense applications like Minecraft Pi edition. It’s fine though, I think it’s quite cool that I can even do this.

Why the Raspberry Pi Zero has zero value


In other words, a complete piece of crap.

First, before I continue, let’s recap on what happened over the past few months.

School has been challenging, but new friends have been made and challenging classes have helped strengthen myself for the better. The 3rd of November Incident happened, which my friend Justin Potts can cover on his blog post (click on the link).

Okay, back to the Raspberry Pi Zero. Why is it utterly useless? Let’s look at the specs presented by the Raspberry Pi Foundation:

  • A Broadcom BCM2835 application processor
    • 1GHz ARM11 core (40% faster than Raspberry Pi 1)

This is cool and awesome. I’m not complaining about this at a $5 price point!

  • 512MB of LPDDR2 SDRAM

Ok… I’ll let this slide since earlier models had less RAM.

  • A micro-SD card slot

I have always hated the Raspberry Pi because it uses an SD card to boot. Getting these things imaged, purchased, and working is an absolute pain. I am deeply saddened RPi continues to use SD cards, because let’s face it, nobody uses them anymore.

  • A mini-HDMI socket for 1080p60 video output

This exists?

Nobody has these at home. Boo!

  • Micro-USB sockets for data and power

The original RPi never included an official power adapter, which sucked because I could never use my personal microUSB adapter to get the wattage, voltage, or ampage correct for the RPi’s needs, whatever one fits there.

  • An unpopulated 40-pin GPIO header
    • Identical pinout to Model A+/B+/2B

Don’t care

Update 12/27/2015: Ok, now I do care about GPIO. It’s nice, I guess.

  • An unpopulated composite video header

Wow, seriously, now you’re just forcing people to use “mini” HDMI, whatever the heck that is.

  • Our smallest ever form factor, at 65mm x 30mm x 5mm

Cool, but let’s face it, a small piece of crap doesn’t really do much. We don’t need it this small in the first place.

I owned the first model of the Raspberry Pi and because it supported composite and HDMI, I was forced to use it on my television, which absolutely was terrible. I had to stand too close to the TV screen. Considering the limited USB ports (there were only two at the time), peripheries were hard to come by. And don’t forget there wasn’t Wi-Fi, just ethernet. Right, like everybody’s router is going to be right by their TV… if that coax port isn’t already used by their TV’s cable service!

Don’t waste $5 on it because it has the ability to do things, because abilities and actions are completely different. That’s why I support C.H.I.P., which is just $9 and has Wi-Fi (great), composite with possibility of VGA adapters (awesome because RPis and C.H.I.P.s are not Chromecasts), and built-in memory so at least SOME type of OS can run without the disgusting SD cards.

Of course, the C.H.I.P. has its own pitfalls, like its one USB port, no power charger included, and only composite video natively. Thankfully, it’s only $9 and actually functional, so I don’t have to spend $100 in accessories for a $5 computer, I just need to buy a USB hub for $5-$10, a VGA adapter, a power cable, and maybe a keyboard and mouse. (I already had a USB hub for my RPi originally, but now it can be used for my C.H.I.P. when it arrives in February.) At least it’s better than the RPi Zero.