Custom css

Transfer Google Services from regular Google Account to Google Apps account


So Google announced that Google Apps account can start to transition to be used for other Google services such as Blogger, Picasa and Google Reader.
This my experiences so far trying to consolidate all my information in the Google Apps account.

Google Reader
Transfering to Google Reader for the Google Apps account is very easy. Just log in with the old Google account and go to "Settings -> Reader Settings -> Import/Export". From there I can export all the feeds to an OPML file.
Then log out and log in again with the Google Apps account and again go to "Settings -> Reader Settings -> Import/Export" and then Import the OPML file. All your subscriptions are now available for the Google Apps account.

Blogger
This is also fairly easy. Login with your old Google account. Go to "Settings->Permissions" and add your Google Apps account as author. Then check the inbox for the Google Apps account and accept to become an author. The log out and log in with the Google account and make the Google Apps account administrator under "Settings->Permissions".
When you log in with your Google Apps account again your are able to remove the Google account as author as well.

AdSense
This account you apparently cannot transfer. If you don't have much unpaid in that account you could probably create a new account for your pages.

Edit: It turns out that Google off course already documented how to transfer data between accounts: Moving product data : Managing and using Google products - Accounts Help

Keyboard shortcuts in Mac OSX with danish keyboard layout

The pipe character (|): option+i
Curly brackets ({}): option+shift+8 option+shift+9
Backslash (\): option+shift+7
Sigma (∑): option+w

Skype on 64 bit openSUSE 11.3


I installed the skype rpm after downloading it from:  http://www.skype.com/intl/da/get-skype/on-your-computer/linux/

The following error occured when I tried to run it from a terminal:
skype: error while loading shared libraries: libXv.so.1: cannot open shared object file: No such file or directory

That was because of missing 32 bit packages.
The missing packages could be installed with this command:

sudo zypper in xorg-x11-libXv-32bit libqt4-32bit libqt4-x11-32bit

Developing a client for VMware vSphere Web Services SDK using Apache CXF


1. Generating the client code from the wsdl

The documentation for the WSDLToJava tool is available at the Apache CXF homepage.

org.apache.cxf.tools.wsdlto.WSDLToJava -p com.vmware.vim25 /home/<username>/SDK/wsdl/vim25/vimService.wsdl

2. Instantiate a client where you can call the operations

        JaxWsProxyFactoryBean proxyFactory = new JaxWsProxyFactoryBean();
        proxyFactory.setServiceClass(VimPortType.class);
        proxyFactory.setAddress(url);
        VimPortType vimPort = (VimPortType) proxyFactory.create();

3. Enable session management
Because of the way you login to the VMware vSphere Web Services it is necessary to maintain a session. To enable session management for the CXF client you need to add the following code.

        ((BindingProvider) vimPort).getRequestContext().put(BindingProvider.SESSION_MAINTAIN_PROPERTY, true);

4. The client should be able to follow redirects to support httpsWithRedirect
        Client client = ClientProxy.getClient(vimPort);

        HTTPConduit conduit = (HTTPConduit) client.getConduit();
        conduit.getClient().setAutoRedirect(true);

5. Get SSL to work
First run it so that it just trusts everybody.

        TrustManager[] simpleTrustManager = new TrustManager[] { new X509TrustManager() {
            public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                return null;
            }

            public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {
            }

            public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {
            }
        } };
        TLSClientParameters tlsParams = new TLSClientParameters();
        tlsParams.setTrustManagers(simpleTrustManager);
        tlsParams.setDisableCNCheck(true);
        conduit.setTlsClientParameters(tlsParams);

Now we know the web service part works.
Replace the TrustManager with one that have access to the relevant keystore to be sure your keystore contains the right certificates:

        TLSClientParameters tlsParams = new TLSClientParameters();
        tlsParams.setTrustManagers(new TrustManager[] { getTrustManager() });
        tlsParams.setDisableCNCheck(true);
 

        conduit.setTlsClientParameters(tlsParams); 

That is it. Now a client for the vSphere web service SDK is ready and can start querying and manipulating a vSphere environment.

On this blog it is explained that one should include the all important cxf.xml. I haven't seen any need for that for this client.

Getting Broadcom 43xx to work with openSUSE 11.3


It is very simple to get this to work.

If you want to make sure you have the right device you can run as root:

hostname:~ # lspci | grep BCM43
0c:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN (rev 01)
The outcome shows that my device is a BCM4311.

Here is what you have to run:
hostname:~ # suhostname:~ # install_bcm43xx_firmwarehostname:~ # init 6 <----to restart

Easiest way to set up vpnc to connect to cisco vpn (for openSUSE)


Install vpnc and wine (if you use an RSA SecurId software dongle). The dongle runs flawlessly under wine.

In openSUSE you can run this command:
sudo zypper in vpnc wine

If you have a VPN client set up in Windows look for the .pcf file.

This table shows what the necessary elements in the pcf file relates to in a vpnc configuration file.
Windows .pcf fileLinux /etc/vpnc/default.conf
Host=<value>IPSec gateway <value>
GroupName=<value>IPSec ID <value>
enc_GroupPwd=<value>IPSec secret <decoded value> (see later in this post)
Username=<value>Xauth username <value>

To decode to enc_GroupPwd value go to http://www.unix-ag.uni-kl.de/~massar/bin/cisco-decode

vpnc is by default looking for a configuration in /etc/vpnc/default.conf. If you only need to connect to one vpn server the easiest will be to insert the information into that file.

DD-WRT as a better alternative for a wireless bridge


As i mentioned in another blog post I managed to configure my Linksys WRT54G router as a wireless bridge using OpenWRT.
Sadly it turned out that it would loose connection after a while and needed to be rebooted to connect again. I did not spend to much time on solving that issue so OpenWRT isn't necessarily the problem. Maybe it was something in my setup that broke it.

Since my brother got his Xbox360 back I did not spend anymore time working with the wireless bridge.
I then got a new printer (HP Color LaserJet CP1515n) with a network interface card (NIC). It was not wireless so I decided to try to configure the wireless bridge again. Since OpenWRT did not work as good as I had hoped I wanted to try another distribution. I decided to install DD-WRT since there were some good documentation online (here and here) about how that would be configured and also because DD-WRT seemed more user friendly than OpenWRT since it had a nice web based UI.

Everything could be set up in the web interface and I still haven't experienced it loosing connection. I don't print very often so sometimes the router can be turned off for a month but it still connects flawlessly when I turn it on again.

It seems that OpenWRT is more experimental than DD-WRT. DD-WRT seems more stable and is easier to set up.

Regionfree Philips DVDR3460

How to make the Philips DVDR3460 play all regions

For this to work:
All commands should be done using the remote
There must NOT be any DVDs in the player

Step-by-step guide:

  1. Turn on the unit
  2. Switch to DVD
  3. Open the DVD drawer by pressing the <STOP> button
  4. Press 0 0 8 6 0 0 0 
  5. Press <OK>
  6. Turn of the unit

The player is now region free!


Linksys WRT54G as wireless bridge using OpenWrt

This is the closest i have been to being an embedded developer yet.

I tried to change my router into a wireless bridge to avoid having to pay for a USB modem while borrowing my brothers XboX360.

To do that I installed OpenWRT kamikaze on my Linksys WRT54G router.

I had to try it a few times to get the configuration right. In the end I was posting this through my new wireless bridge.

My configuration files ended up like this:

/etc/config/wireless:

config 'wifi-device' 'wlan0'
        option 'type' 'mac80211'
        option 'channel' '05'
        option 'disabled' '0'


config 'wifi-iface'
        option 'device' 'wlan0'
        option 'ssid' 'Wireless'
        option 'mode' 'sta'
        option 'encryption' 'psk'
        option 'hidden' '1'
        option 'isolate' '0'
        option 'bgscan' '0'
        option 'wds' '0'
        option 'key' '<top-secret-SSID-replaced-by-this>'
        option 'macpolicy' 'none'
        option 'network' 'wan'

/etc/config/network:
config 'switch' 'eth0'
        option 'vlan1' '0 5'
        option 'vlan0' '1 2 3 4 5*'


config 'interface' 'loopback'
        option 'ifname' 'lo'
        option 'proto' 'static'
        option 'ipaddr' '127.0.0.1'
        option 'netmask' '255.0.0.0'


config 'interface' 'lan'
        option 'type' 'bridge'
        option 'ifname' 'eth0.0'
        option 'proto' 'static'
        option 'ipaddr' '192.168.1.1'
        option 'netmask' '255.255.255.0'


config 'interface' 'wan'
        option 'ifname' 'wlan0'
        option 'proto' 'dhcp'


That was all I needed to get it to work.

Furthermore i stopped the firewall - I haven't checked if that is necessary.

The config files might look a little odd compared to the default ones. The reason for that is that I installed X-Wrt to get a graphical interface. I didn't actually need it but I became kind of desperate in the process.

I also managed to get the router into a state where I could not connect to it anymore. Luckily I discovered that I could boot into the failsafe mode before I gave up on the router. It helped me a couple of times.


What am I going to do with the old homepage (www.vester.org)


I originally used my homepage for documenting things I had to setup or configure so I would be able to do it again. If others could benefit from that it would be fine - but it was never the purpose. It was hosted as a Google Site with the benefits and limitations that gives you. I was able to expose the Google Site on my own domain through Google Apps.
In the book "What Would Google Do?" Jeff Jarvis argues that a blog is a conversation. People can give you feedback by adding a comments to your blog. 
The things I documented on the old homepage could surely benefit from being part of a conversation. If someone else found a better solution than the one I came up with, or if someone had an issue because the documentation was not good enough it could be of great value to know that. Then I would be able to improve the documentation and by doing that I would also make it easier for me to follow my own instructions a second time.
Because of this I will start to transfer the relevant parts of the old homepage to this blog. I hope that someone will still benefit from what I came up with and even give some feedback which was not possible on the old homepage.

Reading "What Would Google Do?" by Jeff Jarvis


I never really saw any use for a blog. Not until I started reading "What Would Google Do?" by Jeff Jarvis. I have only read the first three chapters until now but it have been very inspiring reading. Jeff Jarvis has his own blog at http://www.buzzmachine.com/. Off course he also blogged about his book (http://www.buzzmachine.com/what-would-google-do/).
In his book he explained how he used his blog to tell about some issues he had with a Dell laptop and their support. He explained how he got in touch with other bloggers and eventually got a refund from his product. When that happened his blog had become one of the top search results at Google when searching for Dell. Suddenly the consumers were in charge and Dell had to fix the issues and could not fix it with marketing.
Here starts my motivation for blogging. I want to be in charge and I want to know about these issues that the major corporations try to cover up.
Maybe the blog will grow to cover other areas of interest later. But now I started the blog and we will see what happens.

Install AWS VPN Client for openSUSE Tumbleweed

Code: curl https://d20adtppz83p9s.cloudfront.net/GTK/latest/awsvpnclient_amd64.deb -o awsvpnclient_amd64.deb sudo zypper in alien alien --t...