Technology
Tricks to Reduce the Size of Linux Portable VMs
In the last few days I was playing around with VMware Player to create a portable virtual machine that will help me avoid to ship around physical machines containing the demo of our product to potential customers.
The demo I wanted to package works on Linux, so I installed Ubuntu 11.04 Server and all the code/packages that I needed. The size of the disk was a few gigabytes. Way too much even after compressions to ask people to download.
I started deleting a few unnecessary packages, used “deborphan”, and got the size of the disk down to 1.6Gb. The VM disks, however, were still over 3Gb and when I went to compress the VM it would not shrink down much more.
Then I realized that it must have been due to all the garbage that is left on disk after files are deleted, and perhaps the one left in the swap partition. To fix that I installed the package “secure-delete” and when I was getting ready to shut down the machine I ran
swapoff -a
sswap -f -ll -z -v /dev/sda5
since “/dev/sda5″ is my swap partition. Then, I went into the root disk and launched
cat /dev/zero > /zero.file; sync; rm zero.file
this will fill up the disk with a file containing just zeros (easy to compress) until it will run out of space. At that point it will delete the file.
When those operations are completed, shut down the machine and use the VMPlayer Utilities (Virtual Machine Settings -> Hard Disk -> Utilities) to Defragment the disk and then compact it. At the end of those operations, if everything went well, the size of the VM disks should be equivalent to the size of the disks in the guest operating system. Now compression will actually work.
How To Move Git Repository from Github to Your Own Server
GitHub is probably one of the most used services across developers. If you are doing an amateurial project, or you are starting a new startup, it is the way to go. As your company grows, you may need to move the code to your own servers. You know, just in case…
If you are running Ubuntu, I strongly recommend you to install and look-into gitosis. Easy to install and configure, once you take a look at the docs.
When you are ready to migrate your repositories, SSH into the machine where you set up your git repository, and do a checkout of the GitHub repositories to migrate. Then enter in those directories and push them to the new server with something like
git push –mirror gitosis@yourserver.com:projectname.git
Yes, it is that easy. Kudos to Konstantin for the tip.
Why Skype does not Detect the Microphone Automatically?
Skype is a great product and I use it almost every day for my video calls and phone calls out of the country.
Once you set it up, assuming that you do not purchase any new hardware and that Windows does not decide to randomly find some new hardware in your computer, it will generally work. That said, if you install it for the first time, switch webcam or attach a microphone to the PC, trouble will most likely start to appear: either you will not hear the other end, or they will not hear you.
Why? Because the right microphone was not selected in the preferences, perhaps, it is trying to use the jack instead of the one in the webcam, or the one with Bluetooth, etc…
There is a simple solution: check on which microphone you get signal, perhaps asking the user to speak, and select automatically that device for input.
It is a “while loop”, no more than 10 extra lines of code, but that will greatly simplify the life of the users. Skype, why don’t you do that in the next version?
Redesign Instant Messaging Platforms to be Used on Multiple Devices
Most of the people who care about it have a smartphone and a data plan. They get their emails on the phone, browse the web and often also use instant messaging.
Software like Google Talk, Yahoo!Messenger, or Skype now exists for almost all devices and operating system: Windows, OS X, iPads, iPhones, Blackberry, Android, …
But what happens when you use it on multiple devices at the same time? Maybe you are on your PC, then get pulled in a meeting and bring your ipad, and then go out for a coffee and have your cellphone with you. Sounds familiar?
Today, either the platform sends the messages to all the devices or just to the last one from which you logged in. Annoying in both cases. It’s time to change.
The IM software should be written so that it knows what you are using. For example, as long as you type or use the mouse one can assume you are using the PC. If you start touching the ipad and not the PC, then switch to that. If the phone detect movements (GPS?) and there is no activity on the other devices, switch to that.
In addition, the chat logs should be kept on the sever, so that whatever device you use you always have them with you.
Privacy problems you say? Not really. You just need to encrypt the messages that you send and receive and use the same key on your devices, so that they can encode/decode them locally and on the server there is just and indecipherable series of characters. The Off-The-Record plugin, available for Audium and Pidgin, does just that.
It is not that hard. Who will get there first? A new startup or the IM companies?
Use Skype-To-Go to Forward Google Voice Calls to an International Number

I like Google Voice a lot, especially when I am outside of the US. With any data-plan, I can see text messages and listen to voicemail left for me to my US number. Since the international call fares offered are reasonable, I would love to transfer the calls to the international number I am using in that moment. Unfortunately, that is not possible at the moment.
But here is a simple work-around. Log into your Skype account and get a Skype To Go number, then register your international number as one of your favorites.
Once you have registered the Google Voice number with Skype, you will receive a direct number to call for each of your favorites.
Save that as forwarding line in Google Voice and forwards all the calls to it.
Done!
In case Skype does not really let you register the phone with them, just install the Google Voice application on your phone and/or call the Skype-To-Go number from your gMail. It will say that it does not recognize the number and make you go through a 2-steps verification process. It is relatively simple and in a few seconds you will be finally registered.




