Tuesday, December 2

Ghetto ESXi server

How would you like to transform your sluggish desktop based hypervisor into a super fast server based one?

Well in fact maybe I have exaggerated a tiny bit, you are not going to transform a desktop PC into a blade server but ... the end result is pretty neat considering that for the majority is free and fairly easy to achieve.

I have had for quite a while a PC at home continually powered on and running a bunch of virtual machines. The hardware is nothing spectacular:
  • Intel Core i5 750 (1st Gen)
    • 64 bit 
    • Intel® Virtualization Technology (VT-x) 
  • 6 GB of RAM
  • Sata disks
  • 3 NICs (one Realtek and two Intel)
that's it really but it is enough to fulfil the minimum requirements to run ESXi. The full list of supported hardware is available via the VMware compatibility matrix.

The biggest trouble I had with my system was that it ran Window 7 Home edition and Oracle VirtualBox for the virtualisation platform. Don't get me wrong, VirtualBox is great, the trouble though is having a full blown OS like Windows underneath which needs updating, chews a lot of RAM on its own, gets all sorts of security issues, etc. One can use Linux I guess to get less of a footprint and it works better as a server in many ways but the bulk of the problem pretty much stays.
If you have ever used VMware ESXi I really don't need to sell this to you, it is designed to be a great hypervisor and many will consider it simply the best.

So I had this idea brewing for quite a while to see whether I could install the standalone version of ESXi onto my PC, take all my VMs and convert them to VMware. Turns out that last week I managed to just that!

Creating the ESXi image

The first problem to solve was to get an image that will work with the hardware I had. For most of what I have done below I followed the instructions on this blog.
  1. Download the base image from VMware. I got my ESXi 5.5U1 from this link
  2. As my PC has a realtek card and ESXi 5.5 does not have drivers for it,
  3. Download the ESXi customiser to inject the drivers in the base image
  4. As an optional step I also wanted to use a USB key to perform the installation instead of a CD. The utility is called Rufus and can be downloaded here. This site also explain quite well how to use the utility.
With all of the above done I then had a USB key with a customised imaged for my bare metal hypervisor"to be.

After setting the BIOS to boot from the USB key I just followed the rather easy installation process for ESXi. The last step of it is to setup the management network which will then give you access from the vSphere client which can be found here

That was it for the installation, I might go through the configuration in a further post. The only problem I am having so far is to do with the chassis fan which is currently running at max speed as I guess the ACPI drivers aren't compatible with the mainboard. I will buy a quite fan to replace mine with.

In the next post I will go through how to convert and move the VMs from my VirtualBox to my new shiny hypervisor.

Friday, October 31

Halloween Automated Scarer part 2

And so this is the scarer in a box, all finished and connected up ready to spring into action

by either using the QR code or send an SMS to my Nokia 7250i the Python code will parse the incoming SMS. If the message says "scare" it will tell the PIC to scream. The PIC will be scared via its serial port and will then activate the motor back and forth a few times

Once installed in place the motor is linked to four fishing lines two are wound clockwise and two counter-clockwise. What is attached to the lines weighs pretty much the same on each and because they are wound in opposite direction the motor doesn't have to struggle much at all.

That's it really, the code isn't terribly interesting but I would be glad to provide it if needed.
Here is a short video of the final effect.

And this is the sign I had outside my house.

In the end I did not have many customers scared but quite a few took the time to watch the animation and enjoyed the novelty. A witch was particularly interested in the QR code, not even her could think of such sorcery!

Friday, October 24

Halloween Automated Scarer part 1

Me and the family are having great fun this year preparing the Halloween project. I am afraid this time we might have had exaggerated a bit but ... I guess it is too late now, we are nearly done!

Before I upload any pictures of the real thing and, who knows, maybe even a scary video, here is just a teaser.

Neighbours and children hungry for chocolate ... prepare to be scared wohahaha,



Thursday, October 9

IPEXPO second day

Day 2 IPEXPO 2014 Excel London

Before leaving home today I checked the weather forecast. It was mostly sunny and I thought it was a good omen. So there I was on my way to the second and last day of IPEXPO.

My resolution for the day was not to go to any of the talks in fear of the experience from the previous day.
I arrived "slightly" early at 8:00 o'clock when the gates would have opened at 9:30. At least that gave me time to catch up with some work and think of what I wanted to get from today's visit.

It was still sunny when they finally let us in. I knew that today it would have been the last opportunity for exhibitors to get business cards and contacts from the visiting crowd. The race was on!
I got approached already by somebody right at the entrance 30 seconds before 9:30. First beep of the day. Just so that it is clear, each one of these exhibitors was equipped with a bar code reader and my badge had a bar code that would say who I was. So as you are talking to somebody you would see them more or less discretely pull one of those "weapons" out of their pockets and with nonchalance ... they would beep you to death!
It was constant, you talk to somebody you get beeped, they give you a gadget but you get beeped, you go to a talk you get ... beeped, you get stopped by somebody that actually asks you information and ... you get BEEPED!! Well I guess you get it by now, there was no escaping.
As the hours passed it was rather entertaining to see visitors dodging pretty girls holding chocolate and gadgets in one hand and the dreadful weapon in the other. "Get a chocolate! Beep! mwahahaha".

Then there were the freebies freaks. They are a different species, lurking in the shadow they wait until all exhibitors are busy with other visitors to launch themselves in an attach magpie style and get their object of desire. Which in itself is rather sad especially if you consider that since the credit crunch the freebies you get are along the lines of pens and sweets. Who uses that many pens nowadays anyway!

My determination not to go to talks paid off in the end. Getting from one exhibitor to another wasn't easy but I eventually managed to have a good nearly old fashion chat with a few techies (yes they do still exist).

I had a really interesting chat with somebody from Ruckus which explained how different their antennas are from the competition and how does that guarantee a better coverage with less interference and eventually better bandwidth per user. Read this white paper for more.

My main goal for the day was to get more information on mobile users management for the enterprise and my best bets where Citrix and VMware's latest acquisition Airwatch. The acquisition is so recent that the guys from VMware and the guys from Airwatch were actually in two different stands!

Both seem to be offering similar solutions but Citrix seemed to be able to offer a wider scope of functionalities. They were also the only ones that could explain a bit more of what really happens in the back-end, what services need to be deployed, how does the admin GUI looks like and gave a rather in depth explanation of what happens on the mobile device that wants to join ... your private Cloud.

And so it ended. The first day was cloudy with a chance of content, the following day was dodge the beep but it was in fact more useful than the day before.

Am I going next year?

Wednesday, October 8

IPEXPO first day

Day 1 IPEXPO 2014 Excel London

Today was the opening day for the IPEXPO Europe which takes place in London Excel.
This was my first time at the IPEXPO and I did not know what to expect so ... bear with me if I did not get the full gist of it.

The event started with a rather refreshing speech from Sir Tim Berners-Lee. I had forgotten how difficult it is to follow what he says, I guess having your brain running at the speed of light causes some problems with the coordination of the lips. You should really film him and watch him later in slow motion to get all he his saying. Literally a river of words!

I guess the most difficult part to make sense of was about how could it really be possible for big corporations to shape up the future of the web to improve our life and guarantee democracy, I am afraid I was not terribly convinced about the ethics behind the likes of HP, Google, Microsoft, VMware, etc. and how are they going to give us back control on our data and our privacy but mostly how are they going not be tempted to use that same data for things like targeted advertising.
Well, his forecast is for 2050 and ... I believe in miracles and I want to believe in you Sir Tim Berners-Lee!
It was however really nice to listen to him talking about the beginning of the World Wide Web and how his boss Mike Sendall at CERN defined his proposal "Vague but exciting". It was 25 years ago and much happened in the meantime, maybe Mike Sendall was ahead of his time and had already thought about the future we live in today where everything is vague but exciting only we chose a better way to describe it:
The Cloud!
SERIOUSLY! Isn't time to stop abusing that word? The Cloud? What does it mean? Really? When I first heard about it I thought it was going to be a question of a year or so and people would have rebelled to that. Years later we are still using it and the technologies that are described behind the term are as cloudy as the promises they make. Even speakers are embarrassed to use it, they might have one of those clouds on the slides they are presenting but they make their best to actually try to use a different more meaningful word for it. Some might refer to grid computing, some may talk about hosting and so on.
I think cloud was really invented to sell something that had not really been quite developed yet or maybe they thought we could not handle the complexity of what they where offering and hid it behind ... well, behind something sort of foggy so that each one of us could see what they really were looking for.
And so the day went between colourful clouds and little icons moving back and forth to the clouds like little angels.
I am a system administrator at heart and a wannabe geek, back in the days what excited people was seeing a demo of something actually doing things. In the 90s seeing a GUI would give you a feel of what could be achieved with one program or another, seeing a shell ... well, seeing a shell and some scripting in action would get lads howling. Now you get clouds and pretty pictures, you are told a really nice story and frankly with pretty pictures and clouds you can say anything you want without risking too much.
"Say, where do the data go after they are uploaded to that system?"
"To the cloud"
"What will the users connect to when subscribing to that service?"
"To the cloud"
"Where are my servers and how do I administer them"
"Via the cloud"
and so on ...

Honestly I attended a few talks today and I could not quite understand what was that they were selling or more in general talking about. It all sounded like the c word, reduced TCO and yada, yada, yada.
Sometime I am wondering:
"Has information technology lost it?"
These mega vendors are selling us a new era of computing born out of their competition to sell products which are often rushed on the market without having reached the necessary maturity on both their design and their development and I feel as if at times we are no longer sold software, we maybe sold

Tuesday, October 7

Canon IXUS i5 stuck on movie mode

A few days ago I gave my children a Canon IXUS i5 that stopped working a while back. It had always bothered me that it could not be fixed and the more I would see them play with it the more it got me thinking that the problem it was suffering from was neither mechanical nor to do with the electronics.

I had that camera a few years ago from a friend which had asked me to look at it as it seemed to be stuck in movie mode despite which position was the selector in. Replay was movie mode, photos was movie mode.
Very annoying!

It had to be with the firmware and there had to be a way to either reset it or flash it anew.
I opted for the easy way first and tried to reset it. As you can imagine no mention of this on the manual and most upsetting not much on the internet either!

Electronic toys generally have a combination of buttons or keys that can be used to enter hidden features one of which can sometimes be a reset. About an hour later it was clear that this approach was not going anywhere, the camera has 9 buttons so it should have taken me longer but the more obvious combinations i.e. power button + menu, power button + function and some others weren't really promising.

I then decided for a radical approach; take it a part! (© Dave Jones)

It is a shame not to have taken any pictures of the process but frankly ... is it really worth to anybody knowing the step by step process to repair such an old camera?

To cut the story short, after removing the rather obvious screws, you get to expose the main PCB which sits on the front of the camera. Remove all the flat cables and get the PCB free. On its reverse you will find the tampon battery. Remove that for a couple of minutes (maybe much less) and job done! After putting the camera back together the camera is reset to factory settings and the problem is gone.

Little I new that this is pretty much the same procedure to get rid of the "Memory card error" affecting the IXUS 400 and apparently other models of the same family.

Well, this might not be of much help to many but certainly was of great satisfaction to me.

Sunday, May 25

0xEE.net is live!

Myself and Chas from /PNW/Electronics had been working on a new site where we join forces to produce a set of unique tutorials and articles on Microchip PICs, MikroC and XC8 compilers and a variety of protocols and devices that will be used thought the various articles.
0xEE.net has gone live with a couple of articles this weekend with more to come soon.
Have fun reading!

Sunday, May 18

Windows 8 - mikroElektronika USB18F Device - code 52

after spending far too much time with a code 52 which would not let the driver work, I run the following to disable the driver signature enforcement in Windows 8.1.

On an elevated CMD to disable:
bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON

to reanable:
bcdedit -set loadoptions ENABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING OFF

To check what are the current settings run bcdedit on an elevated cmd

Be aware that although I had installed the drivers when the driver signature enforcement was off, as soon as I enabled it once again the drivers where back to not working with code 52.

Despite many guides which will advice you to follow the GUI approach to achieve a one off startup with the driver signature enforcement, this seems to be a quicker and more permanent solution.
This is certainly not an ideal solution but a good enough workaround.


Mikroelektronika has now released new drivers which fix the problem. They can be found at this link

Thursday, May 15

The Mikro compilers for the Makro projects

Mikroelektronika is celebrating 10 years of compilers this month and I thought I should not be shy from joining the celebrations.
It was in fact 2004 when they decided the world  needed better compilers. Back then in order to get your LEDs blinking, on pretty much any microcontroller on the market, it wasn't as easy as it is today.
Ten years forward in time and now, thanks to the professionalism and dedication of Mikroelektronika's developers, we can now just simply click on an icon and your program get's compiled, programmed onto the microcontroller of your choice and executed, fantastic!
The code does not compile or something nasty is happening with the behaviour of your program? The compilers are coming with simple and intuitive debugging functionalities including In-Circuit Debugging. With it is possible to step by step through your code as it runs on the microcontroller which gives you the possibility to discover problems that only surface due to the program running on your circuit.

Some of the numbers of the Mikro guild are:
3 different languages for the various tastes - MikroC, MikroBasic, MikroPascal
6 different microcontroller platforms - PIC, dsPIC, 8051, AVR, PIC32, ARM
2 different licencing models - The traditional key installed on a computer and the more innovative USB dongle option for licencing on the go. Great flexibility.
785 and counting libraries available through LIBSTOCK to make the most of reuse of code. Any developer should share his/her code here! Seriously!!

The many libraries that come along with the compilers are very well documented, integrated with examples and in most cases with circuit diagrams. Should that not be enough, Mikroelektronika also offers a number of books and articles which in most cases are also available online for free. Although some of these need to be refreshed, they are still an excellent resource for the beginners and a good reference for the experts

The IDE has nothing to envy from the likes of MS Visual Studio or Eclipse. The MikroC for PIC page shows some of the functionalities and tools that are made available to the developer for efficient and effective coding.
Have you ever had to setup the fuses on a PIC16F84A prior to the Mikro era? With the Mikro IDE it is as simple as using the Edit Project.
Code assistant, parameter assistant, code folding? Need I say more? If you have done any coding in your life you know that you cannot live without these things.

An IDE should be a tool that helps the developer to get from a project to a program in the easiest and quickest possible ways. It is good and well to learn the hard way how to write your "Hello, world!" program or how to manually setup the fuses the first time, the second, even a third time but after that it becomes evil! A developer needs tools that will help him/her to quickly go through what should be a given and focus on the problem that matter to get the next project running and it seems to me that the Mikro compilers do just that. Isn't that the reason for the great success of the likes of the Arduino entourage?

Happy birthday Mikros and keep up the good work guys!

P.S. Can I get a piece of cake now?