byuu's homepage
Aldnoah Zero (out of ten)2015-03-29

So, Aldnoah Zero's finally over. This was, with no exaggeration whatsoever, the single worst anime series I have ever watched, in my entire life. By orders of magnitude.

And I don't just mean bad. No, I've seen bad endings (Akame ga Kill), I've seen great shows fall completely from grace (Yuu Yuu Hakusho, Hunter x Hunter), I've seen pure tragedy and heartbreak (Fushigi Yuugi), I've seen outright terrible, cardboard plots (One Piece, Dragon Ball Z), I've seen soft-core porn disguised as shows (Dog Days), I've seen shows that never went anywhere at all (Tsubasa Reservoir Chronicles), series with the most ridiculous made-up anime-only endings imaginable (Full Metal Alchemist), series that were 90% filler (Naruto), even shows with absolutely no coherency to their plots whatsoever (Beyond the Boundary). Anime is rife with examples of terrible endings and obnoxious deviations.

But this takes the cake. Never, never could I have imagined something this truly awful on every level. Something that would make me legitimately angry. I don't even know how they did it, that's how skilled they were.

If you ever listen to just one thing I say: please, don't waste your time with this show. I literally sat down a little over three weeks ago, and tried as hard as I possibly could to come up with the worst, most unsatisfying ending imaginable. And even though that successfully predicted about 95% of the events, the parts that were different were so incomprehensibly worse as to have been completely and utterly unfathomable.

My mistake was that I assumed they were just the worst writers in history; but this was wrong: no, they were actually extremely skilled. An ending this terrible can only be a performance piece; a doctoral thesis in the art of trolling.

Every major character in the entire series showed absolutely zero growth or development, with the exception of Slaine. And every one of them got happy endings, except for Slaine.

The show set up Slaine as the fall guy right from the very first episode. But it wasn't enough to just break him; they wanted the most complete and utter crushing defeat that was humanly possible. And so they spent the entire second cour building him up to Emperor status, just so they could crash him down to the lowest possible point: a bawling, sniveling caged animal, tormented in a glass cell, unable to even manage to kill himself with the tiniest shred of remaining dignity. But even that wasn't enough, they had to further rub salt in the wounds by scapegoating him for the entire war. As if that would ever be an acceptable thing for "the good guys" to do.

The series should have been named "Fuck Slaine", because that's all the writers did for all 24 episodes. This isn't a shounen series, this isn't a mecha series, it's a ten-hour long pornography piece for Ei Aoki and Katsuhiko Takayama's sadism sexual fetish. If they could have gotten away with it on television, they would surely have had Inaho sodomize Slaine in that glass cell. (Doujinshi writers will surely follow the writers' lead for them here, though.)

I don't know how anyone could be naive and gullible enough to eat up the most ludicrously, thinly veiled attempts to turn Slaine into the series antagonist. In order to be a villain, their actions have to at least make some semblance of sense. With Slaine's constant extreme 180's, with absolutely no attempt at explanation, I could only view him as mentally ill, suffering from extreme multiple personality disorder. This wasn't a reflection of his bad character, it was a reflection of piss-poor writing. They couldn't even make him a convincing villain. All I could do was find myself pitying his character.

Thus, this show was just flat out obscene: ten hours of just utterly debasing and destroying a single character. My god. Anyone who enjoyed watching that is sick in the head.

The only redeeming thing about the ending to this show is that I'll never have to watch another episode again. I just wish I had gotten off the train after the giant fuck-you asspull "everyone lives!" second cour opening. But I thought I'd watch it anyway, just to see how badly it derailed. I thought it might prove enjoyable in a "Manos and the Hands of Fate" sort of way. I never imagined I could get so viscerally angry by a cartoon. This show is straight up mental trauma.

But, bravo A/Z writers. Bravo. From now on, I won't watch a series until I see who is involved in its production. And I swear this: I will never, ever bother with a single thing that Ei Aoki or Katsuhiko Takayama touches ever again. Neither should you. And I sincerely hope both of them use their earnings to seek professional mental help. God knows they both desperately need it.

tomoko2015-03-01

First and foremost, I don't want to get anyone's hopes up here. I am not intending to begin actively developing higan again as I've used to.

However, I also don't want the code to rot. The reason there hasn't been even a single WIP release in a full year has been because the core GUI library, hiro, has undergone massive changes. It currently only compiles under Linux/BSD with GTK+ 2.20+. This means that even upon writing a new UI, it wouldn't be usable by most people. It will take months of effort at my current pace to get hiro fully compatible with Windows, OS X and Qt again, and I really don't even have the motivation to start on that.

But it would still be nice to apply bugfix submissions, and keep the code compilable going forward. So to that aim, I have started on a new GUI using hiro, with the aforementioned limitations that this will only work under Linux and BSD. I've decided to call this new UI "tomoko" (if you get the joke, you win a cookie!) It's going to follow the UI paradigms of v094 very closely (game folders, etc), but with even more minimialism. I want to keep the codebase as small and nimble as possible, so that even radical changes to eg hiro can be applied without a massive amount of effort.

The primary goal of tomoko will be just so that I can build and test bugfixes, and as such, it'll be entirely devoted to the design I am wanting. It will also allow new versions of the core library (in other words, the non-GUI portions) to be compilable under all platforms, which will allow other projects that utilize higan to use updated versions.

The long-term goal I am really hoping for is to find some people willing to help maintain a new UI, which I would want to be more in the spirit of bsnes v070/Qt. In other words, loads of features, ease of use, ability to use regular ROM images and patches, and all of that. I've realized this isn't going to happen with me in absentia, so I'll see about possibly setting up a shared repository; but I'm also not going to be able to drive something like this alone, so if there isn't much interest, then this won't happen either.

So now for the good news, tomoko's already capable of loading and saving games, and has video, audio and input hooked up; along with the library and input manager UIs connected. Still a long way to go, but after a full year of zero activity, it's at least some form of progress. Here's a screenshot of it in action. Not much to look at, of course.

renshuu2015-01-19

My SRS tool is mostly finished now. I am calling it renshuu (練習). Yeah, unfortunately Anki already took the best Japanese word for this kind of software. Oh well.

The SM2 model that Anki uses was too complex (or just too poorly explained) to implement, so for now I'm going with a ten-stage Leitner system. I've designed the card scoring to allow for model changes at any time without losing all of your previous review scores.

The deck itself is of course in BML format, and beautiful to look at in any text editor.

The program itself contains a deck manager, a deck editor, and a deck reviewer.

Here are some initial screenshots of the program in action:

So, with this, I'll be able to get back to studying tomorrow. "Yay."

A New Year (updated)2015-01-17

I ended up receiving a lot more responses to my previous post than I had expected. Around 100 e-mails, and another 100 or so comments on various forums.

I'm extremely grateful for the kind words from everyone. And I sincerely apologize, but I haven't really been able to reply to many of the messages. But please know that your words are appreciated all the same.

Japanese

I picked up the げんき textbook series recently, and I've now finished the first of the two books. The first book was mostly stuff I already knew, but it never hurts to polish up on the basics and get some practice in. I even did every exercise, although it was hard to improvise many of the classroom-based ones.

About half of the content in the second book looks to be stuff I don't yet know. Along with the new vocabulary words gleaned from the first book, I will need to stop for a while and get SRS software up and running before I proceed. Otherwise I will just forget most of what I've learned.

Overall, I'm fairly disappointed that years of studying has resulted in me only being able to pass the JLPT N5 (equivalent to 450 - 750 hours of study.) The N1, which is roughly on par with middle-school fluency, requires 4,500 hours of study. So, a very long way to go still. But, this time I'm changing up my studying methods.

I would still really appreciate it if any native or N1-level speakers wouldn't mind chatting with me from time to time so that I can practice. In return, I could help with teaching English or programming stuff, in which case we'd try and divide the time 50/50. If you'd be up for that, please ping me at hotmail.com, setsunakun0.

FreeBSD

I've upgraded to FreeBSD 10.1-RELEASE (amd64). So far, I'm very happy with it. Lots of the upgrades and enhancements are very much appreciated, so even despite the issues below, I'm happy with the upgrade.

Now that the base has a stable version of GCC 4.9, I've officially switched to C++14. Right now, Clang 3.4.1 seems to be unable to run hiro, and a backtrace isn't revealing any useful clues.

As far as new bugs, I encountered two regressions. The first was Chrome not displaying properly. Chrome seems to assume that hardware OpenGL acceleration is available, even when running with the VESA driver now. So, I run with chrome --disable-gpu to resolve this.

The second bug was a lot nastier. It requires three components to trigger. First, it only happens when using the VESA Xorg driver. Second, it only happens when using the Thunar file manager. Third, it only happens when using custom Xorg mouse cursor themes (almost all of them are affected, including Vanilla-DMZ.)

When opening a folder that has a large amount of files, or is mounted remotely, the cursor would disappear. It would stay invisible until you moved the mouse, at which time it would reappear. But the second you clicked again, the cursor would again disappear. Nothing short of restarting Xorg entirely would restore it.

I wasn't about to go back to the kernel-panicking nvidia binary drivers, and I don't yet have my Thunar replacement completed, so I opted to use the hideous stock black cursor theme instead. Sigh.

Current Plans

I'm currently in the design phase of creating an SRS tool, and I also need to create a tool to track my article / manga translations, so that I can try and get them reviewed and corrected.

So, I am forced back into programming for a bit. But I'll need to move quickly; as I don't want my study habits to decay again. I'm trying to keep up a pace of studying at least four hours a day, but would really like to get that up higher still.

Depression2014-12-12

This past year, I've become increasingly disillusioned and unhappy that my only really serious talent is in computer programming. Everything else I try and excel at goes absolutely nowhere.

My studying has been off and on, but I realize that I've spent the last fifteen years of my life drawing and studying Japanese. I'm getting old, and my health is starting to fail. And yet my drawings look like something a ten year old would make, and I sound completely retarded whenever I try and say anything in Japanese. This is insane. It makes my physically ill to think about. Even if by some miracle, I mastered both of these tomorrow, half of my productive life in using these tools has been permanently lost, and I can never reclaim that time. At this rate, I won't be skilled in either before I am too old to do anything anymore. I'm going to end up dying almost entirely with regrets.

I'm so fucking tired of it all. No amount of studying or practice ever seems to lead to any meaningful improvement. These human brains, especially mine, are so unbelievably fucking terrible. Intelligent design my god damned ass. It is absolutely absurd that to memorize a single word, I have to drill on it literally thousands of times before my brain takes the fucking hint. And by the time I do it, I've pushed two other words that I used to know out. Nobody would design something so unbelievably stupid, cruel and frustrating, unless they were a sadist.

But I won't ever give up: I'm just going to have to go completely insane on it and dedicate every last free hour I have to them. Life isn't worth living if we can no longer better ourselves.

This will be probably the longest shot I've ever taken, but ... if anyone out there is fluent in Japanese (as in, not "I took a college course once and I have a Japanese girlfriend"), and is willing to chat with me about anything, I would truly appreciate that more than words could express. I'd be happy to return the favor with lessons on English, programming, emulation, reverse engineering, ROM hacking or server administration. I need someone to have actual communication with. But I know what a tall order that is: who would want to talk to someone they could barely understand, right? It drives me up the wall trying to listen to people who can't speak English, so it's only fitting that the reverse would apply to me. It's not that I choose to be annoyed by bad English, yet it's still karmic justice, right?

Still, if anyone were interested, my e-mail is the same as always. On hotmail.com, the user name is setsunakun0. Note the zero, not capital 'o'.

But ... I have to refocus my time. I can't spend it all on the billion and a half programming projects I've started. I need to start dropping projects. There is no intellectual pursuit in continuing something I've already mastered, and I simply don't have the time for it if I want to seriously study other things.

I'm so hesitant to just outright quit on higan, but I don't want to be like the authors of the major SNES emulators who dick people along and pretend they're still active projects that just haven't had an update in 8+ years now. So at this point, I will just painfully say ... higan is dead for now, sorry. If and when I can attain some joy out of other pursuits in life, I might resume it then. But if history is any indication, I wouldn't count on it.

As for my other projects ... a lot of them are basically "complete" in a way that an emulator never can be, so there's no great loss to not receive updates to eg libco. And I'll still probably push out some new builds for bass and beat, just to get them up on the new site.

I'm still going to have to do some programming: I need to build out SRS learning tools and such. But I can no longer ask or recommend anyone to use any of my libraries such as ruby or hiro. Which is probably for the best, as I never did manage to produce anything resembling a stable API in all of my years as a programmer.

My dreams of building a programming language, GUI library (not wrapper), and forum software are going to have to die here.

Well then, off to study ...

More Updates2014-11-04

The site is now being generated via Document Markup Language (DML), along with server-side CSS variables for styling. Very nice to not have to manually write out HTML tags anymore.

All old forum accounts with at least 15 - 20 posts have been activated on the new forums. For anyone else waiting on an account, please be patient: I'll open up registration again as soon as I have the time.

Updates2014-10-28

The higan, loki and about pages are now up once again. I still need to recreate the remaining pages. Note that the URLs to the emulators have been updated. Rather than byuu.org/higan/, the URL is now byuu.org/emulation/higan/

For the past week, I've been revamping nall/string to scale better by combining small-string-optimization with copy-on-write semantics. I've also revised the API and made all but the match/tokenize functions fully binary-safe.

With that out of the way, I need to resume work on phoenix/gtk. I am currently battling a tough issue with GTK+ lacking a way to deparent a widget once attached to a container, and GtkNotebook destroying all child controls when it has been reparented. As of yet, I've been unable to think of a non-hackish way to work around this. But until this is overcome, I won't be able to proceed on to updating higan to compile again with all of the new, and extensive, underlying library changes.

To those waiting on forum accounts, I apologize for the excessive delay. I have to migrate the accounts manually, one at a time, and it just takes hours to do so this way. Please understand it's nothing personal, I'm going by the top posters when I have time. I hope to get some more accounts migrated over soon.

IE8 support2014-10-18

So it turns out that html5shiv does indeed work great, it was just IE8 forcing compatibility mode on because I was running it locally.

But like everything in the comp sci world, it seemed kind of bloated at over 10KB. So I wrote my own version. It's 574 bytes. If you'd like it, you can download it here. I'm sure it won't handle as many edge cases, but it works perfectly for my site at least.

On Ten Years of Emulation2014-10-15

My emulator, higan, is now over ten years old.

I must stress right away that work will continue on the project into the foreseeable future. But, there's no denying work has slowed down immensely. In fact, there hasn't been much of any progress since January. There are several reasons for this, which I'll go over.

In January, I was in the process of wrapping up the finishing touches on loki, my SNES debugger, in preparing for a v095 release.

The first major roadblock was Debian's decision to acquiesce on systemd. At that time, Debian was my primary development operating system. Having suffered through years of broken audio by the same egomaniacal Redhat developers, I wasn't eager to repeat the experience by introducing such fascinating features as having an HTTP server that generates QR codes as part of my init system. I fundamentally believe systemd to be poorly designed and a major step backward for Linux. But with Linus asleep at the wheel while Redhat turns Linux into Windows, the writing was on the wall: it was time for me to move on.

This led to a few months of crash-course learning FreeBSD. Now, FreeBSD makes for a wonderful server, but is not exactly the best way to run a desktop. It can be done, and to great effect, but it requires an immense amount of effort and dedication.

Due to most developers only considering Linux, this leads to lots of portability issues that result in bugs which slip past port maintainers. I battled through issues with font rendering, libvte crashing terminal instances, Thunar refreshing and resorting on every gedit save due to the latter's insistence on creating temporary files for every save, mousepad crashing when opening any file an even multiple of 4KB due to an out-of-bounds memory access which apparently was hidden by the Linux implementation of mmap, more Thunar issues in failing to update file types and file sizes in its displays, ibus issues with anthy and mozc, browser issues with large images, and on and on.

The worst part was probably the horribly buggy binary nvidia driver. It was so unstable, taking my entire system down, that I went back to using vesa. By some miracle, my graphics card actually has a 2560x1600 vesa mode. After manually rewriting my MTRR tables, I've found I actually get rather decent performance. By multi-threading my software XShm renderer, I can even run my emulator and watch movies just fine.

For the most part, I was able to work around these software issues. In many instances, I had to switch to new software programs, or revert to older ones. For instance, the Firefox team decided to completely change its user interface to the braindead Australis design, and to hell with anyone who didn't like it. Classic Theme Restorer may get something about 80% close to what you're used to on Windows, but is an unmitigated disaster on Xorg.

After Metro, Unity, Gnome 3, KDE 4, Firefox Australis, and on and on; it has become painfully clear to me that I cannot rely on software vendors to not radically disrupt my workflow whenever some wide-eyed kid fresh out of college decides it's time to completely redesign applications that were perfectly fine already. I'm not against change when it leads to better ways of doing things. But I am vehemently opposed to change for the sake of it. And my desktop is not a god damned tablet, you stupid fucks. But well, as they say, if you want something done right, you have to do it yourself.

Upon attempting to write replacements for critical programs, such as a file manager and text editor, it became clear that my UI abstraction layer, phoenix, was not going to cut it. I had to go back to the drawing board and work on the largest redesign that the project has ever seen. This required many new components in my template library, nall, such as shared objects and IPC. I then added a lot of power to phoenix, mostly focusing on the GTK2 target. I've added new widgets, new functions, and an entirely new shared memory model that will greatly aid in writing dynamically generated interfaces, among other things.

And just as I was finishing this up, the godawful web host I was using, InMotion Hosting, decided to reveal their gross incompetence. First, they managed to botch an Apache upgrade, resulting in all of my PHP files being accessible as plain-text. So anyone typing in /config.php would be greeted with the plain-text login credentials for MySQL. Then, a few weeks later, another update corrupted half of my phpBB SQL tables. Repairing didn't work: permissions were completely broken, allowing any user to edit any other user's post, page refreshes were broken, and many other similar issues arose. I had no choice but to drop five years worth of posting history and start over. But no way in hell was I going to start over on that host.

And so now, I've had to move my site over to a new host. This time, I decided to go the VPS route so that I could be in control of software updates. I certainly couldn't do any worse than my previous host. Thankfully I have plenty of experience in running and securing web servers, so this wasn't very painful.

But frankly, I've grown sick of Apache, PHP, and phpBB. I am so tired of bloated, buggy, poorly designed software. So now I am further working on designing lighter weight replacements with my usual emphasis on minimalism. Just because it's the web, that doesn't mean I want to throw away native code performance and compile-time type safety. And I am so tired of fighting mod_rewrite to do simple things like map a subfolder to a subdomain.

I've been having frequent chest pains and issues with lethargy, which my GP is either too incompetent or apathetic to help me with. So my output has been reduced quite significantly. I've been trying to take up healthier eating and exercise to try and improve my health. All the same, I find it increasingly difficult to pull off marathon coding sessions any longer. And even when I do, it leaves me out of commission for the next day or two.

So as you can see, it's just been one hell of an awful year. I've been jumping from fire to fire, struggling to keep everything afloat. And it's been taking a toll on my enjoyment of programming. It seems like the more work I try and do, the more work I have waiting for me. I can never really complete anything when I keep getting new things dumped on me all of the time.

I have an incredible backlog spanning years worth of work here. I have to map out and scan nearly 1500 games, I have to do all of the programming work for a fan translation of Tengai Makyou Zero, I have to finish up the Windows, Cocoa and Qt4 phoenix targets, so that I can continue on the design of higan and loki, I have to write a myriad of desktop applications, up to and possibly including a web browser frontend (for either Webkit or Gecko), and then I have all of my backlogged hardware research on the BS-X, Cx4, etc, and it just keeps going. All the while dealing with diminishing health.

Yet when it comes to all of this ... I really feel that I've already accomplished more than I ever wanted to or thought I could on SNES emulation. I no longer feel like I am facing strong challenges that force me to grow, but rather an infinite stream of tedium and maintenance. I'm not saying I necssarily hate programming, just that it's lost its magic.

The most fun I've been having lately has been in attempting to improve my Japanese knowledge through some fan translations of manga (holy hell is that language a nightmare to learn), and getting a bit back into drawing again.

So, what I hope to do from this point out is to start winding down on my programming projects, and focus on new ventures while I'm still young enough to take on large new challenges in fields I have little to no experience in. Again, I don't mean to seek to abandon my projects, but to get them more suitable for a slower development pace, so that I can start branching out into new areas.

New Host, New Site2014-10-10

I now have a new host, and a new site to go along with it. The site itself is styled the same, but is now written in HTML5.

Unfortunately, it seems IE8 and earlier does not support HTML5, and html5shiv only seems to make rendering worse. After countless years catering to the broken mess that was IE6, I swore off ever doing that again. So I won't be supporting IE8 on this site at all. Sorry for any inconvenience this may cause, but please use a better browser (read: any other browser), or upgrade to IE9 to view this site.