A Meditation On Early Technological Development

Ah technology, how much I love you and how tight you remain in my grasp. You’ve changed our world with the telephone, and the TV, and don’t forget the all-important computer! But wait…the wheel is also technology? That’s right! We seem to get so caught up in the technology of the present and future that we forget about the distant past. The wheel or rope or house, all pieces of technology that are severely overlooked. Let’s analyse the history and creation of some basic technological advancements.

The Rope:

image

Rope consists of a group of strands which are twisted or braided in a way that will make them stronger. They have huge importance in supporting the weight of other objects; this ability is known as tensile strength. There is evidence to suggest that rope-making took place in Europe as far back as 28,000 years ago. This is reinforced through a discovery in which cordage remains on fired clay was found, suggesting it was used to make early forms of rope. Also found were fossilised fragments of what is believed to be two-ply laid rope in a cave at Lascaux. The latter dates back to 15,000 BC.

During prehistoric times ropes were used for a variety of different tasks such as: hunting, attaching, carrying, lifting, pulling and climbing. As you’d imagine, this was an integral component for everyday life.

The ancient Egyptians were the first to document the special tools used for rope-making. This rope was made using water reed fibres and used during 4000—3000 BC.

An inconceivably old technology it is, and one that is still in constant use today. It’s amazing to think that while phones become obsolete year after year as their replaced by newer models, ancient inventions like rope remain an important part of industry.

In modern times rope is still continually used for jobs such as catching fish and lifting large, heavy objects. The rope has managed to see through the test of time.

The Wheel:

image

A very well-known invention of prehistoric times, the wheel is perhaps one of the best inventions of its time. Wait, no, it IS the best invention of its time. The wheel was initially made from a solid piece of wood, and as you’d expect it revolutionised transportation. It opened the door to many possibilities: no longer would people have to carry goods by hand, and the idea of travel was now fresh in everyone’s mind.

The wheel, while seeming simple, is a marvellous piece of technology. A wheel causes the least amount of friction by allowing motion by rolling together with the use of axles. I mean where would we be without wheels? Having to trek 10 miles to get to work, that’s where.

The wheel is seen as one of the technological advancements that gave rise to the Bronze Age. It’s original creation took place sometime in the 2nd half of the 4th millennium BC, yet it’s unknown exactly which culture introduced it. It is believed that the wheel was produced at a similar time period by the Mesopotamians, those in Central Europe and those in Northern Caucasus.

Nowadays the wheel is, ummm, practically everywhere. Every land vehicle depends heavily on wheels, and without the inception of this idea life would never be the same.

Verdict:

While people always glare in awe at their latest smartphones maybe they should take the time to appreciate the little things in life. After all, where would we be without them?

Android Studio Overview

In the left side of Android studio, we have different files and they have their own purpose. Here in this article, I will explain every file and their use.

Different files in android studio

Basically, we have two parent directories in the left side of the android studio.

  1. app
  2. Gradle script

The directory app contains your all java, kotlin, xml, raw, manifest, layout etc. This directory is super important. In above image app directory is expanded. Here we have following files and directories.

  1. manifests–> AndroidManifest.xml
  2. java–> package name –> MainActivity.java
  3. res–> drawable –> ImageName.png
  4. res–>layout–>activity_main.xml
  5. res–>mipmap
  6. res–>values
  7. values–>colors.xml
  8. values–>strings.xml
  9. values–>styles.xml

So these are all important files in the android studio. There is one more directory also i.e. Gradle Scripts. This contains two gradle files. But in this article, we are only focused on app directory files. Now we will see each file and role of these files.

Manifests

If I opened AndroidManifest.xml you can see xml code. In this we have important tags like <application>, <intent filter>. The application tag contains information like app label (app name), app icon, icon shape, app theme etc. The intent filter tag is used to tell the compiler that it is a Launcher or not. Here Launcher means the activity which will be showing up on starting an app. If we create one more activity than the android studio will automatically add application and intent filter tag. Between two activities we have to tell the compiler that which activity should be LAUNCHER. If we want to have another activity as home screen or launcher then we will make that activity LAUNCHER and another to DEFAULT.

If you want to change the icon of your app then it’s super easy. But keep in mind that android studio only supports png files. Once you have your png image then copy that image and paste in mipmap. Now just change the icon name in android:icon tag.

One more important thing in about manifest file is that for seeking permissions from users, you have to declare that permission in manifest file. For example, if you want to grant internet permissions then paste this code

<uses-permission android:name="android.permission.INTERNET" />

So this is all about manifest and keep in mind that if you created new xml and java manually then you have to add application and intent filter tag manually.

JAVA

As the name suggests it contains all your java files. Keep in mind that java directory contains 3 sub-directories. If you want to create new java file then always create in same package name in which MainActivity is placed. Now let us explore the MainActivity.java file.

In this java file, our class is inheriting AppCompatActivity and one important override method is onCreate. This onCreate method helps in binding the xml and java file. you can see setContentView method is taking the path of xml file as an argument. So you don’t need to go in much depth of it. Simply understand it as a method which binds java and xml file. But if you want to read back-end code of any class or method then you can simply press Ctrl and hover the mouse over that method or class.

res–>drawable

There is nothing much to say about drawable. If you want to use any image in your application then simply copy and paste it drawable.

res–>layout–>activity_main.xml

You can say xml files as GUI part of your apps. These files decide the look of your app. Here activity_main.xml is default xml file which contains only textView hello world. You can create your own xml file in layout directory or you can create your own directory as well. There are two ways to edit xml. One is design and other is text. If you are familiar with html,css then text version will be better for you. If you don’t know the xml then you can learn it very easily. In design part every thing is drag and drop. For example, if you want to add a button to your app then simply drag the button from palette and drop it in the virtual mobile screen. Now if you check text part of xml, you will find that everything is added automatically. To access properties of any component just select that component from the component tree and at the right side you can access their properties.

res–>layout–>mipmap

This mipmap is similar to drawable but the only difference is it contains different images for different screen sizes. For example, if you use any single image in your app, It may work for your device but when the same application is installed on the different phone of different screen size you will see a lot of difference. So always create different size images and paste them in mipmap.

res–>layout–>values

This directory contains three main files.

  1. Strings
  2. colours
  3. styles

In strings, we have all the string values. For example, if we want to add a long list of countries then we should add it in strings.xml. In colors.xml we can add colours to our app. In Style, we can change app theme, colours, app name etc.

 

Summary

So this is a brief overview of the android studio. I hope it would help you to learn android studio better. It may seem to be very complicated but once you become familiar with the android studio, it will become very easy to develop simple android apps. So don’t loose hope and keep it up.

For any query comment below

Top 5 Programming Languages To Learn This Year

When we understand the value of computer programming languages then the first thought that comes to our mind is  “I should also learn programming”. As a beginner,  it becomes difficult to find the best programming languages to learn. There are tons of programming languages available in the world but we can not learn every language, right? So it’s important to find the best language to learn. I will discuss five best programming languages to learn in 2017.

1.JavaScript

You may not believe me but the best programming language to learn in 2017  is JavaScript. If you are a beginner and have no knowledge about IT field then you may not agree with me. But the persons who are in touch with IT field can understand it. Now let us discuss the benefits of JavaScript.

Benefits

a. Easy syntax and easy to learn as first programming language.

b. We can develop a full website by only using JavaScript. Yes, you read it right my dear. This is the only programming language which can be used to develop a full website. We can use it for front-end development and as well as for back-end side. For back-end, we can use node.js. Node.js also comes from  JavaScript. Every language which has extension .js relates to javascript.

c. We can develop android apps also by using JavaScript. Now you might have heard that for Android development we have to learn java. But this is not true. This is correct that Java was the official language for android development( up to April 2017). But JavaScript can also be used for Android development. For that, we have React native framework. React native is developed by facebook.

d. The fourth benefit is not only android development but React native can also be used for cross platform development. That means you can use JavaScript for iOS development also.

e. Resources to learn are easily available on the internet.

2. Python

The second best programming language to learn is Python. This is the easiest programming language ever. Check out any survey you will find python in top 5 programming languages. Once you start learning python, you will love it. Its syntax is too easy to learn. There is aphorism in Python that explicit is better than implicit. In other programming languages, we have different ways to make the same program. But in Python, there is the only way and that’s the thing that makes it an easy language. Here are some other benefits of python.

Benefits

a. Easy to learn

b. Can be used to automate computer tasks.

c. Python is promoted by Google so it’s safe to learn python.

d. Can be used in machine learning.

e. Can be used to make tools. Hackers also love Python because they use it to make different hacking tools.

f. It reduces our work because work is proportional to the number of lines. In Python, you can write a program in few lines.

g.  Python can be used as procedural oriented programming as well as object oriented programming.

 

3. Java

The third best programming language among hundreds of programming languages is Java. The first major benefit of Java is that it is evergreen computer language. If you have knowledge of java then you can learn any computer language in the world. Java is a vast language. You can use java for building a desktop application, server application, cloud applications, web applications, mobile applications. Now you can imagine the power of Java, you have to learn different libraries for different applications. For example for Android development there is a different library and for a web application, there is a different library. You can not learn java in a month because it’s syllabus is too vast. Here are some benefits of Java

Benefits

a. Evergreen language.

b. There is much demand of Java in IT industries.

c. Many giant websites are made in java. For example, Linkedin, china.com, meetup are made in java.

d. Many people love this language so you will get the solution of almost every problem from the internet.

e. A single language can be used for various applications.

4. PHP

The next programming language is PHP. This language is also easy to learn but it is only limited to web applications. According to a survey, 82% of total websites in the world use PHP. WordPress is most popular cms and the best thing about it is WordPress is also made up of PHP. If you learn PHP, you customise your site in WordPress. You will find a lot of PHP developers and therefore competition is more in this programming language. Job opportunities are much.

 

5. Kotlin

My next choice is Kotlin. In google io 2017, Google announced Kotlin as the official language for Android development. A month back we had only java for android development but some developers were using Kotlin also. So Google decided to make Kotlin as an official language. Kotlin works under Java. You can convert java into kotlin and kotlin into java as well. You can also use java functions in kotlin file/class. Now you might be thinking what is need of kotlin if we have java? Here is the important point that kotlin reduces our work. It reduces the number of lines. Kotlin so simple and if you are beginner then you can directly learn kotlin. Kotlin is developed by jetbrains. The major benefit of kotlin is that it is the latest programming language and therefore no company can expect an experienced person in kotlin. It is great opportunity to learn kotlin right now.