August 31, 2007

M:I:III

Mission: Impossible IIIMission: Impossible III isn't too bad. I really liked the first movie, but the second wasn't particularly great. However M:I:III is a great action movie with a lot of the gadgets that made the first movie fun. It is not as much an espionage movie like the first one though, which is a little disappointing, but if you just want a really exciting action movie then this has you covered. The film was directed by J.J. Abrams who also did one of my favorite TV series, Alias and Ethan Hunt's activities are a lot like those of Sydney Bristow, but with a little more James Bond and a little less Marshall Flinkman. Ving Rhames is back again, and the villian is played by the very villainous Philip Seymour Hoffman. But most of the actors take a back seat to Tom Cruise, except perhaps for Hoffman.

There's nothing particularly amazing about the special effects, action sequences, visuals, or score. Although there are a few times where things were pretty cool, like the helicopter chase or building jump. But J.J. Abrams does what he does best, which is to create a heightened sense of tension and emergency throughout the entire film, with downtime used to forward the plot.

Posted by josuah at 7:00 AM UTC+00:00 | Comments (0) | TrackBack

August 30, 2007

Using XFire (Apache CXF) All The Way

I thought I'd write a little bit about how to use XFire, which is now Apache CXF, "all the way". Because I think it's good to have this information in another place so people can find it easily by searching, even though a the existing framework documentation is very good. Some people may be just implementing web services by writing XML senders and receivers over HTTP. Which technically meets the definition of a web service, but does so in a way that requires everyone to do a lot of extra work.

If you really use a web services framework, like XFire or the stuff you get when you buy Rational Application Developer, to its full capabilities, then you don't even have to know that HTTP or XML is happening. In fact, you don't need a separate server or HTTP communication at all, since the underlying transmission protocol is hidden from you and might actually just be communication within the same JVM. Publication of the WSDL ensures everyone else can use your service even if they're not using the same framework you are. Of course, WSDLs don't contain meaning, so you still need documentation of your APIs. :)

Anway, for the real meat, you should check out the online documentation. But here's the skinny for making an XFire project in MyEclipse.

Server Setup

  1. Select your existing web project in the navigator and choose MyEclipse->Add Web Service Capabilities.... Alternatively, create your new project from scratch as a Web Service Project.

    Doing this adds the XFireServlet to the web.xml. This servlet is used to execute all of your defined web services. This should also add some XFire libraries to your project, and IIRC prompts you to choose which libraries you want to include. You need the core XFire libraries, of course, but you also need to pick a bean-binding library. I used JAXB because I found it did what I wanted. A configuration file services.xml will be created; I would suggest creating this file at src/META-INF/xfire/services.xml because that's where it will end up anyway (i.e. webapps/war/WEB-INF/classes/META-INF/xfire/services.xml).


  2. Create an interface. This interface will be the API that you implement on the server, and the API that clients call on the client. Here's a sample interface that I'm going to turn into a web service.

    public interface PersonService {
      public PersonMetaData getMetaData(int personId);
      public PersonMetaData[] getMetaData(int[] personId);
    }
    

  3. Create an implementation of the interface to go with the interface. The naming convention I've seen is to stick Impl on the end of the interface name.

    public class PersonServiceImpl implements PersonService {
      public PersonMetaData getMetaData(int personId) {
        return new PersonMetaData(personId);
      }
    
    

    public PersonMetaData[] getMetaData(int[] personId) {
    PersonMetaData[] metaData = new PersonMetaData[personId.length];
    for (int i = 0; i < personId.length; i++)
    metaData[i] = new PersonMetaData(personId[i]);
    return metaData;
    }
    }



  4. Now you need to define the web service and map the interface PersonService onto the implementation PersonServiceImpl. This is done by editing the services.xml that was created earlier. This is what my services.xml would look like for this PersonService web service.

    <beans xmlns="http://xfire.codehaus.org/config/1.0">
      <service>
        <name>PersonService</name>
        <serviceClass>com.netflix.PersonService</serviceClass>
        <implementationClass>com.netflix.PersonServiceImpl</implementationClass>
        <style>wrapped</style>
        <use>literal</use>
        <scope>application</scope>
      </service>
    </beans>
    

  5. At this point, you're good to go. Deploy your web project using MyEclipse and start up Tomcat. If everything's good, you should see a bunch of XFire-related initialization messages printed out on the console. Assuming no exceptions are thrown during startup, your web service is up and running and your server-side is done.

    To get to the WSDL which you can use for automatically generating the client-side code, access your web application via the URL http://hostname:port/war/services/. Your deployed web services will be listed, along with a WSDL link. Clicking that link will give you the WSDL that you can give to someone else or use yourself.


Client Setup

  1. Using MyEclipse, you can generate the client-side code from the WSDL. I recommend creating a new Java project that will act as your client project, as the automatic code generation will create and overwrite existing files if it thinks it needs to. Plus, it lets you see exactly how someone else would put together a client if all you gave them was the WSDL.

    To generate the code, use File->New->Other... and select MyEclipse->Web Services->Web Service Client. You'll have to either provide the URL (http:// only because MyEclipse's XFire plug-in does not support SSL) to the WSDL or the file on disk. All the client-side classes will be created in the client project in the same packages as on the server, and then you can use them.


  2. Assuming the client code generated is from the WSDL of the server interface described above, here's how you would use it.

    public static void main(String args[]) {
      PersonServiceClient client = PersonServiceClient();
      PersonServicePortType service = client.getPersonServiceHttpPort("http://remote:port/war/services/PersonService");
      PersonMetaData mmd = service.getMetaData(12345678);
      ArrayOfInt personIds = ObjectFactory.createArrayOfInt();
      personIds.getInt() = new int[] {12345678, 23456789, 34567890};
      ArrayOfPersonMetaData aommd = service.getMetaData(personIds);
    }
    

    Note that the parameters and return types might be JAXB objects like ArrayOfPersonMetaData or ArrayOfInt. So the API is not exactly the same as you might expect. However it might be the case that if you build the client code in the same project and source folder as the server code, your client code uses the original class definitions. I'm not entirely sure since I haven't tried that, but I believe it may work. Either that or it'll overwrite your existing class definitions. :p

    Also, I'm not entirely sure about how you'd go about assigning the personIds.getInt(). I'm just guessing from memory, but it should look something like that.


Posted by josuah at 10:03 PM UTC+00:00 | Comments (0) | TrackBack

August 29, 2007

Scary Movie 4

Scary Movie 4And, now Scary Movie 4, which Luna put on her queue. This installment of the parody series takes much of its content from Saw, The Grudge, The Village, and War of the Worlds. Much of the same cast returns for this film directed by David Zucker, including Brenda who mysteriously is alive after having died in a very obvious manner in Scary Movie 3. There are also a couple of self-deprecating cameos by Dr. Phil and Shaquille O'Neal in the beginning which are actually quite good. Still, it is another Scary Movie which means Luna liked it a lot but I didn't so much.

Posted by josuah at 5:08 AM UTC+00:00 | Comments (0) | TrackBack

August 28, 2007

300

300300 was not exactly what I was expecting. I was expecting a historical retelling of the Battle of Thermopylae, full of drama, action, historical accuracy, and realism. I guess I should have done a little more reading up on what the movie was, because it was something completely different. It's my own fault though, because anyone who'd bothered to check would have known this. 300 is the movie adaptation of Frank Miller's graphic novel of the same name, and a very good adapation of it at that. But because it is a very good adaptation, it oozes the Frank Miller style, and is more of a tall tale account of the battle, with outrageous creatuers and larger than life characters.

The movie is quite good, but you should not go into this expecting much of a story or a lot of drama. Characters are archetypical, from King Leonidis to the description of the Spartans to the traitor and Xerces the Great. If you leave this movie thinking those are accurate depictions of the characters and Spartan society, you'll be fooling yourself. (Not that everything described about Sparta was incorrect.) The basic facts about the actual battle, however, are fairly accurate. You can compare the events of the film with those described in the Wikipedia article about the Battle of Thermopylae.

Overall, a very enjoyable movie with outstanding if fantastical visuals and stylized combat and an excellent score. I didn't really like the metal that played a few times as a sort of theme song, but I'm sure most people found it worked very well.

Posted by josuah at 6:31 AM UTC+00:00 | Comments (0) | TrackBack

SOAP or REST

Even though REST has been around for a while, I'd never looked into it before today. Essentially, REST is an alternative approach towards web services, with the other widely adopted idea SOAP. However, while SOAP is a standard and provides a WSDL that defines an interface by which clients can make use of the web service in an implementation-independent fashion, REST is tightly coupled to the HTTP 1.1 specification and provides no clearly defined interface. For that reason, while I think REST is useful in some cases, in general I would prefer SOAP if possible because it is more flexible, implementation-agnostic, and "strongly typed" so to speak, whereas REST is restricted to a few specific actions, tied to HTTP, and "loosely typed".

To go into further detail, it's important to understand the difference between how REST and SOAP/WSDL are implemented and used. REST identifies a single resource with a URI. I'll use the example of http://www/service/person?id=123 to identify the person of ID 123. The web service might then support the operations GET, PUT, POST, and DELETE which correspond to the four actions you can perform on a person. GET requests would return some XML like


<person>
<id>123</id>
<name>Wesley Miaw</name>
<sex>male</sex>
<age>27</age>
</person>

The PUT and POST methods would include in the request body identical XML that would be used to update or create a person object respectively. While a DELETE method would delete a person object.

With REST there is nothing to define exactly what is okay and what is not okay for the request body XML. I could put something completely different for the value of sex and there's nothing on the client side that says that value is illegal. There's also nothing that would prevent me from putting some random junk into the request body. The only way I can know if I sent the wrong kind of content from the client is to get an error response back from the server. That's why I consider REST to be similar to an interpreted, loosely typed, scripting language.

In contrast, the WSDL for a SOAP web service would specify exactly what types of values can be specified, and it would be a client side error to try and put a string type into a parameter that the WSDL defines as an integer. Any client side implementation that conforms to the WSDL would be able to enforce this restriction without requiring support for arbitrary errors in the server response. So now, the server only needs to return errors that have meaning at the application layer, rather than at the language layer. For example, will be errors for trying to update a non-existent person or if the client is not authorized to perform the transaction, but no errors for trying to shove an integer into a string.

There is something akin to WSDL which some people are using for REST, called WADL. WADL does enforce types, which is good, and it also defines the interface and supported HTTP methods. There are also WADL code generators.

With WADL, REST gets back type safety, but it still doesn't get back all of the flexibility of SOAP since you're still restricted to HTTP methods (unless you make the URI specify the method, which is not how REST is defined or how WADL describes the service) and you are still working with the idea of resources or objects instead of actions or commands. Plus, you are still closely tied to the actual communication protocol, HTTP. The REST versus RPC section on Wikipedia describes the restrictions of REST pretty well.

In comparison, with SOAP I might define a PersonService that has methods like void setAge(int) or Car getCar() to change a person's age or find out what kind of car he drives. A REST implementation would require a new URI specifically for a person's age and to access a person's car, for this level of granularity. The URI to a Car URI might be found in the returned Person object.

Of course, REST does have some significant advantages over SOAP.


  1. It's much easier to understand what is travelling over the wire, because a resource is a URI and the different HTTP methods are the actions.

  2. It sends less data over the wire than a SOAP message, because SOAP includes an envelope that wraps the actual data.

  3. Tighter coupling between web server infrastructure and the web service. You basically can get for free any of the things you take advantage of with regular web servers, like caching and access logs and simple web browser clients.

As a side, Apache CXF does support RESTful services, but does not support code generation from a WADL. The older XFire implementation does not support REST in any form.

Posted by josuah at 1:14 AM UTC+00:00 | Comments (0) | TrackBack

August 27, 2007

Alberto Gonzales Forced Out

It took long enough, but Alberto Gonzales finally gave his resignation as Attorney General after such a pitiful struggle against congressional oversight, with such disillusioning support from the Bush administration. I'm sure most people are aware of the situation, but the whole debacle can be summarized as cronyism and hubris. Gonzales is supposed to represent the judicial branch of the U.S. government, yet was a willing puppet to the personal agendas of the executive branch. And since the executive branch considers itself above the law in so many different ways, not to mention illegal ways, I truly believe that the damage to these two branches of government is close to be irreparable. Unless something very improbable occurs such as the election of Ron Paul for President.

At the same time though, this does show that the system of checks and balances can work. Sort of. Congress brought Alberto Gonzales to task, and through public political pressure and repeated calls for his resignation, ended up removing him from office. However, the truth is it should not have been so difficult to remove him or taken so long. There should have been inquiries much earlier, for things that he had a hand in, and it should not take cajoling and rhetoric to remove someone who either had knowledge of illegal activity, or was so ignorant as to be incompetent for the job. It's such a waste of resources to have to deal with things this way. The law is the law, and the government should be run by competent and intelligent people, not yes-men with low IQs.

Posted by josuah at 7:25 PM UTC+00:00 | Comments (0) | TrackBack

Scary Movie 3

Scary Movie 3After watching Scary Movie 2, Luna wanted us to watch Scary Movie 3 which stars many of the same actors in returning roles and spoofs again many contemporary films like The Matrix, The Ring, and 8 Mile. The thing is, while I know and enjoy pretty much all of the films spoofed in the movie, I didn't laugh out loud while watching it. There were one or two chuckles, but that's about it. It could be that I was super tired, but I still don't think many of the jokes are that funny. They're goofy and slapstick which Luna really liked, but I found myself watching and waiting for something more interesting to happen.

Posted by josuah at 7:08 AM UTC+00:00 | Comments (0) | TrackBack

August 26, 2007

First Game Night with Wendy

We had our first game night with Wendy, Brian, and Thomas just now. They have game nights fairly often, with a usual crowd which Luna and I haven't met before. This time, though, game night was at our house and it was just the five of us. Which is a good number. We ordered take out from Buca di Beppo because I had a $10 gift card that I received in the mail at some point, but Thomas is picky about food or something and brought his own Chinese food. Wendy was really happy to meet Nami and Kiba, and to play with them. I think she said she likes Nami more, but that might have just been because Nami was wearing her cone which makes her look cuter. Brian couldn't remember their names. :p

Settlers of CatanAfterwards, we played Settlers of Catan. I think SoC is my favorite board game, and it's one that Wendy and Brian really like to play also. I guess they are used to playing with someone who has some house rules and does some things a little differently, while I'm only used to playing by the specific rules mentioned in the rule books. I guess they have also never played any of the non-predefined maps, because this time we played random (which actually shows up in some of the map books) and they were a little surprised. Brian won the first game, and Wendy the second; we played with Seafarers the second game.

Wendy and Brian are incredibly competitive, but Brian more so I think. Brian spends a long time trying to figure out the right move, and tries to be tricky about his cards and trading and stuff like that. They were sitting next to each other and often arguing (in a friendly manner) about trades and points and strategies and other things like that. Often poking or pinching each other too. :) Thomas was a lot quieter, but built steadily. Luna and I were also kind of poking at each other, but not so aggressively as Brian and Wendy. Even though Luna played before, with Karen and Sebastian, she'd forgotten all the rules.

It wasn't anything bad, except for one time that Brian tried to take one of Wendy's resource cards after using the robber without waiting for her to give it to him. He grabbed a development card instead, which Wendy smacked down on to make sure he couldn't see what she had. But that ended up bending the card pretty badly. Brian gave me a replacement card though, which was nice of him. Otherwise it'd be really easy to spot the card in the development card deck.

For the second game, Luna and Brian switched seats so Brian and Wendy couldn't reach each other anymore. Things became a little calmer then; I think it's probably best if they are out of each others reach for these kind of games. After the game though it doesn't matter. They don't hold grudges or anything like that.

The second game ended after I traded a sheep resource to Wendy, which allowed to her build a city and reach twelve points. In retrospect, it may have been wiser to not trade with her, but I don't think I had that good a chance of winning anyway. The early game had stuck me with very little resources after being cut off by one of Wendy's settlements, and I needed longest road or largest army to have a chance, but Thomas was far ahead of me in road length and Wendy had like six soldiers out.

Anyway, we ended around 3am, and they left shortly afterwards. Luna had a really good time. Better than she thought she was going to, and she wants to play again sometime soon. It'll probably be a while before we play again though. Alla is coming back for the Labor Day weekend so we're going to meet up with her then. Maybe the weekend after.

Posted by josuah at 11:01 AM UTC+00:00 | Comments (0) | TrackBack

August 25, 2007

Punishing Patriotism

MSNBC is reporting on how the U.S. military and current administration is actively punishing whistleblowers of fraud and corruption in the rebuilding of Iraq. Putting aside the entire question as to whether or not Iraq should be in a position where it needs to be rebuilt, the fact this is going on just points further as to how the current administration and its "military-industrial complex" is trying to use propaganda and information control to guide the American citizen towards a neo-conservative and far-right political view. (I hate the fact I used the term "military-industrial complex" but unfortunately that's the correct term for it right now. Companies like Halliburton, Fox News Corp., AT&T, and the the U.S. military are actively supporting the administration's illegal or unconstitutional activities.) What can we do when there are no police to arrest and hold accountable these people and organizations? If a regular citizen had committed these crimes, he'd be arrested and in jail, pending trial. When is Congress or the FBI going to enforce the same on the Executive branch and the executives of these companies?

Posted by josuah at 10:58 PM UTC+00:00 | Comments (0) | TrackBack

Scary Movie 2

Scary Movie 2Luna watched Scary Movie back in Shanghai, and she thought it was super funny. So we watched Scary Movie 2 tonight. This one in the series spoofs a whole lot of movies, although many of them are short spoofs. The one long-running spoof is of them trapped in the haunted mansion, trying to defeat the ghosts that are sort of trying to kill them but not really. I kind of felt like there were too many little spoofs without anything really funny about the spoofing of those movies. Luna really liked it though. She found some parts really hilarious, and other parts entertaining if they weren't hilarious.

Posted by josuah at 7:43 AM UTC+00:00 | Comments (0) | TrackBack

Nami has Diarrhea

Nami with her Elizabethan ConeNami has had diarrhea for a little over a week now, and it isn't getting better. She's been avoiding the litter box (Nami is very picky about it anyway) and chooses instead to poop onto the floor around the litter box or in the bathtub. She's also been aiming her pee into the bathtub or sink drains, instead of the litter box, if she can get to it. And with her diarrhea, she hasn't been able to control her poop as much and sometimes she drips it around, or sits on something and leaves a poop stain. So I took her to the vet today and they took a stool sample and examined her for any other symptoms. She's still very active and eating and drinking well, so the doctor isn't too concerned and suspects it might be parasites.

I took Nami home with an Elizabethan Cone on her head, to prevent her from cleaning herself after pooping. Instead we have to clean her butt using baby wipes and we also got some medicine to spread on her butt after cleaning to help it heal. The vet also gave us a de-worming pill again, just in case there are parasites inside her, and also some antibiotic pills that we have to give 1/8 of twice a day for eight days.

Update: the stool samples came back negative so Nami does not have parasites. Her diarrhea is also getting better.

Posted by josuah at 5:42 AM UTC+00:00 | Comments (0) | TrackBack

August 24, 2007

Netflix Blogs

It seems like Netflix is jumping onto the blog bandwagon. There are employees who have personal blogs, such as myself and Michael Rubin. Personal blogs, of course, do not represent Netflix even if the company may be mentioned in it. But there is now an official Netflix Community Blog, which is moderated by Rubin, that was created as a way of communicating with customers and the rest of the world in general. Earlier this week, Reed Hastings, CEO of Netflix, started a personal blog as well; but he's quite aware that his blog reflects upon his position as CEO.

Posted by josuah at 7:15 PM UTC+00:00 | Comments (0) | TrackBack

All About Lily Chou-Chou

I'm not going to write a lot about the film All About Lily Chou Chou. I didn't bother to watch the whole thing. Luna picked this movie because it's supposed to be famous and she likes the people in it or something. But the movie just isn't good. The story is boring and slow and it was shot on such a low budget I think a mass-market camcorder was used without anyone in charge of the lighting or anything else. As far as I can tell, the story is about a 14-year-old boy who starts liking the music of some pop star Lily Chou Chou, and starts participating in a fan site. But he's also an idiot who lets a bunch of bullies abuse him all the time.

The only good thing about the film is the music. It's not great, because either it wasn't recorded very well or something else about how the movie was made decreased the quality. You can tell it's missing something that you'd find or a CD. But there are some pieces where I liked it more to close my eyes and listen than to be distracted by the blurry picture on screen.

Posted by josuah at 5:35 AM UTC+00:00 | Comments (0) | TrackBack

Wallace & Gromit: Curse of the Were-Rabbit

Wallace & Grommit: Curse of the Were-RabbitMaybe it's because I'd already seen the ending on the airplane, but Wallace & Grommit: Curse of the Were-Rabbit seemed to lack humor. I don't actually think it is because I'd seen the ending. Movies like this, when funny, are supposed to be funny no matter how many times you've watched it. I think it's kind of like how the Mr. Bean shorts are really funny when he's not talking, but then his movie wasn't. It seemed something like that. So I was disappointed that it wasn't as funny as I hoped it would be. Luna didn't like it at all, and even fell asleep in the middle.

If I were to pick the most amusing part of the movie, I'd say it was the little bunnies. Unfortunately, they don't play a large part in the film. Neither, in fact, do Wallace's contraptions. There are contraptions, but they don't actually matter that much and their "contraptionism" doesn't matter that much. There are little jokes and funny things here and there, but I want antics. And there aren't enough antics to go around this time.

Posted by josuah at 4:46 AM UTC+00:00 | Comments (0) | TrackBack

August 23, 2007

You've Got Mail

You've Got MailLuna decided to watch You've Got Mail because the English language lessons she is listening to these days talked about the movie. I guess she wanted to know a little more about what they were referencing so we watched it. To be honest, it was better than I expected it to be, but that's not really saying all that much. I think to a large extent the movie was put together to make money, since it put Tom Hanks back with Meg Ryan for another romantic-comedy-in-the-big-city-between-two-people-who-are-far-apart-but-come-together. In other words, Sleepless in Seattle, also starring Tom Hanks and Meg Ryan. This time, they're both in New York and instead of the radio and snail mail, they exchange email over AOL. The movie was made in 1998, just as AOL was starting to fall apart.

The one thing I did kind of like was how the story captured the difference in personalities a person has in RL as opposed to online. The manner of speaking when you write an email, or communicate in a chat room, is very different than how you would speak to others that you meet in person. Both Hanks and Ryan exhibit this behavior in the film.

If you do watch this movie, the only thing I'd say is be prepared for it to be as realistic as any other romantic comedy. In the end, everything works out romantically, but all the other details are ignored.

Posted by josuah at 5:31 AM UTC+00:00 | Comments (0) | TrackBack

August 22, 2007

Stranger Than Fiction

Stranger Than FictionI think Samir is the one that recommended I put Stranger Than Fiction onto my queue. I'm glad I did, because it turned out to be a really wonderful movie. It's intelligent, witty, unique, and kept my attention the entire time. In an interesting way, this film about a book made me really think the way reading a book would, and is a "page turner" in that respect. The film works on a lot of different levels because of how its put together the same way a story would be. Most movies or books of this type are supposed to have some meaning because of the depth of its characters or the plot. But this time the slice of life is presented as an interesting idea by placing you outside the story. And just like Harold Crick, I didn't know if this was going to end up being a tragedy or a comedy.

The beginning of the movie is pretty interesting in its own way. Harold Crick works for the IRS as an auditor. He's probably in his late thirties, and is obsessed with numbers in an autistic sort of way. He counts his steps. He counts the number of tiles on the floor. He always does the same thing, each day, at the exact same time. All of this is explained by the narrator as Harold is introduced to you. But suddenly, Harold can hear the narrator too. And so as Harold's day-to-day routine unravels because he thinks he's gone insane, he meets a woman Ana Pascal who is going to change the way he thinks about life.

Harold is played by Will Ferrell, but this is not a comedic role. It's a serious character, who quite literally belives himself to be a character it someone else's work of literature. It's interesting to imagine how one's life may just be a plot device. A character who was created for a specific purpose, and then discarded once that purpose has been fulfilled. Ferrell does an excellent job, in my opinion, which shows that he can do more than be the goofball.

Ana Pascal is played by Maggie Gyllenhaal, and I think this is the first time I've seen her in anything. She also does an excellent job with her character. You can really tell what she is thinking, or trying to convey, through the quality of her words and body language. I think she's an intriguing actress, because she doesn't seem to be the kind of woman that gets cast into a leading role. It's almost like she's the person that isn't an actor or actress. She doesn't really look like one, and it doesn't really seem like she's acting. But I suppose that's what it would mean to actually be a great actress.

Anyway, I liked everything about this movie. The story, acting, ideas, music (not remarkable but still very nice), and the precise balance by which you, the audience, is both outside the story and part of it at the same time.

Posted by josuah at 7:34 AM UTC+00:00 | Comments (0) | TrackBack

The Emperor's New Groove

The Emperor's New GrooveThe Emperor's New Groove is several years old, and I've never found it appealing enough to watch. Luna thinks it is funny though, and so we watched it tonight. I just don't think there's a whole lot to the film. It just seems too simple for me. I'm sure it's great for kids though, because it plays just like a Saturday morning cartoon (only longer) and has action, excitement, bad guys who lose and good guys who learn a valuable life lesson in friendship. And I'll admit I did find one or two spots funny, but overall it didn't do anything to surprise me or make me laugh out loud. Too straightforward and the plot predictable. And I also had a really hard time getting the voices of David Spade and Wendie Malick out of my head, having watched them on Just Shoot Me! for so long.

In fact, I didn't think the voice actors were well chosen. David Spade didn't sound right as the Emperor. Something about his voice didn't fit the body. And Wendie Malick doesn't actually sound as young and lively as Chicha looks. Even John Goodman doesn't really fit the body of Pacha; Pacha's more fit than the voice sounds, I think.

The other main attraction of a film like this is the songs. And there really isn't a memorable song during the movie, and I can only vaguely remember two or three songs with singing in them. Other movies of this type, especially Disney movies, have timeless songs that children and adults will remember, even after they've forgotten other things about the movie. Nothing of that sort here.

Posted by josuah at 5:22 AM UTC+00:00 | Comments (0) | TrackBack

August 20, 2007

Time to leave? Time to become a hermit?

The Real ID Act is making headlines again, although it really should be getting more MSM attention than it has been getting so far. CNN has published an article about what is required for states to comply with the act, and the privacy concerns associated with it. A few states and both the EFF and ACLU have been lobbying against the act, and I strongly disagree with it as well.

Ever since introducing more and more security theater at airports (how can any intelligent person believe a 4oz. liquid restriction is the answer to terrorist attacks), I've been more and more bent on boycotting travel by air. I simply don't want to put up with the stupidness of such things, and feel like agreeing to do so for the purpose of travel is an implicit acceptance of this policy. There should be no restrictions on my travel within the United States, be it by car, bus, train, or plane. Anything less is how you treat a criminal. It's perfectly legal to fly without identification right now, and it should remain so even if you do have to jump through extra hoops.

Bruce Schneier recently interviewed Kip Hawley, head of the TSA, about all of this security theater. A good read for anyone who really wants to understand what the TSA is trying to accomplish, how it is trying to do it, and what some of the real concerns and complaints with their approach are.

So this all leaves me with a question. One that I've been asking myself for a long time, probably over the past four or five years. Should I make real plans to leave the United States? The alternative is to remain in a system where our civil liberties have already been taken away and both domestic and foreign policy has made the U.S. very unpopular (as it has with me). Surviving in such a system requires me to accept the loss of the things I believe in, because once laws and powers are granted in Congress they're almost never repealed. I have little hope that a Democratic President or legislative majority will undo what has been done.

Where would I go, anyway? Many countries are either directly involved or supporting U.S. illegal activity, such as rendition. Although it is heartening to know many countries are conducting investigations into and trying to stop their involvement. I wouldn't be comfortable in a culture that was very different than the one I'm used to. Britian has become the country with the highest CCTV to citizen ratio in the world. Canada is a good possibility though, despite their publicized role in rendition which seems to be a result of trusting the U.S. more than they should have.

Posted by josuah at 2:59 AM UTC+00:00 | Comments (0) | TrackBack

Robin Hood: Season One

Well, I started watching the first season of BBC's Robin Hood with "modern sensibilities" and I immediately didn't like it. Luna agreed with me that the show was pretty stupid and poorly made. How can you like a show where in the first episode a troope of horses sneak up to within a few meters of a person in the forest, Robin Hood has a sword fight where the primary goal seems to be to perform as many ineffective but flashy moves, and the castle archers can't hit people that are ten feet away? Well, I suppose you could if you really didn't care about any of that. The appeal of these modern sensibilities appears to be mostly a failed attempt at making Old English sound hip. But if you give it a little longer, things actually get better after the fourth or fifth episode.

Although things do get better, that's not to say they become great. Each episode pretty much stands alone with some sort of idea or lesson to be told or illustrated through the actions of Robin Hood and the peasants involved. The badly choreographed fight sequences and focus on flashy presentation are slowly replaced by actual plot and drama, although the plot and drama isn't all that deep or complicated. Still, once that happens the show becomes an acceptable diversion. It won't win any awards for acting, or costumes, or plot, or pretty much anything though. It also becomes a little tiring to see how many excuses the writers have to come up with so the Sheriff of Nottingham and Guy of Gisborne don't just die, even though Robin Hood has more than ample opportunity to do so.

I do have to say that the first season finale is somewhat satisfying. The situation does actually move forward in the final episodes, with the conflict really coming to a head under the public eye. However, in the last fifteen minutes everything gets fixed up and the world is back to normal (and there's one last incredibly stupid bow and arrow trick just to make you feel dumb again) and ready for another pointless episode when season two begins.

Posted by josuah at 2:13 AM UTC+00:00 | Comments (0) | TrackBack

August 19, 2007

Cypher

CypherI ended up liking the science-fiction thriller Cypher more than I thought I would when it first started out. I think the reason I liked it so much is because the film keeps you guessing, and Jeremy Northam does such a good job at playing a character that has to keep guessing too. The movie opens with Morgan Sullivan, Northam's character, going through a job interview to become an industrial spy. His personality is strange: willful but subdued. As things move forward, it becomes less clear exactly what is going on, who is in control, and who to trust. Sullivan bounces between startling revelations that threaten his life, and somehow has to find a way out.

While the majority of the film focuses on Sullivan, his life-line, so to speak, is his contact Rita Foster, played by Lucy Liu. Sullivan wants to trust Rita, because she's the only one that doesn't seem to be trying to use him. But she's secretive and reportedly works for someone that no one trusts. I think Lucy Liu was a great choice for this role, because she has a certain flair and pulls off the role of secret agent very convincingly.

The CG in this film isn't perfect. It's not bad or poorly done, but it's also not seamless. When CG is used, it's somewhat obvious and I always feel that reflects poorly upon a film. CG should be used to create a reality that is part of the whole, instead of single-shot special effects that suddenly don't fit with the rest of the environment or movie. While my complaint does not apply to every use of CG in the film, I still think it could have been done better.

Still, overall the directing is pretty good and I also think the score works pretty well. This movie isn't a blockbuster and won't become a cult classic either. It lacks a truly unique vision or something new and exciting. It's just a really good thriller.

Posted by josuah at 6:00 AM UTC+00:00 | Comments (0) | TrackBack

Death Trance

Another movie that isn't very good. Death Trance is a no-story, no-sense, beat-em-up action movie that doesn't actually have much to do with death or trances. The premise is simple: there is a coffin which will grant its owner any wish and a few different people who try to get this wish. Of course, the real result of opening the coffin is a little different. Because this film doesn't even try to have any purpose beyond the fighting, there's nothing else to talk about. The combat is highly choreographed stylistic violence, with an emphasis on "coolness" without making sense. The hordes of fist-fodder don't even fight back. There are three really good fighters in the film, and the only time things aren't a one-way beating is when they're fighting each other.

Two little tidbits of note. This is the acting debut of Kentaro Seagal, the son of action star Stephen Seagal, who happens to be asking the FBI for an apology these days. The film features music by Dir en grey, a famous "J-rock" band that seems more heavy metal and industrial than rock to me.

Posted by josuah at 6:00 AM UTC+00:00 | Comments (0) | TrackBack

Midori Days

Midori in her I Love Seiji (for Life) ShirtWhile not great, the anime Midori no Hibi is fun to watch and is in many ways your typial shonen anime with decent amounts of fan service and subtle jokes. Of course, the most obvious joke is the basis of the story: a 17-year-old boy wakes up to find his right hand (which is his fighting hand) has turned into a 16-year-old girl who has had a crush on him for the past three years. Seiji has to learn how to cope with a cheerful girl stuck to him 24/7, when his place in life has so far been very isolated and somber. He has a reputation for being a violent and delinquent punk and portrays that character in public, while inside he secretly longs for a more normal high school life (and a girlfriend). Midori also has two public and private sides to herself. In public, she is extremely shy and unsure of herself. In private, and as Seiji's right hand girl, she's loud, bold, and full of energy.

Midori spinning in her KimonoThere are a few other characters who play important parts during the anime. Seiji's 10-year-old neighbor also has a crush on him, and seems to know more about male and female relationships than should be appropriate. The class president, Ayase, is a super-serious and head-strong student, but tries to show her softer side after finding out what Seiji is really like. Seiji's older sister, Rin, is even "tougher" than Seiji and occassionally has fun beating him up and in general causing him grief.

Midori in Police Woman CosplayI feel like the anime is split into three parts. The first third is probably the funniest, with both Seiji and Midori having to try and figure out how to continue living this way and all of the crazy things they have to do to try and hide the truth from others while discovering truths about each other. The second part is not as fun or interesting to watch though. Some of those episodes felt a little like filler, although in another sense it shows just how familiar Seiji and Midori have become. It's more of a normal part of life at that point. And of course the third part brings everything to conclusion, forcing Seiji and Midori to make their own decisions and grow as a character.

From a technical standpoint, Midori Days is done very well. The art and sound is excellent, which isn't too surprising considering it is only a few years old. There's a certain vibrancy and engaging pace that makes it very easy to watch and keep your attention. Luna watched it too, but doesn't find it interesting except for the funny parts. She doesn't really care about characters or plot, only if there is something hilarious going on. I thought the Japanese voice acting was very good too, and somehow the voice of Midori seems very familiar, but checking the history of Mai Nakahara I haven't seen any of the others. The English ADR is not good though. I wouldn't recommend watching this dubbed.

I suspect if you like the anime, you might like the manga as well. I'm considering whether or not I should get it. Although this really isn't my type of anime or manga, it does seem like it would be an amusing read and one that I might read through more than once.

Posted by josuah at 6:00 AM UTC+00:00 | Comments (0) | TrackBack

August 18, 2007

Kazuo Umezz's Horror Theater

Next in Luna's series of Japanese horror films is the 6-episode Kazuo Umezz's Horror Theater. Each episode is its own short story, about an hour long, and generally focuses on one particular psychological fear or disorder of some sort. If you like a sort of supernatural bent to an issue like that (e.g. dealing with the loss of a loved one, obsession, fear) then you might like this series. However I didn't like it at all. The stories moved slowly, and the scenes were often longer than they should be, ruining the pace of things. The directing appeared amateurish in many cases, resulting in disjoint scene cuts that did not maintain the correct perspective or cheap ways of achieving something. The special effects were pretty cheaply done; you can tell when something is fake because of the stilted movements and unrealistic appearance. The acting was also very inconsistent, but mostly on the low end. And there was no good mood music. A good score could have helped support the stories and compensate a little for the other flaws, but most of the time there was no music. When there was, it was usually wrong.

Posted by josuah at 5:38 AM UTC+00:00 | Comments (0) | TrackBack

August 15, 2007

Whisper of the Heart

Shizuku Tsukishima by Tatsuno HiroyukiWhisper of the Heart, or Mimi wo Sumaseba, is a Studio Ghibli film produced by Hayao Miyazaki (he also wrote the screenplay), but it was directed by Yoshifumi Kondo and is based off a one-volume manga by Aoi Hiiragi. The anime is about a young girl and boy who end up falling in love, with the focus on the girl, Tsukishima, learning things about herself and love. I really liked this film a lot. The story and characters are endearing and fun to watch, and will put a smile on your face.

Tsukishima has an adventurous and bold personality, with just a bit of soft little-girl-femininity. She has a quiet determination, and looks at the world with her own unique perspective. It's a perspective that includes the sort of magic and imagination a young child has, coupled with moving into the world of adolescence. This lets things serve a purpose in many different levels. For example, the Baron could be alive and just pretending to be a statue, and then later on takes on a much deeper meaning for both Tsukishima and Shiro Nishi.

I was a little surprised at the score used during the film, the first time it popped up. It's not conventional. It has some electronic influences, in a film that doesn't really have that mood. But it works, and after a while it feels right. I think that has a lot to do with the colorful and lively attitude of exploration and excitement than Tsukishima's character portrays.

Among the other Studio Ghibli films, I think Whisper of the Heart is closest in feel to Kiki's Delivery Service. I just thought I would mention that, because this film did remind me of Kiki in a lot of ways.

There's also a nice little reveal during the closing credits, if you watch closely. I thought it was a really nice touch that showed just how much the people involved care about the characters.

(The image is from Tatsuno Hiroyuki's web site, which no longer appears to be available. I pulled it off the Wingsee art page.)

Posted by josuah at 7:04 AM UTC+00:00 | Comments (0) | TrackBack

One Missed Call

One Missed CallLuna's entered another one of her horror movie phases, which means Japanese horror movies. One of her favorites is One Missed Call by famed director Takashi Miike. This movie follows the familiar plot line of a sort of death curse that moves from one person to another, as each person dies. It's up to the one girl who has seen her friends die one by one to figure out how to stop the curse from continuing. In this movie, the victims receive a voicemail from the future, from themselves with a recording of their death. The curse moves onto the next person by following a call from the victim's mobile phone address book.

I didn't like the movie, but for the reasons that fans of the genre would like it. It's creepy without being just one big gore-fest. It features pretty girls trying to escape from their imminent death. You have to try and figure it out as it goes along, and in true Japanese fashion there is some sort of horrible background that is the source of the curse. (American horror films are usually just the result of a psycho.) It moves a little slowly though. Overall it's just not my taste.

Posted by josuah at 5:01 AM UTC+00:00 | Comments (0) | TrackBack

August 14, 2007

The One Good Sony Advert

A bunch of Bravia bunniesSony has a pretty poor reputation for choosing (arguably) racist, blasphemous, or other questionable advertisement images. But there is one campaign that Sony has done exceptionally well: the Bravia: Color Like No Other live-art advertisements. The first in the series was the Bouncy Balls in San Francisco, then the Paint Explosion, and now comes the Bunnies in New York City. I love it. :D Check out more photos at Gizmodo and from a couple of Flickr sets: bravia-ad and Sony Bravia.

Posted by josuah at 10:04 PM UTC+00:00 | Comments (0) | TrackBack

Cure for Cancer?

Have scientists finally discovered the holy grail of medicine (other than resurrection which honestly no one is trying to find): a cure for cancer? That seems to be the result of stimulating the HACE 1 gene and then subjecting cancerous cells to radiation that would normally result in tumor growth. In short, if you activate this gene in cancerous cells, you stop the cancer and just need to get rid of the existing cancerous cells. Applying this in practice is a completely different hurdle, and the article does not state this works for all cancers, but it does include breast, lung, and liver cancer. Supposedly the research will be covered in an upcoming issue of Nature.

Posted by josuah at 9:15 PM UTC+00:00 | Comments (0) | TrackBack

August 13, 2007

Casino Royale

Casino RoyaleCasino Royale is good. Much better than the couple of Bond movies that came before, this film was directed by Martin Campbell who also did Goldeneye, the last really good Bond film in my opinion. This movie, and Daniel Craig as the new James Bond, is very different from the more recent movies. The overall tone is much darker, and Craig does not play a womanizer or flippant jet-setting secret agent but instead a ruthless agent on a mission. This carries over into everything, and Bond's life really is in danger, unlike previous films where Bond is cool and collected even as sharks or lasers are bearing down. The action is also very exciting. I think the first foot chase of the film might be the best I've ever seen.

Although this film is a remake of Ian Flemming's first Bond novel, it takes place in the year 2006 with all of the technology and political issues of the contemporary world. There is even a direct reference to the terrorist attacks of September 11, 2001. The villians in this film are not uber-evil maniacs with enormous but unexplainable financial resources, but instead just "organizations" with interests in something or another that involves violence and things of similar ilk. There are in fact four different plots strung together, with the main one providing the bulk of the movie, but each of which involves a different criminal activity. Although the movie does refer to all of them as terrorist activities, they really aren't by definition.

I did notice something interesting about this Bond film though. There really aren't many women involved, and there is a distinct lack of sexual overtness. The opening theme song is sung by a man and the accompanying sequence does not have any female forms in it. Bond never has sex with a woman as a strategy to turn her or gather information, or even just as recreational movie entertainment. Not to say he doesn't engage in similar tactics, but in this movie his actions are only until the point he has what he wants, and it does not at all appear to be something done out of pleasure. It's just his job.

Posted by josuah at 4:23 AM UTC+00:00 | Comments (0) | TrackBack

August 12, 2007

XHTML as HTML and True Image Overlays

I ran into two issues while trying to make sure my new web site is compatible in Safari, Firefox, and Opera. (Internet Explorer 6 makes up about 30% of my traffic, and Internet Explorer 7 about 20%, but I am not going to use non-trival hacks to deal with a non-compliant browser.) The first issue was a situation in Opera where the Gallery popup images would not display. The second was the different overlay behavior of the Gallery popups in Safari, Firefox, and Opera. You can view the behavior I tried to make identical in all three browsers by clicking on any image in my photo album; the page should be covered with the full-size image and some controls at the bottom, and clicking on the info icon in the lower-right should show image details in a popup frame that is visible above the full-size image.

The first problem was Opera would not display the full-size image popup at all. It complained about the return value of a document.getElementById() coming back as undefined. However the same call worked just fine in Safari and Firefox. I posted a question getElementById returns null for empty anchor on the Opera community forums, and got a relatively quick reply explaining how even though the doctype and markup is valid XHTML 1.0 Strict, the MIME-type in the HTTP response headers is text/html. And having self-closing tags like <span /> results in bad things happening when the DOM structure is modified with JavaScript.

This is explained in further detail in Understanding HTML, XML and XHTML and in my forum reply, but the short of it is that changing the Content-type to application/xhtml+xml made using self-closing tags work, but broke everything else. Safari was no longer loading images correctly because the URLs didn't get sent out correctly. Firefox complained about something bad in the DOM structure. JavaScript was not being processed or executed even when using the <![CDATA[ ... //]]> modification.

For all those reasons, plus having HTML 4.01 embedded in my older blog posts, I changed the Content-type back to text/html and am instead making sure to use a full closing tag on any XHTML elements that require closing tags in HTML 4.01, such as <a> and <div>. I'd actually noticed that Safari wasn't doing the right thing all the time when self-closing elements like div, but didn't know the reason why until now.

The second issue was a little easier to resolve, once I saw how Opera was rendering things. In Safari, everything was looking how I expected it to, and how things look now in all three browsers. Firefox was doing something a little different where the header and footer divs were still appearing above the full-size image div, but my previous investigation led me to believe that was due to a case of float elements always having a z-index below those of positioned elements. But once I saw the rendering in Opera, I knew it was something else. Opera was showing the full-size image div enclosed entirely within its parent div with overflow hidden. So the fix was simple: move the image div out of its parent div and make it a child of the body. I also had to make the image details div a child of the body, otherwise it would be constrained as well and could not appear above the full-size image div.

I ended using a little bit of JavaScript to move the two divs into the body, because of how my Smarty templates and PHP header and footer include files are being used. Here's some code that does what I described:


function relocate(id) {
app_body = document.getElementById(id);
while (app_body && app_body.tagName != 'BODY') app_body = app_body.parentNode;
var imageview = document.getElementById(id);
var parent = imageview.parentNode;
parent.removeChild(imageview);
app_body.appendChild(imageview);
}

Posted by josuah at 8:27 AM UTC+00:00 | Comments (0) | TrackBack

Rita and Ryne's Birthday

Luna and I just came back from Rita and Ryne's joint birthday. It's not actually Rita's birthday until next week, but since the two of them have birthdays close to each other, they celebrated together with dinner at T.G.I. Friday's and then bowling at the STRIKE bowling alley, both next to the Vallco mall. We got there late because Luna took too long to get ready and then we went the wrong direction after getting off I-280. There were probably about thirty people there in total. I only know Rita and Ryne, of course, and Ellen, Brian, Marty + Huong, Karissa, and Veronica. We ended up sitting near Karissa and Veronica, and a bunch of other SVL IBMers that I don't know.

We ended up not going bowling though. Luna did not want to stay out late. However, Luna's father's birthday is coming up soon and she wanted to buy something for him. We first tried walking through the Macy's at Vallco but they closed right when we went in. The stores in Vallco close earlier because it doesn't have as much traffic. So we went to Oakridge on the way home, and looked around a few places. Luna wanted to find something collectible first, but you can't really buy that sort of stuff from stores at the mall. Instead we ended up getting him a tie from Macy's.

Posted by josuah at 5:18 AM UTC+00:00 | Comments (0) | TrackBack

August 11, 2007

Rome: Season One

Rome (HBO)HBO has created an amazing historical drama: Rome. Whatever they're doing to figure out how to make original content, they're doing it right. Season one of Rome follows the fall of the Roman republic and rise and then sudden fall of Gaius Julius Caesar, as well as the lives of two soldiers of the 13th legion during that same time. With characters from both the aristocracy and plebian classes, the series presents a really vibrant and wonderfully accurate picture of Roman civilization at the time. Of course many of the specifics of things are pure speculation and dramatization, but I don't think most people are in danger of taking those things at their face value. The only exception being the close relationship between Caesar and the two soldiers, Vorenus and Pullo, when there is no historical knowledge of such a relationship from what I know.

What is amazing is that no expense was spared in the production of this series. The sets are lavishly constructed to exacting detail on such a grand scale. The costumes, dirt, props, clothing, and everything else is realistically rebuilt as well as can be from historical documents. The designers and writers really did their homework, as can be seen from the situations and people and little things in every scene throughout each episode. The full religious influence and social and cultural aspects of Roman civilization reveal themselves all the time. And the actors are outstanding in their portrayal of the same.

It's important to keep in mind that means this show does not flinch from depicting many things that contemporary people would find offensive, disgusting, or even simply foolish. But ridding oneself of an ethnocentric view towards things is one of the best things a person can do. The DVDs come with a special feature "Roads to Rome" which changes the angle and will overlay informational tidbits in a pretty decorative box throughout the show, explaining words, phrases, situations, and other values of the time. Watching with this turned on can be very educational, and maybe even necessary for people who don't already have a background in Roman civilization. I say necessary because otherwise it could be very easy to dismiss things as there for the sake of drama or creative license, or to regard Roman civilization as barbarous when it was one of the most civilized.

I think that's what I really like about the series. It isn't shy about immersing the viewer in true Roman society while giving life to history in a facinating and entertaining way. I'd recommend taking a look at HBO's Rome Revealed presentations which are short introductions to some things Roman. A good starting point, but not really much in depth.

Of course, not everything is covered and there is argument over how Rome presents things. One of the things Luna picked up on was the contradiction between how people in the show seem to engage in sex all the time. Homosexual, bisexual, heterosexual, and the nudity of performers and slaves don't match up with the severe stigma associated with adultery. There's also a history of incest in the families of some famous Romans like Caligula and in Rome between Octavian (later the first emperor Augustus) and his sister Octavia. Yet incest was very much taboo back then as it is today. But I think the show does a decent job of depicting how things really were behind closed doors, when the public face of things was very different. It's just that most of the time things are taking place behind closed doors, so it's harder to pick up on those aspects that represent how one must carry themself in public.

For more historical inaccuracies and errors, check out the extensive documentation on the individual episodes listed on Wikipedia. Click on the actual episode title for the information.

Posted by josuah at 5:47 AM UTC+00:00 | Comments (0) | TrackBack

StudioTech SP-36 Speaker Stands

StudioTech SP-36I won a 20% off coupon several weeks ago and used it recently to purchase a pair of StudioTech SP-36 speaker stands. I replaced the 30" tall Plateau speaker stands I was using for the two surround speakers with these stands, which are 36" in height. With the Plateau stands, I had a cinder block underneath to raise the speaker over the top of the couch. Overall build quality of the StudioTech stands is superior, and the base plate and top plate both seem denser. The pillar itself also seems to be stronger. Although hollow to allow sand or shot filling, the ends are capped off which acts a little like an additional brace. The foam pads that are included with the SP series stands are also a little thicker.

I do have two complaints about the SP stands though. The first is the wire clips. They actually have a very nice clipping mechanism that lets you push the wire into it, causing the clip to close and grip the cable. However, the only method of attaching those clips onto the stand is by its sticky backing. This backing really isn't very strong, so my 14/4 speaker cable keeps pulling it off. My second complaint is the single screw used to attach the plates to the pillar. With only a single screw in the center, you cannot easily align the top plate and the bottom plate with each other. This makes it a lot harder to align the speaker with the bottom plate and floor. On the other hand, this does allow you to toe-in the speaker without toe-in of the stand, which might look better.

Crosman Copperhead BBsThe stands do need to be filled to increase their weight, mostly for safety's sake. Otherwise it is easier to tip over the speaker and stand. I looked for some lead or steel shot, but about the only place to purchase it in large quantities is off eBay. Instead, I ended up getting eight bottles of Crosman Copperhead BBs. Each bottle is about 4.5 pounds, and exactly the diameter of the speaker stand pillar. I think you could fill the pillars up with eight bottles each, but in my case I put four bottles in each pillar. The BBs were are more cost-effective than actual shot, but I haven't calculated if they're actually lead or not.

Posted by josuah at 12:58 AM UTC+00:00 | Comments (0) | TrackBack

August 10, 2007

Asuka Isn't Eating

More bad news concerning our cats. Asuka has become extremely underweight. You can feel the bones on her spine and ribs, and even stick your fingers between them a little. She only weighs a little over seven pounds, but she should weigh closer to nine. I think the stress of Nami and Kiba may have gotten to her, and we're just now seeing the effects because it is so hard to actually tell if they are eating. Right now, Asuka doesn't have a taste for regular cat food and is only interested in tuna. We'll feed her tuna if that's what it takes to get her back on track, but hopefully this won't last long.

When we took Asuka into the vet the week before, so we could get deworming medicine for her, we also had them run some blood tests since she was so underweight. The tests came back normal, so at least there isn't something strange going on with her and she's not sick. However, the veterinarian did caution us that if she wasn't better in two weeks we need to bring her in again for a more thorough analysis. It might be cancer, although that doesn't seem likely given her relatively young age.

It might also be that Asuka has a more severe case of tapeworms, and that combined with the stress of the new kittens making her not eat is why she is so thin.

Posted by josuah at 5:45 AM UTC+00:00 | Comments (0) | TrackBack

August 7, 2007

Luna Got Her Learner's Permit

Luna got her driver's learning permit today. She walked to the DMV this morning and took the test, but had to wait a long time to do so because it was so busy. Not too surprising, since it was a Monday morning and nearing lunch time. The person there didn't say how many, if any, she got wrong, but Luna tells me she guessed on about three of them.

Posted by josuah at 1:43 AM UTC+00:00 | Comments (0) | TrackBack

August 6, 2007

Serenity

Serenity Movie Poster (German)I watched the first few episodes of Firefly when it was airing on television, and never really got into it. Sure, it was a decent cowboy space opera, but it didn't seem to be going anywhere in particular. I was never interested in Cowboy Bebop either though. Anyway, there was a ton of hype and excitement about Serenity, especially among the hard-core Firefly fans. And it looked like the kind of movie I would enjoy, so Luna and I watched it last night. I think the movie can be summed up as a really good episode of Firefly with some answers revealed and larger risks exercised. But just like the show, you're still sort of in the same place you started.

If you liked Firefly, I'm sure you'll like Serenity a lot. The movie is very well done, and the only criticism I have is the one I mentioned above where it feels like one episode of an ongoing storyline, only you know the storyline isn't going to reach any real conclusion. The special effects and combat choreography are top notch and blend seamlessly into the overall weave so you never feel like something is there just to show off. Sometimes those things are either focused on too long, or the only thing to look at, which makes the movie suffer. But not here. There also aren't any cheap camera tricks or scene cuts to try and up the excitement artificially.

I should also briefly comment on the sound. The score and sound effects are also very well done, but there isn't anything really memorable here. Some movies will leave you with a theme song or chorus melody that is unforgettable, while others will really impress upon you a aural feeling that will make you remember the movie's audio, even if you can't really explain why. Serenity's sound blends into the movie perfectly as a mood enhancer, but it doesn't do anything else.

Joss Whedon is known for the quality of his screenwriting, and Serenity is no exception. The story is interesting, moves at a good pace, with little twists here and there but also a healthy amount of things being obvious or expected to the viewer, so the casual viewer won't feel like you he doesn't know what's going on. There are two different science-fiction themes running through the movie. The first is the centralized government versus the outer-rim colonies. The second has to do with conspiracy and cover-up of a scientific accident, which is already giving away more than I should but the movie's been out for a while now. These are decent additions to the story, but I would have liked more exploration of them than they could fit into the two hours.

Posted by josuah at 4:12 PM UTC+00:00 | Comments (0) | TrackBack

New Web Site

Today I released the new personal web site I've been working on, which you are looking at now. This version only uses CSS for presentation, completely decoupling the display from the XHTML markup. I also have different CSS for screen and print media, which lets me do some cool things. I am using PHP for everything, including the blog archives, so I can include some programmatic behavior in the content and display. Paul asked me why PHP instead of Ruby, but PHP is much more established and almost all decent web applications are in PHP, which means easy integration. My goal for this version of the site was to make it much more visually interesting and exciting to read, and more dynamic in nature.

I originally tried to use JavaScript to make all content load into divs on the existing page, partially because I liked the idea of implementing dynamic behavior like that, but discarded the idea after struggling to make it work right for way too long. The biggest problem was dealing with dynamically loaded JavaScript. I found the most reliable way of ensuring JavaScript would evaluate correctly and in the global scope was to include the JavaScript block in some part of the actual DOM document, rather than evaluating it.

The AJAX framework I decided to go with is script.aculo.us and Prototype. The latter is actually more interesting than script.aculo.us for building interesitng behavior and custom effects. script.aculo.us just provides some stock ones that are nice and useful. I looked at Dojo for a short while, but while it has much better documentation than Prototype, I think Dojo is a little too low-level and I can be more productive with Prototype.

As a side, Prototype evaluates JavaScript returned from an Ajax.Request using calls to eval() in a local scope. Which makes it not do the right thing a lot of the time. I had to modify Prototype's evaluation code so it just inserts returned JavaScript into the page. Prototype also has a bug where it inclues all form elements on submission, instead of only identifying the elements that would be sent if the form was submitted by the browser. As a result, I had to remove the Preview button from the blog comment form.

You might ask why use Prototype to submit and display the results of the blog comment form, but unfortunately MovableType has two pages which it cannot generate PHP for: the search results and comment preview. So for those two situations, I had to use the Ajax class to display the returned XHTML inside the existing page, to maintain the look-and-feel.

Switching to PHP for the blog archives means a lot of old URLs are no longer valid, since the blog archives used to be generated with .html extensions. Rather than return 404 to everyone that's linked to these pages, including my own pages, I put a RewriteRule into the archives directory that will map requests for .html onto .php.

I also decided to discard the MyPhotos photo gallery implementation I had been using. I'd written it a long time ago, before there were really any good photo gallery web applications available, but now it is out-dated and lacks much of the functionality you'd really want. So I've switched over to Gallery, which is probably the most popular of all photo gallery web applications. It's also written in PHP, and has a very active user and developer community, and support for lots of features. It's open source, so I can figure out exactly how it works (unfortunately the API documentation is pretty lean) and customize it. It also uses the Smarty template engine, so I ended up learning how that works. The only thing missing from the current version of Gallery is being able to override module templates from the theme. That's scheduled for release in the next version though.

Unfortunately, trying to do things in pure CSS has one major problem: Internet Explorer. Despite being the most used web browser, it's also the worst web browser. It never supports the web standards the rest of the browsers do, and the web standards it does support it does so in incomplete or incorrect ways. Its parsers are broken, and its rendering is wrong. Internet Explorer really is still the worst thing to happen to the web.

My first implementation does not work with any version of Internet Explorer. I fixed it a little so it would work with IE 7 by removing all uses of CSS @import, but IE 7 still won't work with the dynamic behavior I am using in my custom Gallery theme (based off the Hybrid theme). And if you try and view my site in IE 6, it looks completely broken. I suppose this is a little better than my previous site, which wouldn't even necessarily display in IE at all, because it was valid XHTML which wouldn't parse correctly.

One last thing I wanted to make sure of was that I wasn't going to lose all the work I'd put into the previous site. So before switching everything over, I installed Subversion and checked everything into a new repository. Now that I've switched over, a lot of the old documents are deleted or changed, but I still have them in the repository and can get them back whenever I might want in the future.

Posted by josuah at 2:45 AM UTC+00:00 | Comments (0) | TrackBack

August 4, 2007

Niea Has a Tapeworm

Luna found something yucky on Niea's butt last night. A white, squirming little worm thing near her rectum. It turns out that Niea has tapeworms. We're not really sure where Niea got her tapeworms. The typical method of infection is when a cat eats a flea that has the eggs in it. But all of our cats are strictly indoor. Which means the likely cause is either Nami or Kiba because they might have had fleas or something else when we adopted them, or all of the recent medical activity for all of them. I haven't noticed a lot of scratching, which means at least there aren't a lot of fleas in our home. Fortunately, treating tapeworms isn't too bad; you just need some prescription medicine from the veterinarian.

Niea, Asuka, and Chie each got one and a half pills of the medicine, and Nami and Kiba got one pill each. Since we know for sure Niea has the parasite, we have to give her another dose of one and a half pills in three weeks.

Besides the medicine, it's also important to try and make sure any fleas that might happen to be in the house are killed. So we vacuumed everything that the cats might have slept on or been near, from the carpets to the chairs, and laundered everything else like the blankets. That takes care of the house, but not the cats. The veterinarian recommended picking up Advantage. It comes out to about $10/dose at Pet Club.

Posted by josuah at 5:47 PM UTC+00:00 | Comments (0) | TrackBack

August 3, 2007

6Mbps DSL Line Testing

Raw Bandwidth just announced availability of 3-6Mbps down, 512-768Kbps up residential DSL service. With increased use by Luna, my desire for a more visually rich personal web site, and expectations regarding video download in the near future, I decided it was worth the additional monthly cost. However, my existing Alcatel 1000 was not getting good enough sync, and the Westell modem Mike sent me was also having sync issues. So with Mike on the phone checking sync, I tried a bunch of stuff to try and get a better signal.

The first thing we tried was hooking the Westell directly into the line at the outside box. That connection had good sync readings. But plugging directly into the line upstairs did not. At that point I went around trying different telephone jacks and it turns out the upstairs jack (which is a pair of jacks) is somehow wired to the kitchen jack but I'm not sure how. The kitchen jack has a huge mess of wires behind it, none of which is clearly connecting to the upstairs jacks. The left-hand jack in the new extension of the house is on a different pair and had really good sync.

But since the downstairs jack would be inconvenient, being no where near our computers, on Mike's advice I disconnected the wire between the two jacks upstairs. So now that pair runs through the kitchen to one jack upstairs, instead of two jacks upstairs. This change made the signal good, and when I attached a 3-way adapter with a pair of filters for the computer modem and telephone, the signal got even better (for some strange reason). So that's the configuration we are using now.

Posted by josuah at 5:09 AM UTC+00:00 | Comments (0) | TrackBack

August 2, 2007

The Prestige

Christian Bale in The PrestigeThe Prestige had some success when it came out, although I think it ran into a little trouble from sounding a lot like The Illusionist which came out at the same time. Regardless, I decided I'd give it a shot since it looked a little interesting. And turns out that it was pretty good. The story revolves around the rivalry of two magicians during the 19th century (looks like to me) who each wants to be the better magician, but whose rivalry is obsessive and dirty after the wife of one dies during a stage accident.

The entire movie works as a magic trick itself, described in the film as three stages: the pledge where the ordinary is shown, the turn where the ordinary becomes extraordinary, and the prestige when the everything is shown to be all right. During the course of the film, you are presented with that same problem. Things are happening which don't really make sense, yet without any explaination for how. Then the how is slowly revealed, and at the very end what you thought happened is shown to not have happened. At least superficially, because just like with a magic trick getting to the last part is where all the real magic is.

This film stars some excellent actors. I've always like Michael Caine, and I think he does an excellent job here as well. Hugh Jackman also does a good job, but I like Christian Bale's performance more. Bale has been acting longer and from a younger age, so perhaps that's not so surprising. I'm also sure a lot of people are happy to see Scarlett Johansson, but I think she's much better in some other films.

Posted by josuah at 7:00 AM UTC+00:00 | Comments (0) | TrackBack

I, Claudius

I, ClaudiusWatching the television series I, Claudius is one of my most memorable moments from high school. Our Latin teacher, Mrs. Stark if I recall correctly, showed us this series as a way of teaching us about both the historical facts as well as the culture and society of the Roman Empire. Luna likes learning about history, so I thought this would be a good thing for her to watch. At first she found it a little boring, because it is a little old and somewhat dry, but after a while she really got into it. The intrigue and drama is very interesting.

The 13-episode series tells the story of the first emperors of Rome, starting with Augustus, then Tiberius, Caligula, and ending with the death of Claudius. It is Claudius who is the narrator of this long story, as the one person who manages to survive the political assassinations during all three of the previous emperors' rule.

Even though Rome was ruled by men, it is really the women and the ability for women to control their emperor that moved the political landscape. Livia, the wife of Augustus, is probably the finest example of this because of her cold heart and calculating nature. One by one, without care for who it is, she removes obstacles from the path of her son Tiberius becoming emperor. But many other women, such as Livilla and Messalina, are just as cruel and conniving.

Of course, there is some dramatic license used in the telling of this story, especially since so many things are not known for sure. But from an educational and historical perspective, I think this is an excellent series. The quality of actors and the sordid facts really brings this part of history to life.

(As a bonus, you can see Patrick Stewart when he still had hair.)

Posted by josuah at 7:00 AM UTC+00:00 | Comments (0) | TrackBack

July 2013
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Search