Virtualbox hidden gems, VBoxManage

Virtual box has this little secret, the Command Line interface (CLI), this is very useful for users who wants to manage their virtual boxes on headless servers.

Question is why using command line while you have a nice easy to use GUI, the answer is POWER. you can do anything with the virtual box command line, you can create virtual machines, modify their settings, take snapshots, start and shutdown them.

VBoxManage supports everything the graphical user interface does, and much more.

VBoxManage has its share of Virtual Box documentation, you can find it here http://www.virtualbox.org/manual/ch08.html

Where I am ?

Looks like i have stopped blogging for a while. except from some trips and tricks I am keeping for my reference and public users.

well that’s not the case but since the team I am working with grew to around 22 developer, which i believe considered the biggest php team in one company in Egypt, things were going so crazy, lots of projects going, lots of new approaches, new integrations, and i have to be on top of it all the time.

meanwhile i am driven by four ideas for projects that i believe is gonna make a little difference in their business areas, I am prototyping each one of them, jumping from one to other, I launched one of them already which is www.lamptag.com, which is simply a crawler for LAMP resources and related technologies, after less than a month from launching he prototype, the feedback is good, the twitter page reached 100 follower. and the number of clicks on the links is good too.

Soon i will blog about the recent challenged i have encountered in the field, weather they are technically or management related.

Installing Java plugin for Firefox on Ubuntu 10.10 (Maverick)

Again after upgrading from Ubuntu 9.10 to 10.4, I had some issues getting Java to work with Firefox, after checking the software center, I found that the Java plugin for firefox is not working properly which broke my vpn connection.

To get this fixed, I simply followed the steps :

1- Backup your repositories files.

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

2- Open your repositories file:

sudo gedit /etc/apt/sources.list

3- Add the following line then close the sources.list file

deb http://archive.canonical.com/ubuntu maverick partner

4- Uninstall both icedtea6-plugin and openjdk-6-jre.

sudo apt-get remove icedtea6-plugin openjdk-6-jre

5- Install sun-java6-plugin

sudo apt-get install sun-java6-plugin
sudo update-alternatives --install /usr/lib/mozilla/plugins/mozilla-javaplugin.so mozilla-javaplugin.so /usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so 1

6- Close your firefox and reopen it again, it should be working smoothly.

Dear Developers. I will be watching you

Every build you break
Every delivery you fail
Every risk you take
Every fix you make
I will be watching you

Every single break
Every diff you make
Every game you play
Every small delay
I will be watching you

Oh can’t you see
there is no caching
and the production breaks
with every merge you make

Every date you fake
Every small mistake
Every claim you stake
Every merge you make
I will be watching you

When the build doesn’t work , It is a big disgrace
I dream at night i can only see your face….

I look around i can see         no good practice
I feel so cold and i work         till a fix is in place
I keep crying baby fix it !        pleassssssse

Oh cant you see,             you are not code-complete
Oh the application aches    with every build you break

Every claim you stake
Every date you fake
Every build you break
Every code you fail

Every build you break
Every delivery you fail
I will be watching you

I will be watching you

————————————-

Thanks to the original one here

[youtube q2h_uKypdGE]

Criteria for a Capable Monitoring System

This is a note from a book i was reading about scalable architectures that I would like to keep in front of me to look into from time to time.

The book is named Scalable Internet Architectures, In brief it states that what makes a good monitoring system is two criteria :

  • The time invested in it.
  • Being reliable and extensible.

and the most basic capabilities of this system would be :

  • SNMP support
  • Extensibility
  • Flexible Notifications
  • Custom Reactions
  • Complex Scheduling
  • Maintenance scheduling
  • Event acknowledgement
  • Service dependencies

Backup / Increase the Guest OS Drive on VirtualBox

Tried to search online for a way to increase the size of a vdi image, and there was no solution available online to do so.
I had windows XP installed on a virtual machine for mail, and testing purposes on the most hated IE6, and the drive ran out of a space, no solution or work around helped me increase it, all the solutions to modify the partition table, etc didn’t work for me.
Here is the simple steps i followed :

  • Add Another Disk Drive to the Guest OS
  • Backup the Guest Operating system drive using Norton Ghost to the newly added drive.
  • Copy the backup to a DVD image (I had to move it to the host drive first)
  • Make a new Virtual Machine with the new size you want.
  • Boot the new machine using Norton Ghost drive, and attach the DVD image with the created backup.
  • Restore the backup from the DVD created using Norton Ghost.
  • Restart the machine and you should have a working.
  • Delete the created DVD image, the extra hard disk, and the old machine.

If you have a shorter solution, please share 🙂

Installing Zend Server on Ubuntu 10.04

I have been having issues trying to install Zend Server on Ubuntu 10.04 following the steps here http://files.zend.com/help/Zend-Server-5-Community-Edition/zend-server.htm#deb_installation.htm
the problem was because there is a missing dependency for the “libmysqlclient15off” MySQL client library

to solve this, I had to install “libmysqlclient15off” from here (select the one that matches your architecture)

http://archive.ubuntu.com/ubuntu/pool/universe/m/mysql-dfsg-5.0/

Then install it using the command line :

dpkg -i libmysqlclient15off_5.1.30really5.0.83-0ubuntu3_i386.deb

after that running the installation for Zend server from through repositories, will work with no interruptions.

Compress and Split large files under Linux

One of the common problems i used to face is transferring large files from Linux through mediums that doesn’t support large files, especially when it comes to more than 100 GB files, usually that is a virtual machine hard disk, or backup file.

To compress and split files under linux, this command can be used:

tar -cvj large-file.dvi | split -b 1000m -d - "small-files.tar.bz."

This command will compress and split the “large-file.dvi” to many files with size 1000mb for each, giving it the name “small-files.tar.bz.0, small-files.tar.bz.1, etc….”

To join the files together again, this command can be used:

cat small-files.tar.bz.* > large-file.tar.bz

and to extract the output file :

tar -xvj large-file.tar.bz

Recruitment System – One of my projects

I wanted to post this since a while.

The recruitment system is one of the applications I built for cha-international while working there beside developing the Middle East & North Africa travel awards system, mail marketing system, and converting all their servers from windows to Linux.

In brief the system has the following features :

  • Backend :
  1. Managing countries, Nationalities, Languages, World Areas, System Announcements.
  2. Managing Education Levels, Industries, Titles, Departments, System Reply Messages, Candidate Status, Candidates Classifications, and Quotes.
  3. Testimonials section where the company can post its clients testimonials to be displayed in the frontend.
  4. Managing 2 types of resumes : Uploaded Attachments, and Detailed filled forms Resumes.
  5. Easy form for the data entry team to add the resumes from the backend.
  6. Searching for candidates, using simple forms like name, email or advanced one which contains name, different nationalities, different languages, age, sex, industry, title, keyword in resume, etc.
  7. Consultants area where they can post / close job posting, search  for candidates, export word version of resumes, add to their favorite list, recommend them to another consultant.
  8. Consultants also can comment on the resumes, change their availability status to be seen by other consultants, and communicate with the candidate through the reply messages and keep track of those sent messages.
  9. The system has a approval workflow engine, the admins have to check the resume to approve it first.
  10. The system has a privileges section where the administrator can create a new role, assign access to certain areas in the backend to certain role, and assign the roles to system users.
  11. Feedback system where the backend users can communicate with the administrator for support tickets, etc.
  12. Auditrail system where every action in the system is logged.
  • Frontend:
  1. Simple upload form where users can just upload their resume and simple details.
  2. Advanced profile form where users can fill in all the details, and add many attachments to their profiles.
  3. Listing, Simple search, advanced search for jobs, and applying to them.
  4. Clients area where they can request certain services.
  5. Featured profiles, where a certain profiles selected by the admins showed in frontend.

The project was completely built from scratch using Zend Framework, and right now it has more than 70,000 applicant in its database, and the system is as fast as you see in the videos, these demos were taken with 50,000 record in the database.

Please don’t give me any feedback on the design ;), I am just a developer.

Here is some videos describing the different features of the system, I will try to post a better quality ones later.

Change your Signature

[youtube KXMg4q43Vf0]


Search Resumes

[youtube UUCuQ3XZmHg]


Apply as New Candidate

[youtube UNMVIahQAeU]


Send Feedback to support

[youtube -QiwYphCi2k]


Consultant Functionality walk through

[youtube wU6MDYO-xsw]


Check who applied for your job

[youtube X7_ZNVjksKg]


Apply for Posted Job

[youtube B06xlZr8A-w]

Good Solaris How To list

Was looking for a way to grep for something in a subdirectory and stopped by this short but usefull Solaris How To list.

The grep item works with unix / linux boxes as well.

http://jeffnester.com/howtos/solaris/solaris.html

enjoy the power of shell 🙂