Category: Computers

The Ethics of Data Mining on Social Media Platforms: a paper


I wrote a paper a few months ago on “The Ethics of Data Mining on Social Media Platforms” for the Ricco Ethics Scholarship and today, I was pleased to hear I had been selected as an award recipient. One of the stipulations for winners is their work will be available online for all to view. In that spirit, I share my work if you would like to read it. (It so happens this prompt is one that truly interests me, and I’d love to further delve into the topic if you want to discuss it with me.)

The struggle with migrating to PHP 7


When PHP 7 was first released, I was very excited to install it on one of MyWikis’ servers. In retrospect, I was too excited to install it—I should have been more patient. Some critical components of our website ended up breaking because they were incompatible with PHP 7. Of course, I hastily reverted back to PHP 5.6 and have kept it that way since.

Today, I’ve been thinking about whether to begin migrating to PHP 7. It has matured and many PHP applications have had time to adjust to PHP 7. The primary application I have in mind is MediaWiki—the lifeblood of MyWikis. Since MediaWiki 1.27.4, it has been fully compatible with PHP 7. It is now viable for MyWikis to initiate an upgrade of PHP on our servers. However, my answer to upgrading is still no.

I truly do look forward to unwaveringly upgrading to PHP 7. However, that day has not yet arrived. Too many legacy web applications are still stuck in PHP 5. Heck, many of them are stuck in PHP 5.3. In fact, 5.3 strikes that sweet balance between old PHP and new PHP (as it only deprecates certain legacy features instead of removing them). I have taken the responsibility of maintaining an old website that my mom wrote in PHP ten years ago (yes, really, in 2008). This website is deeply sentimental to me because my mom made it for an eight year old me. When I restored it back from a backup, it was an honor to fix the PHP errors that had appeared. I assume the website was written in PHP 5.2 standards, so when it was upgraded to 5.4, I had to remove all of the register_globals() functions, LOL!

But my point is, as a businessman whose livelihood depends on PHP, I don’t have the liberty to screw around and upgrade PHP to the latest version whenever I please. I have to consider its compatibility with legacy software that, while not up-to-date yet, is vital to my business. Today is not the day that MyWikis will be upgrading to PHP 7. I don’t think the day will come until PHP 5.6 is completely EOL’d. I do believe this is the best course of action, as upgrading will only bring havoc to our tranquil servers in their status quo and disqualify our servers from handling potentially important legacy software.

Until PHP 5 completely flatlines, MyWikis will not be upgrading to PHP 7.

The problem with hiring programmers to make things for you


I truly believe computer science is innately an intersectional discipline. (To be honest, while pure computer science is the root of today’s technical innovations and I recognize its importance, it is boring to me.) As a business founder, I firmly believe computer science and business is where it’s at. CS + Entrepreneurship is the magic formula that can truly change the world in this day in age. Programmers and businesspersons working together is much more impactful than either working alone.

Problem is, we have evolved to the point where the slightest “brilliant idea” can be touted by a self-proclaimed “entrepreneur”, and you as a programmer can have a piece of the action, as long as you sign an NDA of course. It’s gotten to the point where these kinds of people, who know nothing about programming, expect to woo over talented programmers with a bit of equity. Because all startups succeed these days, right?

It’s gotten super annoying that most people do not understand that programmers spend a good amount of time working on each project. There is a shortage of programmers in the world and we don’t have enough to spend several days to make a few extra bucks. Our work is valuable and you should learn that $100 isn’t going to cut it. Neither do we want equity. At the end of the day, time is money, so all we want is to be compensated reasonably.

However, this tweet is an extreme case. In most cases, I don’t see people wanting to keep the equity. They just want something built for them. They look up to us programmers because we possess the power to build something they can’t. But they don’t know what it actually takes to get it done, so they unknowingly propose a ridiculous amount of compensation and are then mocked by programmers. How is this fair? They’ll never know this is unreasonable while you basically bully them behind their backs.

We (the programmers and the people who solicit the services of programmers) suffer from a lack of mutual understanding. I’m here to set the record straight once and for all.

People who want the services of programmers, get ready to pay for it. Equity doesn’t work and neither does just $100, because both are insults. And stop asking for the most qualified programmers unless you’re willing to pay six figures. You’re not getting the most qualified programmers for your side job if you hire freelancers, that’s just how it works.

Programmers, stop making fun of innocent people trying to get something accomplished. Unless they are a stuck-up asshole like the person in the tweet above, they usually don’t mean any malice. They just don’t know what to offer, and instead of laughing about them, you should let them know what’s reasonable so they’ll know for next time. Be more understanding and empathetic towards them.

Remember, as ridiculous as an offer might sound, you might be turning down the next Uber. That ridiculous tweet up there might indeed sound ridiculous, but Travis Kalanick tweeted something just as ridiculous sounding in 2010 and now the person who responded to that tweet is a billionaire.

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!


Why I’m less lonelier of a programmer than I used to be


I am still not a loner. I still have friends, trust me.

So what do I mean by less lonelier of a programmer than I used to be 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 vitally 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!

This school year was the first time that I left for TAMS and would no longer see my dear friends every day at school. To be honest, it tears me up every time I think of it too much. It pains me, because I miss them. Yet this ironically brought us closer.

My rhetorical skills are usually pretty crappy. I always tried to convince them of the benefits of web programming, but for some reason, they never caught on until recently. When I left. Hmm. Kind of makes me feel like I was an antidote to the crusade of web programming conversion.

This awesome group of friends that I’ve had for many years now share the same passion for web programming that I do. While I slaved away at building MyWikis using PHP, JavaScript, HTML, shell, etc., my friends developed their interests in JavaScript, Node.js, Python, Yesod, PostgreSQL, and other web development platforms/languages.

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)

Those who used to be my exceptions now champion the causes of their web programmer crusades of conversion. Both friends are interested in web development and that excites me! One friend knows Node.js (he’s truly a genius) and helped create Elephant (, which won the Fall 2016 TAMS Hackathon. When I worked with him, my mind was quite dead but his was alive at 4am. It was an honor to create a project and I still remember it fondly. (Side note: 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 interned at Mozilla the summer before his freshman year of college. He now develops for OU Web Communications and omg he’s just out of this world amazing ok moving on

But I still feel lonely, even after a whole year. As you may have noticed, this post is structured very similarly to a post made in December 2015. Since then, things have changed quite a bit.

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 still a lonely programmer, just less lonely than before, and I grin. I’d love to be even less lonelier.

Five years of MyWikis: how I successfully founded and managed a business


On February 22, 2017, my company MyWikis will celebrate its fifth anniversary. While it is a small business, it has been a one-in-a-million experience that has positively changed my life immensely and forever. Part of its success lies behind passion, uniqueness, and quality that we give our customers. But the last element of success? Luck. This blog post reminisces what I did to get my company where it is today.

Ok, let’s go back to 2009. I can thank a good chunk of my passionately-accrued knowledge to Wikipedia. I read articles like they were movies, storing their information as either trivia or useful knowledge. It helped me find some of my passions.

But if you go on Wikipedia and scroll all the way to the bottom, you’ll see a small image that says “Powered by MediaWiki.” Try clicking on it. One fateful day 6-7 years ago, I too clicked on that link. What I saw excited me: the ability to run my own wiki using the same software that powers Wikipedia. I love the concept of wikis.

At the same time, I liked to use the wikis on a website called Wikia. In 2010-2011, I contributed to quite a few of them, but their management made decisions that caused its entire community to go into an uproar. A few other wiki hosts popped up, and I started visiting them, but none satisfied me. I loathed all of them, especially Wikia. (Actually, I did help with one wiki host, but things went sour within months of their advent, so I was quite disappointed.)

I had been messing around with MediaWiki for a year now, and I was excited to implement real ones online. So I decided to create a wiki host based on these premises. Don’t be like Wikia (don’t screw over the community and make them hate you), host a safe haven for wikis, and don’t shut down like the others.

One night, I went on a walk with my dad and pitched this to him. He agreed to pay for the hosting costs and that was the day that MyWikis was born. (February 22, 2012. I was 11.)

I originally planned to have a wiki farm-style community. The wiki farm would have to be supported somehow, so I decided to go with donations. Then, I decided that donations didn’t make enough money, so we’d go with advertising. Turns out that didn’t work either. Those plans slowly faded from reality.

A year went by. The company was approached by another wiki farm and offered to merge with us. On principle, that sounded great. They were going to start a wiki farm-style community and had the wiki set up to accommodate it. I originally accepted, but I found they were in fact jerks and I couldn’t bear to work with them any further. (I sound like a child, but remember, I was 12 when this happened.) The experience left me scarred and distrustful of the wiki hosting industry. I did later approach another wiki host to collaborate business-wise, but they also had unbearable staff members that I refuse to collaborate with. It turns out that most people who manage things related to wikis are antisocial, heartless jerks. I might be included, in which case I apologize profusely 🙁 really sowwy, but I certainly can’t work with others like that.

(Digression: the one thing I did envy was that they had a team that worked on the wiki farm. I have been solo since day one.)

I was at rock bottom. I owed about $150 to my dad and we had to pay $130 for next year’s hosting again. The situation was dire. There were several corrections that I made so my business would turn around from our money-bleeding:

  • start charging for plans. While I never intended for MyWikis to be this way, it wouldn’t have worked any other way. It turns out this is the secret behind our business.
  • bought We started out with but was someone else’s. On August 19, 2013, I had finally been able to buy the .com domain. Since it boosted SEO, I immediately moved operations there.
  • distinguish ourselves from other wiki hosts. There are many free wiki hosts out there, so why would anybody pay for wiki hosting? I had to convince others why, and today, it’s pretty much a given that my company’s target audience will shell out money for their wiki hosting.
  • advertise and increase marketing. We had no money for buying ads, but there is a place to spread the word on (it has a specific page dedicated to listing wiki hosting services) I also made efforts to increase the website’s SEO.

Adding explanations of our service and what it included has since attracted many clients. MyWikis now provides premium support to all of our clients. I use my MediaWiki experience to cater wikis to the client’s needs. Furthermore, there are two things free wiki farms do not offer:

  • privacy – companies need this. Many of our clients are companies needing a wiki for internal purposes. Other wiki hosts simply don’t offer the level of privacy we have. Furthermore, other wiki hosts don’t tailor wikis for our clients like we do.
  • VisualEditor – this is a big boon for our business. Our clients want it and so do we. MediaWiki is edited by wiki markup, by default. However, VisualEditor is a WYSIWYG editor that helps our clients edit their wikis effortlessly.

We adapted to what was needed. I still think it all worked out in the end because everything fit together perfectly, thanks to luck. The company’s focus wasn’t what I expected, but the unique combination of all of these traits makes MyWikis what it is today: successful.

Note that my age wasn’t really a big barrier. Just because it was unheard of for an 11 year old to create a wiki host didn’t stop me. I had the skills and that’s really all that matters. I’m 16, so I’m still a minor, and I’m celebrating my business’s 5th anniversary. That doesn’t sound normal, but it’s life and it is how it is.

I would like to thank everybody who helped my business and me these past five years. It has been a lovely experience that I wish to continue. I look forward to more years of success and serving customers, helping them with their every need and wish.

The next chapter involves getting involved with the law: incorporation. Oh boy. And I would love to hire some staff members to help me out. I’m still lonely and I appreciate the company. (Pun not intended.)

I don’t have any multi-person business experience yet, so I’ll get back to you when I have learned that stuff.

Someone once heard me introduce MyWikis and remarked “sometimes you wonder what you’re doing with your life when you see people like this.”

I just wanted to say that their job pays more than this company does, in any given time frame. This is a side job for me. Thank goodness I am financially supported.

I do wish to stress that this blog post is not a stereotypical generalized guide intended for you to follow along so you can create your business. While I want to help you, this isn’t the guide. I have helped one person with their business to, objectively speaking, little success.

Here’s some tips you might want to follow, but don’t blame me if this doesn’t work. And please don’t treat the below as a panacea. Unless it works really well, in which case I take back what I said and I want a cut of your profits.

Only start a business if you:

  1. are motivated by passion (not to pay tuition but passionate about what your business does)
  2. are very capable of managing money
  3. know your job well
  4. have principal capital to start it off with (covering initial expenditures)
  5. can devote lots of time to it
  6. know how you stack up against competitors
  7. have an idea on how to attract and keep customers
  8. know how to market your business’s products/services well (advertise and upsell)
  9. have problem solving skills and can adapt to new developments that your business may encounter
  10. are lucky and are ready to put everything you’ve got into it

A business is a major investment of your time. I only support entrepreneurs who have true passion, a vision, and a dream/goal. I’ve met many entrepreneurs, but I’ve only met one person who fulfills those three criteria. The rest are not doing it correctly or honestly, to be frank. Some are forcing it and that’s just awkward, deceptive, and won’t get them anywhere.

Also, I wish to point out that I didn’t read any wikiHow articles about creating a business or take an MIT Launch course on edX. I let my natural intuition and skills do all of the work. Forcing the skills won’t get you anywhere; they have to become second nature to you. Every single item on the list above must be second nature to you in order to have a successful business, and even then, success is not guaranteed. On the contrary, you don’t have to be perfect. There are many people more qualified than me to create a business, but they fail or don’t try because they either don’t want to or they don’t have that innate motivation needed to run a business. I learn as I go and that’s perfectly fine.

Oh, and one more thing. If you want to make your business to get rich or to earn money mundanely, then don’t try, because it’s fake effort, and that won’t cut it. Do what you love and do it well. That’s the mantra of successful business founders everywhere.

It’s time to develop ClearCloud 2


In the spring of 8th grade, before my friends and I entered AP Computer Science, we went in the direction of developing programs. Two friends developed a simple but quite fun retro-style “racer” similar to Bill Gates’ Donkey game. The web programmer I was, I decided to develop ClearCloud, a file storage service. I had read an O’Reilly PHP book with a section explaining how to handle file uploads and I decided to quickly hack one up.

The result is a continuing file storage service that still exists today. (

While it (barely) works, it is very hacky. The code is absolutely terrible. I followed no conventions except what felt, at the time, to be “right.” The result is an unmaintainable code base that cannot support any expansion or addition of features. Simple security flaws are patched, but not complex ones.

I realized this a year ago and began work on making a new ClearCloud from scratch. Today, I still do not have a better version. It was almost going to be my team’s Computer Science 3 class final project, but it was decided to make BoxBot. (Visit for more info.)

This time, I want to achieve several goals:

  • A clear distinction between frontend and backend. The previous version horrendously mixed the two together.
  • Object-oriented design. The old version was a miserable (but educational) attempt at object-oriented programming. This time, it’ll be better now that I finally understand what it means. Modularity is also a central component of this.
  • Clean, readable code that makes sense and is hopefully well-documented. While documentation isn’t my priority, clean code is.

When I had the opportunity to work on projects such as, Pattr, BoxBot, etc., I gained exposure to Python with a heavy amount of Flask. The overarching format was a single-file Python script that wasn’t very object-oriented. For the purposes of ClearCloud 2, I have seen first-hand that this won’t be enough. There’s simply not enough modularity or extensibility offered by this format. Furthermore, I am interested in implementing CC2 with Apache/Nginx traditional systems and not WSGI. Finally, the language that I have been most comfortable in implementing frontend-backend unions is PHP. I agree that it might not be a good idea to mix the frontend with the backend, as that has been the root of my problem with adding features to ClearCloud. However, I am not in the mood of maintaining a daemon that continually runs on a VPS, and products like Django and Flask pose the same issue. Moreover, the backend will probably be using features that PHP offers in its native libraries. (At this point, Python libraries are not something I want to deal with.) This is why I have decided to continue using PHP for the development of CC2.

You may now pelt your rotten tomatoes at me.

Anyway, I will probably move this to GitHub, as long as they don’t go down again. I don’t know if anybody wants to help me this time, but you’re more than welcome to do so. Just ping me if you know me, and if you don’t know me, you may find my contact information on this website.

Hoping for the best.

Why I play Pokémon Go


If you know me well, you should be pretty shocked that I play Pokémon Go at a moderate level. I’m not the kind of person to play Pokémon Go and I never have been. When I was 5 years old, I dismissed trading cards and other pop culture as shallow and pointless. Yu-Gi-Oh? Stupid. Pokémon? Even more so. Superman, Spider-Man, Batman? Illusions. I knew that these fads would get me nowhere and I found them annoying. I didn’t want to join the cult.

So why would I even consider playing the game now?

Let’s look at my friends. One friend has a Windows Phone and is fine with it. Another friend has a Windows Phone and hates it because the combat and capture features were corrupted from the original series. A third friend has an Android and hates it for its stupidity. A fourth friend has an Android and plays it quite a bit and is a member of Team Mystic. (I am also in Team Mystic. Guess how that happened.) A fifth friend has an iPhone and played it until level 5, then quit. Although he joined Team Instinct because his closer friends were on that loser team. Pfft. There are many more specific scenarios between my friends. However, there is no real pattern between my friends and myself, nor our decisions to play Pokémon Go.

Perhaps it might be because it’s the summer and I have nothing better to do. Well, I have a lot of things to choose from, but at the end of the day, yes, I am more open to playing Pokémon Go now than during the school year. Or perhaps it’s because I need to exercise more.

I was initially hesitant to play the game. After hearing about it from my friends, I decided to download the game on my jailbroken iPhone and it crashed. As Cydia didn’t even launch, the phone was effectively uselessly jailbroken and I decided to update to the latest version iOS, which would remove the jailbreak and allow me to play Pokémon Go. Before I did that, however, I was so bored and fascinated about the game that I decided to use my backup phone, a LG Leon LTE running Android Lollipop, to play Pokémon Go. It worked, even though it was rooted. But it wasn’t enough, because the phone was slow, so I went back to using my now unjailbroken iPhone and then Pokémon Go became fun and enjoyable.

The game was confusing and boring at first. So why did I continue? First, I was still interested in getting down the game mechanics and doing well in it. I also played Pokémon Ruby (or Emerald, I forgot which one) on my iPhone’s Game Boy Advance emulator for a while until it was accidentally deleted, but it was inspiring and fun! Additionally, as a pig, I need a carrot hanging from a stick to motivate me to exercise. I decided consciously that I would be able to control a game addiction while also encouraging exercise. (Side note: my serious gaming addiction began in 2008 with RuneScape and it seriously damaged me, or at least changed me. While I have not fully recovered from that massive scar, I have learned a lot from it. Perhaps I was numbed by the experiences of gaming addiction, but it helps me play Pokémon Go responsibly nonetheless.) It was a done deal and I began playing.

Today, I find myself playing pretty often and bringing me places I would probably never visit without the game. I play as responsibly as I can, in a fun way. When school starts, I will balance Pokémon Go with schoolwork. While the game’s community is full of addicts and irresponsible gamers, I am able to legally play, regulate my activity consciously, and control myself. At the same time, I am continuing to use the game to exercise. And it’s so much fun.

I encourage you to play the game if you think it’s the right thing for you to do. Not because you want to get addicted. Not because your friends all play it. But because you think it’s truly something good for you. Don’t ruin your life by playing it but don’t ruin your life by not playing it either. Ignore the differences between the original game, ignore the negative social perceptions, ignore the hesitancy, and make your decision.

(By the way, I don’t really care about all of the Pokémon animals or stories but absorption of Pokémon knowledge comes naturally with playing the game. Play at your own risk and try to forget about it if you don’t care for it/hate it.)

McKinney ISD’s One to the World program is fundamentally flawed


When McKinney ISD high schoolers first received MacBook Airs for learning, millions of tax dollars were given to Apple for these laptops. Originally perceived as changing the learning environment, the frustrations that the One:World program present to students reveal fundamental flaws to the entire program.

For one, students are forced to use a minuscule, locked-down version of one of the most powerful, elegant operating systems in the world, intended for much more than what is being used right now. And how about that tiny laptop screen? It’s too small.

Many of you know what happened to some of my friends and myself when we were fed up with this locked-down version of the OS and proceeded to escalate our privileges on the MacBook Airs.

What happened was I became angrier and more discontent with this program.

There were attempts to resolve this but unfortunately, as much as I appreciate these efforts (and I really do), they do not resolve the fundamental flaws within the One:World program.

Our school district has effectively used a local taxation referendum to extort more money from our property owners, originally intended for teachers’ salaries only. Now, these MacBooks are small, locked down and don’t allow for children to use these MacBooks as they please. Furthermore, McKinney ISD has many mechanisms (namely their Acceptable Use Policy or AUP) to enforce their restrictions in a most tyrannical way; I was a victim of this.

My parents are upset with how small the laptop screens are. They’re upset that taxpayers didn’t get to choose what laptops we could get. My parents, and likely many other parents of McKinney ISD, would’ve wanted larger, less restrictive laptops.

The obvious solution would be to allow parents to buy their children alternative laptops.

Unfortunately, this doesn’t work because McKinney ISD has built up a monolithic ecosystem where everything is controlled like a police state. Outside laptops could use the “BYOD” system, which would further be restricted by the AUP and are not able to use essential functions that these authorized, locked-down laptops are able to use, such as printers and ports for running network applications.

I have already proposed a solution, but I doubt it would be taken seriously.

  • 1
  • 2