First Entry Using MarsEdit

I usually take a long time to write new blog entries. “The spirit is willing, but the body is weak”. When I do sit down to write a new entry I end up staring at the flashing cursor not knowing where to start. Hopefully preparing my posts offline will also help in that I will not put as much pressure on myself to complete a post.

My Book Live revisited.

WD mentions that they only support Mac OSX and Windows for remote access. They don’t seem to mention explicitly that they don’t support Linux. I intended to find out. First of all you have to ensure that you have the Java plugin installed. Then you may have to get past the infuriating security messages. The latest version of the JRE (1.7.0_51) responds with this

CacheEntry[http://mybooklive-devicennnnnn.wd2go.com/Admin/webapp/htdocs/MapDrive.jar?v=18]:updateAvailable=false,lastModified=Mon Sep 16 20:46:28 SAST 2013,length=117733
Missing Permissions manifest attribute in main jar: http://mybooklive-devicennnnnn.wd2go.com/Admin/webapp/htdocs/MapDrive.jar?v=18
CacheEntry[https://mybooklive-devicennnnnn.wd2go.com/Admin/webapp/htdocs/WDTester.class]: updateAvailable=false,lastModified=Fri Aug 26 03:59:41 SAST 2011,length=750
0

(I have replaced my device id with “nnnnnn”). I messed around with various versions of the JRE but really got nowhere. JRE 1.6.0_34 produced this lovely report

ava.lang.RuntimeException: java.lang.ExceptionInInitializerError
	at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ExceptionInInitializerError
	at com.wd.nas4g.mapdrive.MapDrive.<init>(MapDrive.java:73)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$200(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.RuntimeException: Unsupported OS: LINUX
	at com.wd.nas4g.mapdrive.command.WebDAVCmdFactory.<clinit>(WebDAVCmdFactory.java:26)
	... 21 more
Exception: java.lang.RuntimeException: java.lang.ExceptionInInitializerError
Taking a look at the java code reveals this:
  static
  {
    String osName = CmdUtil.getOSName();

    if (osName.indexOf("MAC") != -1)
      instance = new MacCmdFactory(null);
    else if (osName.indexOf("WIN") != -1)
      instance = new WinCmdFactory(null);
    else
      throw new RuntimeException("Unsupported OS: " + osName);
  }

With WebDAVCmdFactory.java:26 in red. Any OS other than MAC or Windows should trigger an exception.