After All These Years, the World is Still Powered by C Programming

c programming Toptal

Many of the C projects that exist today were started decades ago.

The UNIX operating system’s development started in 1969, and its code was rewritten in C in 1972. The C language was actually created to move the UNIX kernel code from assembly to a higher level language, which would do the same tasks with fewer lines of code.

Oracle database development started in 1977, and its code was rewritten from assembly to C in 1983. It became one of the most popular databases in the world.

In 1985 Windows 1.0 was released. Although Windows source code is not publicly available, it’s been stated that its kernel is mostly written in C, with some parts in assembly. Linux kernel development started in 1991, and it is also written in C. The next year, it was released under the GNU license and was used as part of the GNU Operating System. The GNU operating system itself was started using C and Lisp programming languages, so many of its components are written in C.

But C programming isn’t limited to projects that started decades ago, when there weren’t as many programming languages as today. Many C projects are still started today; there are some good reasons for that. Continue reading

Advertisements

Separation Anxiety: A Tutorial for Isolating Your System with Linux Namespaces

With the advent of tools like Docker, Linux Containers, and others, it has become super easy to isolate Linux processes into their own little system environments. This makes it possible to run a whole range of applications on a single real Linux machine and ensure no two of them can interfere with each other, without having to resort to using virtual machines. These tools have been a huge boon to PaaS providers. But what exactly happens under the hood?

These tools rely on a number of features and components of the Linux kernel. Some of these features were introduced fairly recently, while others still require you to patch the kernel itself. But one of the key components, using Linux namespaces, has been a feature of Linux since version 2.6.24 was released in 2008.

Anyone familiar with chroot already has a basic idea of what Linux namespaces can do and how to use namespace generally. Just as chroot allows processes to see any arbitrary directory as the root of the system (independent of the rest of the processes), Linux namespaces allow other aspects of the operating system to be independently modified as well. This includes the process tree, networking interfaces, mount points, inter-process communication resources and more. Continue reading

Step by Step to Change website hosting without downtime

Switching to a new host can be a complicated process. Follow our steps to ensure that your move is smooth and painless

  1. The first step is to join your new host. Make sure to NOT cancel with your old hosting provider, and do not tell them you will be canceling. Keep this a secret from your old host, or they could prematurely terminate your site and cause downtime.
  2. At this point, you should have hosting accounts with two hosting providers (the old and the new one). You will now migrate your entire site from the old host to the new one. This can be done by connecting to the old host’s FTP and downloading all your files, and then by connecting to the new host’s FTP and uploading all your files (maintain the same file and folder structure).
  3. You must also backup any databases on the old host (contact the old host for instructions) and upload the backup files to the new host via FTP. You must then restore your databases from those backup files; this can be done via SSH or cPanel’s phpMyAdmin. Emails do not normally transfer, but you can archive your emails from the old host. You can accomplish this by making a POP3 connection to each email address; this way all the old emails are downloaded to your local computer. The new host will not have those old emails, but the new host will be able to get new emails.
  4. After you have all your files on both hosting accounts, it is time to change your domain name’s DNS. Your new host will provide you with the correct name servers (DNS). You may need to contact the new host to find out what DNS settings you will use for your domain name.DNS name servers usually looks like this (replace “yourhostname.com” with your host’s actual domain name):
    yourhostname.com
    ns2.yourhostname.com

Continue reading

ORA-00845: MEMORY_TARGET not supported on this system

Problem:
While creating a startup database using dbca the database creation GUI gives error message in a pop up window,
ORA-00845: MEMORY_TARGET not supported on this system
from where you can ignore the error message.
The similar scenario also occur whenever you try to start your database then startup shows error message like below.

SQL> STARTUP
ORA-00845: MEMORY_TARGET not supported on this system Continue reading

Unable to boot due to GNOME Power Manager error

Problem:

Upon bootup of CentOS 6.5, 64 bits, I got the following message in the lower right hand corner of the GUI screen.

“The configuration defaults for GNOME Power Manager have not been installed correctly. Please contact your computer administrator.”

Diagnose:

If you are getting the following error while logging into Linux, its most likely due to low disk space in root drive, try to free up some spaces in root. Continue reading