Posts

Using multiple processors in VirtualBox VMs

I noticed recently that my Ubuntu Narwhal OS running on Virtual Box was running Eclipse far slower than it should be. Ubuntu's System Monitor showed only one CPU, and it was pretty busy. My machine is an i3 processor laptop, with 4 cores. Why was Ubuntu only using one processor? It turns out that you need to change the settings in the VM VirtualBox manager to make it use more. Right click on your VM, and choose settings. Click on system in the left hand column, and click the processor tab. Here you can choose the number of processors that the VM will use. I set mine to 4. I also chose to enable PAE/NX which allows your VM to access more than 4GB of RAM. You also need to enable the IO APIC option back on the Motherboard tab. Without this you can not use more than one processor. After making these changes your VM may now support multiple processors, or, as in my case it may refuse to boot. If your VM fails to boot as mine did, try enabling VT-x/AMD_V in your bios settings. After en...

Trouble with MongoDB on Ubuntu!

Tonight I've been setting up an Ubuntu server to run a MongoDB. MongoDB is a noSQL document database, that promises scalability. I'm new to noSQL databases, but already I'm finding them liberating compared to the rigid schema based traditional DBs. I'm also fairly new to Ubuntu. I used to develop on Sun linux and silicon graphics but that was a long time ago, and Ubuntu is very different from the xterm vi based system I was used to. So, I installed MongoDB using the Ubunto software repository. Which worked well, and was simple to do.... and then I started playing with MongoDB. To aid testing, playing etc MongoDB provides a javascript shell that can be used as a stand alone client of the database. Which I played with and became familiar with how to put a document into a DB, which is incidentally, really simple. The trouble started when I tried to put a document into the database using a simple Java client, using the mongo java driver ( here ). I could not get this to ...

Software Architecture dictates business models.

I have spent the last few years trying to understand what cloud trends mean for enterprise software architectures and enterprise software companies. I have come to realize that software architecture is of paramount importance to a company's revenues. Software architecture fundamentally dictates your business models. How you can sell, how you can integrate and how you can partner; all this is dictated by your software architecture. Unfortunately the architecture of products are often decided by people with no inherent sense of this. Software architecture is treated primarily a technical function, and often architectural decisions are made on the back of technological evaluations; this library is faster than that library etc. However when we make an architectural decision we often fail to take the far reaching decisions into account. The new web, (web 2.0, async, web technologies, SaaS etc) demands many changes of enterprise software. 

Google Android - App Engine connected projects.

At Google IO this year Xavier Ducrohet & Brad Abrams showed the new Eclipse Google Plug in's App Engine connected android project. I've been trying it out, and have managed to get C2DM (cloud to device messaging) working after a few trials and tribulations. A few tips on getting the 'default' project running.  Tip 1. Make sure you're signed up for C2DM here . Tip 2. You need to use the android app's menu to select an account before the app will work. If you don't do this you get exceptions when posting a message from the GWT website (poor error handling). More tips as I find them.....

Welcome to the Boho Software blog.

This is a blog about software technologies, thoughts about the industry, cloud and stuff like that. I've been a C++ windows app programmer for the last 10 years, using COM. The advent of managed languages and the vast array of open source libraries available for them had kind of passed me by. All this changed a couple of years ago, when the start up that I worked for was bought up, and we moved into a phase of integration with other products. I led an integration that involved writing a Java module that use a library provided by a different product group. I learned Java and flung myself headlong at the project. The library I was using used the spring framework, and I had no idea what was going on. I resolved to update my skills, and widen my knowledge as much as possible. During the last two years I have done courses on and learnt a staggering amount of stuff, including but not limited to; Languages; Java, C# .net, Java Libraries; log4j (logging framwork) Junit (unit ...