Ultimately it is a realization that there is never any end to number of problems you could be solving, or the scope of those problems…. Software development is one of those professions that demands a level of expertise that is impossible to attain, so it’s easy to lose yourself in the infinite road ahead, if only because the road behind will always seem so short in comparison.

Android is considered a Linux distro because it has the Linux kernel. True, the userland is different from desktop systems like Ubuntu, but this is still Linux. Android also has derivatives as do other Linux distros.

Some argue that Android is not “pure” linux kernel because it does not ship with standard C kernel. But instead ships with “Bionic” – a modified glibc optimized for low power and low memory.

The other motivation was to release bionic under the more liberal BSD license compared to standard C Lib = LGPL.

The Linux kernel is a monolithic kernel. This means that the whole operating system is on the RAM reserved as kernel space. To clarify, the kernel is put on the RAM. The space used by the kernel is reserved for the kernel. Only the kernel may use the reserved kernel space. The kernel owns that space on the RAM until the system is shutdown. In contrast to kernel space, there is user space. User space is the space on the RAM that the user’s programs own. Applications like web browsers, video games, word processors, media players, the wallpaper, themes, etc. are all on the user space of the RAM.

The Linux kernel is also a preemptive multitasking kernel. This means that the kernel will pause some tasks to ensure that every application gets a chance to use the CPU.

The Linux kernel is portable. Portability is one of the best features that makes Linux popular. Portability is the ability for the kernel to work on a wide variety of processors and systems. Some of the processor types that the kernel supports include Alpha, AMD, ARM, C6X, Intel, x86, Microblaze, MIPS, PowerPC, SPARC, UltraSPARC, etc.

Task oriented and easily disengaged. hmm…isn’t this how you’d describe a child? So as a corollary, design mobile users for a child and you will get it right? or perform A/B testing with children as your beta users 🙂

Mindfulness…the ability to notice what is going on as it arises and to pause before we respond is a crucial emotional skill. Mindful meditation has been discovered to foster the ability to inhibit those very quick emotional impulses.