Introducing Hachidori, an Open Source Scrobbler

Posted from Montville, New Jersey, United States.


Just recently, I have gotten back into some OS X programing and decided to port over the existing source code to work with, which is another Anime list managing site that sprung up. While it’s not as comprehensive as the more established site, I didn’t have any problem with their official API, which is rather comprehensive. However, there doesn’t seem to be an API that you can view the Anime information along with the current watch status, so I had to change how the program determines if the title exists on the list and get the current status. But in three hours or so, I got it working.

While the APIs are good, it seems that the search APIs don’t give relevant titles first and just spit out all the titles, leaving me having to develop another algorithm of some sort to get the relevant results before searching through them. Using Parsekit or some work around might fix it, however I don’t have much knowledge in lexical analysis since I’m not a Computer Science major, I major in Information Technology for my Masters) , but hopefully the developers will improve the search APIs. Either way, I plan on adding search exception (tying detected title to the correct title) and correction features to alleviate this drawback (and these lists will be exportable to JSON).

With that, Hachidori is based on MAL Updater OS X and has the same features such as automatic scrobbling, showing basic information about updated title on the status screen, Share Service support, scrobble history and on demand scrobbling. While streaming support is being worked on, what is different from the closed-source HAPU besides my program being open source is that I will only focus on the core features instead of jamming bunch of features and have a buggy product. Plus, I think having an open source alternative encourages developers woho are interested in the platform learn how to interact with the APIs and make their own programs in the language they choose.

So why name it Hachidori instead of Hummingbird Updater OS X? Simply put, shorter names are better and I know a good amount of Japanese.

With that, Hachidori 1.0 Alpha 1 is released. While the basic scrobbling feature works and it will detect most titles correctly, there might be a few bugs and imperfections. If you encounter a bug, report them to the forum post or on Github. I plan on adding Hummingbird specific features in the coming weeks, so stay tuned.


Download 1.0 Alpha 1 (Requires OS X 10.8 or later)

There is also a development blog for this client on Tumblr as well.


MAL Updater OS X is back from the dead, Sort of…

Thanks to the help of Ratan12’s Atarashii API, which is a PHP implementation of the old unofficial MAL API, MAL Updater OS X is back from the dead. The end result…


Yes, it even runs in OS X Yosemite GM 3


I had to make a few changes to the code as the new API handles things slightly differently, but for the most part it works. However, there are some limitations:

  • Twitter functionality does not work. This is due to Twitter updating their API, which in turn drop support for the old API. It will come back when I rewrite the application and it will use the built-in share function within OS X, meaning you can also share the viewing status on Facebook or other social networks OS X supports.
  • Edit Status causes the program to crash, at least in Yosemite. While the update goes through, it causes a segment fault and crashes. I will try to fix this minor bug when I have free time.
  • API now uses HTTPS, kudos to Cloudflare releasing Universal SSL for everyone

You can download the new version at (If you have an old version, you need to reset the API URL Do this by going to Preferences > Reset API URL)

As for the rewrite, I have been putting the core functionality (view, search and update functions) in a reusable framework since I don’t expect the code to change much for that. Since the codebase is more than 3 years old and will take a good amount of effort to rewrite it to support the newer OS X SDK, I decided to rewrite the app in the new and shiny Swift programing language instead in entirely Objective C. This way, it will be easier to tack on new features while making it easier for me to code. This is the tentative list of functions I plan to add:

  • Basic information about the anime that just got updated
  • Streaming support via browser extension (User presses button and the program will automatically update the list)
  • Better detection support
  • List Management (from MAL Client OS X)
  • Localization support (English and Japanese are the only languages that I plan to support officially)

After the rewrite is done sometime in early 2015, MAL Updater OS X will require Mac OS X Mavericks 10.9.4 or higher or OS X Yosemite.

Remember: Always Back up your Website!

Posted from Montville, New Jersey, United States.

Just today, a fellow Anime blogger named Calaggie who runs Nigorimasen recently discovered that somebody hacked it and deleted all the content. It’s a shame that all the content the person worked hard on got wiped in an instant.

People who are running self-hosted WordPress blogs don’t realize that blogs that run WordPress are subjected to brute force attacks (basically an automated attack that guesses every password combination) in effort to gain control and use it to plant malware or even deface a website. If you host your own WordPress blog, you should do the following to prevent this from happening:

  • Have off-site backups – For most web hosting providers, you can perform a backup through CPanel, but you should keep the backup offsite in an event that you are unable to get a backup before the attack. For a Virtual Private Server, this is easier since you can just use rsync to another service or host after making a backup of the database and an archive. Also, some Virtual Private Server providers like BuyVM and Digital Ocean also have automatic backups (although the latter, it’s an additional cost). For me, BuyVM provides 5 GB of backup space and I created a scheduled task to back up and upload the files to the backup space. Also, Amazon S3 can be an affordable solution for backups as well. If you can’t afford offsite backups, just create a reminder to download a backup each week.
  • Check your plugins and themes – Plugins and themes can potentially have vulnerabilities that can be used by attackers to gain control or plant malware on the site. Therefore, you should keep the plugins updated regularly and only use themes from trusted sources.
  • Install Security Plugins: Plugins like BruteProtect (which will be included in Jetpack), Limit Login Attempts, and Rename wp-login.php can be good tools to protect you from brute-force attacks.
  • Use a strong password for your WordPress and web hosting accounts– This is obvious, but people have the tendency to use weak passwords since they are hard to remember. If you have a hard time remembering passwords, use a password manager like Lastpass or 1Password so that you can generate strong passwords without having to remember them. Also, avoid using FTP since  passwords are sent in clear text, use SSH/SFTP instead (most FTP clients should support SSH).
  • Keep WordPress Up to Date – Usually, WordPress updates fixes security issues. However, you can set it to update automatically.

Bash Upgrade App for OS X

Posted from Montville, New Jersey, United States.

I came up with a GUI interface within an hour and a half if you don’t want to mess with the command line. XCode and Command Line tools are required to compile the new version, but you can easily access the functions of the script without fishing though the terminal.

This application will upgrade Bash to 3.2.54(1)

Note: This only works on Snow Leopard or later. Gatekeeper must be disabled in order to run this app.

Update: 1.0.1 adds Sparkle Updater functionality, considering that there may be future patches for Bash since the fix is still incomplete.

Update 2: Apple’s update is still vulnerable by one of the bugs and two new shellshock related bugs has been discovered. To be fully protected, you should continue to compile your own using this app until Apple releases a final bash update.

The changelog is here since this front end will keep updating as new developments happen.

Download | Source Code

Automated Script to Patch Bash on OS X

Posted from Montville, New Jersey, United States.

If you are not aware, there is a critical bug in Bash that causes an attacker to craft an attack using environment variables. While a partial patch has been released on Linux, Apple has yet to release a patch. However, there is a fix for it and I came up with a script to automate the process.

This will work on Mavericks. Mountain Lion might work with this patch. Do not run on Yosemite Beta since it uses a newer version. usage:

  • -c : checks if your version of bash is vulnerable by the bug.
  • -i : compiles and install patch.

Note: You must install XCode and Command Line Tools before executing this script. This script also has to be run as root.

When Apple releases an official patch, please install that and verify.

Note: The script has been upgraded to patch CVE-2014-7169 with additional checks.

Update: Fix will work in Leopard (as long XCode 3.1.2 is installed), meaning it will work in Snow Leopard and Lion as well.


OS X 10.9 OS X 10.9


OS X 10.9-1

Mac OS X Server 10.5

[Read more…]


Thoughts on Sommers’s video on Sexism in Gaming

Posted from Montville, New Jersey, United States.

You can see the video here

Just yesterday, Christina Hoff Sommers have pretty much disprove the points made by a certain video series and opponents of video games that has been thrown around for several weeks now. While I knew that most of the core gaming audience who plays more than 20 hours a week in a ratio of boys to girls is 7 to 1. Of course, male gamers tend to play games that are competitive in nature such as violent or action pack video games while females tend to play other games such as simulation, puzzle games and social games. That is to say, everyone is free to play any type of games regardless of gender, race, sexual orientation, etc. I admit that I don’t play games that most male gamers play like violent first person shooting games. I tend to enjoy Japanese games (mostly role playing games), racing/driving, simulation, music types of games.

I think the important point she makes out of this video is that the moral panic of video game causing sexism is not true for many reasons. There is a study that clearly proves that video games scare was about nothing since video games does not cause violent behavior. In other words, the same should be true for this moral panic as gamers tend to be more diverse and accepting of people with different backgrounds. Even so, does this mean that there is sexism in video games. I already shared my thoughts on that issue on my main blog, but some tropes like Damsels in Distress is just lazy story writing and I do agree that creators should strive to make a more interesting and engaging story.

Lastly, while I will not take a side on the debate since I would rather not get involved, it’s not all right to bully/harass people or censor people just because you don’t agree with them. Sure, you should call out abusive behavior, but I believe that everyone should have the right to voice their opinion as long its done rational and civil manner (meaning no berating people or a group of people). Phil Mason (thunderf00t) makes a good point about that in his video responding to his account being blocked on Twitter.