Archive for Anime

The return of Lina

HOLY COW!!! After more than 10 years*, she’s back! Who am I talking about? She refers to herself as “the perfect, invi…” aw whatever, I’ll let her do the talking:
lina-intro.jpg

Why is Slayers so great? I think this comment worded it the best:

Oh, shush Zaeris. Slayers was one of THE most popular titles of the 90’s and it was a gateway anime for most people in the time because how easy it was to get started on anime by it. Same with something like Sailor Moon and Dragonball Z at the time.

The actual content of the show really doesn’t matter a damn. It’s freakin’ Slayers.

And another thing about Slayers is that it always is cheesy comedy to start, then the comedy and action builds up. Hopefully the action becomes DEAD SERIOUS like they always have.

I’ve been looking forward to Slayers Revolution for quite a while now. The past Slayers series had been a blast. (*) = Okay, so technically it has not been 10 years, but 7 years. But in my opinion Slayers Premium doesn’t count. It was enjoyable for sure, but in the end it seemed like a scam: only 30 minutes airtime? And they dare calling it a “movie”? :(

gourry.jpg
“OMG u broke my sword!”
gourry2.jpg
Realtime weapon reparation, lv 1
gourry3.jpg
“As good as new!”

One can notice that they did not change the winning formula. The first thing that I noticed when I watched Slayers for the first time was its weird character designs. (Well, maybe not so weird if you’ve been watching anime for more than 10 years…) Luckily they did not change it, and new season remains faithful to the old style. The colors are the same, even though the series is now animated with modern techniques. Lina’s still as reckless as ever, Gourry’s still dumb (actually, he may have become dumber), Zelgadis and Amelia are back, and the opening theme indicates that Xelloss will be joining the party as well, once again showing his evil powers that’s hidden behind a suspicious-yet-innocent smile.

It’s a pity that Xellos’s semi-evilness is no match compared to those of the grand masters Light and Lelouche. But maybe 2006-2007 have spoiled me too much.

No changes in the voice actors or the opening/ending themes. Lina and the OP/ED songs are still voiced by the lovely Megumi Hayashibara. Not even the humor has changed. Episode 1 features a mermaid that looks like a fish and a turtle-”gundam” with one fatal weakness. And pirates. Lots of pirates. Apparently bandits are now an endangered species.

Also, the world has decided that being Lina Inverse is now a criminal offense. What’s a poor, innocent, defenseless girl like Lina going to do when she’s faced with the situation of being arrested by an inspector while she’s eating, with 500 anti-sorceress soldiers on the outside waiting for you?
(A) Give the inspector your best smile. Look at him with an innocent face and say “please don’t arrest me inspector, I’ll do *anything* for you!” *blush*
(B) Cry cry and cry some more, and tell the inspector that you have kids to take care of, who will now be forced to wander the streets in search of their lost mother.
(C) Bribe the inspector with a pr0n magazine.
(D) Become totally pissed off and throw a fireball at the army. Innocent civilians? Damages that may cost millions in money? The possibility of having to blow up half the city? What’s that?

Oh, and did mention that Lina has become flatter than before?

Comments (1)

Readable test names in Rails 2.1

I’m currently working on a Rails application. It has some non-trivial business rules, so I ended up writing test methods along the lines of:

Ruby
  1. def test_a_message_with_a_password_protected_channel_as_recipient_will_be_delivered_to_a_users_mailbox_if_that_user_is_subscribed_to_said_channel

Okaaaay….. This is what I think of that method name:
Nice boat!
Nice boat!

Other than the mental-psychological stress as well as an unexplainable impending feeling of doom that such a long method name brings forth in our minds, one have to ask oneself whether it is morally justified to unintentionally punish whomever will ever read this code by presenting them with such a NICE BOAT, even if said person deserves it.

As much as I love RSpec, it doesn’t feel totally appropriate to use it, because then everything must start with “it”. Unfortunately not all rules in my application can be described with sentences that start with “it”. Rails edge has a solution though. You can define test methods in a declarative style ala RSpec, like this:

Ruby
  1. test "an anime should be invalid if any of its characters are invalid" do
  2.   # Your usual test code here.
  3. end

After staring at my test cases for the 2^32th time in a futile attempt to understand what the test method names are actually trying to tell me, I gave up and decided that it’s time to dig up a series that I’ve been trying to finish for the past 3 months. Surely only this will save me from going completely insane.
spicywolf_13_horo_surprised.jpg
The face of un-insanity (?)

There Chu Yeow, I did what you asked me to do. ;)

spicywolf_13_horo_tantrum.jpg
Baka baka baka! ….or maybe not.

Anyway, under the hood, the test method translates that block to:

Ruby
  1. def test_an_anime_should_be_invalid_if_any_of_its_characters_are_invalid

That’s nice. But it could be nicer. I don’t want to upgrade to Edge so I decided to copy & paste the ‘test’ method from ActiveSupport edge – it’s only 6 lines. And yesterday I found out that it’s apparently possible for method names to contain arbitrary binary data, except “\0″. So you can do this:

Ruby
  1. Object.send(:define_method, "omg\1wtf\n!@$%^&*()") do
  2.   "abc"
  3. end
  4. Object.new.send("omg\1wtf\n!@$%^&*()")   # => "abc"

Cool! So this means we can have RSpec-style test method names even when using Test::Unit. :)

So I modified the test method a little bit. Copy and paste this into your test/test_helper.rb to enjoy this:

Ruby
  1. def self.test(name, &block)
  2.     test_name = "test: #{name.squish}".to_sym
  3.     defined = instance_method(test_name) rescue false
  4.     raise "#{test_name} is already defined in #{self}" if defined
  5.     define_method(test_name, &block)
  6.   end

My test method now becomes:

Ruby
  1. test "a message with a password protected channel as recipient will be delivered to a user’s mailbox, if that user is subscribed to said channel" do
  2.    …
  3. end

Comments (11)

Bleach 59

Bleach 49
As predicted, Ichigo finally turned into a hollow. I expected a huge commotion and lots of problems but nooo – it only lasted 2 minutes.

Comments (47)