Introduction to EXPLOSION MAGIC!

North Korea has Missiles

Terrorists have bombs

Other countries have whatever they have

But We Have

Here’s how.

We need

You can get everything without any trouble, even in East Turkestan.
* Silly putty 400g
* Gelatin 30g
* Rubbing alcohol 500g
* Essential oil 1L
* Petrolatum 500ml
* Yarn (Polyester) 60cm
* Pipe cleaner like
* Hydrometer
* Enamel keeper(Big)
* Cornstarch


  1. Add 600ml water in your enamel keeper, heat it until it boils.
  2. Add gelatin, mix it, then remove from heat.
  3. Add 120ml oil and stir. You should notice a thin layer of solids.
  4. Scrape off the solids, and put them in a small container. Freeze the container.
  5. Blend the petroleum jelly, oil, putty, and cornstarch. Insert the hydrometer and keep blending till you get reading of 15.
  6. CAREFULLY get the small container out of the fridge, stir it VERY CAREFUL.
  7. Take approximately 1/3 of your compound, CAREFULLY form it in to a ball.
  8. Form another ball, slightly smaller than the first one, and dip it into the wax. This ball should be on the top of the first. Then make the last ball, smaller, and put it on the top.
  9. Insert pipe cleaner to the center of the second ball. Then insert the pipe cleaners on opposite sides in 3-tiered shape.
  10. Tie the yarn around the compound loosely.


2018/8/23 posted in  Offtopics

Review: Toradora(とらドラ!) - the Best Romantic Comedy

Overall rating: 10/10

Ever since my bashing of Oreimo, Eromannga, and hell, even Tsukigakirei to a degree, people think I just straight up despise the romance and drama genres themselves.That really isn’t true, I just think those shows had awful writing. Genres just dictate what the show is about and tone it’ll take.

So yeah, Toradora, I finished it at least 15 times in the past 10 years. I just finished it again honestly.... I'm speechless. I don't even know what to say, it's just that great. I feel that the shows absolutely NAILS almost everything to a near-perfect degree and I respect that a lot. Why do I like this show so much? What makes this anime stand out from all the other high school romantic comedies?


Though admittedly, the show does a pretty good job of pointing out its own positives as far as the character dynamics and mindsets go. It’s actually pretty nicely handled: whenever a character does something or acts a certain way, there’s usually a bit of time for you yourself to figure out the reasoning behind it before Ryuji or the character themselves explain what’s going on. Still, I don’t want to necessarily just repeat what you already get from the show itself, but I can expand on some of those points and also bring up others examples of good writing in the show.

Anyways, the opening three episodes serve as the introduction, and you know what? I’d even say those three episodes serve as one of the best intros to a show I’ve ever seen. It perfectly sets up the setting, tone, characters, and even the theme of the show; which actually brings me to my first point.

Something I’ve noticed for nearly every review of the show I’ve seen, both positive and negative, is that they mention how it’s obvious that Taiga and Ryuji will end up together and how that’s a negative of varying degrees.

This is kind of weird considering that’s sort of the entire point.

It’s purposely made blatantly obvious in the first episode how the show is going to end, because the entire point of the story isn’t “Who’s going to end up with who?” but Taiga and Ryuji learning about what love really is. They both take the silliest actions concerning their crushes. Ryuji keeps a box filled with items related to Minori or things he wanted to give her as a gift and talks about moving out of the “fantasy stage” and moving onto the “action stage”, and Taiga writes a freaking love letter and just generally has no idea what she’s doing. After Ryuji discovers the love letter, Taiga even asks him if they’re something people still do.

Both of them are feeling and acting the way they think they’re supposed to when it comes to love, probably because society or media taught them that’s how it’s supposed to go. Just look at their silly plans to get the affections of their crushes: they all fail horribly. Hell, Taiga can’t even hold a conversation with Kitamura. The show is trying to portray how this just isn’t natural and that it’s not going to work out. They’re mistaking their immense adoration for love.

Though don’t take this as some massive bashing against crushes and saying they’re completely silly, because that’s not really it. Toradora knows that getting crushes is natural at that age, and that’s fine. You find out later on that Taiga and Ryuji have every reason to feel the way they do about their crushes. All the show is saying is that there’s a point where you grow out of those kinds of feelings, and look back at how silly you were back then. It’s all just a part of growing up.

As for more on why the show makes this all obvious right from the start, I’ll get to that later.

On the actual characters, let’s start with Taiga.

I’m going to start by blowing everyone’s minds and say that no, Taiga is not a tsundere. Maybe at the core definition of the word she portrays both personalities that make up one, but they aren’t for the reasons they should be in order to fit into the archetype. She acts shy and embarrassed around Kitamura due to her feelings, but she doesn’t back out of those moments with violence, she either says or does something stupid, and then it ends. And yeah, Taiga can be violent, but not due to romantic feelings. She’s just violent and antisocial because of how she grew up with her family situation.

While they don’t explicitly mention this reason in the first episode, they do imply there’s more to Taiga than meets the eye. Yeah, you’re supposed to be kind of wary about her after she socks Ryuji for almost no reason, but right after, you see her acting like a normal, if not slightly weird, girl towards Minori. The contrast with her behavior between the two scenes was to imply that there’s probably a reason behind why she acts so differently. She even reveals in the second episode that she has issues with her parents. By then it’s obvious that Taiga had some issues in the past, and whatever those are are probably the reason behind why she acts the way she does.

Ryuji is established right away as the true main character among the cast by a technique you may not have even noticed. Throughout the entire show (except for one specific moment) Ryuji is the only character we’re allowed to hear the thoughts of. Of course he also has a standard “nice guy” personality that main characters usually have, but that technique makes it more blatant.

Though other than establishing Ryuji as a nice guy that thinks about others more than himself, not much else important is shown in regards to him. Not that it’s too big of a deal, because Ryuji’s personality plays a very important part in the events of the story. Hell, it’s the reason pretty much all of the female main characters fall for him: he’s a genuinely nice guy.

Well, actually, there’s the whole thing about Ryuji disliking his deceased father because he inherited his intimidating eyes, but it’s really just used for comedic purposes and to show his relationship with his classmates build as they get over his looks. His eyes don’t have a role in any major plot line or anything.

They do serve one important purpose, though, but it’s not for Ryuji. It’s for Kitamura.

In the first episode it’s established right away that everyone is scared of Ryuji because of his eyes, but Kitamura is shown to already be good friends with him. The point is to show that Kitamura is a good judge of character, or that he can see people for who they really are.

This is actually shown in a major way at the end of the second episode. When Taiga confesses to him, he rejects her without explicitly saying so, but also predicts how the show is going to end with Taiga and Ryuji getting together by saying that he likes the way she looks when she’s around Ryuji.

Minori is the last main character to be introduced fully in the first three episodes, but she gets pretty much the entire third episode dedicated to her. Most of the information about her is blatantly obvious, but there is something important to take away from one of the final scenes.

When Ryuji and Minori are locked in the shed, Ryuji notices that her hand is shaking despite trying to act cheerful, and he does a bit of thinking about her personality. It brings up the possibility that Minori isn’t actually naturally energetic and cheerful, but rather acts that way in order to mask an inner sadness or fear, which brings up the possibility of something unfortunate having happened in the past.

Though the scene does actually have a second possible implication: that being the prospect that Ryuji’s crush may be based more on the kind of aura that Minori gives off, rather than her herself. It could be so endearing to him because it’s the kind of presence he wants to have, since he hates how intimidating he looks.

You get all of this information from just the first three episodes. Within this introduction to the show, you’ve already gotten a good grasp on the characters and probably already like them, you understand there’s more to all of the characters than just what meets the eye, you know what the main message of the show is, and you already have foreshadowing for plenty of things to come. Plus I could even say more if I wanted to. I could add how Ryuji and Taiga’s relationship dynamic is especially interesting considering how similar their mindsets are despite being so different on the surface. Ryuji looks threatening but is an incredibly nice guy, and Taiga looks small and cute but could easily punch your lights out.

The intro just manages to convey so much information in such a little amount of time without being incredibly in-your-face about it. It not only gets you invested in what’s happening, but also gets all of the core information out of the way so the rest of the show can focus on the character relationships, building on them, and having them clash occasionally.

But what’s cool is ToraDora itself even shows this separation between the intro and the main story in a pretty subtle way. At the very start of the fourth episode, there’s a shot of Ryuji at a door pulling a key out of his pocket, when suddenly it switches to a shot showing that it isn’t his house, but Taiga’s apartment.

The way the scene is portrayed shows that Ryuji is clearly comfortable having a key to her place, and that this probably isn’t the first time he’s done this. That means there’s been at least a small skip in time since the previous episode, which is typically used to show a clear separation between events. In this case, it’s to show that the introduction for the show has finished, and that it’s now time to get into story.

And in that main story, the first thing to talk about is Ami.

Now, Ami is a main character, so there’s the question of why the show decided to wait not one, but two episodes after the intro to bring her into the cast. While it’s partly because she flits between the main characters and another group of friends, the bigger reason is because she serves a very specific role due to her personality.

Due to her somewhat manipulative nature, Ami is really good at reading people’s true feelings. She’s pretty much the first one to know who has feelings towards who. She’s sort of similar to Kitamura in this way, except for the fact that Ami will occasionally try to interfere directly. It’s not quite as bad as it sounds though, since usually Ami’s reason for doing so is to get them to face those feelings instead of hide from them. She’s sort of like a well-meaning puppet master.

Though that seems to put her in some great position, it’s actually kind of tragic at the same time. Ami goes through her school life being adored, looked up to, and put on a pedestal by pretty much everyone, and while she does enjoy that, the only people she really respects are the ones that see her as just any other person. Ryuji is one of those people, and because of it, she unsurprisingly develops feelings for him. However, she’s busy making sure other people act on their own feelings. and can’t really do anything about her own. In a way, the puppet master wishes that she too could be a puppet.

She also serves to be the character that enforces the message of the show the most. It kind of fits given her personality, and the show also makes it sort of blatantly obvious. I mean, one piece of dialogue she says during summer-house story arc is, “Adoration never leads to a balanced relationship.” Basically, going out with someone you put on a pedestal is destined for some problems. If that’s not being obvious, I don’t know what is.

Given this, you might think Ami’s character is sacrificed for the sake of spouting the show’s message, but in actuality, it seems to come more from her own background than anything. As I said, Ami has experience being on the receiving end of that kind of affection since she’s a model, and she has more respect for the people who just treat her like a normal human being. It’s natural that she has the same perspective when it comes to romantic relationships, too.

Honestly, Ami is probably one of the better characters in the show. Not that I’d even say there are any bad characters in the show, they’re all good; Ami just stands above most of them. Nearly all of her scenes are done really well, especially when she’s torn between helping one of the main characters out, and her own feelings for Ryuji. Internal conflicts in characters are pretty much the best way to endear them to the audience, even more so if people can relate to whatever that conflict may be. Though even if people can’t, just having the conflict be understandable is enough.

Anyways, for her little introduction arc itself, the message behind it also ties into the overall show’s.

Ami’s immense fear and reservation in regards to her stalker is something that society and maybe people in the industry imbued into her. All she knows is that stalkers are scary, and there’s a certain way to act when dealing with them. Then enters Taiga, who, when confronting the stalker, goes into full retaliation mode and chases him off, which shows Ami that he was nobody to be cowering from.

In the same way that Ami shouldn’t have let others dictate how she was supposed to feel and act in this situation, Taiga and Ryuji shouldn’t be listening to other people’s and media’s idea of what love is supposed to be. Of course, sometimes those other sources are correct. The show isn’t really saying they’re wrong, so much as saying to just think for yourself when it comes to your own personal situations.

So, the next thing I want to talk about is the ending to the swimming contest story arc. Remember before that I said there were more reasons for the show making it obvious right from the start that Taiga and Ryuji will end up together? If you watch the ending to this arc without somehow catching on to that, Taiga’s actions and shouting make it seem like a typical, overdramatic confession scene that she later denies at the café. The audience most likely sighs that the show is backpedaling, and then continue to watch.

However, if you watch this scene with a knowing eye, it actually takes on a different meaning.

Well, not entirely. It’s still sort of an overdramatic confession scene, but you realize that the scene isn’t actually targeted towards the audience, but rather, the other characters. The characters were supposed to be the ones who thought this overdramatic scene was a love confession, and through dramatic irony, you chuckle about it because you know that while they will eventually end up that way, there was a different emotion behind this scene: namely Taiga confirming that she cares immensely about Ryuji because for the most part, they really only have each other.

Maybe the scene isn’t entirely necessary, but it serves the purpose of showing some growth from Taiga, and that’s obviously important for the show to do as it goes on. Plus, it also gives the basis for why the entire class – and more specifically, Minori – think that Taiga has a major thing for Ryuji. Given what happens later on with Minori, it kind of does make sense for an overdramatic scene like this to happen.

But, moving on, let’s talk about the cultural festival arc a bit.

Ami told Ryuji that his mindset of caring more about others than himself was going to cause trouble down the line, and this is the arc where she’s proven right. Ryuji tells Taiga to give her dad a chance because he believes she’d be happier with him in her life, and also because he tries to see the positives in people and doesn’t doubt her father at all.

When he turns out to be wrong and Taiga’s dad hightailed it out-of-town, the scene is done really well. I mean they could have just had him vanish or leave Taiga a note, but instead he goes off who knows how far and then texts Ryuji to ask him to tell Taiga that he had to leave. He didn’t even call or just send the message to Taiga herself, he told Ryuji to do it. That’s one way to emphasize how much of a scumbag someone is.

Minori also had a really nice scene at this part. When Taiga’s up on stage and Ryuji is trying to applaud her to get the focus off the fact that her father didn’t show, it shows Minori in the back helping with the applause. However, you can only see the bottom half of her face, and it’s obvious that she’s crying pretty hard. That’s an example of a crying scene I can get behind.

The scene isn’t just pointing at someone crying and saying, “OH MY LOOK HOW SAD THEY ARE YOU SHOULD PROBABLY GET SAD TOO”, it was portraying that while Minori was really hurting for Taiga, she was doing all she could to help her, powering through her sadness. It really showed how much she cares about Taiga, and was one of the very few times in the show where she isn’t exuding her usual happy-go-lucky atmosphere. It’s a scene where you’ll feel sad for the characters because of what they’re going through and how they’re trying to deal with it, rather than because it showed you some anime tears.

Moving on though, the end of the cultural festival arc marked the halfway point of the show, and the following episode was pretty much perfect for the story being where it was. While it was comedic since it dealt with the silly rumor of Taiga bringing good luck to those that made physical contact with her, it also took the time to reestablish where everyone stood as far as their general feelings and thoughts towards each other goes. Though even more importantly, due to the rumor, it had the main characters at the end wondering what they’d do or what would make them happy, which is a great way to set up for what’s essentially the second half of the show.

So, the real story arc to set off the second half of the show is Kitamura’s arc. Now, this is an arc that people generally agree isn’t handled all that well due to it coming out of nowhere and not having nearly enough investment in the characters (more the student council president than Kitamura). While I’d disagree that it came out of nowhere since it’s foreshadowed as early as the summer-house arc with Ami asking Kitamura if the reason he joined them on the trip was due to problems in the student council, I can somewhat agree with the lack of investment portion of the argument.

To be fair, I get what the show was going for. You’re not really supposed to feel all that much for the student council president, it’s primarily for Kitamura and the other main characters. However that doesn’t change the fact that I do think the scene would have been more effective if we cared more about the relationship between Kitamura and the student council president. Hell, I’m pretty sure they only say her name like, once in the show? It’s why I’m not referring to her by her name.

Though to be honest, I feel like the main character for this arc was Taiga rather than Kitamura. Sure, it was his dilemma, but it seems like Taiga’s reaction to what happens is made out to be the biggest parts of the arc. Though maybe that’s just because the arc ends with one of the best goddamn scenes ever.

The scene I’m talking about is the one where Taiga’s wallet is found to have the picture of her and Kitamura from the school festival, and Minori overhears their comment on how it means that Taiga did indeed have feelings for Kitamura. Then as Ami passes her, she murmurs, “Guilt all gone now?”.

Maybe it was just the perfectly timed music or the red, sunset-looking filter, but that scene sends chills up my spine every time I watch it. It’s just so… confrontational. It both confirms that Minori does have feelings for Ryuji, and that Ami knows about her feelings already. It’s sort of like a call to action, but also an insult, as if saying that it was silly for her to be holding her feelings back regardless of her reasons. And the expression Ami makes after she says that line to her has the possibility of meaning so many things.

The scene just gives you so much in so little time with so few words, and it’s like a point of no return. You know after that line is said that something has to happen, and you just don't know what. It just gets your mind racing, and it’s fantastic.

Anyways, the next scene to talk about is that scene. Yep, the one where Taiga realizes her feelings for Ryuji. You probably think I’m going to tear it to shreds, right?

Well you’re absolutely wrong.

This scene is another example of how to do a crying scene correctly, and is actually written perfectly given the whole message of the show. When Taiga’s on her own saying she’ll be alone again that Christmas, she doesn’t even consider Ryuji. They’re so close at this point that they kind of take each other for granted, so when Taiga tells him to run off and knows full well that Minori will return his feelings, it’s her heart that responds first. It’s like her body knew since a while ago that she actually loves Ryuji, but her mind wasn’t quite there yet. So when she notices she’s crying, that’s when she comes to realize the extent of her feelings. Then after that she just straight up breaks down, which is when she runs into the street and wails.

Again, it’s important to have a reason for the crying other than to make the audience sad, and that scene nailed it.

After that some stuff happens, the class goes on a field trip, Ami and Minori get seriously confrontational because Ami is annoyed at her hiding her feelings but Minori won’t act because she’s too worried about “betraying” Taiga, yadda yadda yadda.

Then we get to the scene where, in a daze, Taiga admits that she loves Ryuji while he’s carrying her. Now, normally I wouldn’t like something like this. I don’t like when progress or revelations in a show happen due to misunderstandings or just pure luck or whatever. However, I think it actually sort of works in Toradora. Taiga and Minori are both way too goddamn stubborn to ever act on either of their feelings, so having something like this happening forces things to actually come to a head later on. Maybe there’s some other way they could have achieved the same result without relying on coincidence, but I think it’s sufficient for what its purpose is.

After that, Ryuji sees Taiga in a new light and starts wondering if he loves her too, there’s eventually a massive confrontation and Taiga and Ryuji end up together, they then decide to elope but shortly after realize it’s childish and should share their happiness by getting their families approval, stuff happens, THE END.

Well obviously it’s more detailed and emotional than that, but there’s not really much for me to add. It was all good, but not really for any standout reason to mention.

Though something I do want to mention is that the scene where Ryuji berates Yasuko for shoving her own expectations onto him always manages to get me close to tears. I don’t even know why, considering Yasuko wasn’t developed pretty much at all, but maybe that worked in her favour. The main – and pretty much only – thing you learn about her is that everything she does, she does for Ryuji. He’s her entire life, so when he was telling her that she was just being selfish and pushing her own unfulfilled desires on him, I just felt horrible for her. The look on her face when she starts crying as if Ryuji just broke her… it’s just sad.

You know, I could go through every single episode of Toradora and analyze the crap out of it, but it doesn’t change the fact that there’s one main reason I love the show so much.

Toradora gets what love is.

We’re taught growing up – especially in the West – that love is this prince and princess kind of thing, with soul mates and how you’re bound to meet “the one”. While that can happen, in actuality, love is this big, weird, confusing, wonderful mess where anything can happen. Toradora understands that you’re just as likely to find love that’s been right next to you the entire time, and while it’s no dragon-slaying knight and princess, that doesn’t make it any less grand, strong, or beautiful.

And that, is why Toradora is the best romantic comedy of all time.

2018/6/18 posted in  Review

AND (Average Network Delay) and Queuing Theory Basics

Recently I was looking at the Linear programming formulations of Traffic engineering problems and one of the problems is to find the path with the goal to minimize the Average network delay. Which got me thinking that for topology design related problems, how can I calculate the Average network delay? As you can guess, I'm going to introduce the model we implemented in Hokkaido research network.

Before starting few things to keep in mind:

  • A background in Probability theory, particularly familiarity with Poisson and Exponential distribution will help. There is no way I can do the justice in explaining all the basics without distracting from the main goal.
  • I will involve Queuing theory and the Math involved in Queuing theory gets complicated very fast, especially for an average guy like me. What we are going to look at is the most basic form.
  • Please be aware that whatever we cover here only allows us to measure the first order approximation of what happens in real life and it is good for use cases like topology design but not for measuring the exact state of a network for operational purposes.
  • As usual disclaimer, I am going to take some luxuries while explaining to keep things simple, so it’s possible that some statements may not be mathematically accurate.

Factors contributing to Packet Delay:

There are typically four factors which contribute to a packet delay in a network. Out of the Four factors, queuing delay is the one which is most interesting and most complicated.

Total Delay = Processing Delay + Transmission Delay + Propagation Delay + Queuing Delay

Queuing delay is the time spent by the packet sitting in a queue waiting to be transmitted onto the link. The amount of time it needs to wait depends on the size of the Queue. If the Queue is empty, then it transmitted immediately, but if it’s sitting behind other packets, then it needs to wait for the packets in front to be transmitted first (common sense).

In order to understand more about Queueing delay, we have to take a step back and look at the basic of Queuing theory first. Then we will look at the simple Queueing model, derivation and then see how we can use that to calculate the Average Network delay.

What is Queuing Theory?

Queuing theory is basically the mathematical study of waiting lines. We see Queues everyday in our life, whether it’s a line in Starbucks, queues of vehicles on the road, packets in Data Networks, Grocery line etc.

Typically, a Queue is formed when people arrive at a place to get some kind of service like getting coffee, grocery, medical help etc. In Queueing theory, we create a model of the Queuing system so that we can predict the performance of the system for parameters like:

* Average number of customers waiting in a line (Average Queue length).
* Average time a customer spends waiting in a line.
* How utilized servers serve the queues.

Queuing theory has been used extensively in Operations Research. As a matter of fact, some of the best lectures I have found on Queuing theory were taught as part of Operations research curriculum.

Components of a Queuing System:

Below is a representation of various components in a Queueing systems.

At a basic level, a Queuing system consists of one or more Servers serving the customers, One or more Queues in which Customers will come and line-up. The length of these Queues can be assumed infinite or finite length to hold customers waiting for service.

  • Arrival Process: Represents the Customer arrival pattern. We will look more into the details.
  • Service Pattern: how many servers we have and the speed of the Service which is called Service Rate.
  • Queue Length: How many people can a Queuing system hold. 10, 20, 200, infinite?
  • Queue Discipline: This represents if the queue will be served in First come First serve (FCFS), Last come First Serve (LCFS), Random etc. manner. Typically, it’s FCFS and that is what we will assume for the rest of the article.

Customer Arrival Pattern (Arrival Process)

Customer arrival pattern basically specifies how customers are arriving in the Queuing system. For instance, they can come either in a scheduled manner or they can be totally random. Few parameters we considered here are:

  • Arrival Rate: This represents the average rate at which the customers are coming. For instance, let’s say we have a grocery store and we know that on an average, there are 5 customers walks into the store every hour. So the Average rate is 5 customers per hour and it is typically represented by λ(lambda).
  • Inter-arrival time: This is the time between the customer arrivals.

    If we know that the Customers come in a scheduled manner or follow some sort of pattern, then things would be easy. For instance, going back to our grocery store example, let’s say we are trying to figure out how many cash registers we have to put to handle the customers. We know that on an average 5 customers come every hour and let’s assume that it takes on an average 10 mins to service a single customer which means our Service Rate is 6 customers per hour.

Now If 5 customers walk into the store at a gap of 12 mins each, then there won’t be any queue formed because by the time next customer comes, you would have serviced the previous customer and life would be just good with a single counter. But unfortunately life is not that simple, they all can just show up at the same time and that will form a Queue. So If your service time is too long then you have the risk of them walking out. if they wait for too long, the possibility of them to stop waiting/walk away will be higher.

So, this is the reason why we have built some sort of intuition on why we need to study Queues. Now in our scope, we will assume that Customers arrival pattern is Random in nature.

(Similarly, later we will assume that the packet arrival in Networks is also a Random even though it may not be entirely true in reality).

We will model the customer arrival pattern as a Poisson process. If you don’t know what a Poisson process, I am just going to mention some of the key properties briefly.

Poisson Arrival Model:

A Poisson process is typically used to model scenarios where we are counting the occurrences of certain events that appear to happen at a certain rate, but completely at random. For example, going back to our grocery store example, we know that average customer arrival rate is 5 but we don’t know when they will show up at the store. Poisson process is perfect to model this kind of behavior.

In Poisson process the rate “λ” represents the average number of events per unit time. The Probability of “n” arrivals happening in “t” units of time can be given by: \[ P_n(t)=\frac{(\lambda t)^n}{n!}e^{-\lambda t} \]

I am not going to derive the above formula, but essentially it can help you in answering questions like, give me the probability of 8 customers arriving in our grocery shop in an hour given that we know on an average 5 customers per hour(λ=5) walk into the store.

The inter-arrival times of a Poisson process is independent and it follows an exponential distribution

Again, we are going to skip the proof on how a Poisson process inter arrival times are exponential distribution, but it’s actually pretty simple (though just by saying that may not really help).

Exponential distribution has one key property which is Memoryless. Meaning the past doesn’t affect the Future. It’s also called forgetfulness property and simple examples would be like flipping a Coin. I think I also exhibit symptoms of Memoryless.

Queuing Models Taxonomy:

So in Queuing theory, we use certain kind of notation (Kendal’s notation) to refer to various types of Queuing system. The format of the notation is below

A / B / s / K / n / D

  • A – Arrival Process, Inter arrival times distribution. It can be either of these
    • M = Represents Markovian or Memory less property like Poisson process.
    • D = deterministic (Constant)
    • G = General distribution
  • B – Service distribution. It can be either of these
    • M = Represents Markovian or Memory less property like Exponential service time.
    • D = deterministic (Constant)
    • G = General distribution
  • s – number of servers
  • K – system’s capacity (e.g. maximum number of customers in the system including the one being served). Typically, we omit this when it’s infinity.
  • n – population size. Usually we consider Infinity for this.
  • D – Queue Discipline like FIFO, LIFO, Random etc.

For the majority, we only use the first three i.e. “A / B / s” to represent a Queuing system. Below are few Queuing type examples.

M/M/1: Infinity

  • Arrival Process: The First “M” represents memory less property i.e. Poisson arrival process. The customer arrival rate is represented by λ.
  • Service Distribution: The Second “M” represents memory less property i.e. exponential service time. The service rate is represented by “µ” and the mean of Exponential distribution is given by 1/ µ.
  • 1: represents the number of server.
  • Infinity: Represents that the Queue length can be infinite. Off course we know that in real world this cannot be true.

M/M/c: 10

* Arrival Process: “M” represents memory less i.e. Poisson Process
* Service Distribution: “M” represents memory less i.e. exponential service time
* c: Represents the number of Servers like 2 in our case.
* 10: Represents the maximum length of the Queue.

Other examples of Queuing system could be like M/G/1, M/D/1 etc.

Out of all the different types of Queuing system, M/M/1 is the simplest Queuing model. We can model the output link of a router as an M/M/1 Queue which is actually what we will do later in the example.

Properties of a Queuing System:

At this point we know that in a Queuing system we have Customer Arrival rate (λ) which tells us how fast the customers are coming in and Service rate (µ) which is the average time taken to service each customer. A good Queuing system has a property that service Rate (µ) is always greater than the customer arrival Rate (λ) and the ratio (λ/µ) is represented by “ρ”.

\[\rho = \frac{Customer\ Arrival\ Rate(\lambda)}{Service\ Rate}<1\]

I think the reasoning for this is pretty intuitive because if that is not the case, then the Queue will keep growing as customers will arrive faster than a Queue can be served.

Obviously the next question comes to mind is why we will have a Queue to begin with if Service Rate is higher than the Customer arrival rate? We should know this because we addressed this in our earlier Grocery example i.e. Customer inter-arrival pattern is random.

In the below figure, we have a service rate of 6 per hour and arrival rate of 5 per hour and we will form Queue for bottom two illustrations where customer arrival pattern is random.

We also make another important assumption that during a very small interval (let’s call it “h”), only one event takes place. Let’s say the current time is “t” then in time “t+h”, either a customer will arrive in the Queue or a Customer is Served. We cannot have both Customer arrival and Customer getting Served in the same time interval “h”. Essentially “h” is so small that only one thing happens (Arrival or Service).

Alright, so what kind of questions we can answer with the help of Queuing Theory?

Assuming that the system is in a steady state, we can answer things like what is the probability that a system has 0, 1, 2……… to infinity customers, in the Queue? The number of people in the Queue can go either to “Infinity” or to “N” where N is the maximum size a Queue can hold depending on the type of Queuing model we are using like M/M/1: Infinity vs M/M/1: n.

Typically, we are interested in getting the value for below parameters for a given Queueing system.
w = numbers of customers waiting is queue

q = Total number of customers in the system

\(T_s\) = Denote the service time.

\(T_w\) = waiting time in Queue
\(T_q\) = denote the total turn around time (Waiting time + Service Time) (\(T_q = T_w + T_s\))

Basic queuing relationships:

Little’s Law gives us below two relationships between the parameters for any steady state queuing system:

\(q=\lambda T_q\) (equation 1)

\(w = \lambda T_w\) (equation 2)

In case it’s not intuitive to you, think about the basic relationship between Distance, Speed and Time, which we all are familiar with i.e.

Distance = Speed x Time

The distance covered is a product of the Speed an object is moving and Time spent. Now assume that the arrival rate (λ) is the Speed and the waiting time is the time spend. This will give us the length. We are not going to prove Little’s law, but if you have an interest, the proof is widely available in lots of text books.

Relationship between Total Turnaround, Queuing and Service Times

In a queuing system, a customer’s time is either spent waiting for service or getting service. Thus, we get this relationship:
\[T_q = T_w + T_s\]
Multiplying the above equation by the arrival rate \(\lambda\) and applying Little's formula, we get
\[\lambda T_q = \lambda T_w + \lambda T_s \]
From earlier equation 1 and 2 we know that \(1 = \lambda T/q\) and \(w = \lambda T_w\), so \(q = w+ \lambda T_s\)

Where \(T_s=\frac{1}{\mu}\ and\ \rho = \frac{\lambda}{\mu } \)

so we see
\[q = w+\frac{\lambda}{\mu } \rightarrow w+\rho \]

Analysis of an M/M/1 Queuing System

It’s time for us to derive some equations. An M/M/1 queuing system is a single-queue single-server queuing system in which arrivals are Poisson and service time is exponential. The notation M/M/1 describes the “queue” in the system as having a Markovian arrival process (i.e. Poisson) and a Markovian (i.e. Exponential) service discipline with 1 server.

Probability of Arrival and Departure

So as we said earlier, assume a very small time interval of length “h” and in this time interval (h), only one event happens either an arrival or a departure (customer is serviced).

Since the rate of arrival is λ per unit time, then we can say that rate of arrival per interval “h” is “λh”. To think about this intuitively, let’s say we have an arrival rate of λ = 2 per second and h=5 second then arrival rate per 5 second is 10 (5 x 2).

We know that the probability density of the Poisson distribution is:
\(P_n = (\frac{\lambda^n}{n!}e^{- \lambda})\) where n = 0,1,2 ...

Given that the rate of arrival per interval h is λh, the probability of “n” arrivals per interval h can be given as

\(P_n(h) = (\frac{(\lambda h)^n}{n!}e^{- \lambda h})\) where n = 0,1,2 ...

According to the above, the probability that there will be no arrivals (n=0) during a given interval h is thus, the probability that at least one arrival (i.e. a birth) will occur is:
\[ P(At\ least\ one\ arrival)=1-P(No\ arrivals)\Rightarrow 1-e^{-\lambda h} \Rightarrow 1 - (1- \lambda h + \frac{( \lambda h )^2}{2!}+ \frac{( \lambda h )^3}{3!}) \]

Since we are assuming that “h” is a very small period, we can ignore the higher order terms because they become negligible (intuition: If \(h = 0.001\) then \(h^2 = 0.000001\) which is really small ) which will leave us with λh.

\[P (arrival) = λh\]

Similarly, we can show that the probability that a customer will leave the system (i.e. a customer for whom the service was finished) given that somebody is in the first position in the system.

\[P (departure) = µh\]

State (rate) transition diagram for M/M/1

Consider a M/M/1 system at steady state (i.e. Equilibrium). Such a system will have a variable number of customers. In particular, at any point of time, a customer may be added to the system through an arrival event, or a customer may be removed from the system due to a departure event.

Consider the state of the system when exactly "n" customers are in the system. We denote such a state by \(S_n\). If we can figure out how to calculate the generalized probability \(S_n\) that the system will have "n" customers in the Queue. This will allow us to plug any number for n=0,1,2... and get the probability of how many customers are in the Queue.

Now assume that the system at a given instant is in state \(S_n\). What factors can lead the system to be in such a state \(S_n\) ?

There are three ways which will result into the system moving into state \(S_n\)
1. The system was in the state \(S_{n-1}\) and arrival happened. The probability of that happening is \(\lambda h\). We derived that earlier.
2. The system was in the state \(S_{n+1}\) and a departure happened because a customer was serviced. The probability of that happening is \(\mu h\).
3. The system was in the state \(S_n\) and neither an arrival nor departure happened. The probability of that happening is \(1-(\lambda h + \mu h)\). (If the probability of arrival or departure happening is \(\lambda h+\mu h\) then not happening is \(1-(\lambda h + \mu h)\)).

The above diagram shows the transitions. Solid arrows denote the transitions that result into entering state \(S_n\). As you may have noticed that we did not consider the possibility of an arrival and a departure happening in the same interval "h".

From the above diagram, we can derive the following relationship:

Probability of the system in state \(S_n\) = "Probability that the system is in \(S_{n-1}\) and one arrival happens" or "Probability that the system is in \(S_{n+1}\) and one departure happens" or "Probability that the system is in \(S_{n}\) and no arrival or departure happens".

Mathematically we can write the above as

\[P(S_n)=\lambda h P(S_{n-1})+\mu h P(S_{n+1})+(1-(\lambda h + \mu h))P(S_n)\]
After rearranging terms, we get
\[\mu P(S_{n+1}) - \lambda P(S_{n-1})\]
\[P(S_{n+1})=(1+\rho)P(S_n)-\rho P(S_{n-1})\ (Dividing \ by\ \mu and substituting\ \frac{\lambda}{\mu}=\rho)\]
One thing to note is that for state \(S_0\) i.e. state when there are no customers (n=0) in the Queue is a special state as there is no that \(S_{0-1}\)

With that consideration, we get following from above equations after removing \(S_{0-1}\) and also the fact that if there are 0 people in the Queue then we don't have to worry about the fact of something getting serviced as there are 0 people in the Queue. therefore,no one will be serviced if there is 0 people in the queue.
\[P(S_0)=\mu h P(S_1)+(1-\lambda h)P(S_0)\]
\[P(S_0)=\mu h P(S_1)+P(S_0)- \lambda h P(S_0)\]
\[\lambda P(S_0) = \mu P(S_1)\]
\[P(S_1)=(\frac{\lambda}{\mu})P(S_0) => \rho P(S_0)\]

Now we have a basic relationship on how state \(S_1\) is dependent on state \(S_0\). Similarly, we can say that
\[P(S_2)=\rho P(S_1) => \rho ^2 P(S_0)\]
\[P(S_3)=\rho P(S_2) => \rho ^2 P(S_0)\]

This can be generalized by saying
\[P(S_n) = \rho ^ n P(S_0) \ \ \ \ \ (Equation 4)\]

We see that how every state \(S_n\) can be expressed in terms of basic state \(S_0\). We also know that the overall probability of all the state must be added up to 1, we can say that
\[P(S_0)+\rho ^ 1 P(S_0)+\rho ^ 2 P(S_0)+\rho ^ 3 P(S_0)+... = 1\]

You can see how \((1+\rho^1+\rho2+\rho^3+...)\) is an infinite geometric series from which will get reduced to
\[(1+\rho^1+\rho2+\rho^3+...)=\frac{1}{1-\rho} \ \ \ \ (Equation\ 5)\]
Applying equation 5, we get
P(S_0)\frac{1}{1-\rho} = 1 \\
P(S_0)=1-\rho \ \ \ \ (Equation\ 6)
Substituting \(P(S_0)\) results from equation 6 back into equation 4, we get
P(S_n)= \rho^{n}(1-\rho) \ \ \  \ (Equation\ 7)

Average number of customer in an M/M/1 System

Now we are ready to compute the average number of customers in an M/M/1 system. The total number of customers in the system (q) can be given by the sum of the number of customers and their respective probability.

Applying equation 4 and taking \(\rho P(S_0)\) out
\[q=\sum^{n=infinity}_{n=0}{nP(S_n)}\rightarrow \sum^{n=infinity}_{n=0}{n \rho ^ n P(S_0)} \rightarrow \sum^{n=infinity}_{n=0}{n \rho ^ {n-1}}\]
We know that from calculus that \(\frac{d}{d\rho}\rho ^ n = n \rho^{n-1} \) and applying sum rule
q = \rho P(S_0)\sum^{n=infinity}_{n=0}\frac{d}{d\rho}\rho^n \rightarrow \rho P(S_0) \frac{d}{d\rho}\sum^{n=infinity}_{n=0}{\rho^n}
We know that \(P(S_0) = 1 - \rho \) from equation 6, substituting that for \(P(S_0)\) and equation 5 for geometric series
q = \rho P(S_0)\frac{d}{d\rho}\frac{1}{1-\rho} \rightarrow \rho(1-\rho)\frac{1}{(1-\rho)^2}
We know that \(\rho=\frac{\lambda}{\mu}\), substituting that for \(\rho\) we get

\(q=\frac{\rho}{1-\rho} \rightarrow \frac{\lambda}{\mu- \lambda}\) (Equation 8)

Average number of customers waiting for service in a M/M/1 system

We know that q = w + ρ. Thus
\[W=q-p\rightarrow \frac{\rho}{1-\rho} - \rho \rightarrow \frac{\rho^2}{1-\rho}\]

Average time in a M/M/1 system

Earlier we saw that using Little'S formula we can say \(q=\lambda T_q\) (Equation 1). Which means
T_q = q/\lambda \rightarrow \frac{\lambda}{\mu-\lambda} \rightarrow \frac{1}{\mu- \lambda}
by applying equation 8.

So now we have a way to calculate the average time a customer waits in an M/M/1 queuing system with infinite buffer. We could use this to figure out average delay which a packet may experience on a link by Modeling a Router (store and forward) as M/M/1 Queue.

But the next question comes to mind is that in the real world we know that routers don’t have infinite buffers. In that case, if we want we could model Router’s with finite buffer as M/M/1/c Queuing system where the “c” is the length of the buffers (or Queue size) and derive the equations for getting an average time for an M/M/1/c system.

But before you think “Oh gosh another proof and formula”, it turns out that an Infinite buffer model is a good approximation of finite buffer systems so we will skip that.

Networks of M/M/1 Queues:

Assuming that we are modeling Routers as an M/M/1 Queueing system, we know that every router is connected to each other (like Tandem Queues) where traffic enters multiple queues, exits multiple queues, traffic streams merge or split repeatedly. This fact presents the challenge that once packets have passed the first M/M/1 Queue, are there inter-arrivals still random on the next Queue or they become strongly correlated? Because if they are not random anymore then this will invalidate the Queueing models based on Poisson arrival.

It turns out that a very smart person (Leonard Kleinrock) observed and resolved the problem by introducing the Klein rock independence assumption. It turns out due to the effect of multiple streams merging and splitting at hops, then it restores the Randomness of Inter arrival property, hence making assuming Poisson arrival for packets as a valid assumption.

(Added a video link of him in References which I thought was fascinating. He did his PHD under Claude Shannon)

Average Network Delay:

We can approximate average network delay of a network that consists of more than one link in which traffic feeds from one link into another, by assuming each link behaving as an independent M/M/1 system.

Consider, for link l=1,2,3...L in a network, the packet arrival rate at link is given by \(\lambda _ l\) which will is expressed in terms of packets per seconds(PPS). Assuming the link capacity is \(c_l\), we can find the service rate \(\mu_l\) for that link by \(\mu_l=\frac{c_l}{average\ packet\ size}\).

For example, if the link is 1Mbps(1,000,000bps) and average packet size is 500bytes(4,000bits), this gives us the service rate \(\mu_l = \frac{1Mbps}{500bytes}=250pps\)

Also assume that on that 1Mbps link we have 800kbps of traffic then we can say the arrival rate on that link \(\mu_l = \frac{Bandwidth}{average\ packet\ size}=\frac{800,000}{4,000}=200pps\)

So we can derive the average number of packets \(N_l=\frac{\lambda_l}{\mu_l - \lambda_l}\) in a queue (equation 8).

If we sum the average number of packets for all links, we get the average number of packets in the network.
N=\sum^{L}_{l=1}{N_l}=\sum^{L}_{l=1}{\frac{\lambda_l}{\mu_l- \lambda_l}}

Now if we know the total amount of the traffic or demand entering into the network, then let's call it H then by applying Little's law over the network we can say that \(N=HT\) (From equation 1).

This give us
T=\frac{N}{H}=(\frac{1}{h}\sum^{L}_{l=1}{\frac{\lambda_l}{\mu_l- \lambda_l}})


Now let’s try to apply what all we have learned so far with an example. Assume that we have this network topology.

All links are of 1 Gbps capacity for simplicity. In reality we can have a capacity matrix giving us the capacity of each link. We assume that the average packet size in this network is 600 Bytes (4800 bits).

We can derive the service rate for a link = \(\frac{Link\ capacity}{Avg\ Packet\ Size}=\frac{1,000,000,000}{4,800}=208,333 pps\)

In our case this will be the Service Rate for every link as we are assuming same link capacity and average packet size. We also have the below Routing matrix for this topology which tells us how traffic is routed between the Nodes.

Routing Matrix:

We can look at the Routing Matrix and the Traffic Demand Matrix of the network to derive the aggregate demand for each link in the network. For Instance, from Routing matrix we know that the link “AB” will carry traffic for the demands for “AB”, “ABC”, “ABF” and “ABFD”.

Let’s say we had a Traffic Demand matrix and after combining with the Routing matrix, we came up with the below Aggregate Traffic Demand matrix for the links, this gives us the Arrival rate for each link.

Aggregate Traffic in PPS(Mbps) derived from Routing table.

Total Arrival Rate is equal to the sum of the arrival rate on all the links which we get from the above table

\[\sum{\lambda_l} = 2,500,000\ pps\]
To keep it simple, The below table shows the calculations only in one way like from Link A->B but not from B->A. Later we will just double the final numbers to account for the other direction.

Average Network Delay where total Arrival Rate in the Network \(H=2,500,000pps\)
\[T(Average\ Delay)=(\frac{1}{H})\sum^{L}{l=1}{\frac{\lambda_l}{\mu_l- \lambda_l}}=\frac{1}{2,500,000}\sum^{L}{l=1}{\frac{39 \times 2 }{2,500,000}}=31.2\mu\ sec\]


We started with the basic of Queuing theory, then we derived some equations for the key parameters for the M/M/1 Queueing system. Then we looked at how the M/M/1 Queuing system can be applied to Network and ended with an example.

We could have just looked at the final formula without going through the derivation, but my goal is to show how it’s derived because that is always not stated clearly in books.It also helps in building an understanding of the assumptions behind derived equations. Once you have developed an understanding/intuition, I do not think you have to remember the details. I hope some of you will find this useful.

I was initially thinking of covering below questions but decided to leave it to you:

  • Whether Poisson traffic is the right model for traffic arrival?
  • Is M/M/1 Queuing system the right way to model the Routers? Or we should have looked at some Queuing systems like M/G/1 where service rate distribution is modeled as a generalized distribution?
    • If yes, then how can we find an average network delay in those cases.

Useful links and References:

2018/5/6 posted in  Network

Review: High School Fleet

Overall rating: 9
This review will contain spoilers in regards to some of the main plot points of the show. You have been warned!

Wait a moment. High School Fleet? You mean to tell me, there is yet ANOTHER anime with girls and warships? I have no idea how this slipped past my attention, but it seems to be Girls und Panzer-esque, except in warships instead of tanks. So being a fan of the likes of Apreggio of Blue Steel, Kantai Collection, and the aforementioned Girls und Panzer there was no way in hell I was not going to watch this.

I honestly came expecting a anime where cute girls do cute things , but I was surprised by the way it ended up being and honestly it surpassed my expectations. And I'm glad that is not slice of life show that I was expecting because that made it even more interesting.

The series starts off quickly and reveals that a girl named Akeno Misaki (nicknamed “Mike”) with a big dream. She enrolls at an academy known as “Yokosuka Girls' Marine High School” with the goal to join the Blue Mermaids. For the first episode, the show establishes that Akeno and her crew faces unexpected circumstances as they are accused of mutiny. Furthermore, Akeno becomes the captain of the destroyer ship Harekaze. Make no mistake though, the show has a rather serious vibe despite the misleading atmosphere. The crew faces against battleships armed with real firepower capable of destroying them. Furthermore, Akeno is a newbie with lack of experience and tries hard to earn the respect of her crew. In essence, the show makes it clear that it’s no joke and pushes the idea of naval warfare to a level that you may not be prepared for.

As for the characters, individually, they don’t appear to be all that special, but as a whole, the cast turned out to be pretty decent.

(from left to right) Mei, Shima, Kouko, Wilhelmina, Rin, Mike, Isoroku, Mashiro, Akane, Homare, Maron, and Kaede
“Decent” is probably the best compliment I can come up with for Mike, who’s one of those protagonists that I generally don’t enjoy very much. She’s your every girl who winds up being the captain of the Harekaze, a smaller ship that’s home to a ragtag group of girls that weren’t thought of very highly. At times, she’s pretty inept in her leadership role, with Mashiro being much more fitting for the role of captain, yet this was one of those instances where a bland character gets outshined by several girls with lesser roles.

Among the crew, there is a variety of characters. One thought that crossed my mind is how the show can fit characterization with so many. After all, introducing all the girls at once seems like a mistake because there’s nothing in particular that makes them stand out individually besides the main protagonists. Most of them seems to have generic characteristics as well ranging from being stubborn, class clown, nervousness, etc. It’s also hard to ignore the similarities between this and Girls und Panzer especially with how talent is developed from both series. In some ways, the show does a neat job at making each episode relevant with its premise. In other ways, I have to say that the character cast is perhaps just too big for its own good.

Wilhelmina immediately comes to mind, as the German beauty eventually finds herself aboard the Harekaze after the shit hits the fan on board her own ship. If I could’ve had my way, I would’ve traded Mike for Wilhelmina, with Mashiro assuming the role of captain of the Harekaze, but that would’ve made too much sense. 😛

Maron and Kouko also left favorable impressions, and while Kouko had plenty of brief moments throughout the series, Episode 10 saw Maron shine as the person in charge of the Equator Festival. That was mostly a filler episode that gave us a lot of slice of life moments, yet it was fun nevertheless, thanks in large part to Maron. Oh, and there’s a cat that I liked better than some of the characters… 😀

Either way, you’ll probably find some characters from the series to be more noticeable than others. Besides Akeno, we have Mashiro Munetani, the deputy captain of Harekaze. Unlike Akeno, she seems more like the serious type that takes everything a bit too straightforward and even has a case of allurophobia. Then, there’s quiet girls like Shima Tateishi with elite gunning skills, Mei Irizaki with her passion to fight, Kouka Nosa with a theoretical mind, and timid Rin Shiretoko with decent steering abilities. They make up the bulk of the characters’ screen time so keep in mind while watching their roles. What I also find insightful about the show is that it divides the Blue Mermaid crew well with division to make each of them unique. For instance, there’s the Bridge of the crew with their central command objectives, the combat unit with their fighting talents, navigation division with their abilities to navigate under any circumstance, engineering department for construct and repair, and Logistics for aid in operations. The point is that the show doesn’t neglect any part of the Blue Mermaid crew and makes each role important to ensure the team’s success. On the downside, there isn’t much concrete characterization. The sheer amount of characters for this one cour show just seems a bit too much and perhaps the most characterization we’ll get is between Akeno’s childhood with her friend.

Between the story and the slice of life feeling, High School Fleet feels more like a marine school/military hybrid adventure. The show makes it clear that Blue Mermaid is in danger at times especially when combating other ships (the most prominent one being the infamous Musashi). At other times, it feels like a school floating on water. This is because of the inner storytelling that goes inside the ship with the girls living their dream job. They want to have fun while working so on occasions, there will emerge “breather” episodes to show their lifestyle. At other times, they must be prepared for what’s ahead. That is, one particular part of the story baffles me with the way it’s executed when it involves peculiar experimentations. I’m all in for surprises but that took me by storm, almost like the way that Akeno is taken by her unexpected role. For some, this could drive away viewers from further pursuing the series but for others, it may also spark more interest. In retrospect, High School Fleet is one of those shows that you’ll have to expect the unexpected.

It’s an anime original first and produced by TMS Entertainment. For artwork standards, it’s fairly well done in terms of ship designs. This is important because it gives more viewers interest to see how they work. I’m also impressed by the way Harekaze is designed with its 12.7 cm/50 Type 3 naval gun turrets and MK 16 naval guns. The 5"/54 caliber Mark 16 and Mark 37 also looks surprisingly realistic. In terms of character designs, it’s generally moderate with a decent effort and budget poured towards making the girls look adorable and professional. Remember, there are at least 30 girls on just one ship alone! Like most shows that takes almost exclusively at sea, expect fan service with an even inevitable “beach episode”. However, the show itself excels the most at combat choreography. Even the night battles gives a strong impression of what naval warfare about. And in essence, the series knows how to expand its limits to make the fights believable.

The ships are really well animated and they do feel like the girls are on board a real ship with all of its related equipment and weapons. Explosions are also eye candy and pairs well with the sound effects. The ships move realistically, shakes and rides the waves like a ship would. The water animation is of note as well and makes you feel like they are at sea. If you just came for the battles and fights, you’ll be pleased as the weapons are also fairly well animated (torpedoes especially). If you came for the cute girls then you won’t be disappointed either. 31 cuties each with a different style to match their persona and all of them will leave at least some impressionable image in your mind. Although for some reason, it might just be me, but the ships seems to be in a higher resolution than the characters sometimes. However, it’s nothing too significant that can affect the enjoyment of the show.

High School Fleet makes extensive use of CG, which is sure to turn off some people. I don’t think I’m one to immediately dismiss an anime that’s heavy on CG, but I’m unsure how I feel about it here. There are times when it genuinely looks pretty good and you know that a traditional hand-drawn style probably wouldn’t have resulted in the same visual quality, yet there are other times where it just looks so garish and awkward. For me, it wasn’t a deal-breaker or anything, but apart from the CG, this was a decent-looking show that I can’t fault too much. When it comes to the sound, I don’t think HSF is all that exceptional in this regard, but it gets the job done with some reasonably solid music that—while not being overly memorable—doesn’t exactly feel subpar. Overall, I think that the production values are more than sufficient, which is a pretty good word to describe this anime as a whole.

On the subject of soundtrack, the show is crisp and knows what it’s doing most of the time. This is especially true for the intense battle orchestrated OST that really gets the adrenaline pumping. Character voices are also accurately portrayed to reflect their personalities and expressions. Remember, these girls are practically part of the military so it’s interesting to see how they react under extreme circumstances. The voice mannerism does just that. OP and ED theme songs are catchy as well that gives the marine vibes and cool atmospheric feeling.

OP is catchy and gets stuck in your head, ED is soft and calming. Both fits the theme of the sea very well. The sound track during the anime isn’t used to fill the silence but rather used to great effect adding lots of tension to the scenes. Those sound tracks can really get your heart racing during the fight scenes and your heart throbbing in some of the more emotional scenes, and trust me, the feels will hit you like a truck. Other sounds worth mentioning is the sound effects which are pretty good. You can hear the whistle of the shell getting louder as it get nearer to the ship, the heavy explosion during impact, the creaking of the ship under stress, the echo of detonations of torpedoes in the water and the list just goes on. All these sound effect adds more excitement, tension and action to the scenes and boy they feel satisfying.

2018/2/11 posted in  Review