Embed Tomcat In Your Application

October 2nd, 2015

A number of Java web applications and services, both open source and commercial (Alfresco, iRise, Confluence, etc.), tend to embed the entire Apache Tomcat servlet engine in their distribution packages. Atlatisan has even gone as far as only supporting their embedded Tomcat package1, no longer offering a WAR/EAR file distribution. These packages contain the full Tomcat engine and configuration files and seem really overkill. In most configurations, the default setting files are never even changed. Surely there must be a way to launch Tomcat in code and only require the tomcat jars as dependencies? In the following tutorial, we’ll examine Jetty, an embedded servlet engine designed for this purpose, and show how to replicate the Jetty setup with Tomcat.
Read More »

MSI-WS60 running Linux

June 4th, 2015

MSI WS60 Laptop Last year I was the victim of a break in which involved me losing nearly all of my electronics. I had backups of my data, the import stuff, but since that time I had been using a work laptop for most of my personal work. I later purchased a Surface Pro2 and had it dual booting Linux, but I found the tablet/laptop difficult to deal with. The lack of a sold connection between keyboard and device made it impossible to use while sitting on a couch like a normal laptop. While visiting Melbourne I decided to purchase an MSI laptop that’s typically marketed for gamers, and turn it into my primary Linux development laptop.
Read More »

Freezing a Hard Drive

August 19th, 2014

I first heard about recovering data from bad hard drives by placing them in a freezer from a web comics. The artist almost lost a lot of his work to a failed hard drive he hadn’t backed up. I’ve had my share of hard drive problems and have kept regular full backups for the past few years, so I’ve never really had an opportunity to try out this technique. But recently a good friend of mine had a hard drive go bad in her five year old MacBook. This seemed like the perfect opportunity, and I was pretty amazed at the results.
Read More »

Review: Cloud at Cost

October 28th, 2013

Cloud at Cost Main Page Screenshot Cloud at Cost is a new company offering very low cost virtual servers. For their first 10,000 nodes, they’re offering a $35 one time setup fee to get a virtual server for life (of the company). There are additional $70 and $140 one time plans for slightly larger virtual servers, or the option for $1, $2 or $4 per month. I decided to give one of these virtual server plans a try. There were quite a few hickups. I wouldn’t say they’re production ready quite yet, but if you want a server to play around with, the price is right, and their services are certainly worth that price.
Read More »

Discoverying Friend List Changes on Facebook with Python

October 15th, 2013

Unfriendfinder was a Firefox plugin which allowed Facebook users to detect when people left their friend list or deactivated their accounts. After three years of development, Facebook requested the removal of the extension due to violation of their terms of service. The author chose not to fight the request. In response, I’ve created sumfriender, a Python script that can detect friend list changes as well as import previous friend lists from the Unfriendfinder Firefox plugin and grease monkey scripts.
Read More »

Removing the Tracking Image from Alfresco

August 4th, 2013

Alfresco is an enterprise document management system. There is a free Community Edition that is open source, but its web interface pulls in an image from their official website that can be used to remotely track usage. This tracking image is added via Javascript and cannot be removed by simply changing a template. It is hard coded into a core class. This tutorial goes through the steps needed to patch the Alfresco WAR file in order to remove the tracking image. It has been tested for Alfresco 4.2c and may need to be adjusted for other versions.
Read More »

LtSense – Using Embedded Python for Sensor Networks, Wellington Python User Group

May 6th, 2013

dyject – Python Dependency Injection

April 28th, 2013

The first release of dyject is now out. Dyject is a simple dependency injection module for both Python 2 and Python 3. It had no dependencies outside of the standard Python library and uses a configuration parser to construct and wire objects. You can download packages from pypi, get the source code from githib or view the full instructions and documentation on dyject.com

Big Sense: REST Web Services in Scala for Sensor Networks, Wellington Java User Group

March 29th, 2013

Rear View Mirror v1.0 Released

March 11th, 2013

Rear View Mirror v1.0 is now out. It has an improved option dialog, cleaner update system and MSI installers for both the 32-bit and 64-bit versions. It also has a new website: RearViewMirror.cc.