Thursday, 9 July 2009

VMware guest time sync under OSX

To sync time without needing VMware tools, you can run a cron job every minute that syncs with the OSX time daemon.

  1. Determine the IP address that OSX uses for the VMware network
  2. Add a cron job in the guest that runs

    ntpdate -s {ip address}
I'm running this in Ubuntu 8.10 under OSX 10.5.7 VMware Fusion 2.0.5.

Friday, 26 June 2009

A letter to VMware

In case there is any interest in improving your client interaction, my customer interaction with your company today:
  • I was advised by an Apple technician to update my 6 day old copy of VMware Fusion 2.0.4 - I'd installed the shipped copy 2.0 an hour earlier - to 2.0.5 because it would fix the issue I was having.
  • After agreeing to a licence, I downloaded 2.0.5 , which when I installed it, asked me to agree to yet another license. I've now agreed to the one for 2.0, the one to download 2.0.4, the one to install 2.0.4, the one to download 2.0.5, the one to install 2.0.5 - despite having to actually login to my profile before I can even begin the download - have your lawyers not got anything better to do?
  • The problem was not resolved, and since I had a spare 15 minutes, and despite several hours of research to resolve the issue over the weekend, I thought I'd phone support since I have 30 days support when I bought VMware Fusion. The website indicated that support was available in Australia from 7am to 7pm EST, so I launched the white pages, did a national search for VMware, found your Perth Office number and dialled it.
  • The telephone number in the electronic white pages shows a phone number for VMware in my local town of Perth, Western Australia. Only it is no longer connected.
  • The electronic white pages do not show the 1800 number for telephone support.
  • When I contacted the Sydney number, a long distance call, I asked to speak with technical support. I was provided with the 1800 number.
  • I dialled the 1800 number, chose technical support, workstation, fusion, and then got a message telling me that it was closed - even though your web-site tells me that it's open from 7am to 7pm EST (or Sydney time)
  • When I contacted the Sydney number again, I was put through to technical support where I spent 7 minutes on the phone with a lady who didn't speak much English and turned out to be in licensing support. All she could tell me was that I didn't own any copies of VMware - my bank disagrees.
  • When I contacted the Sydney number again, I was put through to licensing again, who put me through to technical support. The gentleman who answered was in Canada, but could not provide telephone support. He actually called me back on my phone so we could have a conversation on your dime, rather than mine. It transpired that your registration process had not registered my product. I was advised to speak with licensing support.
  • I tried to license my copy of VMware Fusion on the web - no success, not a valid serial number, despite the fact that the serial number was written on the CD sleeve and that it had happily been used by the application as a license key.
  • I dialled the 1800 number and chose licensing support. I spent 13 minutes discussing the merits of your web-form when finally the gentleman was able to license my copy of VMware Fusion. I wanted to ask about why my VMware workstation license wasn't visible, but the call had already ended.
  • I dialled the 1800 number in an attempt to speak with customer service, no such option.
  • I tried to license my copy of VMware Workstation on the web - no success, not a valid serial number, despite the fact that it was copied from an email you sent me.
  • I dialled the 1800 number and chose licensing support. I spent 15 minutes attempting to license my copy of VMware workstation. The gentleman advised me to contact the sales team "to swap the key".
  • I dialled the Sydney number, but they had gone home, despite that the web site says that it was open for another hour and a half.
  • I dialled the 1800 number and chose the sales team, where I got the global voice mail for VMware USA.
You can just imagine how much fun I was having. I then tried to lodge a support call on the web.
  • The web-form tells me that the maximum length for the description is 2000 characters, but when I pasted 1908 of them, it told me that there were too many.
  • The web-form has the ability to upload files, and even has sections describing what files are smart to upload, only OSX doesn't exist, nor does VMware Fusion.
So, all in all, I've now been at this since 14:16. It's now 16:35. Whom do I bill for the $355 dollars in time this has cost me, let alone the cost in phone calls, which I'm not looking forward to.

Wednesday, 20 May 2009

Out of the mouths of babes...

My 73 year old mother in law sent me some Australian Computer humour which I thought worthy of sharing around - not so much for the humour but for the fact that she was thinking of me with a twinkle in her eye at the time:

Australian Computer Terminology

LOG ON:Adding wood to make the barbie hotter.
LOG OFF:Not adding any more wood to the barbie.
MONITOR:Keeping an eye on the barbie.
DOWNLOAD:Getting the firewood off the Ute.
HARD DRIVE:Making the trip back home without any cold tinnies.
KEYBOARD:Where you hang the Ute keys.
WINDOW:What you shut when the weather's cold.
SCREEN:What you shut in the mozzie season.
BYTE:What mozzies do.
MEGABYTE:What Townsville mozzies do.
CHIP:A bar snack.
MICROCHIP:What's left in the bag after you've eaten the chips.
MODEM:What you did to the lawns.
LAPTOP:Where the cat sleeps.
SOFTWARE:Plastic knives & forks you get at Red Rooster.
HARDWARE:Stainless steel knives & forks - from K-Mart.
MOUSE:The small rodent that eats the grain in the shed.
MAINFRAME:What holds the shed up.
WEB:What spiders make.
WEBSITE:Usually in the shed or under the verandah.
SEARCH ENGINE:What you do when the Ute won't go.
CURSOR:What you say when the Ute won't go.
YAHOO:What you say when the Ute does go.
UPGRADE:A steep hill.
SERVER:The person at the pub who brings out the counter lunch.
MAIL SERVER:The bloke at the pub who brings out the counter lunch.
USER:The neighbour who keeps borrowing things.
NETWORK:What you do when you need to repair the fishing net.
INTERNET:Where you want the fish to go.
NETSCAPE:What the fish do when they discover the hole in the net.
ONLINE:Where you hang the washing.
OFFLINE:Where the washing ends up when the pegs aren't strong enough.

Wednesday, 13 May 2009

Workstation Virtualisation

I'm a long-time software developer. I have a ThinkPad R52 from August 2005, the last of the IBM's. I'm in need of new hardware. Since upgrading from Ubuntu 7.10 I've been unable to properly virtualize anything (VMware went away). I want to keep running Ubuntu but am fed up with fixing hardware issues. A suggestion made to me was to buy a PowerBook Pro and virtualize my desktop.

The idea is to run a stock standard OS X PowerBook and then run my normal Ubuntu Desktop as a virtual machine. Since I'm also writing software and testing all manner of strange configurations, I can then also simply virtualize all the other things, such as Ubuntu Server installations, various pre-release versions of Ubuntu, specific client configurations, etc.

Most articles I read talk about running Windows on OS X, and I'm really not interested in that - other than to export my accounting data out of MYOB.

My personal experience of VirtualBox under Ubuntu is less than stellar. A virtual machine that crashes *ever* is not an example of a tool that I want to run in production. That's akin to a hardware failure and a cause for the return of said hardware.

I need to be able to run this workstation with an external monitor, have a full monitor view of my workstation, run other tools on the other monitor. There will be times that I expect to run my virtual machine across both monitors.

I expect that the OS X side of things takes care of wired and wireless networking, battery management, sound and bluetooth connectivity, but I don't want to run OS X applications, other than the virtualization tool of my choice. I might even launch terminal once or twice :)

Am I opening up a whole can of worms trying this, or are there people who have gone down this path and come out the other end with a better understanding of what is what?

I should note that there was an initial suggestion that I run Ubuntu natively on the PowerBook hardware, but then I'm back to where I started, dealing with crappy hardware issues, video drivers, wifi chip-sets, sleep and battery issues, screen resolution, dvd drives, etc.

I'm not interested in migrating to OS X, I have more than enough work just keeping abreast of what is happening within Ubuntu and Ubuntu-server.

While my CPU demands are not going to be significant - I don't compile much, I'm also not going to be running a high-volume web-server or a database. I cannot stand editors that take 30 seconds to load or many minutes to search for files, so there is an expectation that disk i/o is snappy and that I'm going to be able to stay with the same virtualisation tool for some time.

The actual tools I use on a daily basis are:
Thunderbird, Firefox, Eclipse, bzr, svn, cvs, mysql, apache, ssh, grep, find

Things I expect to work are:
sound, networking, dvd burner, external usb devices

Any comments, suggestions, recommended reading materials or hardware that I can trial this on?

Tuesday, 12 May 2009

IronPort integration - crap

Here's an email I sent to senderbase after banging my head on a brick wall for nearly two days with their closed-loop spam solution. You get on the list for some reason, but there's no way to get off. iiNet's solution to the problem is: "Wait and see." - as in, give it 24/48 hours from some nebulous start point, rinse and repeat.

As an IT administrator of a mail system I crashed into your solution yesterday morning at 7am. A local ISP has implemented IronPort hardware and uses as it's block list.

The ISP's response is: "That's not our problem."

Your site tells me that the reputation for my server is "poor", but doesn't indicate what caused that ranking, nor does it help me determine what to actually do about this.

The server in question sends out two email messages, once a week, to three addresses, namely, me - the administrator, and the owner of the server - using two of his own email addresses - one of which is operated by the ISP.

You've created a wonderful closed loop solution that does nothing for legitimate operators of mail services and makes it simple for the owner of the IronPort hardware to just drop problems caused by your implementation into the too hard basket.

I'm not impressed and as an IT consultant will not recommend your solution to any of my clients in SME/Gov.

I'm not going to hold my breath, but in case you're actually interested in resolving the issue, the ISP is iiNet in Australia, the trouble ticket number in their system is: 60416585

I'll not waste your time telling you about the various pieces of advice provided by iiNet, suffice to say that the problem is not because the email account is on a dynamic IP address because it's on an ADSL link. Or should the support technician have advised me that it was because of another BOFH reason, say: "BOFH excuse #246: It must have been the lightning storm we had (yesterday) (last week) (last month)"

Monday, 20 April 2009

In search of the perfect IDE

Today I spent a fair few hours banging my head against a stone wall and seeing little benefit from the experience. It came about because I was fed up with Eclipse and I needed a new IDE.

Over the years I've spent many hours writing software - since this is where I derive my income from, you'd think by now that I'd have the perfect development environment and all would be sweet - if only.

In ancient history, I used a Macintosh and BBEdit. This is back in the days of the early 1990's - and I'm pretty sure that there was a stint of using MPW, the Macintosh Programmers Workbench - and I recall Borland Turbo Pascal before that.

In the "ye-olden days", I used Windows NT and Notepad. It served me well, until I started wanting to open multiple files and doing stupid search and replace things. BBEdit didn't exist for Windows and I found after much hunting Edit Plus II. I must confess that this is the first piece of software that I used for less than 10 minutes and purchased on the spot. It was also one of my first online purchases as I recall.

After much hair pulling I moved away from Windows to Linux - initially Debian, and after several years, Ubuntu.

Edit Plus II didn't manage to come with me, it wasn't for the want of trying either! I tried all manner of things, but it didn't play well any more. I found nedit. It worked well, was *fast*, and stable, launched within seconds and was my all-purpose editor everywhere - then it stopped being maintained and I couldn't compile from source and it died.

I moved over to gedit, which over the years has become slower and slower. It has poor functionality compared to a real editor and most infuriatingly sometimes takes over 2 minutes to launch - not something I enjoy *ever*.

During this time I found out about version control. CVS was installed on my workstation and my productivity sky-rocketed. I found LinCVS which could integrate with nedit and later gedit and had other ways of interacting with my projects which were getting larger and larger.

LinCVS seemed to die a mysterious death - I think it went commercial, but it no longer seemed to work, couldn't do anything other than CVS and was discarded.

After much searching during which time I played with gphpedit - which didn't highlight colours properly and had a non-responsive developer and a stagnant bug list, I bit the bullet and finally installed Eclipse.

Now Eclipse promises to be the garden sink of software development, and after todays experience with Netbeans, I can confirm that there are many things to like about Eclipse. Unfortunately there are more things to dislike.

Eclipse integrates with all manner of tools - this is excellent, but trying to make anything work involves trying to find a place to get support in such a way that the answer is not "dunno" - which seems to be the case for most things I have run into.

Eclipse uses plug-ins that do stuff and it seems to be grouped into projects that provide functionality, but trying to understand what each project does and looking for bug reports is a never ending process. For example, lets say that you want to upload your project to a web-server - something which you'd think was pretty straight forward. Under Eclipse there seems to be no "normal" way to do this. You need to either do it manually yourself, or you need to install a synchronisation framework, then an ftp framework, then you can do it. But not with scp. Then you need to install something called RSE, Remote System Explorer which seems to be built around the notion of remote controlling the server on the other end - and all I wanted to do is upload a file via scp.

I tried getting bzr working with Eclipse, tried to get spell checking working, tried to get the debugger working with PHP, tried to run sites locally without installing a complete LAMP stack locally - something which I'd done in the past, but then involves needing to keep track of local LAMP configuration settings and making your code deal with varying paths, or if not that, then deal with changing dynamic host names to make your local development machine look like the remote host for the purposes of debugging. Of course you could just upload each change across the network - something that Eclipse is happy to do for you, but there is no understanding that you might not have your server on the LAN, and that its somewhere on the Internet.

So with all that frustration, let alone huge memory footprint, poor copy/paste, etc. it was again time to look for a better IDE.

Yesterday I installed Netbeans. I needed to update a website for a client, about 30 odd changes, pretty simple and straight forward. Nice little project to try a new IDE with.

That was a bad idea.

Well, let me put it another way. Netbeans is crap.

I ran the latest PHP version, not even packaged in Ubuntu - which I hate - because it means that as root I need to install something that never cleans up after itself if it gets removed. I installed 6.5.1 from the netbeans site.

If Eclipse is giving me heaps, Netbeans is worse.

No spell checking; double-click means something different depending on where on the file name of a document you click - rename, open, diff; there is no way to open an image editor from with Netbeans, so I need to have the same folder open twice, once in Netbeans, and once on the desktop; right-click on the filename of a list of selected files causes none to be selected; upload can only upload all files, not just the 2 you changed; upload is FTP only; integration with SVN returns all manner of cryptic errors and no indication on how to fix things; importing into SVN didn't work and required me to learn SVN to run the manual commands to make that happen; an ASP file full of HTML is not recognised as containing HTML; the HTML editor does not do smart-tag complete, so starting a <p> only offers you the closing tag, even if the text that you want to enclose is already there - meaning that you need to cut the text, start the <p>, finish the </p>, then paste the text - like I want to do that when I'm converting a wordprocessed document into HTML - yuk!

I'm not impressed with any IDE I've found yet and Netbeans is yet another one to hit onto the slag heap.

Why is it so hard to find an IDE that can do these things:
  • Has a syntax aware editor
  • For HTML and CSS has the ability to switch between Source and Display view
  • Allows me to rename a function and have the rest of the source be updated accordingly
  • Have a spell-checker that understands the difference between a variable name and a string
  • Has integrated version control that speaks to anything I need to
  • Can update via whatever file system/remote access protocol I need
  • Can edit images, databases, PHP, HTML, CSS, perl, C, C++, bash and .htaccess - and has syntax checking for those
  • Runs on a machine with 1.5Gb of RAM without hogging all the RAM
  • Launches within a reasonable time
  • Has the ability to track time while I'm writing software so I can bill the client accordingly
  • Has the ability to quietly do backups in the background so I can get on with writing code
  • Understands regular expressions for both the find and the replace box
  • Can deal with any external linux command I can throw at it
  • Doesn't run under JAVA
You'd think that I wasn't asking that much. I don't need an integrated news reader, or email, or a calendar, or any other crap. I have applications that are perfectly capable of doing that.

I write software. I want to do that without needing to re-invent the wheel every time I need to achieve something. Most of what I write above, I can do from the command line. Yes, I'm capable of runnig vi. Next thing I might go back to running screen on a text-only console, perhaps with green or even amber letters on ablack background.

Seriously, why is this so hard?

Thursday, 16 April 2009

Eclipse bzr integration

There is a plugin for Eclipse called bzr-eclipse, you can install it within Eclipse simply enough, but it also requires that you install a bzr plugin called bzr-xmloutput, which isn't packaged for Ubuntu Intrepid.

I'm not a believer in dropping files across my file system and will try many things before untarring something into my system. Packages are there for a reason, and I'm not about to try and break things by fixing them if you know what I mean.

Fortunately, bzr-xmloutput is packaged for Jaunty, but it requires python-central that is of a later pedigry than the current one in Intrepid.

So, this worked for me:
  1. Download bzr-xmloutput (Jaunty package) and python-central (Jaunty package) from Jaunty.
  2. sudo dpkg -i python-central_0.6.11ubuntu6_all.deb bzr-xmloutput_0.8.3-0ubuntu1_all.deb
If you're doing this, it's likely that the versions here are not the latest, so make sure you check that.

Tuesday, 14 April 2009

CIFS VFS: cifs_mount failed w/return code = -22

Last week I upgraded a Gutsy 7.10 server to Hardy 8.04.

Today I got a report that a mounted drive was missing.

Turns out that the ip=hostname part of an /etc/fstab line works in smbfs, that is, if you've defined the hostname in /etc/hosts, but under cifs, it doesn't work.

In addition, it seems that smbfs uses a fallback when a user authentication fails and falls back to the guest user, but cifs doesn't.

Friday, 3 April 2009

mount: could not find any free loop device

Just tried to mount a bunch of .iso images I'd made from backup cds so I could hunt for a missing photograph without needing to continually swap cds. I ran out of loop devices, that is I got this error:

mount: could not find any free loop device

Here's how I fixed it thanks to this article.

Creating extra loop device entries

Also make sure you have enough devices available. You can
check how many you have by doing:

ls -d /dev/loop*

An easy way to create more, is by doing:

for i in $(seq 0 255); do
mknod -m0660 /dev/loop$i b 7 $i
chown root.disk /dev/loop$i

You can have up to 256 loop devices mounted.

xserver-xorg-video-intel independent destops

I'm running Ubuntu 8.10 - Intrepid Ibex. I moved from Gutsy where I was running the i810 driver which allowed me to have independent desktops so I could have a number of independent workspaces on each of my two monitors.

The i810 driver has been removed and is now considered depreciated.

The intel driver does not support two independent desktops. The XStrikeForce page on RandR states that: "[there are] [n]o more multiple independent desktop[s]". There is a whole discussion about the intel driver and RandR.

Meanwhile, I hit on the idea of opening up a virtual screen on the second monitor.

Using tsclient, I can connect to the localhost using XDMP, and as long as I've allowed local connections and multiple logins, I can connect. However this only works with Xnest, not Xephyr.

I wrote a tiny wrapper script that substitutes the geometry call with screen and it magically works.

Monday, 30 March 2009

Shared MYOB installation

According to MYOB support you cannot run a shared installation of MYOB, that is you cannot run it from a server.

I beg to differ.

This is what I did to make MYOB Premier v12 work on a shared drive:
  1. Install MYOB on each workstation - this is so that the various bits and pieces that MYOB installs into the Windows directory are there. This step may well prove to be optional, but I didn't want to tempt fate.
  2. Copy the C:\MYOB folder to a server drive.
  3. Map the folder on the server to a drive for each workstation.
  4. Update the short-cuts in the Start Menu to use that drive and to start in that drive and to point at the application on that drive. (I updated one, then copied the whole shortcuts folder to the server and replaced all the workstation copies with that folder.)
This will allow you to share your forms and letters across multiple users. I suspect there are issues with multiple users updating the same form at the same time, but in my case this was not going to be a problem.

All users need full read/write permission to the drive.

Sunday, 15 March 2009

Thunderbird, Google Calendar under Ubuntu Intrepid 8.10

To make Google Calendars visible and editable under Ubuntu Intrepid, you need to install three things:
  1. sudo apt-get install libstdc++5
  2. Download Lightning (v0.9)
  3. Download Provider for Google Calendar (v0.5.1)

Thursday, 8 January 2009

Satellite Internet Suspended

Hard to believe but today I've officially suspended my Satellite Internet connection, packed up the dish and am now connected to the 'net with a Telstra (Netcomm) Bigpond Home Gateway (3G9WB).

My costs stayed roughly the same ($130p/m), but instead of a 1024/256 kbit link and  10Gb of data, I now have a 7/2 mbit link with 10Gb of data.

I've got a high-gain antenna attached to my gateway and set-up is now a case of plugging in the modem to 240 volt power and waiting 30 seconds for the modem to boot - beats the hell out of unpacking and building a mount, pointing a dish and setting up the electronics.

It's the end of an era. The Gilat gear has stood me in good stead for many years, been stable and reliable and despite Optus' best efforts at poor customer support, their technicians in the BOC still have my full respect.