Blog Index



Music Database Reset + Less Music Spam

Hello everyone, just wanted to do a small status update:

As you may already have noticed, all music releases disappeared from the website. Turns out that in the hurry of finishing the Anison implementation back in December (read: less thorough testing), a bug slipped through which made it possible, under specific conditions, for music releases to be orphaned in the database (i.e. not belong to any anime), as well as unnecessarily creating and destroying them constantly. As a side-effect, you may have noticed that some anime which fulfilled those conditions did not show all of their songs (most notably Little Witch Academia and its amazing OP).

I submitted a fix for this issue yesterday, and since I was already focused on the code I took some time to implement something I'd been meaning to do since the Anison feature was implemented: Merging of multiple releases of the same album into a single calendar entry, to reduce spam.

However, in order to simplify this process (both the bug-fix and the new feature's implementation) I decided to delete all Anison Releases already in the DB and start from scratch. I have just now kicked off the initial Anison scrape, so expect songs to start re-appearing in the next few hours with the new improvements. Please note that data regarding user-selected music releases also had to be deleted, so you will have to re-select them.

Sorry for any inconvenience!

HTTPS now always enabled

After a few months of using Let's Encrypt without any issues, I have just now forced HTTPS to always be enabled.

Important: This also applies to the HTTP API. Since Taiga ignores redirects, if you have it configured to use the Monthly.moe API, you must update the URL to use "https". Refer to the HTTP API page for more information.

Enjoy!

v1.2.1: Anime Music Releases

Hello everyone!

I have just deployed an update which adds Anison.info scraping, such that the calendar is now able to display music releases related to an anime. These will start showing up on the calendar and anime pages as soon as the database starts to fill up.

This was a feature I had been meaning to implement since I finished implementing MAL sync, but the old website infrastructure had basically blocked any chances of it happening. With the v1.2 huge code cleanup and refactoring, however, this was no longer the case, so I spent the last couple of days slowly implementing the functionality.

Right now, due to the relatively short time I had, the implementation is relatively bare-bones: I scrape the japanese title (sadly Anison.info does not supply a transliterated version), and the release date, catalog number, and some other tidbits of information. To view the tracklist, album picture, etc you will have to access Anison.info directly. Additionally, they work similarly to episodes, in that you can "select"/"deselect" them if you so wish. This could be useful to mark those albums which you have already obtained.

These are fully optional, of course, you can hide them in your site settings page if you don't care about anime music releases. You can also exclude music releases for specific animes by toggling them in the anime's page.

As an example, you can look at the first anime to finish scraping this information here.

State of the website: January 2017

I'm relatively happy of what I managed to do with a couple hours per day over the christmas holidays. The whole website code-base is much cleaner and more maintainable right now. Additionally, I managed to implement one of my most-wanted features for this website. Last but not least, it was a great learning experience (I had barely touched JavaScript/AJAX/jQuery before), so I had a ton of fun.

Don't expect any other new features soon, though. As much fun as it was, my holidays are almost over, so I'll spend the last couple days resting and then will have to go back to work. I don't plan to take any time off soon, and even if I did, I do not see myself spending this much time working on this website as I did these holidays. Maybe this time next year we'll have another large Christmas release? AniDB/Hummingbird synchronization, anyone?

With that said, hope you find this new feature useful, I sure will.

Have a great 2017!

Incomplete "Site Settings" migration

Hello everyone again,

I have received a couple e-mails asking why the calendar seems to always be showing all episodes, even for unselected shows.

It turns out that some user settings were not properly migrated during the v1.2 update, due to a small mistake of mine. As such, you might have to re-enable "Hide Unselected Anime" and/or "Show Related Anime" in your site settings page, even if you had already configured those options before.

Sorry for any inconvenience!

Chrome issues fixed

Hello everyone,

Just wanted to inform everyone that all reported Chrome issues should now be fixed. It was due to a bug in the javascript code which resulted in Chrome sorting the episodes list incorrectly.

If you find any further bugs, please send me an e-mail at contact.

Again, have a great 2017, and thanks to everyone who reported issues with the update!

v1.2 Issues with Chrome

Hello everyone again,

It has come to my attention that there is currently some issue occurring with Chrome where the calendar will show up empty. I've just started looking into the issue, and hopefully will have it fixed soon. I'll also make sure to add Chrome to my integration testing framework (right now I use Firefox) to avoid this happening again.

Have a great 2017, and thanks to everyone who reported issues with the update!

Monthly.moe v1.2

Hello everyone!

As you might have noticed, I just released quite a large update to the website.

This update brings a huge backend rewrite and cleanup, in addition to:

  • A fully javascript-based calendar infrastructure
  • An updated, maintainable, documented HTTP API
    • This API is used by the Javascript calendar directly, so is actually rather well tested
  • A new, smarter and customizable MAL synchronization algorithm
    • This will hopefully reduce "fighting" with the MAL synchronization, where a user would unselect/unwatch an anime but have it be re-selected on the next synchronization attempt.
    • Now you can customize what the algorithm does for each of the MAL states (e.g., you could set it to ignore any anime you have set as "On Hold")
    • You can also disallow a specific anime from being synchronized by ticking "Disallow synchronization" in the anime's page
  • Per-anime filtering
    • You can choose to hide from the calendar specials (or main episodes) of specific anime
  • (Optional) Alphabetical calendar sorting

I have a lot more planned, but I'm not sure when I'll get around to it. There's one large feature in particular I'm working on which I hope to release in the first weeks of January, but no promises.

As always, if you find bugs, or have any suggestions, send me an e-mail at contact.

Please note: The old API has been fully deprecated, and no longer works. Anyone who had Taiga setup to use the API will need to update their configuration.

Thanks, and have a happy 2017!

HTTPS Support

Hello everyone!

Since I had to do some complex server maintenance, I just enabled HTTPS support through the Let's Encrypt Project. If anyone else is as paranoid as me, feel free to use https://www.monthly.moe/, everything should work exactly as before.

As for the major web-site update I'm working on, it's on the way. Actually, the first part is mostly done, with a huge code cleanup, a much more customizable javascript-based calendar view, rewritten MAL synchronization logic, and a completely revamped API (used by the calendar view). All that's left is to expose some customization functionality to the user, secure the API, and test everything thoroughly. However, I recently started a job and moved to a different country, so I've been quite busy over the past month and a half. I'll try to get it done over the next month or two, but no guarantees.

Thanks,

Gravewish

State of Monthly.moe (Spring 2016)

Hello again, everyone!

Again, it's been quite a while since I last wrote anything, so here's a quick update about the current state of the web-site.

Over the last year or so, I've been fully focused on my Master's Thesis, and have therefore had very little time to spend on this web-site. To be exact, almost all of the time spent on Monthly.moe (an afternoon or two per month - the site works mostly automatically) was spent on maintenance fixes, mostly when AniDB or MAL changed something and broke web-site functionality.

I have recently finished my thesis, and as such I've started (slowly) working on this website again. In particular, I had been notified of a couple of annoying bugs (e.g., the actual calendar view ignores daylight savings) which I had been unable to fix as they're dependent on the way the web-site is structured.

You see, due to this web-site running on a relatively weak dedicated server (which I also use for other things), I took a very cache-heavy approach, which complicated the design considerably. In particular, due to an initial goal of mine to support browsers without javascript enabled (and as such all of the work has to be done on the server-side), I had to use quite a few "hacks" during the implementation to avoid caching hundreds of copies of the same thing. These "hacks" ended up causing me quite a few issues later on, and are still causing them right now. They also made it basically impossible to support basic features (requested by many people) such as changing the order of shows on the calendar view to alphabetical, hiding special episodes of specific anime only, etc.

With all this in mind, I've decided to drop my "Javascript not required" rule, and am currently rewriting most of the web-site features in Javascript. This allows me to keep my "high-cache" requirement without even half of the complexity of the current implementation. Most of the ground-work is already done, and all I'm doing right now is adapting the remaining pages and features to work with the new structure (e.g., selecting episodes as watched; filtering anime; etc).

I'm also taking my time with these changes, making sure everything works correctly, and adding extra simple-to-implement features which have been requested quite a few times (e.g., "order calendar view alphabetically", "hide all specials"; "hide all specials for anime XYZ"; "agenda view"; "anime search by name/tag", etc). As a side-effect, a new HTTP/JSON API will also be released which is much more capable than the existing one, as it'll be used by the web-site itself for most of its Javascript functionality.

Again, remember that this web-site is simply a hobby of mine, and as such I have no idea when I'll be finished with this update. Maybe in 1 month, or maybe in 6 months. My point is, this web-site has not been abandoned, and there is quite a large update incoming. In the meantime, I'll continue to work on critical bug-fixes for the current version, however it is likely that complex non-critical bug-fixes (i.e., daylight savings not working correctly) will have to wait until the update.

This is all for now. Hopefully this update will be ready sooner rather than later. As always, if you find bugs, or have any suggestions, send me an e-mail at contact.

Happy anime watching!

E-mail server issues

It was brought to my attention that some users sent me e-mails that I never replied to. I never received these e-mails, so I looked into it.

It seems that Outlook.com has decided to block e-mails from my main IP for absolutely no reason (not the monthly.moe one, that one is still fine). "contact" was configured to redirect to my personal outlook.com e-mail account through the main IP. Since that main IP couldn't send e-mails to outlook.com, I never received them in my personal e-mail account, even though I was expecting them there.

I just looked at the copies stored in this server, and everything is still there. It seems this started about 2 months ago, and I had missed about 5 e-mails about this site. I have reconfigured the redirection to be done through the monthly.moe IP, which isn't blocked, and I plan to start checking this server's copies more regularly, in case this ever happens again. (I have also asked Microsoft to remove my main IP from their blacklist, which took them less than an hour to do, to their credit)

I will be going through the e-mails I missed right now, to reply to them. If you sent an e-mail, and I don't reply to it soon, feel free to send it a second time.

State of Monthly.moe (Fall 2015)

Hello again, everyone!

Update to the Layouts

I just finished an update to the layouts system, mostly cleaning up code and making the layouts more consistent stylistically (the table headers for the gray and black themes had the wrong color since a few months back, and I never noticed). In addition, I took this opportunity to widen the layout to fill the whole screen width as requested by multiple users. I have also noticed that the site was completely broken on small screens. While I wasn't able to find an ideal solution (the calendar is way too wide to fit on a very small screen), I have forced the page width to at least 768 pixels. This means that the layout will not be broken on small screens, it just doesn't completely fit in the screen and might require you to scroll sideways. At least in my phone, this results in a satisfactory experience.

Of course, the layout system wasn't the only change today, but everything else was low-level and shouldn't have a noticeable effect to anyone who unlike me doesn't have to maintain the automatic algorithms and the database.

State of the Website

Now, for the main reason for this post - it's been quite a long time since I last posted (4 months!), so I wanted to talk a bit about the state of the site, and my future plans for it.

Since I opened the site to the public, the database has grown to 457 different anime, totaling 4957 episodes, and 418 activated user accounts. Google Analytics reports about 400 unique users every month (not all of which have accounts, of course). It's not a huge number, granted, but it's much more than what I ever expected from such a niche project in my free time. I'm glad people find this as useful as I do (Some seem to find it quite more useful than me, actually. The highest number of logins for a single user account is currently 248, almost double my own number!)

I know I had promised a ton of updates near the end of the summer, but my Masters thesis has been consuming most of my time, so I haven't really been able to delve into the code-base very much. I have spent quite a few hours once every two weeks or so on this project, though nothing you've probably noticed, like cleaning up the system-level code, and fixing bugs in the algorithms. To be exact, in the last 6 months I pushed about 500 commits into the code-base, so it's not that the project is abandoned - it's just that development will be very slow for quite some time, and most of what I've been doing for the last few months are things that make my life easier, but users won't notice.

The fact that I'm so busy with my thesis means that I have no idea when I will be able to focus on developing new features again. I would love to be able to invest a ton of time in improving the site (my To-Do list is huge), but as you are all aware I am developing the site as a hobby, and right now my main focus is on finishing my thesis as soon as possible (so much so that I have also fallen behind on my seasonal anime watching!). I will probably continue developing the site slowly, as I have so far, so expect continued maintenance (not that the site requires a lot of maintenance), and irregular, small new features like the one today over the next few months.

However, you should not feel discouraged of asking for new features, or telling me if you notice something broken. I take bugs seriously, and will try and fix them as fast as possible once discovered. In the case of suggestions, even if they might not get implemented any time soon, they will get added to my To-Do list and I will try and get to them in the future (simple changes might even be implemented during "normal maintenance", like today's layout widening). As always, feel free to send me an e-mail at contact.

That's all for now, happy anime watching!

Summer 2015 and Syoboi Scraper

Hello everyone!

With the Summer 2015 season almost upon us, here is a small update.

Summer season

As far as I'm aware, most (if not all) shows should already be in the database. If you notice any show that still isn't listed, and for which the airing schedule is already known, send me an e-mail and I'll try to figure out why. As always, the e-mail is contact.

If you're still unsure what to watch and don't mind a suggestion or two, check out Charlotte by PA Works and written by Jun Maeda, as well as God Eater by ufotable. These look very promising!

Syoboi Scraper

One user warned me that Durarara!!x2 Ten was showing two first episodes, one shown as being episode 1, and another as being episode 13.

I looked into it, seems the channels airing Durarara!!x2 Ten couldn't decide on a single numbering scheme, and therefore Syoboi is listing each channel's individual numbering scheme. Some channels start at episode 1, while others start at episode 13. The scraper algorithm didn't consider this possibility, leading to the first episode being shown twice.

Turns out fixing this in a future-proof way that could cover all combinations of channels and numbering schemes was quite complex, and it required a rewrite of almost two thirds of the Syoboi Scraper code. I tested multiple anime and it seems to be working fine, having passed all the tests I threw at it, including my test suite of "weird cases".

Nevertheless there is a high chance that I missed something. Therefore, bugs are to be expected during the next few days, especially since I just scheduled a full database update in case more anime were affected by the bug. I should be warned of most problems automatically, but if you notice something strange with a show - anything at all - please send me an e-mail to contact and I'll look into it.

Thanks! And also, many thanks to the user who warned me about the Durarara!!x2 Ten issue.

Themes tweaked

Small post, just to inform that I tweaked the themes a bit to make some text more readable, made the "Dark Blue" theme blue (instead of a mix of blue, black and red), and created a "Black" theme which is actually, you know, black.

Update: Themes

As you may have noticed, I spent some time the last few days doing some refactoring and cleaning up of the code.

One of my main focuses was the synchronization sub-system. It was basically "locked" to MAL, which is useless if I ever wanted to support more services. I changed a ton of its code behind the scenes, though the only noticeable change is how there's now a drop-down box on the Synchronization settings menu to choose the sync service (right now you can only pick MyAnimeList, sadly).

However, another change is more noticeable: Themes. You'll notice the default theme looks different (look at the logo text in the navbar! So much better than the plain font that was there before). I ended up refactoring a ton of code related to styling and re-did some of the CSS so that it is more organized, easier to extend, and better optimized.

First, I switched the colors for the first and last episode. While making the themes I felt that blue is better for first episodes since it seems to grab the attention more.

I then made 3 "basic" themes that you may now pick from in the Site settings menu. The first one is very similar to the one you've already known, "Light". There's also the "Lavish Gray" theme, which is a grayer version of the light theme. Alternatively, there's the "Dark Blue" theme, which is a dark theme based around a blue background and a gray calendar, with some touches of orange around the rest of the site because I thought it looked good.

I can make new themes without much extra work, only requiring definition of the main bootstrap colors (7 shades of gray, primary color, plus 6 shades of color, background-color, text-color) and the colors for the legend (first and last episode, etc), and then some testing to make sure nothing is broken.

Again, I'm not a designer, so don't expect something very professional. I'm sure that while making these 3 themes I must've broken half the "rules for good design" (if such a thing exists), but I'm relatively happy how the themes ended up myself.

If you find any errors (I might have missed something when testing the themes) or have any suggestions (including suggestions for new color palettes, or changes to the current themes), as always feel free to contact me at contact. Hopefully I'll get some kind of comments system in here relatively soon.

In other news...

Yesterday, I fixed a bug with the scraping system that was making Aquarion Logos show up without a first episode (only episodes 2 through 12) due to a slight change in how Syoboi displays 1-hour special episodes. If you notice weird stuff like that with other anime (wrong episode count, missing episodes, etc), contact me and I'll look into it.

Welcome /r/anime, and June 2015 Status Update

It has been over a month since the last update, and quite a bit has happened, so I thought I should write something.

/r/anime

Yesterday I posted about this site on reddit. To be honest, I was expecting relatively lukewarm interest, 50 new users at most, especially considering how in a few months (with basically no publicity, granted) the site had accumulated a grand total of 7 users. (Don't worry, you 7 are still my favorite users!)

What happened was slightly different than what I expected, though. In less than a day I had over 3000 page views, and the number of users went up more than 40-fold to 289. I don't really know what to say, I'm happy so many people seem to find this site useful.

I'd like to remind all newcomers that the site's contact e-mail is contact. If you have any problems with the site, questions or suggestions, feel free to contact me! Right now, the blog doesn't allow comments, so that e-mail is probably the best way to contact me. Adding blog comments is top priority right now, though, most likely the very next major thing I will work on.

MAL Sync queue

The MAL APIs are very sensitive and can very easily start blocking any requests without warning, unless the server is white-listed. Problem is, MAL hasn't been answering their white-listing forms for a few months, so to stay on the API's good side, I've been enforcing a really long interval of 30 minutes between any request.

Effectively, this means that after an unusual user influx of over 250 people over a single day, all trying to sync their accounts, the queue waiting time is approaching 3 days. I wish I could shorten it, but MAL leaves me no alternative, so please bear with me.

Bug fixes

Due to an AniDB API change I hadn't noticed before, a lot of shows were showing wrong last episodes. While the algorithm to detect last episodes is relatively complex and will likely never be perfect, so some false positives are to be expected, literally every show with unknown second cour dates was showing as ending at the end of this month.

I have applied a bug fix for this, and queued a full update for all airing anime that were affected by the bug. In the next day or so I expect most if not all the false positives to disappear.

Status update

In slightly different news, I played around with the style-sheets a bit, with the goal of adding an optional darker skin for the website in the near future (as suggested by someone on reddit). There's very little left to do right now, mostly down to choosing the actual colors for the style.

Still, I made a small mistake while uploading my changes (Rails sometimes is annoying), so if any of you visited the site a few hours ago and noticed everything was broken, that's why. This is my first "large" project, so screw ups like that are sort of expected - back when the site was undergoing closed testing with a couple of friends, I actually managed to drop the users table without any backup by accidentally running the test suite on the production system. A very embarrassing experience, as you probably can imagine! (And yes, I have since then set up daily backups and added checks to stop the test suite from running in production, so don't worry).

So, back to things that actually matter. As I stated in the previous post and on reddit, I won't be working on major updates for a month or two. I'll probably finish the alternative dark style quite soon (it's a good way to procrastinate, I guess, and not much work), but I don't consider that a "major update", and other than that don't expect anything for a while, sorry.

Anyways, that's all for now, happy anime watching!

Website Status Update and MAL Sync

Website Status Update

It's been about a month since the site was opened to the public, and I've been keeping it on the down-low on purpose. I was mainly waiting for us to be whitelisted on MAL, but I'm beginning to think we'll never get a reply from them.

Since the public release, other than a bug or two and updates to the HTTP API, I have not had to do anything to the database - every automated procedure seems to be working as intended, keeping the episodes database regularly updated.

I've still got a ton of extra features planned (for example, Blog comments), but right now I've been really busy with university, so I don't see myself finding time to do serious work on the website (other than any possible maintenance or bug fixing, if necessary) at least until August.

MAL Sync

As some of you may have noticed, the MAL Sync functionality of this site has been disabled since launch. The main reason is that we haven't been white-listed yet for the MAL API, which means that too frequent API requests are rejected by them. They seem to be ignoring all white-list applications for now, and there doesn't seem to be any reason to believe that will change soon.

Therefore, I am going to try a slightly different approach, hopefully serving as a band-aid to the fact that we are not yet white-listed:

  • The minimum interval between synchronization attempts for a single user has been changed to 1 week
  • The minimum time between any MAL API request has been increased to 30 minutes
  • If you turn on automatic sync, you must visit the website at least once per week, or you will be dequeued.

I want to test whether these intervals are enough to keep the MAL API from rejecting API requests. If necessary, these intervals may need to be increased even further. I would love to have shorter synchronization intervals, but that's impossible until we get whitelisted... Still, I think it's better to have some form of MAL Sync than nothing at all.

I'd like to point out that MAL Sync is probably the least tested part of the website, so if you discover any problems with it (other than actual errors - I get e-mailed with those automatically), please report them to contact

Thanks!

HTTP API Update for Taiga

I recently noticed that Taiga sent an API request when opening or closing a movie, even if it wasn't going to update the episode. After a small discussion in the Taiga forums I discovered that Taiga actually has a %playstatus% variable that can take various values.

Because of this, I created a new API action 'taiga', that receives a playstatus parameter and ignores the request unless it is equal to updated. As a bonus, it is optimized specifically for Taiga, which means that the offset parameter is no longer required, as well as it now receiving a watched and total parameter, instead of just number. This allows the HTTP API to also work when "unwatching" episodes using Taiga (as long as Taiga knows the anime length).

The old API actions still work, which means that you are not required to update your configuration. However, you will miss the new features unless you do so. Check the HTTP API page for the updated Taiga configuration.

Taiga 1.2 and new logo

Taiga 1.2

The final version of Taiga 1.2 will be released very soon, and with it comes a revamped anime detection system, which corrects for episode number offsets.

For example, Taiga is now able to correctly detect Fate/stay night UBW second season's episodes as starting at episode 1 instead of 13, to match the MyAnimeList episode numbering scheme.

Since Monthly.moe does not use the MAL numbering scheme, instead preferring the Japanese TV numbering scheme used by cal.syoboi.jp, a slight change is required in your Taiga configuration if you use it for keeping your Monthly.moe user up-to-date.

I have therefore updated the HTTP API page with this new change.


New Logo

In other news, over the past days I finally created a Monthly.moe logo and favicon:

logo

I think it looks really good. Really brings out the "moe" in "Monthly.moe", don't you think?

Thanks to Z-Senpai for his free Kawaii face. If I had done it myself, I bet it would have come out terrible.

Public Release

After a few weeks of testing, I've become confident enough that the site works as advertised. It's still not completely feature-complete, but I don't know when I'll have time to add further features.

MAL still hasn't replied to my API whitelisting request, so MAL Sync is disabled for now. Other than that, everything should work fine.

Like always, if you find any bugs, errors, or have ideas and suggestions on how to improve this site, feel free to tell me! Just write an e-mail to contact

Hope you find Monthly.moe useful!

Private Beta Launch

Hello and welcome to Monthly.moe!

After almost half a year slowly developing this website, I feel that it's ready to start actually being used. By a small number of people, at first, to make sure there aren't any critical bugs or anything of the sort.

As the few people I've shown the website to during the Alpha period know, I kept resetting the database due to implementing new features. It's just much easier to recreate a table from scratch than to worry about migrations and all that jazz. Starting today, I will try to avoid resetting the database, unless really necessary. I can't promise anything, of course.

If you find any bugs, errors, or have ideas and suggestions on how to improve this site, feel free to tell me! Just write an e-mail to contact

Happy testing!