Turn a Raspberry Pi into an always on Bittorrent client

In this guide, I will walk you through on how to easily turn your Raspberry Pi into a dedicated, always on BitTorrent client.

In this guide, I will walk you through on how to easily turn your Raspberry Pi into a dedicated, always on BitTorrent client.

In this entry I will explain my method of improving the Windows Command Prompt and its command-line. To turn it from a crude shell prompt into an ANSI coloured interface with a useful set of tools that can commonly be found on Linux and Mac terminals. We will also integrate a number of optional popular programming languages, a software package manager and other features. This will require some existing knowledge of Windows and its command-line.

Why a proxy?
Apache’s Tomcat is a complex beast whose primary role is to render JavaServer Pages. While it can be configured to use and serve the modern web it’s often an unnecessarily complex procedure. By using a dedicated reverse-proxy server such as nginx it allows you to separate web applications from the task of web serving.

In this entry, I will guide you through updating the standard terminal editor used by Ubuntu from its classic 2009 revision to its latest release.
The other day I was toying around with HTTP2 support and Jetty 9.3 on my Ubuntu Server 14.04 VM install. I had mostly followed the helpful instructions in the Jetty: The Definitive Reference on setting up the application as a web server with support for http, https, deploy modules. But whenever I tried to implement HTTP2 support Jetty would fail with an unhelpful Java error dump.
$ java -jar /opt/jetty/start.jar --add-to-startd=http2
org.elecipse.jetty.start.graph.GraphException: Missing referenced dependency: alpn-impl/alpn-1.8.0_45-internal
org.eclipse.jetty.start.graph.GraphException: Missing referenced dependency: alpn-impl/alpn-1.8.0_45-internal
at org.eclipse.jetty.start.graph.Graph.selectNodes(Graph.java:470)
at org.eclipse.jetty.start.graph.Graph.selectNode(Graph.java:447)
at org.eclipse.jetty.start.graph.Graph.selectNode(Graph.java:415)
at org.eclipse.jetty.start.Main.processCommandLine(Main.java:302)
at org.eclipse.jetty.start.Main.main(Main.java:74)
Usage: java -jar start.jar [options] [properties] [configs]
java -jar start.jar --help # for more information
The Jetty log files and Google were equally unhelpful in finding a solution. But after some painful trial and error I worked out a fix.

In this guide I will walk through the process of hardening HTTPS connectors used by Apache Tomcat. As unfortunately the default configuration of Ubuntu 14.04 LTS using Tomcat 7 and OpenJDK 7 are vulnerable to a number of attacks and weak encryptions.