Supporting mvn jetty:run in Maven applications

jetty-header-logo

When I’m writing a Java servlet using Maven, I find it convenient to be able to run the Java servlet in a local servlet container for testing purposes.  This is very easy to do using the Jetty Maven plugin.

To add the Jetty Maven plugin to your project, modify pom.xml as follows:

<build>
  <plugins>
    <plugin>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-maven-plugin</artifactId>
      <version>9.2.0.M0</version>
    </plugin>
  ...
  </plugins>
</build>

You can then run your project in Jetty using the following command:

mvn jetty:run

If you want to run the website from the compiled WAR rather than from the source code, then use the following configuration:

<build>
  <plugins>
    <plugin>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-maven-plugin</artifactId>
      <version>9.2.0.M0</version>
      <configuration>
        <war>${basedir}/target/${project.build.finalName}.war</war>
      </configuration>
    </plugin>
  ...
  </plugins>
</build>

Then execute:

mvn jetty:run-war
Advertisements

Work Email Statistics Through 2013-12-31

In a previous post, I noted that I have a copy of every single email I’ve sent or received at work since mid-2003.  Here is the updated chart of the number of work emails I send and receive per year through December 31, 2013.

emails-by-year

Here’s the same data charted by month:

emails-by-month

This data was calculated by a simple Outlook PST parsing program I wrote called pststats.

Using Handbrake to Encode Blu-Rays for the Roku

roku_logo_lThis post is a sibling of my earlier post Using Handbrake to Encode DVDs for the Roku and contains the settings I use for Blu-Ray movies.  The instructions apply to Handbrake 0.9.9.

Once again, start with the High Profile preset and then make the following changes:

  1. In Output Settings:
    1. Set Container = Mp4
    2. Ensure Large File Size is checked
    3. Ensure Web Optimized is checked
    4. Ensure iPod 5G Support is unchecked
  2. In Picture:
    1. Set Anamorphic = Strict (all Blu-Rays I’ve seen are 1920×1080)
    2. Set Cropping = Automatic.
  3. In Filters:
    1. Set Detelecine = Off
    2. Set Decomb = Fast
    3. Set Deinterlace = Off
    4. Set Denoise = Off
    5. Set Deblock = Off
    6. Ensure Grayscale is unchecked
  4. In Video:
    1. Set Video Codec = H.264 (x264)
    2. Set Framerate (FPS) = Same as source
    3. Set Constant Framerate
    4. Set Quality = Constant Quality of RF:20
    5. Set Optimise Video = Use Advanced Tab instead
  5. In Audio:
    1. Create two audio tracks.  The first audio track will have:
      1. Source = AC3 5.1 (which is what you should have ripped from your DVD)
      2. Codec = AAC (faac)
      3. Bitrate = 160
      4. Samplerate = Auto
      5. Mixdown = Stereo
      6. DRC = 1.5
      7. Gain = 0
    2. The second audio track will have:
      1. Source = AC3 5.1
      2. Codec = AC3 Passthru
  6. In Subtitles, keep everything empty.  I do not handle subtitles.
  7. In Chapters:
    1. Ensure Create chapter markers is checked
  8. In Advanced:
    1. In Encoding:
      1. Set Reference Frames = 3 (Default)
      2. Set Maximum B-Frames = 3 (Default)
      3. Ensure CABAC is checked
      4. Ensure 8×8 Transform is checked
      5. Ensure Weighted P-Frames is checked
      6. Set Pyramidal B-Frames = Normal (Default)

    2. In Analysis:
      1. Set Adaptive B-Frames = Optimal
      2. Set Adaptive Direct Mode = Automatic
      3. Set Motion Est Method = Hexagon (Default)
      4. Set Subpixel Motion Est = 7: RD in all frames
      5. Set Motion Est Range to 16
      6. Set Partition Type = Most (Default)
      7. Set Trellis = Encode Only (Default)

    3. In Psychovisual:
      1. Set Adaptive Quant Strength = Middle
      2. Set Rate Distortion = Middle
      3. Set Psychovisual Trellis = Leftmost Setting
      4. Ensure No DCT-Decimate is unchecked
      5. Set Deblocking = 0 (Default), 0 (Default)
    4. In x264 Encoder Options, set it to b-adapt=2:rc-lookahead=50:direct=auto