Sunday, September 18, 2011

Melbourne IT killed my email for five days


My main email address ( max AT berger DOT name ) was broken for the last five days. In this entry I will describe how it came to be, why this is the fault of Melbourne IT, and why I would not recommend them as domain name registrar.

If you are a representative of Melbourne IT reading this, please take a look at cases listing below before posting a comment. You had your chance to fix this several times.

If this sounds like I'm changing domain registrars more often then some people change underwear, please note that I've registered my first Dot Name over ten years ago.

Dot Name

A long time ago I registered my name with the provider "NetIdentity". They offered a really cool package: You personal name as 3rd-level domain in the form of first.last.name (e.g. max.berger.name), and also a 2nd-level email forward in the form of first@last.name (e.g. max AT berger DOT name). This was sold as a single package.

Hover

Unfortunately netidentiy went under, and my domain was transferred to Hover. Although Hover had low domain prices, the charged their full email package for the .name email forward. Since the registrar has zero effort in setting up the forwarding address (it was already set up anyways), I decided change providers. The Hover support was helpful, and they even offered me a discount.
Hover
-1 for their pricing policy
+1 for their support

Dyn.com

I transferred my domain to dyn.com. They offer a really great service, providing domain names for people with changing IP addresses. Unfortunately they do not support 2nd-level .name email forwards, but they told me something like this "You can keep your email forward, it will work as before, you just cannot change it". Indeed, there was no interruption in serving both my domain name and my email.
Dyn.com
+1 for their custom DNS package. It is awesome!
+1 for their technical support
-0 for not supporting 2nd-level .name email forwards

United Domains

My main website runs on an real server now, and I no longer have the need for the full-blown dynamic DNS services which dyn.com offers. I have been using United Domains for another domain. They have a nice interface, and I haven't had any problems with them in the past. So I asked them, if they provide support for 2nd-level name forwards, since I wanted to move all my domains to one provider. They do not, but here is the real great thing: I received an answer from United Domains support pointing me to a list of registrars which properly support dot name! This means they essentially pointed me to their direct competitors! This is superb! Thank you guys! This means I'll keep my account with you, even if it costs a little more than at the other registrar, because that's exactly the kind of support which is extremely helpful! To bad you don't support the dot Name email forwards...
United Domains
+1 for their domain settings / Web interface
+100 for their technical support!
-0 for not supporting 2nd-level .name email forwards

INWX

INWX is one of the registrars which fully support Dot Name Domains and email forwards. They also have a nice web interface, and domain transfers in and out are pretty easy. It was a breeze to transfer my domain there, and its easy to administrate online. They are comparatively inexpensive, and answered to all my support questions within 24 hours.

However, transferring my Dot Name Email forward initially failed. It turned out that it was never moved from NetIdentity to Dyn.Com, and therefore the auth code was invalid. This was surprising to me, as I suddenly I did not know where my emai forward is registered at. The INWX support did not want
to answer me that question.
INWX
+1 for their domain settings / web interface
+0 for their support
+1 for supporting dot name's correctly!

Verisign

Verisign is currently the official "owner" of dot name. I emailed their support, and within one hour (!) I had an answer telling me who my registrar is. Perfect!
Verisign
+2 for their support

Melbourne IT

For whatever reason, my dot name email forward was registered with Melbourne IT. First, this seems great: They provide a form I can download, sign, email back, and within a few hours I had an account there and the auth code. For some reason my email forward shows up as "cancelled" and cannot be managed or renewed, but that didn't stop me. I emailed their support about it, and never got a reply. So I made the biggest mistake: I initiated the transfer to another provider!

A day later got suspicious because I did not get email anymore. Even spam stopped coming in, so I knew something must be wrong. I emailed myself, and got an error message back, saying that there is no such
account as abc@def.com. abc@def.com ????

When I did initiate the transfer, for whatever reason that my email forward was modified to forward to abc@def.com. Dear Melboure IT, if you read this (you did not read most of my other contacts): I AM NOT REACHABLE AT abc@def.com! What gave you that idea??? Is that the payback for realizing that I was not paying (which would have if I would have known about it)?

So, of course, I contacted Melbourne IT's support. No answer If someone answered, then they answered to abc@def.com. I sent another email, this time providing an alternate address. No answer either. Wrote another email. And another. And another. All in all, I got one answer, saying "Your transfer will be auto-authorized after 5 days". What does that mean? It means that for 5 days, everyone trying to send me an email, will get an error message, saying that my email is not working. Of course, I asked them if there is anything I can do to accelerate the process, but again, no reply.

If someone from Melbourne IT is reading this, here are my "case numbers". This list is not complete, there are 1 or 2 missing. You only get the case number via email, which is great if your primary email is not
working!
  • CAS-2782347-VDGT unanswered
  • CAS-2781147-2WIS (this is the one where I got the answer about the five days). A follow up by me was not answerd.
  • CAS-2780858-DKSH unanswered
  • CAS-2778169-X94B (case for recovering my domain key, this one was
    actually answered). A follow up by me was not answered.
After five days, my transfer was auto-approved, and my new registrar immediately fixed my email forward. My address is now working properly again, and I am able to receive emails.

Dear Registrars:
  1. If someone has an email forward, and wants to transfer that to another registrar, DO NOT CHANGE THE EMAIL FORWARD! People are paying for this service, and the chances are pretty high that they are actually using it!
  2. If you only provide a contact form on your webpage, and you're assigning case numbers, give customers a chance to actually enter those case numbers in your form.
  3. The five days for approval of transfers is a MAXIMUM! You CAN authorize the transfers earlier - especially if customers are asking you about it!
  4. Not answering to support contacts is really bad. You don't have to answer within 1 hour, people normally expect an answer within 24 hours, but not answering within five (business!) days is unacceptable.
What can I say about Melbourne IT?
  • If you have any services with Melbourne IT, I suggest transferring them to another provider. Do so at a time, where an outage of five days won't hurt you. If you can't afford a five day outage, good luck!
  • If you are considering a registar or provider, do not chose Melbourne IT, unless you can debug and fix your problems without contacting their customer support.
Melbourne IT
+1 for providing me with the authcode so quickly
-100 for changing my email forward to abc@def.com
-9001 for not answering to support contacts

Conclusion

United Domains
is my provider of choice. Their support is awesome, the prices are reasonable.
INWX
is my provider of choice for dot name. They are technically fit and their prices are reasonable.
Melbourne IT
should be avoided. Their support is terrible, and they break your services.

Thursday, October 28, 2010

Ubuntu 10.10 Maverick Meerkat Netbook - fails to impress

I've recently bought a new netbook, and with the new Ubuntu Netbook edition coming out, I thought I'd take it for a test. Unfortunately it completely failed to impress me within the first 30 minutes.

Disclaimer: I've been a big fan of Debian, and now Ubuntu (stability of Debian, but with ease of use) for a while. I believe Ubuntu is a great system, and it is still my Nr.1 Linux distribution of choice. All the problems listed below are no challenge for a technical person, but Ubuntu aims to support the casual user as well.

Disclaimer 2: The following is my personal definition of a netbook: It is a laptop

  • with a small screen
  • and little processing power
  • focussing on quick time-to-Internet
  • and long battery life

As my netbook currently runs a proprietary system, I used WUBI to install.

Blocker #1: WUBI downloaded from the WUBI page still had only Ubuntu 10.4 (that was on oct.11, where 10.10 was one day old). Only when accessing the Ubuntu download page i got the newest version. The main page now redirects there.

Ubuntu installed fine, at some time it rebooted and

Blocker #2: Windows boots up! The installer can create a boot menu entry, but it cannot set it to Linux to finish the installation?

Finally Ubuntu booted, I selected the "netbook" session and

Blocker #3: failed to start because my card did not support the necessary 3D features! Why does Ubuntu need a 3D graphics card on a Netbook? This collides with long battery life and low processing power. BTW: My Nvidia card is supported just fine, once i could log in the desktop session, install the proprietary driver, etc.... Why wasn't this done at install time?

As said, I had to log into the desktop session and

Blocker #4: got a cryptic error message about missing language packs. It gave me two choices: Either I install them now, or I have to do this later (hidden in some menu you instantly forget). This brings me to two questions: 1) Why wheren't those installed before? I did select my language. 2) Until this point I was never asked for my WiFi credentials, which would have enabled me to do the immediate install. After all, this is my portable, and I expect it to work without wires.

After setting all these up, I finally rebooted and

Blocker #5: was asked for a username and password! While this is fine for laptops and desktops, its a most-people-don't-want-this-on-a-netbook feature. I want to turn it on and surf the web, not wait, enter my password, and then have to wait again for the window manager to load.

Try finding the setting in the netbook remix window manager, guess what:

Blocker #6: Settings are only available in the Gnome (desktop) session.

Conclusion: Ubuntu still has ways to go before they can close Ubuntu Bug #1.

Sunday, July 18, 2010

Eclipse Helios - New Apply Patch Features

Eclipse Helios has a few nice new features for applying patches. In this post I would like to point some of the out

Apply Patch using URL

The Apply Patch wizard now accepts URLs. This is great when you a working with open source projects where patches are frequently added as attachment to bug reports. Previousely, I had to download the patch, find it again (which is difficult when all patches are named patch, and therefore end up being downloaded as patch, patch (1), patch (2), ... ), an then apply. Now I just click on "copy link" and it is automagically pasted into the apply-patch box. Nice one!

Apply Patch in Synchronize View

Even nicer is applying patches in synchronize view - the option is, however, hidden:

  • Switch to the synchronized perspective
  • In the synchronize view, click on the arrow next to the synchronize icon (the first one from the left
  • Select synchronize...

Now you can finally partially apply patches! What makes this feature even better is that it also accepts URLs, so it can be directly used with patches attached to bug reports!

And to bring this all together, there is now the

Apply patch in Synchronize view preference

Hidden in the preferences under "Team", you can check "Apply patch in Synchronize view" to always get this behavior. Now this is one of the most useful settings - unfortunately it is off by default.

Saturday, July 17, 2010

Eclipse Helios and Java 1.6u21 deadlocks

I wanted to write a post about the new Eclipse Helios, which was just released to participate in the Helios Blogathon. So, on my personal machine, I installed the newest JDK (1.6u21), the new eclipse, started it up, tried to work with it and after a few seconds.... It just hangs!

But whait - it worked nicely on my work machine, so what's the deal? Did I install the wrong plug-ins? Tried to open up the wrong editor? I had the same problem on my work machine (Windows 7 x64 with the newest Java 64 bit (1.6u21)). On this machine I fixed it using the 32 bit Java version instead (which just happend to be 1.6u20).

After spending several hours with several 32 and 64 bit versions of Eclipse and Java, I found the deadly combination. It is:

  • Windows 7 x64 (may be unrelated to the problem)
  • Java 1.6 u 21
  • Eclipse Helios

The fix? Get an older Java Version - which is not simple - if you try to get an older version of Java, Oracle asks you to register and wants your email address. They don't tell you that there is a public archive of older Java versions. Why should they? You always want the latest version, right? Even if this means your Eclipse Helios session is limited to 5 seconds.

Helios now runs fine on an Jdk 1.5, with a separate JDK 1.6 installed to actually run my apps.


Update: 11 days after my post Slashdot has some more information: Oracles Java Company Change Breaks Eclipse. Also, there is Bug 6969236.


Thursday, April 1, 2010

DataSource in Jetty through JNDI

Prerequesite: Please ensure JNDI is configured properly and you can pass parameters to Jetty via JNDI.

First, you need to add the used libraries to Jettys classpath. In my case, I wanted commons-dbcp (alternative: c3p0) over an H2 database, so I added the following to my pom.xml


      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>7.0.1.v20091125</version>
        <dependencies>
          <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
          </dependency>
          <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.2.131</version>
          </dependency>
        </dependencies>
      </plugin>

On Jetty standalone, I copied the libraries to the lib/ext directory and added ext to the options in start.ini. Please note that commons-dbcp also requires commons-pool.

Next, add the configuration of your DataSource to jetty-env.xml:


<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure id="thisfile" class="org.eclipse.jetty.webapp.WebAppContext">
  <New class="org.eclipse.jetty.plus.jndi.Resource">
    <Arg><Ref id="thisfile"/></Arg>
    <Arg>jdbc/nameOfMyDatabase</Arg>
    <Arg>
      <New class="org.apache.commons.dbcp.BasicDataSource">
        <Set name="url">jdbc:h2:/path/to/your/DataBase</Set>
      </New>
    </Arg>
  </New>
</Configure>

To actually have access to the datasource, you also need modify web.xml to declare that you want a resource unter this name:


  <resource-ref>
    <res-ref-name>jdbc/nameOfMyDatabase</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>

The database is now available as DataSource at java:/comp/env/jdbc/nameOfMyDatabase and can be used directly in tools such as hibernate by setting hibernate.connection.datasource to this value.

Background: Hibernate did not properly release the database connection when the WebApp shut down. This resulted in Exceptions when trying to undeploy and deploy the webapp without killing Jetty, as the embedded database existed both in the old and the new context. By moving the connection out of the WebApp, and into Jetty's responsibility, the embedded database driver now only exists in Jetty's context. Adding the connection pool is just decoration.

Passing parameters to Jetty 7 via JNDI

If you have the jetty-maven-plugin properly configured in the pom.xml, then everything is already set up.

For Jetty Standalone, please see my other post about configuring JNDI in jetty standalone.

Passing parameters through JNDI proved to be very simple. In src/main/webapp/WEB-INF create a file jetty-env.xml, with the following contents:


<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure id="thisfile" class="org.eclipse.jetty.webapp.WebAppContext">
  <New class="org.eclipse.jetty.plus.jndi.EnvEntry">
    <Arg><Ref id="thisfile"/></Arg>
    <Arg>paramname</Arg>
    <Arg type="java.lang.String">A sample parameter value</Arg>
    <Arg type="boolean">false</Arg>
  </New>
</Configure>

You can then load your parameter through the standard naming context:


import javax.naming.Context;
import javax.naming.InitialContext;
...
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
String param = (String) envCtx.lookup("paramname");

Of course, you can add other parameters, rename paramname to something that makes more sense, or use other data types. Please note: Jetty supports more datatypes than required by the J2EE standard.

Configuring Jetty 7 standalone for JNDI

Configuring Jetty 7 for JNDI can be a bit tricky. If you miss any of these points, you may end up passing JNDI parameters, but they will not be available in your webapp.

  1. Ensure the plus libraries are loaded. You can to this by adding the option plus in Jetty's start.ini
  2. Ensure jetty is configured to use the plus configuration classes. You can do this by adding the following inside the context, or the jetty-env.xml:
      <Set name="ConfigurationClasses">
        <Array id="plusConfig" type="java.lang.String">
          <Item>org.eclipse.jetty.webapp.WebInfConfiguration</Item>
          <Item>org.eclipse.jetty.webapp.WebXmlConfiguration</Item>
          <Item>org.eclipse.jetty.webapp.MetaInfConfiguration</Item>
          <Item>org.eclipse.jetty.webapp.FragmentConfiguration</Item>
          <Item>org.eclipse.jetty.plus.webapp.EnvConfiguration</Item>
          <Item>org.eclipse.jetty.plus.webapp.Configuration</Item>
          <Item>org.eclipse.jetty.webapp.JettyWebXmlConfiguration</Item>
          <Item>org.eclipse.jetty.webapp.TagLibConfiguration</Item>
        </Array>
      </Set>
    

    The documentation suggests adding etc/jetty-plus.xml to the startup, which would make this configuration available as plusConfig to refer to. This did not work on my machine.

You can now continue with Passing parameters to Jetty 7 via JNDI.

Home

Followers