Wednesday, 19 April 2017

Apart from writing about technology following the footsteps of Ubuntu Linux development and it's future, I'm an archaeologist and therefore you will find interesting archaeology articles at this site. I'm so much interested in deep past of planet Earh wondering what kind of world was it back half a billion years ago, what kind of animals walked it's surface and swim it's seas. Thanks to paleontology and combined forces of archaeologist as well, we can peace together an amazing story of our planet and it's amazing prehistoric times. In this installment I bringing top 5 prehistoric predators that once roomed the planet Earth. I shall note that this is a article on demand as response to Miloš Miladinović review of the movie 'Jurassic World 2015'.

Written by: Amar Tufo.
17. April, 2017

1. Anomalocaris

Anomalocaris or abnormal shrimp is considered to be the Earth first super predator that swim the Cambrian seas some 541 million years ago. This predator with long body up to length of 2 m and unique pair of eyes for night hunting suggest that Anomalocaris was indeed top predator that mostly hunted smaller trilobites and other sea animals. Fossilized remains of this animal were found across the globe in Canadian Burgess Shale formation, Australia, China and across the United States before becoming extinct some 485 million years ago at the beginning of Ordovician era. 

2. Megalograptus

On the prehistoric Earth, life was flourishing in the seas for as much as 350 million years. Among the seas predators comes Megalograptus a fierce scorpion predators from eurypterid family that lived during Ordovician era around 445 million years ago. Having been as on the first creatures to step on to dry land, Megalograptus was probably a night hunter preying upon smaller orthocones, trilobites and early fishes. It's fossilized remains were mostly find trough United States before being extinct in Ordovician mass extinction event around 455 million years ago.

3. Brontoscorpio

Meet Brontoscorpio, monstrous sea scorpion of the Silurian period some 440 - 417 million years ago. This monster scorpion sweam the Silurian seas alongside Cameroceras, Cephalaspis and Pterygotus. It has an armed body just like Anomalocaris and stinger with size of a light bulb. It can grew up to one meter in length and probably feed on trilobites and Cephalaspis which was armored fish as well. Fossilized remains of Brontoscorpio were mostly uncovered in Trimpley and Worcestershire, England UK.

4. Dunkleosteus

Image credit: 

Dunkleosteus was a large armored fish that lived during the late Devonian period some 380 - 360 million years ago. It was named in 1958 after David Dunkle, a curator at Cleveland Museum of Natural History. Dunkleosteus was a top predator during much of Devonian period, a period known as age of fish. It was able to grew as much as 10 meter in length, had fierce bite about 8000 pounds. This predator feed on other fishes as well as other smaller Dunkleosteus which was according to some researchers a sign of  cannibalism due to probably food shortage. Fossilized remains of this predator were found across North America, western Europe, northern Africa, Texas, California, Pennsylvania and Ohio. It is assumed that Donkleosteus was eventually extinct at the dawn of Carboniferous period, fourth period of Paleozoic era, around 358 million years ago.

5. Mosasaurus

 Image credit: 

Mosasaurus was a large marine reptile that lived during the Cretaceous period some 90 million years ago. Able to grew as much as 18 meter in length, this giant prehistoric monster feed on sharks, plesiosaurus, giant turtles, birds, as well as other mosasaurus. Named after Muse river in Netherlands were the first mosasaurus fossil were first discovered in 1764, and later across the globe in northern Europe, eastern Europe, Russia, Turkey, the Middle East, Canada, South America. Mosasaurus was a dominant sea predator for 40 million years ago before being extinct at the end of Cretaceous period 65 million years ago alongside the dinosaurs.  


Although today we knew much about prehistoric life and lifeforms on planet Earth, jet there are still dozens of species waiting to be discovered. As much as we think that Anomalocaris and Mosasaurus look the way we think they dis, on thing has to be always in our mind, it's just a speculation based on our model of reconstruction which we used to bring those beasts back from dead. Further paleontological research and archaeological digs across the globe will help us to understand the way these beasts feed, way they adopt to Earth climate changes and food supply that sustain they're enormous length is an amazing story of evolution of life on planet Earth. But thanks to fossilized records in Earth geological layers, that we can today told an amazing story of prehistoric life on Earth. 


1) Anomalocaris

2)BBC Walking with the monsters - Anomalocaris & Brontoscorpio

3) Megalograptus

4) Brontoscorpio

5) Dunkleosteus

6) Sea Monsters with Nigel Marven | featuring Dunkleosteous

7) Mosasaurus

About Author:

My name is Amar Tufo. I’m 23-years old graduate student of Archaeology, Faculty of Philosophy at Sarajevo. Experinced blogger, author, web developer as well as proud Ubuntu Linux & Open Source software evangelist. Big dreamer and Trance music lover.

Let's Get Connected: facebook

Tuesday, 18 April 2017

Welcome to my third week report on my NDG Linux Essential course. As I have promised early on my few posts, I have made a very good progress in my Linux adventure so far. I have completed four modules in my NDG Linux Essential course and also to further my knowledge made a couple Linux test my self covering Linux terminology, Networking, BASH scripting skills, Linux directory architecture and much more. As you shall see in a moment, these are practically qualified LCPI - 1 tests which do not differ from official tests compiled by Linux Institute.

Written by: Amar Tufo
18. april, 2017

 Test above consists from 30 questions covering basic Linux terminology, desktop environments, questions that required answers on the line such as: ' Which directory contains programs which are compiled and installed manually?' and so on. I'm really happy about these tests aside from official exams that I take at my NDG Linux Essential course, which requires exam completion in order to complete each module. As for my test, you may download it, study it and take it you're self and check your knowledge in Linux.

That's it for today.
We see you soon at 4-th week report.

Sunday, 16 April 2017

Have you ever wondered what happens when you turn on your Linux machine? What processes are happening inside your hard drive, your RAM, BIOS and etc. Well, you can stop searching for answer on line, because here's an article that will explain Linux Booting process in 6 steps. I should note that this article is a part of my NDG Linux Course program that I'm enrolled in, so you can read it on my website.

Written by: Amar Tufo.
16 April, 2017

 1. BIOS - 

 BIOS seraches, loads and executes the boot loader.

2. MBR (Master Boot Record) - it is located in the 1st sector of the bootable disk /dev/sda. MBR is less than 512 bytes in size and consists of three components:

- primary boot loader 446 bytes
- partition table info 64 bytes
- magic numbers 2 bytes

MBR loads and executes the GRUB boot loader

3. GRUB (GRand Unified Bootloader) - It is a Multiboot boot loader which displays a splash screen, waits a few seconds, if you don't enter anything, it loads the default kernel image as specified in the GRUB conf file /etc/grub.conf. It contains kernel and initrd image. In case you don't know what initrd image is? Initrd stands for InitialRAMdisk which is initial root file system that is mounted prior to when the real root file system is available. The initrd is bound to the kernel and loaded as a part of the kernel boot procedure.

4. Kernel - Once the control is given to the kernel which is the central part of any OS and which act as a mediator between hardware and software. Kernel once loaded into RAM stays there until the machine is shutdown. Once the kernel starts it's operation the first thing it will do is to execute the INIT process.

5. INIT (Initialization) - Looks at the /etc/inittab file to decide the Linux run level. There are 6 major Linux run level every time Linux boots:

- 0 halt
- 1 single halt mode
- 2 multiuser NO NFS
- 3 full multiuser mode
- 4 unused
- 5 x11
- 6 reboot

6. Run Level Program - When the Linux is booting up, you might see various services getting started, such as 'starting sendmail . . . . OK'. There are called the run level programs. Depending on your default init kernel setting, system is going to execute the programs from one of the following directories: run level 0 - /etc/rc.d/rc0.d/ .

This is the 6 booting steps of Linux. If you like this article, don't forget to share on the social networks, be sure to visit my official LinkedIn page to find out about my work and the things I wrote and do. If you are willing to know in details about processes that are happening during Linux boot than follow the links bellow.

> 6 Stages of Linux Boot Process (Startup Sequence)

Thursday, 13 April 2017

As you now I'm enrolled in NDG Linux Essential course which is preparation for takink LCPI - 1 (Linux Certified Professional). Therefore I have compiled a series of useful online resources and books which I used alongside this course as well as beside it to expand my further knowledge in Linux administration, Networking, CLI skills, BASH skills and more. So, without further delay, check out my list.

Written by: Amar Tufo
13, april 2017

1) Debian Administrator's Handbook - Debian Jessy from discovery to mastery |

2) Pro Ubuntu Server Administration - Sender Van Gugt
© Apress 2009 |

3) The Linux System Administration Guide 1993 - 2014 GNU Free Documentation License 1.2 |

 4) The Linux Network Administrators Guide - Group of authors   

 5) The Linux Networking - Paul Cobbaut © CEST 2015                

 6) Linux Network Administrator's Guide - 3-rd Edition © O'Reilly 2015 |

 7) The Linux Admin Quick Reference - Command Chet Sheet               

8) Basic Linux Networking Commands You Should Know - It's F.O.S.S

 9) Learning the BASH shell - 3-rd Edition, Cameron Newham © O'Reilly 2009  |

10) BASH Reference Manual  © GNU Fuondation 2016

 11) 7 dmesg command for troubleshooting Linux system - TecMint 

Ok, this is it. I shall note that some of the links provided in my article might not work therefore I suggest you typing the name of provided book/or on-line resources in this list for quicker finding this you're self. I need to say that this list is not the only one as I shall compile my next one with much better resources and tutorials as well as exams for expanding knowledge in Linux. Till than, well see you soon. 

Wednesday, 12 April 2017

It's been a while since I post about my Linux Essential course provided by Network Development Group and Cisco. Now I'm in second week of my Linux Education adventure and this is what I done so far. As you shall see in a moment, I have taken different approach to my course and you're gonna see in a moment what it is. 

Written by: Amar Tufo.

#Week Two - and I'm still progressing!

There we go, a good friend of all Linux geeks a CLI (Command Line Interface). I finally comes to point where this course gets really interesting in a sense that I' supposed to execute a certain command via Terminal in a BASH (Bourne Again Shell). To be honest, I prefer the dark side of Linux, a good old TTY. 

# When on course, write down your blog!

Here I have taken a screen shoot with my smart phone cam of my writings during this course. As you can see at the right upper corner of my page, there's a 'Linux Preparation LXO - 1' title and bellow it my respected name. Bellow the title of this course there is old logo of my web site. Basically I taken some notes on important commands that I'm working with such as ls to list the contents of directory; cd to navigate to certain directory; history command to list all the commands that have been previously used and etc.

In this screen shoot, you can see that I have reach a part of my course 'Indroducing BASH shell variables' where I have write some basic and important things to remember, such as variable HISTSIZE that can display how much command is going to be stored in it's memory. For example, I can say my HISTSIZE variable that it should store 1000 commands in it's memory and sintax to do that via Terminal is the following:


Once you type history command in Terminal, it will store 1000 commands in it's memory per one entry. For more about history, please see man history.
In this picture, you can see how far did I come on my NDG Linux Essential Course dashboard. The blue rectangle shows exactly which part did I reach and which parts were completed. But here's the interesting part of my Linux adventure, it's a self made test of Linux skills containing some 40 questions covering both system administration, network skills as well as commands. 

I need to note that this screen shoot of my test is compiled after my job interview with in the Crossvallia company in BiH, headquarters in Bosmal City Center, Sarajevo. They give me the same test to complete which was not different from my own test which I compiled one week later to boost my Linux skills, and eventually I got to NDG Linux Essential course which will do just that, make me a hell of Linux administrator.

What to say at the end?

Well, honestly I'm really inspired while doing my education on Linux and progressing trough this course. On things that inspires me more, that this entire course can be linked to your professional LinkedIn account where it can show of your skills and eventually get you hired. 

Well see us soon in my third week report, till than.
Best wishes.

Monday, 3 April 2017

Before I say anything else, I shall note that I have recently redesigned my website logo which you can visit here. Also I recently enrolled in NDG Linux Essential course which is free but very useful course for LCPI exam preparation. 

I have very very good knowledge in Linux, booth administration and networking so I decided to prepare my self for LCPI - 1 (Linux Certified Professional) exam provided by Linux Institute | I have also compiled a list of useful resources (booth Linux books and on-line web sites such as TecMint, It's F.O.S.S) for further my studies. In case of NDG Linux Essential course, this what I done so far.

I take a screen shoot from my NDG course dashboard which track's my progress. One of the things I really love about NDG Linux Essential is that they give you student access to virtual UBUNTU PC for completing labs exam at module four such as Bash Scripting, Interface configuration | ifconfig, or directory navigation via Terminal and so. So I'm really exited to learn all those things in the future. 

This course takes about 70 hours to complete, so I'm taking every new module every new day so I can make my own labs, examination, or even compile my own question which I post under my website so you can enroll as well. My website is publishing entire progress of my course so you can see what I'm doing and so. 

Thanks for reading and wee see you soon!

Sunday, 26 February 2017

Piše: Amar Tufo
26. Februar, 2017

Iako sam developer koji se još uvijek kali i koji ima još mnogo toga da nauči, GitHub je svakako jedna od veoma bitnih skilova koje sam naučio proteklih par dana i koja će završiti na moj popis skilova na LinkedIn mreži. Naime, radi se o možda najvećoj platformi koja omogučava razmjenu i održavanje vašeg softvera kroz jedan sasvim novi način pristupa softver developmentu. Za GitHub se kaže veoma često kako je to društvena mreža za programere, platforma za razvoj i održavanje softvera. Obadvoje je tačno. U ovom svom stručnom članku ću prenjeti vještine koje sam naučio pa stoga imate priliku da naučite sljedeće: 

  1. -> Kako instalirati GitHub na Ubuntu Linux?
  2. -> Kako izvesti njegovu konfiguraciju?
  3. -> Kako kreirati GitHub repozitorij?
  4. -> Prenos projekta s računala na vaš GitHub repozitorij?
1. Šta je GitHub?

Prije nego krenemo sa poslom, ja ću ukratko objasniti šta je to zapravo GitHub? Za bolje razumijevanje GitHub-a, prvo morate znati šta je to Git? Git je zapravo open source version control system kojeg je razvio Linus Torvalds, kreator Linux-a. Upravo CVS (version control system) omogučava developerima širom svijeta da surađuju na određenom projektu i da konstantno budu u toku sa svim njegovim izmjenama.

Recimo, vi ste kreirali program sa listom stvari koje treba kupiti u šopingu i to ste postavili u svoj repozitorij na GitHub-u. Vaša se lista sastoji od četiri stavke i ubrzo vi saznate kako morate kupiti i petu stavku ali ona nije na listi. Vaš prijatelj klonira vašu listu na svoje računalo, doda petu stavku, ponovo vrati istu šoping listu natrag na GitHub.

Osvježite vaš repozitorij i saznate da vaša lista sada ima pet stavki. Pojednostavljeno bi ovako izgledao GitHub. Stim što je Git sličan konzoli ili Terminalu te uz kombinaciju Hub-a dobio je svoj web interfejs koji developerima omogučava upload, razmjenu i aktivnu suradnju na razvoju projekata. Tako je nastao GitHub.

 Izgled GitHub-a

Obzirom da na internetu ima na gigabajte tutorijala o GitHub-u, njegovoj instalaciji na sve tri platforme, kako u tekstualnom pa tako i u video formatu, ja ću prenjeti svoja iskustva i zašto je meni kao developeru GitHub jako bitan.

2. Instalacija i konfiguracija GitHub-a na Ubuntu Linux-u?

Ovo je korak koji zahtjeva upotrebnu Terminala ili konzole. Nije mi jasno zašto se neki ljudi plaše crnog screen-a obzirom da postoje tri komande, uvrh glave, možda svega pet komandi s kojima ćete raditi prilikom upotrebe GitHub-a. Bez daljnjeg duženja, evo kako izvesti instalaciju GitHub-a na Ubuntu Linux?

Slika 1: Instalacija Git-a na Ubuntu Linux

Jedanput kada se ova komanda izvrši, tražit će vam se root lozinka kako bi se Git instalirao na vaš računar. Nakon instalacije Git-a, posjetite kako biste kreirali svoj Git nalog. Nakon što kreirate nalog na GitHub-u, na vašem Ubuntu terminalu trebate unjeti sljedeće dvije komande:

Slika 2: Konfiguracija GitHub-a 

 3. Kreiranje GitHub repozitorija 

Ovo je dio koji se obavlja na GitHub platformi. Jedanput kada ste kreirali svoj GitHub nalog te obavili konfiguraciju na vašem Ubuntu-u ili koju već distru koristite, možete sada stvoriti svoj Git repozitorij. Repozitorij je online direktorijum u kojem se nalazi vaš projekat i koji prati svaku vašu izmjenu ili izmjenu vašeg projekta kojeg je izvela treća osoba koja učestvuje u razvoju programa itd. Evo kako se repozitorijum kreira.

Slika 3: Kreiranje novog GitHub repozitorija

Jedanput kada kliknete na >> New repository, otvorit će vam se prozor koji će od vas tražiti da imenujete vaš repozitorij, da uključite Readme datoteku i to je to.
Slika 4: Kreiranje GitHub repozitorija 

Jednom kada imenujete vaš repozitorij, sve što treba da uradite jeste da odaberete zeleni taster Create repository, I vaš je direktorij spreman. Sada slijedi kloniranje repozitorija na vaše računalo, što se obavlja ovako:

Slika 5: Kloniranje GitHub repozitorija

Ja sam za potrebe ovog članka napisao mali C++ program po imenu Classes & Objects, pa možete naslutiti da se radi o jednom programu koji koristi Klase i Objekte. Isti taj projekat ću ja prenjeti u svoj GitHub repozitorij kako bi prikazao kako se prenose podaci na online repozitorijum na GitHub platformi. Jedanput kada kopirate ovaj link preko Terminala radite sljedeće:
Slika 6: Kloniranje GitHub repozitorija Classes-Objects

Prva naša komanda do sada u ovom članku jeste git clone kojom se klonira repozitorijum. 
4. Prenos projekta s računala na vaš GitHub repozitorij?

Došli smo do glavnog dijela našeg članka a to je prenos podataka (u daljem tekstu: projekta) na GitHub repozitorij. Druga komanda koju ćete jako često koristiti jeste git status koja će vam dati informacije o vašem repozitoriju te o izmjenama koje su dodate.

Slika 7: Provjera trenutno stanja GitHub repozitorija upotrebom git status komande

Kao što vidite, trenutno se u mom Classes-Objects direktorijumu nalazi samo datoteka Ponovnim pokretanjem  git status komande, moj direktorij sada ima ove podatke koji su spremni za prijenos u moj Classes-Objects direktorijum.

Slika 8: Trenutno stanje mog Classes-Objects direktorijuma sa podacima za prijenos na GitHub

Dakle, sada se u mom direktorijumu nalazi pet datoteka koje treba prenjeti na GitHub repozitorijum. Moj online repozitorijum i dalje izgleda ovako:

Slika 9: Trenutno stanje online GitHub repozitorija Classes-Objects

Sada ove datoteke treba pripremiti za prijenost na GitHub što radimo našom trećom komandom git commit -m ‘message’ kojom obavještavamo naš GitHub da prenosimo ove datoteke: 

Slika 10: Prijenos datoteka na GitHub repozitorij upotrebom komande git add -A | git commit -m "vaša poruka ovdje"

Zaboravio sam dodati da prije nego pokrenete ovu komandu git commit -m "", treba prvo da izvršite ovu komandu git add -A koja će dodati sve datoteke u sam direktorijum pa tek onda izvršite ovu komandu git commit -m "". Nakon ove komande, trenutno stanje direktorijuma izgleda kao na slici. Eh sada, preostalo nam je samo da prenesemo konačno ove podatke na naš repozitorij a to radimo našom petom komandom po imenu git push. 

Slika 11: Prenos datoteka na GitHub repozitorijum upotrebom komande git push

Slika 12: Uspješno preneseni podaci na GitHub repozitorijum 

Jedanput kada se osvježi stranica, moj repozitorij izgleda ovako. Dakle, uspješno sam prenjeo sve datoteke na svoj GitHub repozitorij po imenu Classes-Objects. Ponovnim pokretanjem Terminal komande git status dobit ćete ove informacije o trenutnom stanju ovog repozitorija.

Slika 13: Ažuriran GitHub repozitorijum Classes-Objects


U cijelom ovom članku imali smo priliku da se upoznamo šta je to GitHub, kako izvesti njegovu instalaciju i konfiguraciju na Ubuntu Linux platformi te kako stvoriti aktivni GitHub repozitorijum. U osnovi, koristimo ovih pet komandi za održavanje i stvaranje GitHub repozitorijuma a to su:
-> git clone - omogučava kloniranje GitHub repozitorija
-> git status - prikazuje aktuelno stanje vašeg repozitorija
-> git add -A - prenosi sve podatke na GitHub repozitorij
-> git commit -m "message" - zaključava sve podatke u GitHub repozitorijum za prijenos
-> git push - prenosi sve podatke na GitHub repozitorij

Ovih pet komandi ćete i vi veoma često koristiti prilikom stvaranja i održavanja vašeg projekta na GitHub platormi. Bilo da se radi o najosnovnijem programu, web stranici ili čak i dokumentu, GitHub je prvi izbor da objavljivanje vašeg projekta. S druge strane, sve velike firme već odavno upotrebljavalju GitHub zbog toga što je moguće privući velik broj programera koji su spremni da pomognu razvoj vašeg projekta gdje ćete uvijek biti u mogučnosti isporučiti noviju verziju vašeg programa na vrijeme. 


 Projekat Classes-Objects: 

Sada znate kako klonirati ovaj repozitorij na vaše računalo pa vi možda dodate nešto što ja nisam znao. U svakom slučaju ja ću znati, jer imam git status. 

Do narednog čitanja.



Follow me on Facebook:

Popular Posts