Thursday, December 20, 2012

Excel file open problem when iCloud 2.x is installed

Sometimes users get a error message when they try to open a .xlsx file with Excel 2007 oder 2010.
The error message is like
"Excel found unreadable content in 'xxxxxx.xlsx'. Do you want to restore the content of this file? ...."

or in german:

"Von Excel wurde unlesbarer Inhalt in 'xxx.xlsx' gefunden. Möchten Sie den Inhalt dieser Arbeitsmappe wiederherstellen?

The funny thing is:

- When you have excel closed and double click the .xlsx file in Explorer it opens without a problem
- Also when you open it via the recently used files

- But when you open it via the file menu of Excel then it shows that error
- And then all other open requests show the same problem, until you restart excel

The cause of this problem is Apple iCloud in Versions 2.x and up.
So you have to remove the iCloud 2.x stuff and the problem is solved.
You can use iCloud 1.x, this gives no problems, just make sure you disable autoupdate for that thing...

Just wondering what the hell apple is doing there at them moment I try to open a excel file....

Some references:

Wednesday, December 12, 2012

Starting SQL Anywhere 10.x on Ubuntu 12.04

Yes i know,

SQL Anyhwere 10 is out of the normal support cycle, so we won't get any new EBF for it.

Neverless we still have customers running SQL Anywhere on linux systems.
When you upgrade your Ubuntu 10.04 LTS to the 12.04 LTS version, then the database will no longer run.
On startup you will see a message telling you that there is not enough free memory available.

The cause is the switch from kernel 2.6.x to 3.x, which has some other memory handling.

You can find the original thread here in the sql aynwhere forum.

The simplest solution (beside upgrading to a new license of sql anywhere) is to start the database server with the architecture specified as kernel version 2.6.

Fortunally there is a tool which allows us to do this: setarch

So the command to start dbsrv10 looks like this:

setarch $(arch) --uname-2.6 /opt/sqlanywhere10/bin32/dbsrv10 @/opt/sqlanywhere10/databases.list

Tuesday, December 11, 2012

Linux and Bixolon BCD-1100

 A few years ago I posted a howto to enable a epson client display to be used with linux.

Now we wished to use bixolon client displays with out pos solution.
And as usually, they also don't know what anything beside windows is, so they don't offer drivers for linux.

The corresponding lsusb did show up this:

Bus 002 Device 004: ID 1504:0011

So the simple way to go is just use the same command as a few years back and enable the ftdi_sio module for the Bixolon displays too.
modprobe ftdi_sio vendor=0x1504 product=0x0011

Enables the bixolon display as the tty device in linux.

This did create a /dev/ttyUSB0 which we then could use to communicate with the device.
To automate the module loading on plug events, just create a new file in /etc/udev/rules.d

File: 50-udev-default.rules
ATTR{idVendor}=="1504", ATTR{idProduct}=="0011", RUN+="/sbin/modprobe -q ftdi_sio vendor=0x1504 product=0x0011"

For a solutions also working with 3.12 and newer kernels, please read on here.

Thursday, October 18, 2012

Folder empty in HORDE / IMP, but folder has content

Horde / IMP Empty Mailbox

I have been using the Horde groupware suite for many years now, and cannot remember ever having any problems other than minor issues in connection with upgrades of either Horde itself or the OS on the machine where Horde is installed.
A couple of days ago, however, all of a sudden my inbox displayed the following message, even though there were plenty of messages both read and unread in the folder:
There are no messages in this mailbox.
The funny thing was, I could see all of the messages in the folder if I did a search for a string that was not found - for example search for messages in inbox from "nosuchuser".
Some searching revealed that others have occassionally seen a similar problem, and there seemed to be a connection to the IMP preferences for the user having the problem. The most common recommended solution was to delete all of the imp preferences for the user.

Since I have a lot of customized settings, I wanted to avoid that if possible, so I went digging. I tracked the problem down to a garbled setting in the sortpref preference setting.
The solution for me was to reset sortpref to its' default setting. I did this with the following SQL code:

update horde_prefs set pref_value='a:0:{}' where pref_uid='USERNAME' and pref_name='sortpref' and pref_scope='imp';

(Of course, you have to replace USERNAME with the actual username of the user having the problem)

After logging out and back in again, the problem was fixed.

Originally written: 2011-03-28

Origin from here:

Wednesday, October 17, 2012

DOS memory problems under Windows XP

If you are one those (un)happy people to still having to use DOS applications under Windows XP, then it is possible that your applications no longer run.

If you used high memory then this won't work any longer and you will receive out of memory messages from the DOS application.

The reason for this are a few recent microsoft updates for windows XP.

In more detail,
deinstall these 4 updates and restart the computer


You will then have back the high memory area for your DOS applications.
Why they deactivate high memory is not clear, but I think it's (realy, realy) time to replace your DOS application (and Windows XP at the same time) by a modern solution.

Monday, April 30, 2012

XEN 32-Bit DomU running on a 64-Bit Dom0

Running 32bit guests in a 64bit Dom= XEN system is not a problem.
Just copy over the lib/modules from the Dom0 server and it works.

There are a few things however you should be aware of:
- 32bit utilities (userland tools) can't modify kernel parameters

In real world this involves problems with these components:
- Iptables won't work
- IPSEC tunnels (openswan) won't work
- (x)ntp will also have problems

When you need to have these functionality in a DOmU guest you are out of chance.
Your only options are:

- Use 64bit DomU as well
- Install these tools in the Dom0 environment
- Use the hardware virtualization

Thursday, March 15, 2012

Provide auto configuration for your mail services

When you use exchange with outlook then the client configuration works almost magically.
This is also possible for non-exchange mail servers.

The simplest solution is the new software called automx
Together with two entries in your dns you get automatic configuration.

The system covers automatic configuration for Outlook and Thunderbird (and all others using the same configuration discovery).
You specify what pop/imap/smtp services should be used and what ports and ssl/tls encryption should be used as default.

We at aarboard have now enabled this autodiscovery service for all our client domains.

Monday, March 5, 2012

Automated backups for MS SQL Express

MS SQL Express systems do not allow you to backup the databases via sheduled jobs (Since the job sheduler is one of th emissing features in the express edition)

With this handy script you can however automate it and even compress and send the backup files to a remote resource.


Wednesday, February 22, 2012

How to do a smooth upgrade for Sogo with Thunderbird 3.x to 10.x

With the new thunderbird esr versions out now, we also got full support for the sogo extensions.
For giving the users a smooth upgrade experience look here:

Friday, February 17, 2012

SQL Anywhere: Why SQL Server Sucks: ISNULL

One (of the many) reaoson why MS SQL Server sucks:

SQL Anywhere: Why SQL Server Sucks: ISNULL

There are plenty others, but this one is just brain dead....

Thursday, February 16, 2012

Changing keyboard layout when netbooting linux mint (And other debian variants)

When you boot the Linux Mint live cd to have a live recovery system (described here), then you have the default english/us keyboard active.
That's inconvinient when your keyboard has a different layout.

You can change it to the one you use by adding this to the APPEND statement in your boot configuration:

 locale=de_CH console-setup/layoutcode=ch

With these two setting, you receive most messages in german and the keyboard is set to swiss german.
The layout is correct in the X-Window system and in the terminals inside X.
On the console (Switch with CTRL+ALT+F1..F6) you will still have the us keyboard, if anyone has a tip...

Wednesday, February 15, 2012

Installing .net framework 3.5 via ADS GPO

Deploying .net framework 3.5 via group policy is not as easy as it should be.
No idea why microsoft did create packages which can't be used by microsoft products....

To get installable .msi packages you can do the following steps:

Deployment of Microsoft .NET Framework 3.5 SP1 x86 using Active Directory.

Microsoft Windows Installer 3.1 must already be deployed.

1. Download dotnetfx35.exe from

2. Run dotnetfx35.exe /x to extract the files

3. Move wcu\dotNetFramework\dotNetFX20 and wcu\dotNetFramework\dotNetFX30 into the root, eg to D:\dotNetFX20 and D:\dotNetFX30

4. To create Microsoft .NET Framework 2.0 SP2 admin install (a prerequisit) run
msiexec /a Netfx20a_x86.msi /update D:\dotNetFX20\ASPNET.msp;D:\dotNetFX20\clr.msp;D:\dotNetFX20\crt.msp;D:\dotNetFX20\dw.msp;D:\dotNetFX20\NetFX_CA.msp;D:\dotNetFX20\NetFX_Core.msp;D:\dotNetFX20\NetFX_Other.msp;D:\dotNetFX20\prexp.msp;D:\dotNetFX20\winforms.msp USING_EXUIH=1 REBOOT=ReallySuppress /log D:\dotNetFX20\netfx20a_x86.txt TARGETDIR=D:\dotNetFX20admin
then copy D:\dotNetFX20\Netfx20a_x86.msi to D:\dotNetFX20admin and move D:\dotNetFX20admin to network share.

5. To create Microsoft .NET Framework 3.0 SP2 admin install (a prerequisit) run
msiexec /a netfx30a_x86.msi /update D:\dotNetFX30\WCF.msp;D:\dotNetFX30\WCS.msp;D:\dotNetFX30\WF.msp;D:\dotNetFX30\WPF1.msp;D:\dotNetFX30\WPF2.msp;D:\dotNetFX30\WPF_Other.msp;D:\dotNetFX30\XPS.msp;D:\dotNetFX30\WF_32.msp;D:\dotNetFX30\WPF2_32.msp;D:\dotNetFX30\WPF_Other_32.msp USING_EXUIH=1 REBOOT=ReallySuppress /log D:\dotNetFX30\netfx30a_x86.txt TARGETDIR=D:\dotNetFX30admin
then copy D:\dotNetFX30\Netfx30a_x86.msi to D:\dotNetFX30admin and move D:\dotNetFX30admin to network share.

6. To create Microsoft .NET Framework 3.5 SP1 admin install run
wcu\dotNetFramework\dotNetFX35\x86\netfx35_x86.exe /x and move vs_setup.msi and to network share.

7. Add Netfx20a_x86.msi, Netfx30a_x86.msi and vs_setup.msi in order to an Active Directory GPO.

An x64 version can also be created and deployed using this method.

Wednesday, February 8, 2012

Setting dbremote mail replication options via isql in SQL Anywhere

When you extract databases from a SQL Anywhere server you can then enter the mail settings on first run of dbremote.

When you are running dbremote as a service (under either linux or windows) then you will not see the dialog asking for the mail settings.

To prevent this you can enter the parameters via normal sql commands.
Here a example on how to configure the mail replication (smtp+pop3)

set remote smtp option smtp_host=''
set remote smtp option pop3_host=''
set remote smtp option pop3_userid=''
set remote smtp option pop3_password='password'

Monday, January 30, 2012

Upgrading EOL Ubuntu versions

Upgrading older ubuntu versions is straight forward.

Just upgrade all packages

sudo aptitude update && sudo aptitude safe-upgrade

and the (after a reboot) do a 

sudo do-release-upgrade

This works fine, as long as the origin version is not EOL.
When your server is having a EOL version installed, then you must dig somewhat deeper:

You have to change the source repositories to old-releases (instead of achives as mentioned in many posts/sites)

So you do change sources.list to:

deb dapper main restricted universe multiverse
deb dapper-updates main restricted universe multiverse
deb dapper-security main restricted universe multiverse 
Then you can do the normal steps as mentioned above.
If the do-release-upgrade command is unknown, then you have to install it:

install update-manager-core

If by change you had the profile "ubuntu-desktop" installed, then first remove that one from your installation.

Modified /usr/lib/

#near line 28, add:
import time
# near the line 101-102, just after "tar.close()", add
    print "----- IT IS TIME NOW !-----"
# Note that you can adjust the time (60) by the value in seconds of your choice...
Theses lines should be like :
          # Wait about 1 minute (time to modify update script)
          print "----- IT IS TIME NOW !-----"
          return True
# Note that you must keep the text idented

Run sudo do-release-upgrade

When the script sleeps, you have just 60 seconds to do the next step:
-- Modified /tmp/tmpXXXXXX/prerequists-sources.list and prerequists-sources.dapper.list and changed them to "old-releases" as well.

Then  wait until the script continues running and asks:
"Do you want to modify the sources list?"

Make sure you don't press enter along the way or it skips that question by assuming a "no".) It will say: "WARNING: Failed to read mirror file."

Go fix /etc/apt/sources.list back to the way it used to be now. With "us.archive" instead of "old-releases" (except for the security lines, that should just be "".

Return to the update and say Yes.
The updater will modify /etc/apt/sources.list and replace all the dapper entries with hardy entries and continue updating using the servers.

Thursday, January 26, 2012

Boot Linux Mint via PXE and NFS

Linux Mint is a linux distribution based on Ubuntu, which in turn is based on Debian.

Linux Mint does not use Unity as desktop manager, but instead uses a extended Gnome3 desktop manager with many additions, so it can be used by most peoples.

Naked Unity and Gnome3 desktops are somewhat confusing for normal and experienced users (At least this is how we did see reactions of users)

When you wish to netboot Linux Mint via PXE and NFS you need the following components:

1. A DHCP server which assigns the correct boot options
2. A TFTP server for loading the pxe environment and loading kernel and initrd
3. A NFS server to deliver the normal Mint squashfs

The setup is identical as for net booting ubuntu, you only have to make sure you specify the correct paths.
A typical pxelinux.cfg entry for mint looks like this:

LABEL Linux Mint 12 64-Bit
    kernel mint12-amd64/vmlinuz
    APPEND boot=casper netboot=nfs nfsroot= initrd=mint12-amd64/initrd.lz --

In this case we have:
- On the tftp server we make a subdirectory called linux12-amd64
- In that directory we put the vmlinux and initrd.lz from the ISO image /casper/ directory
- On the NFS server we just expand the content of the mint iso file into /srv/nfs/mint/12-amd64

It should then work just fine