On The Origin of The Universe and Consciousness

Man has always been a curious creature. This curiosity has led to various questions and which in turn have led to answers in the form of discoveries. One of the thought which has always occupied the human beings is the question of creation of this universe and what prompted it. One of the prominent theories in this regard is Big Bang Theory, which explains how the universe expanded from a high density and high temperature state. This theory of the origin of the universe gained popularity in the 20th century after the theoretical findings were backed by several experimental observations by Edwin Hubble, who defined Hubble’s Law.

The scientists, philosophers and thinkers in the western world were largely unaware of several existing facts about the origin and creation of universe which were known to the Indian common man through various ancient scriptures. One of the earliest evidence about the origin of the universe is found in the ancient Indian book known as Rigveda. While in general, the Rigveda consists of hymns which mostly discuss cosmology, even while praising the deities. In particular, the 1st and 10th book of Rigveda (Prathan and Dasham Mandal) answers several questions about the origin of the universe and explains the Big Bang in cryptic form. The 16 verses of 90th Hymn in the 10th book of Rigveda is also known as Purusha Sukta (puruṣasūkta). According to the Veda’s “Purusha” is the person who runs “this universe”.

A very simplified description of the supreme being and the creation of the universe has been explained in “White Paper on Religion of Saints And Radhasoami Faith”, published by Radhasoami Satsang Sabha, Dayalbagh, Agra, India.

While all these verses and the current scientific theories explains the creation, none explains what prompted it. How did the creation started. God or the supreme being has been described as the one without name, form or demarcation. In my opinion any such entity can only be classified as “Pure Energy” or in other terms – “Consciousness”.

Although the subject of consciousness has always been drawing attention, but this attention and the associated researches in the area have increased dramatically in the last decade and a half or so. It is highly difficult to explain consciousness, although it is something embedded in all our experiences. In the western perspective the focus is mostly on the outward and in the eastern tradition the focus is on the inwards. As a result of this the western approaches prefer scientific methods. In the eastern tradition, reason is often seen as secondary to the inner experience.

Dayalbagh Educational Institute (Deemed University), Agra, India has been aggressively pursuing highest level of scientific research in the areas of Consciousness and Quantum Nano Computing via its Quantum-Nano Systems Centre And Centre for Consciousness Studies.

I will continue sharing the researches done in the field of consciousness in the upcoming posts.

Posted in Views | Tagged , , , , | 3 Comments

Ansible Quirks – 2

Today I tried to upgrade my ansible to 2.2 as I wanted to use the remote_src=yes feature from the unarchive module. My operating system on this machine is Linux Mint 17.3.

I did –

$ pip install --upgrade --user ansible

and lo… I got the following error –

ImportError: No module named packaging.version

I next tried upgrading the pip itself and that also resulted in the same error. A bit of search on the internet did not help much as different ways worked for different people. So I decided to remove python-pip package and all that was installed along with it, reinstall pip and then try upgrading ansible. In short, following sequence of commands worked for me –


$ rm -rf ~/.cache/pip/*
$ python -m pip install -U --user pip
$ sudo apt-get purge -y python-pip
$ sudo apt-get autoremove
$ sudo apt-get install python-dev
$ python -m pip install --upgrade --user packaging
$ python -m pip install --upgrade --user appdirs
$ python -m pip install --upgrade --user ansible
Posted in FLOSS, Tips/Code Snippets | Tagged , , | Leave a comment

Ansible Quirks – 1

I started on the ansible learning path about 6 months or so back and have been writing my roles for deploying / configuring various systems I manage. Today while writing a template for sshd_config, I came across a point wherein the handler failed to restart the SSH service on the target server. Fortunately I was logged in as sudo on one of the terminals, and then I checked the config file generated and pushed by ansible. I found that the line

PermitRootLogin {{ permit_root_login }}

was translated to

PermitRootLogin True

. For a while I though that the variable I defined in

defaults/main.yml

was wrongly having a value of True instead of Yes, but I was wrong. Looking into some of the bugs filed in ansible I realised that this is the expected behaviour. The way to prevent strings like yes/no and true/false to be converted to True/False they have to be preceded with !!str in the variable definition. So the variable definition in my case would look like –

permit_root_login: !!str Yes
Posted in FLOSS, Tips/Code Snippets | Tagged , , | Leave a comment

OSX Screenshots tips

Changing location to store screenshot

The default place where screenshots are saved in OSX is the Desktop. For people (like me), who would like to keep their desktops nice and clean and a little organised, we can change the location where the screenshot are stored. This needs command line. Launch “Terminal” and type the following commands which should do the trick. I am moving my screenshot location to somewhere in Google Drive. Please note that the location which you are setting as the target for storing screenshots, must exist, and as you can see, I am creating it first.

$ mkdir -p ~/Google\ Drive/Pictures/Screenshots
$ defaults write com.apple.screencapture location ~/Google\ Drive/Pictures/Screenshots/ && killall SystemUIServer

The “killall” command is used to restart the SystemUIServer so that the changes can be picked up by the system.

Changing the Screenshot file type

The default screenshot file type is PNG. However, you can change this to – jpg, tiff, pdf, gif by using the following command on the terminal.

$ defaults write com.apple.screencapture type gif && killall SystemUIServer
Posted in Tips/Code Snippets | Tagged | Leave a comment

Huawei E303c as Modem on Raspberry Pi

I have a Huawei E303c USB modem, which I wanted to use with my Raspberry Pi so that I can connect my Pi to the Internet and run my local server. Now why would I want to do that when I have a broadband at home? Now those of you who are in India and uses ACT Broadband, which has recently become very popular in Southern India due to its fibre technology, may know that ACT uses Carrier-Grade NAT, as a result of which I do not have the public IP address and hence can not rely on port forwarding on my router.

Here is how I configured the device. During this course, I referred to various other websites and at the bottom of this page, I have provided those as a reference.

These UMTS modems consume a lot of power and hence it is recommended that these may be connected to a powered USB hub connected to the Pi.

Configuring the USB Modem Device

Connect the device to the USB port and issue the lsusb command after few seconds to check if the device has been detected –

$ lsusb
Bus 001 Device 008: ID 12d1:14fe Huawei Technologies Co., Ltd.

Note down the device number, in this case 12d1:14fe
If you see the dmesg at this point you will find that the device will be detected as a CDROM and a USB storage device and not a modem. I do not have the output as I forget to save it.

We need to install usb-modeswitch package which helps in the switching of device mode from USB Storage to USB modem mode.

$ sudo apt-get install usb-modeswitch
$ sudo reboot
$ lsusb
Bus 001 Device 008: ID 12d1:1506 Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard

Make a note of the device number for future reference, we would need this number for TargetProduct value. In this case this is 12d1:1506. If you see this has been changed from the last time. Here the usb-modeswitch is active. The pi has detected my E303C as E398 but that’s alright.

Now running dmesg will show the below which indicates that the modem is detected and configured –

$ sudo dmesg | grep -i usb
[ 0.593089] usbcore: registered new interface driver usbfs
[ 0.598824] usbcore: registered new interface driver hub
[ 0.604340] usbcore: registered new device driver usb
[ 1.015352] usbcore: registered new interface driver smsc95xx
[ 1.539943] dwc_otg 20980000.usb: DWC OTG Controller
[ 1.546616] dwc_otg 20980000.usb: new USB bus registered, assigned bus number 1
[ 1.555602] dwc_otg 20980000.usb: irq 32, io mem 0x00000000
[ 1.573463] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.581919] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.590782] usb usb1: Product: DWC OTG Controller
[ 1.597093] usb usb1: Manufacturer: Linux 4.1.18+ dwc_otg_hcd
[ 1.604400] usb usb1: SerialNumber: 20980000.usb
[ 1.611639] hub 1-0:1.0: USB hub found
[ 1.623853] usbcore: registered new interface driver usb-storage
[ 1.797393] usbcore: registered new interface driver usbhid
[ 1.804559] usbhid: USB HID core driver
[ 2.076207] usb 1-1: new high-speed USB device number 2 using dwc_otg
[ 2.316814] usb 1-1: New USB device found, idVendor=0424, idProduct=9512
[ 2.325540] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 2.338687] hub 1-1:1.0: USB hub found
[ 2.626257] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[ 2.736724] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[ 2.745604] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 2.844813] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-20980000.usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:c2:b6:99
[ 2.956388] usb 1-1.2: new high-speed USB device number 4 using dwc_otg
[ 3.086999] usb 1-1.2: New USB device found, idVendor=1a40, idProduct=0201
[ 3.095927] usb 1-1.2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 3.105228] usb 1-1.2: Product: USB 2.0 Hub [MTT]
[ 3.114467] hub 1-1.2:1.0: USB hub found
[ 3.416291] usb 1-1.2.3: new high-speed USB device number 5 using dwc_otg
[ 3.527702] usb 1-1.2.3: New USB device found, idVendor=1058, idProduct=0748
[ 3.536728] usb 1-1.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[ 3.547663] usb 1-1.2.3: Product: My Passport 0748
[ 3.554208] usb 1-1.2.3: Manufacturer: Western Digital
[ 3.561146] usb 1-1.2.3: SerialNumber: 57585331453233574A4C4432
[ 3.617837] usb-storage 1-1.2.3:1.0: USB Mass Storage device detected
[ 3.628629] scsi host0: usb-storage 1-1.2.3:1.0
[ 3.716364] usb 1-1.2.4: new high-speed USB device number 6 using dwc_otg
[ 3.837768] usb 1-1.2.4: New USB device found, idVendor=1058, idProduct=0702
[ 3.846795] usb 1-1.2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.857730] usb 1-1.2.4: Product: External HDD
[ 3.864239] usb 1-1.2.4: Manufacturer: Western Digital
[ 3.871169] usb 1-1.2.4: SerialNumber: 575843393037323139333433
[ 3.924643] usb-storage 1-1.2.4:1.0: USB Mass Storage device detected
[ 3.946315] scsi host1: usb-storage 1-1.2.4:1.0
[ 4.037283] usb 1-1.2.5: new high-speed USB device number 7 using dwc_otg
[ 4.159220] usb 1-1.2.5: New USB device found, idVendor=12d1, idProduct=1506
[ 4.168316] usb 1-1.2.5: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[ 4.179397] usb 1-1.2.5: Product: HUAWEI Mobile
[ 4.185712] usb 1-1.2.5: Manufacturer: HUAWEI
[ 4.256197] usb-storage 1-1.2.5:1.4: USB Mass Storage device detected
[ 4.282053] scsi host2: usb-storage 1-1.2.5:1.4
[ 4.307321] usb-storage 1-1.2.5:1.5: USB Mass Storage device detected
[ 4.329879] scsi host3: usb-storage 1-1.2.5:1.5
[ 4.843019] usbcore: registered new interface driver cdc_ncm
[ 4.868289] usbcore: registered new interface driver usbserial
[ 4.966542] usbcore: registered new interface driver usbserial_generic
[ 4.975231] usbserial: USB Serial support registered for generic
[ 5.048437] usbcore: registered new interface driver cdc_wdm
[ 5.209021] usbcore: registered new interface driver option
[ 5.342683] usbserial: USB Serial support registered for GSM modem (1-port)
[ 5.546749] huawei_cdc_ncm 1-1.2.5:1.1: cdc-wdm0: USB WDM device
[ 5.555830] huawei_cdc_ncm 1-1.2.5:1.1 wwan0: register 'huawei_cdc_ncm' at usb-20980000.usb-1.2.5, Huawei CDC NCM device, 58:2c:80:13:92:63
[ 5.741270] usbcore: registered new interface driver huawei_cdc_ncm
[ 5.839357] usb 1-1.2.5: GSM modem (1-port) converter now attached to ttyUSB0
[ 5.995187] usb 1-1.2.5: GSM modem (1-port) converter now attached to ttyUSB1
[ 6.225904] usb 1-1.2.5: GSM modem (1-port) converter now attached to ttyUSB2

Now we will look for the relevant device configurations in the sample config files which comes with the usb-modeswitch package and extract the file.

$ tar -tvzf /usr/share/usb_modeswitch/configPack.tar.gz|grep "12d1:14fe"
-rw-r--r-- root/root       155 2012-12-08 22:22 12d1:14fe
$ tar -xvzf /usr/share/usb_modeswitch/configPack.tar.gz 12d1\:14fe
12d1:14fe
$ ls -l 12d1\:14fe
-rw-r--r-- 1 ajitabhp ajitabhp 155 Dec  8  2012 12d1:14fe

Checking the contents of this file will give me

$ cat 12d1\:14fe 
# T-Mobile NL (Huawei E352)

TargetVendor=  0x12d1
TargetProduct= 0x1506

MessageContent="55534243123456780000000000000011062000000100000000000000000000"

If you notice that the TargetProduct value of 0x1506 matches with the value we found earlier in the lsusb output after the reboot. Based on the contents of this file, we will now create a configuration file for the usb_modeswitch utility.

$ sudo vi /etc/usb_modeswitch.d/12d1\:14fe

# Huawei E303C 3G USB modem
# usb_modeswitch configuration
#
DefaultVendor=0x12d1
DefaultProduct=0x14fe

TargetVendor=0x12d1
TargetProduct=0x1506

MessageContent="55534243123456780000000000000011062000000100000000000000000000"

Configuring the Dialer

I will use wvdial utility for dialing out to the internet –

$ sudo apt-get install wvdial
$ sudo vi /etc/wvdial.conf
[Dialer Default]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
Baud = 460800
New PPPD = yes
Modem = /dev/ttyUSB0
ISDN = 0

[Dialer t24]
Modem Type = Analog Modem
Modem = /dev/ttyUSB0
ISDN = 0
Stupid Mode = 1
New PPPD = yes
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
Init3 = AT+CGDCONT=1, "IP", "T24.Internet"
Phone = *99#
Username = xxxxxxxxxx
Password = xxxxxxxxxx

[Dialer tatadocomo]
Modem Type = Analog Modem
Modem = /dev/ttyUSB0
ISDN = 0
Stupid Mode = 1
New PPPD = yes
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
#Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Baud = 115200
Phone = *99#
Username = internet
Password = internet

The xxxxxxxxxx in one of the configurations above is my 10 digit mobile number for the SIM. I tried this with two different SIMs, hence you are seeing two entries. T24 in India is a rebranded Tata Docomo mobile service provider.

Now connect to internet with one of the following (depending on which SIM has been connected –

$ wvdial t24

or

$wvdial tatadocomo

If you remove the USB dongle and then reconnect it, you may have to do the following in order to bring the device in the modem mode –

$ sudo usb_modeswitch -c /etc/usb_modeswitch.d/12d1\:14fe

Resources

Posted in RaspberryPi | Tagged | Leave a comment