Author: j

Why my favorite time of the semester is final exams


During dead week last spring semester, I found myself bored and unsure of what to do. My boredom felt wrong and dangerous. I had felt the same thing in the preceding (fall) semester, but I didn’t want to lose my A’s this time because I messed up my final exams. So, since I had nothing to do, I strutted down to my academic counselor’s office and asked her, “I’m bored and I don’t know what to do. I know I should be studying, but I don’t feel like I need to study anything. What’s wrong with me?” She replied, “Nothing’s wrong with you, Jeffrey! This boredom is typical for people who have done well throughout the semester. Trust me, you will be fine.” After hearing that, I felt relieved and validated. I continued doing what I wanted, studying only a little bit. To be honest, I was still apprehensive of what she told me, but I now trust her judgement after I received all A’s that semester.

After a few weeks of the fall semester beginning, I couldn’t wait for final exams. I had weeks lined up with four tests and sometimes two tests occurred on the same day. While finals week lines up many tests on the same week, they don’t occur around the same time as other homework assignments being due, and usually don’t interfere with college applications. Furthermore, cumulative tests just means reviewing previously learned content. If I did well in my midterm exams, most of the finals should just be over the same thing that I had already learned. And if they aren’t cumulative tests, that’s fine too; final exam week is just testing, so other downtime can be used for studying instead of going to class. I find that finals week gives me the biggest chunk of downtime I can expect from any time of the semester, perhaps other than the first week.

Mathematically speaking, final exams are the final figure in calculating our grade. Depending on previous performance in the class and the weight of the final exam on your final grade in the class, one can achieve failing grades on their finals and still earn an A. This means there is lots of leeway for error if such errors are made and that means studying for finals is less stressful than regular midterm tests because there isn’t as much pressure to do well. It lets me show what I really know, without having to “cram” any knowledge into my head.

This post isn’t meant to be a panacea for those stressing over final exams. If you believe you know the content well, then you can chill a bit and naturally do pretty well on your finals, but if you have not done well on your previous tests, this is the home stretch for you to redeem yourself and try your best to get an A, if possible.

But if you had a successful semester so far, final exams are a pretty nice way to wind down. Best of luck to everyone this finals season!

Edit: I just took my first final exam of this semester: US History. It was purely a free-response exam and I had double the time I am usually afforded for this exam. So, I sat down and thought about what I would say. I excited my brain cells just thinking about how everything went together. I wasn’t under pressure to perform well. I just let out what I had to say on paper and I’m confident that I will do well. I’ve been learning this material all this semester and it’s not going to be hard to get an A.

Reputation and rhetoric


I have finally found that these posts I’ve filed under “society” are not my ramblings, but my essays, in that I am essaying as Montaigne did. As such, enjoy my latest essay, which I have written because I can no longer hold my frustration within me.

As brilliant of a rhetorician one can become, their words are worthless if nobody will listen to them. Ideally, the better one’s rhetoric is, the more people will listen to them. However, this does not entirely hold true in the real world. For someone who has a sound balance of reason, ethics, and emotion, rhetoric is not really the key; it is reputation to which people listen. Our reputation is what gets us into the door and our rhetoric drives us home. The speaker’s rhetoric therefore serves limited purpose unless the speaker’s reputation is good.

I can point to real world examples, which unfortunately become easier to find as we move on from the 2016 United States presidential election. We have been described as being in a post-truth society, and I think this means that reputation matters more than rhetoric in this society. Donald Trump did not win this election with his rhetoric; his rhetoric is pitiful and laughable. Yet, he won the election, and that must be attributed to his reputation. His mudslinging and slogans got him the votes, bolstered by who he was.

I’m not like most people my age, and so I feel great difficulty in being able to connect with many people of my age. In fact, I believe most people see me as an aloof and unsociable weirdo because I think differently than they do. I can’t connect with most people because of their undesirable human tendencies, which I will discuss later. This results in me becoming an outcast—against my will, of course—and what am I to do? I am a stubborn person. I cannot sacrifice the small victories in life because doing so would go against the tenets of classical rhetoric: logos, ethos, pathos. In keeping my ground, I alienate myself from many people. Furthermore, when I next wish to communicate with them, I am met with a wall of resistance regardless of my rhetoric or attitude. From this, we can see that first impressions truly do matter.

However, this isn’t entirely up to me. As humans, we innately like to gossip and form cliques. We like to exclude. We like to treat other people like crap to make ourselves feel better. For the weak minded, those who do not realize how bad this is, they enjoy doing this and innocently ignore rhetoric, instead focusing too much on reputation. That is why they will listen to the person and not the reason. As reasonable as Hillary Clinton’s platform was compared to Trump’s, American voters were skeptical of hers because of her reputation. Ad hominem fallacy, perhaps? She could not be trusted because of Benghazi and her email servers. She was also felt to be a snake. Therefore, we decided to go with Trump, a man with little to say but at least he isn’t a snake like Hillary.

This truly tears me up. On one hand, I don’t want a snake ruling us and screwing us over when we least expect it. On another hand, I don’t want someone with little reasonability to rule us. So it really comes to what we trust more: rhetoric or reputation? This time, America chose reputation. But I would have chosen rhetoric. Why? I look for the good in people, and so I want their reasonable side leading us. We all make mistakes at times, whether guided by our fallacious selfish desires or our temporary lack of judgement. Such leeway to these mistakes should not just be given to the hoi polloi, but also be afforded for presidents, but we should not choose someone who is prone to folly all the time.

A more salient example of this struggle would be social media. Why won’t people like or retweet my posts but will retweet other people’s posts when we both say the exact same thing? It certainly doesn’t come down to the content, but rather the person writing the post. This infuriates me, because as Epictetus says, some things are up to us while other things are not. The things that are up to us? Our opinions, impulses, aversions. What is not up to us? Reputation, body, etc. He says we should not worry about what isn’t up to us. Well, we truly do care about who says something. As a result, I effectively become a crazy person talking to his own echo chamber. Many times I have disguised my identity and my words fare much better than when they are paired with my name. It is most unfortunate how human psychology improperly discriminates based on such unreasonable standards.

Something else wrong with what Epictetus says? Well, I am skeptical about his dogmatic conclusion. Chiefly, I cannot settle to ignore what isn’t up to us. My restless mind yearns to find a resolution to fix my reputation. The easy way is to start with a clean slate, but at what cost? I will simply have it spoiled again by my idiocy while appealing to the nonrational side of people.

As a last resort, I cease thinking about this (epoché). I plead for people to give me a second chance. It probably won’t happen. This is perhaps all made in vain, but I must try because otherwise I am emotionally disturbed, and this is the best I can do. Please, don’t put my reputation over my rhetoric. Similarly, don’t put other people over me because of their reputation. I know it’s hard, but at the end of the day, it’s not reasonable. You cannot call yourself a good person unless you cease being swayed by reputations. See through reputations and focus on impartial rhetoric.

What really matters?


Some of you may remember a post I had made about rejection several months ago. Although I hastily wrote another post to ensure everyone that I was fine, true closure was never achieved. I hope this post shall rectify that.

I’ve come to realize that positions aren’t what matter; it’s your actions that do. Don’t be fazed by what others say you are and what you aren’t. Let what you do guide you, for what others say has no effect on what you can do, but what you do can have great effects on others.

It is your choice: what shall you do to create these great effects?

I think it’s silly that a year ago, I thought positions defined what we could do. In reality, I found out that it is quite the opposite. Whenever I accept a position, it is more of a trivial title that doesn’t mean anything. It is what I have achieved and what I intend to achieve that allows me to sleep at night in comfort. And when a position is denied from me, I laugh in the face of the deniers and proceed to do what I want to do. After all, if I really am determined to do something good for everyone, why would I let other people stop me?

Last year, when I was applying for officer positions in clubs, I had let the positions define what I could do. In hindsight, I had done more than the positions I had junior year. (And we weren’t even allowed to have positions as juniors.) I had always let my rejection from every single club define me, but others reminded me that I had done much more even when I wasn’t an officer.

When others asked a question, I would always respond if I knew the answer. If concepts in our classes didn’t make sense, I’d try my best to explain. During second semester, I was fortunate enough to help numerous fellow students with General Chemistry 2. Nobody had said I could do this. In fact, I was not even an official sanctioned tutor until later in the semester. Yet, did I care about being “officially sanctioned?” Was I doing it for the community service hours? No. I was doing it because I saw my calling. Did my actions make a difference? Yes. My passion, combined with my persistence, was what made me successful in doing what I wanted, and gave me true satisfaction in my role as a member of society.

And would those positions have made a difference? No.

Sometimes, we should step back and say “this is wrong.” Positions in society have come to (fallaciously) define what humans could do. This ranges from the caste system to political offices. The office itself does not make a difference; it is the holder of the office that truly makes the difference. Our perception that it is the position that matters and not what one is able to do has misled our society. Upon reflection, we need to place more emphasis on what people are able to do, as that is the true indicator of success. I hope that we as a society can implement this change. It starts with the smallest things around us. Let’s wake up and make this change.

Five years of boycotting Chick-fil-A


My third ever post on this blog (back when the .xyz top-level domain did not even exist and I was on was entitled “Why you should boycott Chick-fil-A.”

Chick-fil-A, and more specifically, the president of Chick-fil-A, Dan Cathy, is choosing to discriminate homosexuals. While homosexuality may not be right in your opinion, I firmly believe this is more discrimination than belief. Dan Cathy has even said that he is “guilty as charged” for his opposition to homosexuality.

He (and his family) can obviously donate to anti-homosexuality groups, but putting his large company’s profits to a very controversial topic is a bold and threatening move that will obviously deter customers away from their shops, especially in liberal areas. I believe his actions are very wrong and I must criticize him of his wrongdoings.

Please do join me in the boycotting of Chick-fil-A. This is an outrage and definitely discrimination. I hope this all goes to rest soon. Chick-fil-A needs to realize that this isn’t something that a whole company should do; it should be more like a family culture.

–Jeffrey Wang, 2012, age 12

Let’s do a few things before I proceed.

First off, 12 year old Jeffrey, “discriminate homosexuals” doesn’t make sense. It’s discriminate against homosexuals. And the more proper term would be “members of the LGBT community.” Second, the second paragraph is more of a “no duh” point. Yeah, he can donate to anti-LGBT groups, but that doesn’t mean he should. And third, unfortunately it has not gone to rest. And no, not even family cultures should be heteronormative, Jeffrey. Shame on you! (Remember this was back in 2012 and that I was raised in a conservative city in Texas.)

Five years later, I’ve changed a lot. I’ve changed schools twice, each time met with new people. Plus, I’ve met new people elsewhere, whether digitally or in-person. I’ve been many places that are different than Texas. I’ve experienced a lot. In the time between that post from 2012 and this current post, gay marriage was legalized through the Supreme Court’s ruling in the landmark case Obergefell v. Hodges. But there is one thing that has not changed, something that I steadfastly continue to do today: I still continue to boycott Chick-fil-A.

I’m going to elaborate on why I started my boycott, why I’m continuing it, and how I manage.

Why did I start my boycott?

Around 2011 or 2012, same-sex marriage became a contentious topic. At that time, it wasn’t legal nationwide. That means my opinion was quite unpopular back then, especially considering I lived in a quite conservative city and surrounding metropolitan area. News organizations revealed that Chick-fil-A was donating to gay conversion therapy groups (Exodus International), anti-gay hate groups (Family Research Council; considered a hate group by the Southern Poverty Law Center, a source of information for the FBI), Fellowship of Christian Athletes (an organization that should not belong in public schools per the principle of separation of church and state, and one that opposes gay marriage and gay bedroom activity through its pledge), and more organizations promoting heteronormative relationships and marriages. In fact, the mayor of Boston prevented Chick-fil-A from building a new location due to their homophobic attitude.

Although it appears from my limited sources of information that Chick-fil-A has ceased donating to all of the above except for FCA, that won’t cut it for me. FCA’s continued promotion of heteronormative relations and unwarranted intrusion into our schools is concerning and violates the principle of separation of church and state. One of the school districts where FCA is allowed to be an official club in schools is my former district, McKinney ISD. As a Buddhist, I am concerned that FCA can have a club simply because it’s so easy to find students and a sponsoring faculty member that are Christian, yet was probably the only Buddhist in the entire school, faculty included, until I left. My former ISD forces everybody in the audience to listen to Christian prayers (and no other religion’s prayers) during graduation. In fact, they have committed so many violations that they were censured by the Freedom From Religion Foundation, and finally stopped some of the intrusions of religion into classrooms. Not all have been fixed yet, including FCA still being allowed to operate as an official school club. I remember New York City kicked out all religious institutions using public property, including Buddhist organizations. I fully support their decision to do so, especially the Buddhist organizations. I am fair and impartial to the principle of the separation of church and state. I don’t discriminate against Christianity; it just so happens to be the majority, and that’s why all this anti-gay hatred has been amplified by Chick-fil-A.

Why am I continuing it?

Since Chick-fil-A has continued to donate to amplify anti-LGBT organizations while proselytizing at each of their store locations, I cannot resume monetarily supporting them. Under their current management structure, they will always send money secretly to these anti-LGBT organizations. I think it’s very simple why I’m continuing my boycott: until the company is completely changed, I can’t give them my money.

How do I manage?

Well, first off, my family didn’t really go out that often when I was 12. When we did, I made sure to suggest plenty of other delicious options in our vicinity, such as Market Street, Pei Wei, Fuzzy’s, Mooyah, and other comparable establishments. I made it clear I wasn’t going to Chick-fil-A and that I would rather starve at home than go. Whenever you crave Chick-fil-A, think of a member of the LGBT suffering because they were harassed due to their sexuality or their marriage isn’t recognized, all perpetuated by entities like CfA. Still want to go? For every cent you spend at Chick-fil-A, donate two to the Trevor Project or the ACLU or the FFRF.

Nowadays, I don’t remember the taste of Chick-fil-A. I’ve overcome the addiction.

And while a few dollars might not seem like much for CfA to lose, at least your conscience can rest easy at night. Plus, give your support to businesses full of real people who share the same loving attitude that supports LGBT rights. Trust me, happiness doesn’t require a Bible or a chicken sandwich. If we all pitch in our money to other businesses, eventually CfA will lose money and less money will go to homophobic hate groups.

Would I go back to Chick-fil-A if they stopped donating to homophobic hate groups, changed their management structure, and made it transparent that they were pro-LGBT? Short answer: no. Long answer: if I have nothing to eat, my weight isn’t killing me, and someone innocently bought me a CfA gift card, then I’ll reluctantly go. And hopefully then donate $100 to the ACLU and the Trevor Project for my sins.

How to email professors about finding undergraduate research

Looking for undergraduate research opportunities? Here’s a good Quora question about emailing professors.
I’ll go over some of the top answers and analyze them. They all make different, meaningful points about this process.
The answer from Shaad M. Ahmad, Assistant Professor at Indiana State University is one you should especially pay attention to:
I cannot speak for all professors, but I will tell you how I view cold emails. I tend to receive two types of cold emails asking for research opportunities and have a very distinct response to each:
Emails that are obvious cut-and-paste generic messages sent out to a large number of professors on the slim hope that someone may express an interest: These, I utterly ignore. I am not interested in students or postdocs who are not interested and passionate about the research questions that my lab is investigating.
Emails sent by individuals that demonstrate that they have looked into my research interests, read my previous publications, and are actually interested in my lab’s research program: I am likely to actually respond to the senders of these emails. That is no guarantee of my necessarily accepting them into my research program, but at the very least, we will have begun a dialogue.
This answer is very truthful and shows how important it is to email each professor one at a time. NEVER email more than one professor at a time, whether through different emails or BCC. If they see another professor is emailed, they’ll be insulted.

Then there is an answer from William Beeman, Professor and Chair, University of Minnesota, which I will make comments on.
These emails generally are ignored. They are often bulk emails sent out to hundreds of people without regard to any individual’s personal research interests or their ongoing research.
Even if you do everything right, you might be ignored, for reasons such as: lab is full, you’re not suited for the lab, etc. I just talked about how you should never send a research interest email to more than one professor, so the above scenario should not apply. Below is a very good example for a PhD candidate on how to join a professor’s lab. In your case, saying that you are an undergraduate student majoring in XYZ and attaching a resume is good enough. It is best to mention the professor’s prior research and show how you can use your skills in their lab, as this demonstrates interest in their lab specifically and not others’ labs.
Here is a much better approach in the sample inquiry below:
Dear Professor X (name the professor)
I am completing my undergraduate studies and have read your work on (X subject). It has inspired my interest in a research career in your field, particularly in the (X specialty area—named specifically). I was especially inspired by your article(s) (books) (NAME THEM SPECIFICALLY). I plan to apply for the Ph.D. program at your university, and am writing to ask about the possibility of working with you if I am admitted.
(Then list your research experience, your credentials, etc. and attach a curriculum vitae)
We then have a nicer professor who understands the struggle of finding research.
Jason M Pittman, Professor of Computer Security & Computer Science
I’m open to cold emails as long as I can tell that the message is an honest attempt to connect and begin a dialogue.
I think a semi-closed door policy on cold engagements is dangerous insofar as new researchers (especially undergrads) do not always have the means to engage otherwise.
But some professors aren’t as nice. We then have this professor from Germany that has some pretty high standards. To be honest, professors’ personalities are also important. You two have to have a professional synergy. Personally, I would never want to work with this professor because I might accidentally offend her by breathing. That being said, she makes some good points among her contempt. I’ll comment on how you can deal with difficult professors using her answers.
Brigitte Mathiak
It is very hard to slip through the Spam barrier.
Wow, rude much? If you use your school email you should have no troubles with your emails being marked as spam. Look to fellow students for comfort and rejection support if a professor calls you a “spammer” and you were making a good-faith effort in the appropriate way.
Rule 1: Be very specific
Looking for an adviser on my Master thesis on XYZ
Tell them you’re an undergrad and what you’re majoring in.
Rule 2: Be very short
I will scan the subject and maybe first line of the email. Others have other email settings.
Yes, be concise and straight to the point. Professors don’t have much time to waste.
Rule 3: Tell me what you want and how much it will cost me.
Looking for a research project… I would assume that you are asking to be hired in some way. If I do not happen to have money, I immediately stop reading.
Doesn’t really apply; you don’t need to do a cost-benefit analysis because you’re not a PhD student.
Can I visit your lab?… Sounds fishy. What do you want?
As a general rule of thumb, just don’t ask for things you’re not entitled to. Visiting a lab will be a burden for some professors so just don’t. Let the suspense of what your future lab looks like arouse your passion for research.
Can we do research together?… You clearly don’t know how high-quality research works, so nope.
Some professors are elitist and don’t want lowly undergraduates in their labs. In that case just forget about them, Cee-Lo Green style. (jk don’t cuss at or insult them)
Do you offer research opportunities?… Nope. Actually, I am not clear on what that means exactly. Do you mean research job opportunities? Opportunities to do research? Topics for a thesis? Would I want to be adviser on a thesis? This is not me being confused, this is students seeming to think that this means whatever they happen to think it means.
Just be clear you want to join their lab. Assume they offer research opportunities and don’t ask indirect questions.
Rule 4: Don’t insult me. (Happens more often than you think)
Good example:
Sub: Looking for primary adviser on Master thesis
Dear Prof. Mathiak,
I am looking for a Master topic with regards Usability. I have read your paper “…” and would like to do something similar, but I am also open to other suggestions. Could we make an appointment? I am available …
Sincerely, …
Bad example:
Sub: REsearch oppurtunity
Dear Mr. Mathiak,
I have read all of your papers and I am very impressed with your academic prowess. I was wondering, if you could do research with me. I am sending you my c.v. I hope you can read OpenOffice, but I don’t believe in proprietary standards. If you can’t just send me an email and I will send you whatever format you prefer.
Many regards, …
Basically just don’t make it a pain in the @$$ for the professor to facilitate looking over your credentials and making a decision. At the end of the day, your email is asking for a part of their day and you should be very appreciative of the time they spend for you. So make it easy for them to accept you.

At the end of the day, you will get rejected by some professors, even if you do everything right. And it’s okay. Just keep on trying. They might not respond, or they might not have space in their lab, or they might need someone more qualified. In any case, don’t sweat it! You’ll fit in somewhere. Just keep trying.
Anyway, hope this commentary helps. Good luck with finding research!

One-letter abbreviations for days of the week in Romance languages


After some ramblings over the superior usage of R over Th to represent Thursday, I asked myself, how do other languages abbreviate it? Specifically, Romance languages?

In English, a Germanic language, when we use the one-letter system to denote days of the week, standard practice is to use the following:

  • M – Monday
  • T – Tuesday
  • W – Wednesday
  • R – Thursday
  • F – Friday
  • S – Saturday
  • U – Sunday

Days of the week follow a pattern among the various Romance languages. I’ll use Spanish and French as examples.

  • L – Lunes – Lundi
  • M – Martes – Mardi
  • ??? – Miércoles – Mercredi
  • J – Jueves – Jeudi
  • V – Viernes – Vendredi
  • S – Sabado – Samedi
  • D – Domingo – Dimanche

There is an ambiguity with the one-letter abbreviation of Wednesday in Romance language systems, because the words for Tuesday and Wednesday both start with the letter “M”. Since Tuesday comes first, it gets “M”. In order to maintain uniformity among the various Romance languages, I propose the following system for Romance language day of the week abbreviations, because of the lack of my knowledge in how it actually works in areas where Romance languages are used. (If this is actually how it is then I’ll be so happy for a good guess!)

  • L – Monday
  • M – Tuesday
  • C – Wednesday
  • J – Thursday
  • V – Friday
  • S – Saturday
  • D – Sunday

Hackathons: are they really worth it?


I’ve now been to several hackathons over the course of the past two years. Each time, I return home extremely tired after finishing work on a project that I never touch again. Sure, I stay up all night (or at least try to sleep), I enjoy the snacks and meals served and events and t-shirts. But I am constantly kept up trying to code, so I never get more than 6 hours of sleep, and it’s never a comfortable sleeping experience. Furthermore, I’m the kind of person that needs time to work on something to make it really great. The idea of rushing a product from an idea to a working prototype in 24 hours seems completely contrary to everything that I’ve been taught. (Except for CollegeBoard’s notion that a well-polished rhetorical analysis can be written in 40-50 minutes by millions of students worldwide, but I don’t agree with that time limit; it’s too constricting.)

For example, I just went to a hackathon where the winners started work on their project halfway through the hackathon, pulled an all-nighter, presented last, and won. I don’t know if they’ll pick up on their project ever again. I mean sure, it was a good idea, and props to them for winning, but let’s be honest, the repetitive nature of hackathons means that a new idea needs to be made every single hackathon, so the ideas will get shoddy and the motivation behind getting these ideas finished decreases significantly. Meanwhile, I’m milking a lame business that took a year or two to finally start making money. This business may not be as innovative as hackathon ideas, but I find it interesting, so I continue to provide a driving force behind it. Meanwhile, many hackathon projects are ditched immediately after the hackathon ends, even if they win. The result is that people attend many hackathons, ditching their projects after they’re haphazardly made in the course of one day’s time, and they never come to fruition after the hackathon. Furthermore, there are so many ideas that are unknowingly reimplemented many times by hackathon teams worldwide.

And this might sound lame, but I lose a lot of sleep by going to a hackathon. I really don’t like working myself to death. But, if you think about it, there is no real work done if I work myself to death. I have several ideas for apps that I would like to implement at a hackathon, but I think they have real potential. That’s why I don’t want to go to a hackathon, create it, and ditch it. If I believe in a project, I want to invest a lot of time into building it and maintaining it. Hackathons give little real reasons as to why maintaining this project should occur. Many teams go to hackathons just for the fun of it. I think it’s a complete waste of time if you aren’t going to work on it any further. Why build something and never touch it again for the fun of a hackathon? Why not actually do something meaningful with it? Honestly, how many people do you know who have went to a hackathon, came out with a brilliant idea that was implemented first at a hackathon, and then continued to work on it afterwards? Not very many, and the winners of hackathons might not even go through with continuing to develop their product. Yet hackathons are supposed to be where radical new ideas are formed and incubated. I don’t think it’s doing its job very well.

In the future, if I want to do something meaningful, if I want to create something that has real potential to change the world, I will develop it from the comfort of my home. I don’t need to go to some fancy hackathon and develop it there with the aid of Red Bull. Instead, I’ll take it nice and easy, take as much time as I need to learn and develop it (SLEEP when I need to!!), polish it, and dedicate time to maintaining it. That is the only way to ensure this idea comes to fruition and can become a success. To be honest, hackathons are a good way to get a lot of work to be done in a short amount of time, but that’s about it; they are not good for new ideas because they take time to develop into something meaningful. I wish there were a hackathon that was solely for the purpose to encourage a large amount of work to be done on an existing viable project.

What I’ve learned from SwiftScore 2017


Although I did not take any AP exams this year (because I am taking college classes instead), the previous two years of AP score release were nerve-wracking and I could empathize with those who could not bear to wait a second further without spasming and relapsing into full-blown bleach chugging.

Okay, I’m kidding about the bleach. But the nervousness/anxiety is certainly relatable and I just couldn’t stand others being left in the dark due to their physical location.

So here is what I did. I used EarlyScores’ source code (written in PHP) and starting a “mirror” with a different name. This helps to reduce traffic on other score checkers (which is good, considering they get so overloaded), allowing everyone to check their scores as efficiently as possible.

On the days preceding AP Score Release 2017, I spinned up a 512MB DigitalOcean droplet and used a $15 credit I found online to reduce the costs down to nothing. The cost was only $0.007/hr, so I ended up spending less than $1.50 for a server than ran for like a week or less. I figured this would be fine. Then, I posted the details on Twitter and asked people to share. Retweets did occur before the day of score release, but there were especially a lot on score release day. A good chunk of traffic came from Twitter, followed by Reddit (advertising on r/APStudents). Direct sources were word-of-mouth spreading, which was surprisingly popular. I talked with someone from China, who said they were referred by their WeChat group.

All was ready.

On the morning of, I woke up at 6am CDT (all times from here on out will be in Central Daylight Time) to see if CollegeBoard had released the scores early. Nope. I was getting worried that they had blacklisted our IP addresses. Thankfully, that was not the case. Even though I had no news to expect, I was hoping for the best. Hopefully this would work.

Around 8am, the floodgates were opened by CollegeBoard and score checking began.

Our website immediately began timing out. For an hour, I was frantically scrambling around, trying to get it to work. The website kept timing out. I thought perhaps the code got screwed up somehow? No, that wasn’t the issue.


Around 9am (too late unfortunately), I deployed a secondary server and that helped get people flowing. Next time, I will be sure to deploy several servers, or better yet, use a Node.js-based solution instead to handle traffic much better and so we can have a message queue system instead of a everybody-try-at-once-and-everyone-fail-at-once system.

At 11am, I deleted the secondary server and reverted back to the first server.

Believe it or not, traffic actually peaked around 11am that day; the server had began to operate very smoothly beginning around 9:30am. This means that the primary issue with scalability does not lie in people accessing SwiftScore, but rather SwiftScore accessing CollegeBoard’s AP score checking website. Since the same server handling people’s requests also handled the score checking, this didn’t go too well in the beginning. However, as overall CollegeBoard AP score demands slowed down, SwiftScore began to function better. Hence, Node.js would’ve been better. Note that there is not much we can do about the CollegeBoard website crashing; at the end of the day, score retrieval uses a scraper and there’s simply no more efficient way to gather data.

A major issue with EarlyScores’ underlying scraping mechanism is that it doesn’t support “Can’t find your AP scores” issues, “Fill out your AP Profile” prompts, and “Accept the CollegeBoard Terms and Conditions” dialogs, the latter being the most common reason someone emailed me asking for manual score checking. I ended up implementing a T&C acceptance dialog in SwiftScore’s codebase and committed the code to EarlyScores’ codebase out of courtesy and gratitude.

Oh yes, and nobody cared about SwiftScore until actual score checking day. But this image below might change your mind.
Ah yes, that’s money. Holy crap, this earned a bunch of profits. I innocently ran an AdSense ad on the website, hoping for it to earn a few bucks. I didn’t imagine it’d actually generate this much money. And I didn’t spend a cent on server costs. And yes, I used the cheapest possible DigitalOcean droplet there is.

This has taught me an important lesson: monetizing the first hour requires a much more complex system (cough cough Node.js and message queuing), but after that, such a small-scale system is actually enough to process 50,000 requests spread out over a few days.

Out of gratitude for the amount of support shown to me by people from my former high school, I am pledging most of this AdSense payout to worthy causes in my former high school (except for the Living Roof Project—I’m sorry but this would only be a drop in a bucket), so if you’re from Boyd (GO BRONCOS!!!) and you have a good reason to use $50, and $50 would be significant, I’m donating this money to you. The rest is reserved for future SwiftScore costs of operation, including possible ad-free servers.

And a thank you to and my friends who have supported my efforts. I hope to help again next year!


SwiftScore 2017


Every year, around the beginning of July, CollegeBoard releases millions of students’ AP scores. Since there are so many scores to process, they have no choice but to segment the country into pieces and allow certain parts of the country to check scores before others. On odd-numbered years, it starts in the Northeast and ends in the Pacific states. On even-numbered years, this pattern is reversed. However, this becomes a huge annoyance and burden for those who want to check their scores as soon as possible.

During freshman year, I used a VPN. In sophomore year, I had a server hosted in California, so I just established an SSH tunnel to there and I could see my scores. Last year, I found, which was a service that allowed users to check their scores early. Since it was open source, I quickly set up another version on my California server and voilà, it worked as well. This was a great way to allow others who didn’t want to divulge their AP password but wanted to know their AP scores quickly.

However, these services can become quite inundated very quickly, preventing effective usage of them. That’s why this year, I’ve set up SwiftScore, which is free to use. Basically, I use a cloud hosting service that charges by the hour, so I only needed to set this up a couple of days in advance and I’ll cancel it immediately after everybody can start seeing their 2017 AP scores. This allows costs to be very low; so low that I’ll absorb them and provide these services for free. So far, I’ve set up one SwiftScore instance; I cannot publicly divulge its hosting information at this time.

SwiftScore is ready to be expanded and should be very versatile to replicate if needed. If demand necessitates more servers, I will create them on the fly and they will be available when needed. In fact, we will also have manual score-checking services that check scores upon release (like literally at 7am) and send them to users, all for free. VIPs will also be able to access a special, congestion-free server if needed. In case CollegeBoard blacklists our server’s IP addresses (since this service uses a web scraper to retrieve scores), we will either make new servers or switch providers to avoid any IP range blacklisting. The entire SwiftScore system is designed to be resilient, secure, and reliable.

The definition of harassment


What constitutes harassment? That is the million dollar question that we as society have yet to answer. Yet it is an issue that plagues us everyday. With the advent of cyberbullying and the recent presidential election, the issue of harassment has become more pervasive in everyday life. However, how have we dealt with harassment? Sometimes, it seems impossible to deal with harassment. Other times, this word can be overused in cases where it may not be appropriate in some eyes. Although society can universally agree that certain speech is considered “hate speech”, “slander”, etc., what else is considered harassment? As members of society, we may be different from each other, but in today’s connected world, there needs to be a uniform, unequivocal definition of harassment that can be applied to every single person equally and fairly.

Yet there isn’t. And that’s an issue.

I’ve been bullied ever since I was 5 years old. I’m particularly sensitive, so some actions that may not seem uncomfortable to others in fact disturbs me deeply. Therefore, harassment has always been an important issue to me. (And of course, my motivating reason further demonstrates the disparity between individual perceptions of ethical behavior.) I have tried to combat harassment whenever I can, so imagine my surprise when I am denied the ability to collaborate with my peers to create a tool to combat harassment. That’s like being the world’s biggest pizza lover and not being allowed to join the International Pizza Club. (Probably doesn’t exist, but if it does, don’t @ me please.)

I applaud efforts to combat harassment, but I always ask how it is done. If you think about it, when’s the last time you could definitively guarantee that a certain controversial remark was considered harassment by Facebook and Twitter, the two most important social media networks in the United States? You cannot. That’s why the “report” button can feel like a black hole of complaints that are never resolved. We don’t have a clue whether something is considered harassment in Facebook or Twitter’s book.

When Facebook’s content moderation guidelines were recently leaked, they were absolutely appalling to me. The inconsistencies that I saw disgusted me. Something that is even more revolting? These guidelines had to be leaked, meaning they were kept private. Why would that be the case? This is not something Facebook should be hiding. How are we supposed to know exactly what Facebook considers okay and not okay? This is even worse than going through airport security, because at least the TSA has an online tool that tells you if something is allowed in carry-on, checked baggage, or not at all. Not to mention that harassment is something the world should deal with in a transparent, honest manner.

Just like HTML, ECMAScript, ISO standards, etc. are public knowledge, so should be the definition of harassment. There should be a standardized definition that anybody can contribute ideas and can help draft. This definition should be open-source, perhaps even public domain, and should be adopted by any organization that patrols content, including Facebook and Twitter. I urge entities that try to combat harassment to actually tell us what they consider harassment. There is literally no point in keeping this a secret. This is an issue we should tackle together, and there is much to be gained by collaboration on uniform specifications of what constitutes harassment. Otherwise, it’s like ordering pizza and not knowing what will be on it. Sure, the pizza dough might be made with some special recipe, but knowing whether there will be pepperoni or buffalo chicken or vegetables on the pizza is significant and should be public knowledge. In the same way, there must be transparency and consistency when dealing with the enforcement of important social norms such as anti-harassment.

  • 1
  • 2
  • 7