Monthly Archives: May 2017

On Aseprite

Once upon a time, my uncle wanted to give me Photoshop CS5 4 as a present for my tenth birthday. However, as he did not bring the physical box along with him when he visited (he was a graphic artist at the time), he ended up installing a cracked copy when I wasn’t on the computer. I kept whining that it was illegal, that he couldn’t do that and now there were going to be viruses on my computer, but he explained calmly that there was no other way since he didn’t have the CD with him. So I said okay, vowing I’d uninstall it later, but after a while of using it, it kind of stuck, and no malware appeared (to this day, it is to my surprise how he managed to find a clean copy so quickly). The only condition, as he stated, was that I could not use Photoshop for commercial use – basically, you can’t sell anything you make with this cracked Photoshop. Fair enough.

Even so, I steered away from Photoshop, as anything I made with it felt tainted with piracy. Later, I’d use it a little more, but I placed little investment in learning the software, as I had made no monetary investment in the software at all. I used Paint.NET instead, and despite its shortcomings (no vector mode, no text layers, half-decent magic wand, no magnetic lasso), the shortcuts felt familiar and the workflow remained generally the same as that of Photoshop. People also recommended Gimp as “the only good free alternative to Photoshop”, but I didn’t like Gimp because literally every shortcut is different, and the workflow is likewise totally different. The truth was that Photoshop was Photoshop, and Gimp was Gimp.

Yet I sought to do pixel art. This was supposed to be an easy endeavor, but Paint.NET was an annoying tool. Eventually, I found David Capello’s Aseprite and had no trouble adapting to the software, as it was designed for pixel art.

I had few complaints, but they had to be dismissed; after all, this was software still in the making. Only relatively recently was symmetry added, and the software was made more usable. I also liked its $0 price tag – if you were competent enough to compile the binaries yourself. And because the software was GPL, you could even distribute the binaries for free, even though Capello charged money for them. Capello was happy, and the FOSS community was happy. Some even tried setting up Aseprite as an Ubuntu package in universe, although it generally wasn’t up-to-date, due to stringent updating guidelines.

Until the day Capello decided to revoke the GPLv2. I knew the day was coming and wasn’t surprised when the news came. Plop, the old GPLv2 came off and subsequent versions were replaced with a license of his making, forbidding distribution of binaries and further reproduction. The incentive of making pull requests to add features was gone – after all, you were really just helping someone out there earn more money, as opposed to contributing to a genuine open-source project. Of the 114 closed pull requests, only 7 are from this year (as of the time of writing).

In fact, the entire prospect of Aseprite continuing as an open-source project collapsed, for Capello had bait-and-switched the FOSS community to support his image editor because it was “open source,” without informing clearly of his ulterior motives to drop the license in the future. Licensing as GPLv2 was, after all no mistake as opposed to choosing GPLv3 – perhaps this had something to do with being compatible with Allegro’s license, or more permissibility for other contributors? No. This had to do with a clause that GPLv3 had, but GPLv2 did not: the irrevocable, viral release of one’s code to the open-source realm. Without this important clause, and because he was the owner of the code, Capello could simply rip off the old license and slap on a more proprietary one, which is exactly what he did.

The argument in defense of Capello was, “Well, it’s his software, he can do whatever he want.” After all, he was charging for the program, anyway. But the counterargument is that the GPL is intended by the Free Software Foundation to promote the open-source movement, not to deceive users into thinking your for-profit project upholds the ideals of free and open-source software, especially that open part: free as in freedom, not just free as in beer. Now there is not only a price tag on the product, but also a ban on distributing binaries, thanks to this incredible decision to make more money.

Yes, I know someone has to keep the lights on. You can do that in many ways, but one of them is not by turning your “open-source” project into downright proprietary software. Now, people demand more and contribute less – why should they pay when there are less results and less features being implemented? The cycle of development decelerates, and putting money into Aseprite is now a matter of business rather than a matter of gratitude.

I don’t remember how to compile Aseprite at this point. I remember it being mostly a pain in the butt having to compile Skia, but that’s about it. Thus, I have no more interest in using Aseprite.

Entering college, Adobe is offering absolutely no discounts on its products. It’s almost as if they want kids like me to go ahead and pirate Photoshop again. There is no way I am going to afford a single program with the price of an entire computer. Yes, I know, Aseprite is obviously cheaper than Photoshop, but why should I buy a pixel editing tool when I can get something that can do all kinds of image manipulation?

A slap to the face goes to the general direction of Adobe and David Capello. Good job for keeping the image editing market in the status quo.


Descartes says, “I think, therefore I am.” Cogito ergo sum.

So I think and I think and I think. I think about and dwell upon the the same idea for weeks. The organization is coming together. Yes, a few problems here and there, but I think I can begin. But first, perhaps there is anyone who can help me?

All right, so let’s verbalize my ideas. Oh, but where to start…? The ideas are ideas, not pictures or words. They are in their abstract form, tethered perhaps by a word or two. But all right, I’ll do my best.

So I try structuring my main idea into question-answer form, to try to address any common questions people might have about the idea. I think about what I am writing for maybe half an hour or so, analyzing any hole or implication that may be in the writing, for any of that can jeopardize my entire idea and argument. Finally, after thorough consideration, it looks like the writing can be published and it is open for comment now.

I patiently wait. The hours pass. Sometimes, the days pass. And sometimes even, no one ever replies. Until, of course, someone responds.

The first post, naturally, is critical. I don’t know how it happens, but I’m a magnet for “rational thinkers.” Perhaps too rational, because there is no nodding; they go right ahead and begin the step of critical analysis. The answer often begins with the fatal argument, or the sentence, “I don’t see your point,” and then followed with the fatal argument.

It’s the blow to the stomach, the painful blow I always dreaded, that makes me feel horrible for a long time. My logic is flawed. I don’t think the same way as other people, and my blind spot was revealed. There goes my idea and hours of thinking about it, because it was flawed in the very end. The way it is done now, of course, turns out to be the most logical way of doing it, devised so easily and elegantly. He gets the reputation. He gets the privileges, especially the privilege of carrying out subsequent ideas without further scrutiny, except if it is blatantly wrong.

Make an electric bike? No, because you’re basically making a moped. Just buy a kit, you lazy bum.

Zero-gravity soccer? What an astoundingly dumb idea. You’re putting in so many hours on something nobody’s ever going to play.

Python on a calculator? Do you really know how bloated Python is? It takes MEGABYTES of memory just to run a simple program! Just use the scripting languages our people have already made! Oh, you don’t want to learn a new language? What a lazy inconsiderate fool.

Learn Japanese? Why, you’re never going to live in Japan! Why couldn’t you just learn some European language or continue improving your Spanish?

VCR on a tape drive? Don’t you know how much a VCR can really hold? Look, the Shannon-Hartley theorem says that even with the most optimal modulation technique, you can only hold up to about 35 GB of space on a 180-minute VCR! What a useless idea. Go take your insanity somewhere else.

Ace Attorney Online on web? It’s already being worked on! Do something else.

Steam friends crawler? Don’t you know it will take months to gather the data you need and greatly strain the Steam servers and your quota while you do so? Also that it’s a terms-of-service violation for crawling a user’s profile without their consent? With those constraints, your project is basically impossible! Sorry, all that code is for naught. Tough luck kid.

A larger E-Ink tablet? Do you know anything, anything at all about manufacturing or making hardware? Exactly! Just wait for someone else to do it for you, or you can dish out a low, low $750 compared to the amount of money it took to make this product, you inconsiderate butt.

You want to make a hex-based language? What is this stupid idea, something from a movie? Do you know anything about linguistics? I thought not. Go back to high school and play basketball or something. Go enjoy your life and get off the computer.

Er… a combat flight simulator. Look, the whole reason a good combat flight simulator hasn’t been made is because it’s really hard to make one already. Have you even made one? I thought so! Hey, maybe you should look at Unity? You what? But you haven’t even tried it! Why are you criticizing a software you haven’t even tried? No. You don’t know anything about making games. Just, no. Get off. Your opinion is completely baseless and false. Shut up. No.

CUDA parallelization for Powder Toy, huh? Have you ever used CUDA in your life? You know, we’ve tried this before. If we had succeeded, your game would be faster by now. Just get a better CPU, cheapskate.

A Yu-Gi-Oh card database? Don’t we already have one? Oh, but with more features? Eh, nobody really plays Yu-Gi-Oh anymore. Even if you made it, I wouldn’t start playing again.

A water-condensing windmill? I’m not going to even start trying to point out the flaws on that. I know you’re trying to help people, but you’re no expert. Here are some helpful textbooks to prime you on the subject.

A calculator with an E-Ink display on every button? But what’s the point?!

Another competition system for the UIL Computer Science hands-on rounds? But our system already works. And besides, what if this new one breaks or the power goes out? We’re just going to keep this old system, we’ve been using it for 10 years now and we’ve had no problems with it. Wasting paper is better than being short of it.

A meme stock market game? It’s already been done before.

There is nowhere for me to contribute. The best coders are already on the best projects. I’m stuck in school where people are dumb and yell around and have a dozen girlfriends and generally don’t give a crap about me. They just adore me because I make a good comeback and “roast” people even though it is never my intention of doing that.

Then when I go to college, it will be all backwards: everyone will be better than me and I’ll just percolate to the bottom. I’ll think I can come out on top, but I can’t. I’ll just sink, whatever was left of the support network assembled by my parents will crack like tempered glass.

The only contributive thing I’ve been doing are the tasks no one wants to do because it takes a mind-numbing amount of time; the menial stuff. Stuff like entering data into tables, sorting records, counting money, transcribing scans, tagging issues, backing things up, setting up computers.

And then I’m told to watch movies that are supposed to make me feel good – oh yeah, watch Hidden Figures, look at the depiction of people who were considered inferior simply by the color of their skin and still ended up learning Fortran and contributing to the space program. Oh yeah, watch that one other movie where that teacher gets a heart attack but still ends up teaching calculus to this class of poorly-educated kids and having them all pass. Oh, look at the realism. Look at how God makes anything possible through the vision and money of Hollywood directors.

Yeah, take pleasure by the fact that there is someone in the world who is still worse off than you are, and that you aren’t that person. Take pleasure in that you’re still not the worst of the worst, even if you are pretty down there right now.

No, stop taking everything personally. This doesn’t have anything to do with you. Maybe if you stopped taking everything personally, your blood pressure wouldn’t be so high. Why don’t you take a walk? Why don’t you meditate? Why don’t you turn off the computer for once? Why don’t you play with your brother?

Do you pray? Huh? Just like your dad. None of you do what you have to do. You know what you have to do… you just don’t do it from sheer laziness. Because of the computer. Get off the computer. Actually, you know what, don’t get off the computer. Just do whatever you want. Do whatever you want. I don’t even care anymore. Your body, your consequences. Don’t ask me for help.

Don’t you know how much money it takes to build a robot? Millions of dollars! It’s not like anyone can build a robot in their garage.

So what if I did want to make a robot? Huh? Who would help me?

No one!

That’s right, no one. They’re too busy with band or being someone else’s friend. Awww look, the poor kid is crying because he doesn’t have friends. You do have friends, it’s just that you don’t invite them or do anything with them. It’s your fault, not theirs.


Exam hell

AP testing began rather turbulently. Starting with two exams back-to-back on Wednesday and another exam on Thursday and Friday, there was nothing I could do beside hit the ground running, fast and hard.

Despite any lack of confidence I might have over my performance on the exams, I ran through the score calculators and the standards for obtaining a 5 have been on the decline. I can safely conclude, then, that College Board really has been dumbing down their tests for the sake of increasing their numbers – indeed, collectivism hinders originality and creativity. I didn’t say getting a 5 was easy, but it has become significantly easier over time. For instance, you only need ~65% correct to get a 5 on the Japanese AP exam, and around 55% for Physics C (mechanics). That’s it! Anything below that, and colleges will know you screwed up big time.

Right now, I’m struggling with increasing secularism. It’s not that people “hate” God per se, it’s that people are simply afraid of talking about God and getting something wrong or offending someone, so it effectively never gets mentioned. They never hear about God, so they just put it away in a corner of their life. And when family is gone and college is in, God is effectively gone. It doesn’t cross their mind anymore. They say, “oh, I do believe in a higher power”… but then when I asked this girl why doesn’t she explore faith a little further, she simply gave me this face of, “why?” Yes, why does tradition exist? Times are changing so why should we go and listen to our thousand-year-old ancestors, because they’re obviously wrong in everything and science is giving us far more results than ever?

Tradition exists because the search for maximum productivity did not. Life was not about squeezing the last minute of your life out of you. It was about sitting outside and trying to piece together a quantitative, metaphysical understanding of the world, knowing that we did not yet have the necessary tools to attain a formal, physical understanding. And indeed, we did the best we could.

Yet now, the idea of tradition is laden with individualistic idea of “you ought to just figure life out by yourself”; that life is, in essence, a unique experience unmatched by that of anyone from any generation or time period. I do agree that life is a “unique experience,” but do we not follow similar basic phases of development and progress: the innocence of childhood, the blind love of youth, the hardening of the middle-aged man, the futility of the retired and ill, the untimely ultimacy of death, the unknown events of the afterlife? We are just specks. Why should we care how many universes encase this one?

Well, what can I do. All I can really do is prepare for this E&M exam that is on Monday, and I only have 3 days to learn the material and minimize damage.