Facebook is making us dumber

No one can deny that Facebook is one of the most important creations of this century , it has created a major impact on lives of its 1.7 billion users. It’s the third most accessed website on the planet according to alexa . It has direct influence over politics and elections across the globe.

But I have many reasons to think Facebook brings much more harm than any good you think:

  1. We spend a lot of time on it compared to any other website , actually sometimes more than other activities in your life . Yeah, I know endless scrolling between news , friends updates and jokes .. etc is fun but is really worth it ?
  2. Each one of us lives in his own bubble we and our tight community are like a herd of cattle echoing the same thing. We foolishly think Facebook has given us our own voice but if we think it thoroughly we’re merely an echo of someone’s  else. This is denoted as the echo chamber effect when users are more likely to share what aligns with their beliefs and simply ignore other parts of the narrative.
  3. Our research skills deteriorate, the internet gave us the power of freedom and billions of different useful web pages but we are still imprisoned in our news feed acting as a receiver for Facebook’s algorithms output (which isn’t designed to educate you but to make sure you stayeb in front of the blue screen for as long as possible). We think that we are finally free from state controlled media but it’s completely the opposite we are still under control of media but instead of centralized TV it is decentralized as long as you act as a receiver you are not in control.
  4. Based on this study which explains “The copy cat intellect phenomenon” , Facebook doesn’t only make us more stupid but it also tricks us into thinking that we are smarter than we actually are.
  5. We are controlled by the constant hunger to feed our ego , a group of scientists took it far to link selfies to psychopathy .
  6. Everyday while scrolling your feed you are like an athlete who is always looking behind and will eventually lose. A good point mentioned in this article is that Facebook shifts your focus from yourself to others . Instead of improving your life and taking care of your family and friends you are distracted with ongoing comparison of your life vs your rich friend or your sexy colleague ..etc.

To be honest this doesn’t solely apply to Facebook but other social media websites like Instagram, Twitter, Snapchat … etc. Social media is a tool it’s about how you use it so if you think what I am saying is valid there are few steps that I encourage you to take :

  • Disable or limit the time you spend on your social media accounts, I have tried it and believe me though you are thinking you will miss a lot it’s not the case . You will eventually know this big piece of news from another source , your friend who is getting married and only invited you (beside 500+ others guy) through a Facebook event will not be really sad when you don’t show up. Get over it.
  • Don’t give social media more than its worth . It’s fine if you use it to share some funny comics and have good laughs with your friends but that’s it. It’s not a place to get educated from Facebook celebrity smart opinions, it’s not the place to discuss politics or economics . THAT’S A BIG FALLACY, nothing really deeply thought of can be just composed  under a few minutes but real ideas that are worth reading take days and weeks and even years to develop and those can be found in books or articles .
  • Read more , read a lot in any form : hard cover , audio books , credible articles , research papers . You have time and unlimited library of useful stuff on the internet . Use it.

Building android-4.0.4 IceCreamSandwich on Pandaboard/Pandaboard ES

This is the 2nd post about building Android for pandaboard. I quote from the previous post

Google maintainers advise to always repo sync the master branch for panda claiming it’s the most stable , but in my opinion they should focus on stabilizing tags. Tags should represent a stable snapshot of he source tree to build and run . That’s what a tag means in Software Engineering anyway !

This post is a translated version of the Japanese post on blog.sola-dolphin-1.net reposted under permission of the main author  that describes how to build Android JB tag android-4.0.4_r1.2 for pandaboard, of course some patching is required to get it work, you can download all the patches required from this mirror or follow the steps to get them one by one from the main mirror.

android-4.0.4

IMPORTANT: To compile ICS you need to be using gcc 4.4 , so you may downgrade your gcc version or just installing gcc/gcc++ 4.4 and specifying them while making.

$ sudo apt-get install gcc-4.4 gcc-4.4-multilib g++-4.4 g++-4.4-multilib


Then, override make’s default variables with

$ make CC=gcc-4.4 CXX=g++-4.4 -j4

– prepare the directory

$ mkdir ~/panda_work
$ export PANDA_WORK=~/panda_work
$ mkdir ~/panda_work/android
$ export ANDROID_ROOT=~/panda_work/android

– init the repo

$ cd $ANDROID_ROOT
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.2.2_r1
$ repo sync

notes:

  1. to save time you can use an old tree and repo init inside it’s dir , then sync will grab only the differences
  2. in case repo sync hangs use repo sync -j1 to disable multi threading also check repo sync -h for other options

– get the gpu user space binaries

$ wget https://dl.google.com/dl/android/aosp/imgtec-panda-20120430-67545da7.tgz
$ tar zxvf imgtec-panda-20120430-67545da7.tgz
$ ./extract-imgtec-panda.sh

– apply the patches

$ wget http://android-development-environment.googlecode.com/files/panda.ics.patch.tar.bz2
$ tar jxvf panda.ics.patch.tar.bz2
$ cd device/ti/panda 
$ git apply panda.ics.patch/0001-merge-master-to-device-ti-panda.patch # merges the contents of master branch into /device/ti/panda
$ cd ..
$ tar jxvf panda.ics.patch/hardware_ti_wlan.tar.bz2 -C hardware/ti/ # merges the contents of master branch
$ tar jxvf panda.ics.patch/hardware_ti_wpan.tar.bz2 -C hardware/ti/ # merges the contents of master branch
$ git apply panda.ics.patch/0003-Change-ALOG-to-LOG.patch # fixes a bug
$ git apply panda.ics.patch/0004-enable-wifi.patch # merges the contents of master branch to enable wifi
$ git apply panda.ics.patch/0005-change-console-permission.patch # root permssion to console

– add the script of flashing or you can use fastboot instead , but note that this script will create an extra partition (/media)

$ git apply panda.ics.patch/0008-add-mksdcard_pandaboard.sh.patch

– build the tree

$ cd $ANDROID_ROOT
$ source build/envsetup.sh
$ lunch full_panda-userdebug
$ make CC=gcc-4.4 CXX=g++-4.4 -j4

– format and flash from a ubuntu machine, /dev/sdx is the the sdcard device

$ LANG=C sudo ./mksdcard_pandaboard.sh /dev/sdX $ANDROID_ROOT

kernel

– prepare the environment

$ export ARCH=arm
$ export CROSS_COMPILE=$ANDROID_ROOT/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-

– clone the repo

$ cd $PANDA_WORK
$ git clone https://android.googlesource.com/kernel/omap.git kernel
$ cd kernel
$ git checkout -b android-omap-panda-3.0 origin/android-omap-panda-3.0
$ git checkout 52f476403350050beb0dff135a55c06c9e7a82a9

– build

$ make panda_defconfig
$ make -j4
$ cp -a arch/arm/boot/zImage $ANDROID_ROOT/device/ti/panda/kernel

note: though bootloader and xloader images are provided within device/ti/panda dir , you can build them from source using the following instructions

xloader

– build xloader

$ cd $PANDA_WORK
$ git clone git://git.omapzoom.org/repo/x-loader.git
$ cd x-loader
$ git checkout -b omap4_dev origin/omap4_dev
$ make omap4430panda_config
$ make ift
$ cp -a MLO $ANDROID_ROOT/device/ti/panda/xloader.bin

bootlader(uboot)

– clone the repo

$ cd $PANDA_WORK
$ git clone git://git.omapzoom.org/repo/u-boot.git
$ cd u-boot
$ git checkout -b omap4_dev origin/omap4_dev

– change the boot parameters

$ wget http://android-development-environment.googlecode.com/files/0001-change-bootarges.patch
$ git apply 0001-change-bootarges.patch

– build

$ make omap4430panda_config
$ make
$ cp -a u-boot.bin $ANDROID_ROOT/device/ti/panda/bootloader.bin

Building android-4.2.2 JellyBean on Pandaboard/Pandaboard ES

Google maintainers advise to always repo sync the master branch for panda claiming it’s the most stable , but in my opinion they should focus on stabilizing tags. Tags should represent a stable snapshot of he source tree to build and run . That’s what a tag means in Software Engineering anyway !

This post is a translated version of the Japanese post on blog.sola-dolphin-1.net reposted under permission of the main author  that describes how to build Android JB tag android-4.2.2_r1 for pandaboard, of course some patching is required to get it work, you can download all the patches required from this mirror or follow the steps to get them one by one from the main mirror.

android-4.2.2

– prepare the directory

$ mkdir ~/panda_work
$ export PANDA_WORK=~/panda_work
$ mkdir ~/panda_work/android
$ export ANDROID_ROOT=~/panda_work/android

– init the repo

$ cd $ANDROID_ROOT
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.2.2_r1
$ repo sync

notes:

  1. to save time you can use an old tree and repo init inside it’s dir , then sync will grab only the differences
  2. in case repo sync hangs use repo sync -j1 to disable multi threading also check repo sync -h for other options

– get the gpu user space binaries

$ wget https://dl.google.com/dl/android/aosp/imgtec-panda-20120807-c4e99e89.tgz
$ tar zxvf imgtec-panda-20120807-c4e99e89.tgz
$ ./extract-imgtec-panda.sh

– apply the patches

$ cd $ANDROID_ROOT/build/
$ wget http://sola-dolphin-1.net/data/Panda/0001-panda-jb4.2_build.patch
$ git apply 0001-panda-jb4.2_build.patch
$ cd $ANDROID_ROOT/device/ti/panda/
$ wget http://sola-dolphin-1.net/data/Panda/0001-panda-jb4.2_device-ti-panda.patch
$ git apply 0001-panda-jb4.2_device-ti-panda.patch
$ cd $ANDROID_ROOT/hardware/ti/omap4xxx/
$ wget http://sola-dolphin-1.net/data/Panda/0001-panda-jb4.2_hardware-ti-omap4xxx.patch
$ git apply 0001-panda-jb4.2_hardware-ti-omap4xxx.patch
$ cd $ANDROID_ROOT/hardware/ti/wpan/
$ wget http://sola-dolphin-1.net/data/Panda/0001-panda-jb4.2_hardware-ti-wpan.patch
$ git apply 0001-panda-jb4.2_hardware-ti-wpan.patch

– you can either use fastboot to format and flash the images or use this script instead

$ cd $ANDROID_ROOT
$ wget http://sola-dolphin-1.net/data/Panda/0001-add-mksdcard_pandaboard.sh.patch
$ git apply 0001-add-mksdcard_pandaboard.sh.patch

– build the tree

$ cd $ANDROID_ROOT
$ source build/envsetup.sh
$ lunch full_panda-userdebug
$ make -j4

– format and flash from a ubuntu machine, /dev/sdx is the the sdcard device

$ LANG=C sudo ./mksdcard_pandaboard.sh /dev/sdX $ANDROID_ROOT

kernel

– prepare the environment

$ export ARCH=arm
$ export CROSS_COMPILE=$ANDROID_ROOT/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-

– clone the repo

$ cd $PANDA_WORK
$ git clone https://android.googlesource.com/kernel/omap.git kernel
$ cd kernel
$ git checkout -b android-omap-panda-3.0 origin/android-omap-panda-3.0

– build with panda config

$ make panda_defconfig
$ make
$ cp -a arch/arm/boot/zImage $ANDROID_ROOT/device/ti/panda/kernel

note: though bootloader and xloader images are provided within device/ti/panda dir , you can build them from source using the following instructions

xloader

– build xloader

$ cd $PANDA_WORK
$ git clone git://git.omapzoom.org/repo/x-loader.git
$ cd x-loader
$ git checkout -b omap4_dev origin/omap4_dev
$ make omap4430panda_config
$ make ift
$ cp -a MLO $ANDROID_ROOT/device/ti/panda/xloader.bin

bootlader(uboot)

– clone the repo

$ cd $PANDA_WORK
$ git clone git://git.omapzoom.org/repo/u-boot.git
$ cd u-boot
$ git checkout -b omap4_dev origin/omap4_dev

– change the boot parameters

$ wget http://android-development-environment.googlecode.com/files/0001-change-bootarges.patch
$ git apply 0001-change-bootarges.patch

– build

$ make omap4430panda_config
$ make
$ cp -a u-boot.bin $ANDROID_ROOT/device/ti/panda/bootloader.bin