diff --git a/apps/BOB/src/net/i2p/BOB/MUXlisten.java b/apps/BOB/src/net/i2p/BOB/MUXlisten.java
index 578c80d47f92688a47758a12e0db7c2ff03d53bf..7dee1eeb3352544b8b49831927153fe0a0674567 100644
--- a/apps/BOB/src/net/i2p/BOB/MUXlisten.java
+++ b/apps/BOB/src/net/i2p/BOB/MUXlisten.java
@@ -45,7 +45,7 @@ public class MUXlisten implements Runnable {
 	private ThreadGroup tg;
 	private final String N;
 	private ServerSocket listener;
-	private final int backlog = 50; // should this be more? less?
+	private static final int backlog = 50; // should this be more? less?
 	private final boolean go_out;
 	private final boolean come_in;
 	private final AtomicBoolean lock;
diff --git a/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java b/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java
index 46d4476dcea64a7677a45f24ee0244295d3cc295..f8f556c1bdc4f5fbe5b3e0a26032f31e5af2fba7 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java
@@ -846,6 +846,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
      *  @param nInfo who to send it to
      *  @return success
      */
+/****
     private boolean sendError(NodeInfo nInfo, MsgID msgID, int err, String msg) {
         if (_log.shouldLog(Log.INFO))
             _log.info("Sending error " + msg + " to: " + nInfo);
@@ -856,6 +857,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
         map.put("e", error);
         return sendError(nInfo, msgID, map);
     }
+****/
 
     // Low-level send methods
 
diff --git a/apps/imagegen/imagegen/webapp/src/main/java/net/i2p/imagegen/RandomArt.java b/apps/imagegen/imagegen/webapp/src/main/java/net/i2p/imagegen/RandomArt.java
index 342da1228fb585d0a8c485c4b78f73ada98e7abc..21956f551925f882beafd42db95b54b0657e588f 100644
--- a/apps/imagegen/imagegen/webapp/src/main/java/net/i2p/imagegen/RandomArt.java
+++ b/apps/imagegen/imagegen/webapp/src/main/java/net/i2p/imagegen/RandomArt.java
@@ -245,7 +245,7 @@ public class RandomArt {
 	if (mod != 0) {
 		//base += mod * 16;
 		//base += mod * 16 * 256;
-		base += mod * 5 * 256 * 256;
+		base += mod * (5 * 256 * 256L);
 	}
 	if (base > 0xffffff || base < 0)
 		base &= 0xffffff;
diff --git a/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java b/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java
index 2b5af405d1bbedb107666fc43e9f5a1ed4bf6b63..d7fb300897ffd021b6ce3bc4fb806f113084663e 100644
--- a/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java
+++ b/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java
@@ -190,7 +190,6 @@ public class NewsManager implements ClientApp {
     }
 
     private List<NewsEntry> parseInitialNews() {
-        NewsEntry entry = new NewsEntry();
         File file = new File(_context.getBaseDir(), "docs/initialNews/initialNews.xml");
         Reader reader = null;
         try {
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java
index 05e43205f268433c16fe0f72057b2f978ac79692..aca298c2ffbaa9c00885d3a0e342f05786c6b7a5 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java
@@ -146,7 +146,7 @@ class ProfileOrganizerRenderer {
                 buf.append("<td align=\"right\"><i>").append(_t("unknown")).append("</i></td>");
             }
             buf.append("<td align=\"right\">");
-            String v = info.getOption("router.version");
+            String v = info != null ? info.getOption("router.version") : null;
             if (v != null)
                 buf.append(DataHelper.stripHTML(v));
             buf.append("</td><td align=\"right\">").append(num(prof.getSpeedValue()));
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java
index 7ed429b833db79939b817d8cbeefa3c4cfacbf5e..3d1e6db0f5a3773c409c461b3c500a29851c8423 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java
@@ -233,7 +233,7 @@ class SybilRenderer {
         buf.append("<h3 id=\"dest\" class=\"sybils\">Floodfills Close to Our Destinations</h3>");
         Map<Hash, TunnelPool> clientInboundPools = _context.tunnelManager().getInboundClientPools();
         List<Hash> destinations = new ArrayList<Hash>(clientInboundPools.keySet());
-        boolean debug = _context.getBooleanProperty(HelperBase.PROP_ADVANCED);
+        //boolean debug = _context.getBooleanProperty(HelperBase.PROP_ADVANCED);
         for (Hash client : destinations) {
             boolean isLocal = _context.clientManager().isLocal(client);
             if (!isLocal)
@@ -318,7 +318,7 @@ class SybilRenderer {
             }
         }
 
-        double avg = total / (sz * sz / 2);
+        double avg = total / (sz * sz / 2d);
         buf.append("<h3 class=\"sybils\">Average Floodfill Distance is ").append(fmt.format(avg)).append("</h3>");
 
         buf.append("<h3 id=\"pairs\" class=\"sybils\">Closest Floodfill Pairs by Hash</h3>");
diff --git a/apps/sam/java/src/net/i2p/sam/SAMv3Handler.java b/apps/sam/java/src/net/i2p/sam/SAMv3Handler.java
index 0b918186225fa1aa20c5aeb9c23bc41152a9f9fa..e7c5f55bc85ac595aaa9f55c9cd0d65656e06856 100644
--- a/apps/sam/java/src/net/i2p/sam/SAMv3Handler.java
+++ b/apps/sam/java/src/net/i2p/sam/SAMv3Handler.java
@@ -173,8 +173,6 @@ class SAMv3Handler extends SAMv1Handler
 
 		try {
 			Socket socket = getClientSocket().socket();
-			InputStream in = socket.getInputStream();
-
 			StringBuilder buf = new StringBuilder(1024);
 			boolean gotFirstLine = false;
 			while (true) {
diff --git a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java
index 0c907b8ea3975456cda97fa4ff4e33c0f3881f22..035d1d472f8d34ef58cccc0153bcfb49843fd3ca 100644
--- a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java
+++ b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java
@@ -2049,7 +2049,7 @@ public class WebMail extends HttpServlet
 				ok = false;
 				sessionObject.error += e.getMessage();
 			}
-			String boundary = "_="+(int)(Math.random()*Integer.MAX_VALUE)+""+(int)(Math.random()*Integer.MAX_VALUE);
+			String boundary = "_=" + I2PAppContext.getGlobalContext().random().nextLong();
 			boolean multipart = false;
 			if( sessionObject.attachments != null && !sessionObject.attachments.isEmpty() ) {
 				multipart = true;
diff --git a/core/java/src/net/i2p/crypto/KeyStoreUtil.java b/core/java/src/net/i2p/crypto/KeyStoreUtil.java
index 89689fe5d8d893110fc2ddfceb4623079a6130e3..ffea5085908a9dc625eea7c0515a819f8b358e71 100644
--- a/core/java/src/net/i2p/crypto/KeyStoreUtil.java
+++ b/core/java/src/net/i2p/crypto/KeyStoreUtil.java
@@ -599,10 +599,10 @@ public final class KeyStoreUtil {
                 throw new IOException("Can't create directory " + dir);
         }
         Object[] rv = SelfSignedGenerator.generate(cname, ou, null, "I2P Anonymous Network", null, null, validDays, type);
-        PublicKey jpub = (PublicKey) rv[0];
+        //PublicKey jpub = (PublicKey) rv[0];
         PrivateKey jpriv = (PrivateKey) rv[1];
         X509Certificate cert = (X509Certificate) rv[2];
-        X509CRL crl = (X509CRL) rv[3];
+        //X509CRL crl = (X509CRL) rv[3];
         List<X509Certificate> certs = Collections.singletonList(cert);
         storePrivateKey(ks, ksPW, alias, keyPW, jpriv, certs);
         return rv;
diff --git a/core/java/src/net/i2p/crypto/SelfSignedGenerator.java b/core/java/src/net/i2p/crypto/SelfSignedGenerator.java
index 5f525b2d7a59bef19eec2ee18aa11fd4b867a3fd..75f51b2f93d1973ad9d05e5c59390373462dcbd2 100644
--- a/core/java/src/net/i2p/crypto/SelfSignedGenerator.java
+++ b/core/java/src/net/i2p/crypto/SelfSignedGenerator.java
@@ -713,7 +713,7 @@ public final class SelfSignedGenerator {
 
     private static final void test(String name, SigType type) throws Exception {
             Object[] rv = generate("cname@example.com", "ou", "o", null, "st", "c", 3652, type);
-            PublicKey jpub = (PublicKey) rv[0];
+            //PublicKey jpub = (PublicKey) rv[0];
             PrivateKey jpriv = (PrivateKey) rv[1];
             X509Certificate cert = (X509Certificate) rv[2];
             X509CRL crl = (X509CRL) rv[3];
diff --git a/core/java/src/net/i2p/util/EepGet.java b/core/java/src/net/i2p/util/EepGet.java
index 9d4656cee60dcaf321ee7fc2051b50f1c309429d..9534d79db5e6139a1c0d82ab12738ec29cec387b 100644
--- a/core/java/src/net/i2p/util/EepGet.java
+++ b/core/java/src/net/i2p/util/EepGet.java
@@ -1396,7 +1396,8 @@ public class EepGet {
         if (  /* (!_shouldProxy) && */
             // This is kindof a hack, but if we are downloading a gzip file
             // we don't want to transparently gunzip it and save it as a .gz file.
-            (!path.endsWith(".gz")) && (!path.endsWith(".tgz")))
+            path == null ||
+            (!path.endsWith(".gz") && !path.endsWith(".tgz")))
             buf.append("gzip");
         buf.append("\r\n");
         if(!uaOverridden)
diff --git a/router/java/src/net/i2p/data/router/RouterKeyGenerator.java b/router/java/src/net/i2p/data/router/RouterKeyGenerator.java
index 0525a4f372461763450dead7be596f94c41b8812..52ccbba87db3c1cfbfc71ab451003455633f415e 100644
--- a/router/java/src/net/i2p/data/router/RouterKeyGenerator.java
+++ b/router/java/src/net/i2p/data/router/RouterKeyGenerator.java
@@ -228,7 +228,7 @@ public class RouterKeyGenerator extends RoutingKeyGenerator {
         long now = System.currentTimeMillis();
         int st = 0;
         if (args.length > 1 && (args[0].startsWith("+") || args[0].startsWith("-"))) {
-            now += Integer.parseInt(args[0]) * 24*60*60*1000L;
+            now += Integer.parseInt(args[0]) * (24*60*60*1000L);
             st++;
         }
         RouterKeyGenerator rkg = new RouterKeyGenerator(I2PAppContext.getGlobalContext());
diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index a411b009986dc5f1f6384384ad98aeea42885422..87e5bffca0684477c0ba8daee48da05fbea99f44 100644
--- a/router/java/src/net/i2p/router/RouterVersion.java
+++ b/router/java/src/net/i2p/router/RouterVersion.java
@@ -18,7 +18,7 @@ public class RouterVersion {
     /** deprecated */
     public final static String ID = "Monotone";
     public final static String VERSION = CoreVersion.VERSION;
-    public final static long BUILD = 0;
+    public final static long BUILD = 1;
 
     /** for example "-test" */
     public final static String EXTRA = "";
diff --git a/router/java/src/net/i2p/router/startup/WorkingDir.java b/router/java/src/net/i2p/router/startup/WorkingDir.java
index fc9ae45f804810e39ca77629326ab218cf2f340c..815c4d0504c26db89de082081001c8c99fa07454 100644
--- a/router/java/src/net/i2p/router/startup/WorkingDir.java
+++ b/router/java/src/net/i2p/router/startup/WorkingDir.java
@@ -462,7 +462,6 @@ public class WorkingDir {
         if (!src.exists()) return false;
         boolean rv = true;
 
-        byte buf[] = new byte[4096];
         FileInputStream in = null;
         FileOutputStream out = null;
         try {