lundi 30 décembre 2013

bc : une calculatrice intégrée

Le plus utile, le moins reconnu du mande unix et donc Linux bc:
bc une calculatrice scientifique complète...

bc est une calculatrice basique sous unix. Mais elle n'a de basique que le nom car elle permet d'avoir des possibilités et des fonctionnalités bien plus avancées que la plupart des calculatrices. bc est aux opérations mathématiques ce que awk est à la manipulation de texte.

Petit tour d'horizon

bc possède deux modes d'utilisation, un premier en mode interactif, qui permet de 'lutiliser directement en ligne de commande pour des opérations ponctuelles, un second mode, un mode flot, qui permet d'effectuer des opérations en série (à partir d'un fichier ou d'un script).

mode interactif

Le mode interactif est simplement appelé par la commande bc. Le programme attend ensuite les intructions, tout comme le ferait ftp ou telnet, et s'arrête avec la commande quit. Lançons donc bc :
# bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
puis demandons-lui d'effectuer quelques opérations qu'il suffit de valider par la touche entrée du clavier :
3+5
8
./2
4
./3
1

Remarque

Le point "." permet de rappeler la valeur courante. Dans notre exemple, le point rappelle 8 puis 4.
Nous remarquons que 4/3 renvoie uniquement la partie entière. Pour modifier la précision, il suffit d'utiliser scale :
scale=50
4/3
1.3333333333333333333333333333333333333333333333333
On peut aussi modifier le format de sortie avec obase :
obase=16
85+3
58
On peut aussi modifier le format d'entrée avec ibase :
ibase=2
111011101+110101010
387
Nous avons en entrée une opération en base 2 (binaire) et le résultat est affiché en hexadécimal (base 16).
Et ainsi de suite...

mode flot

Pour effectuer la même chose en mode flot, il suffit de rediriger les opérations d'une entrée vers bc :
# echo 'scale=50; ibase=10;obase=16; 85+49' | bc
86
Ou bien mettre les opérations dans un fichier :
3+5
./2
./3
scale=50
4/3
obase=16
85+3
ibase=2
111011101+110101010
...
en veillant à ce que chaque ligne se termine par un retour chariot et interpréter ces opérations avec bc de la façon suivante :
# cat monfichier.bc | bc
8
4
1
1.33333333333333333333333333333333333333333333333333
58
387
ou encore :
# bc < monfichier.bc
8
4
1
1.33333333333333333333333333333333333333333333333333
58
387
Nous retrouvons bien nos résultats.
Il peut arriver d'avoir à effectuer des opérations sur le contenu d'un fichier. Par exemple, de faire la somme d'une colonne. S'il est possible et aisé de le faire avec awk, bc permet tout aussi bien de le faire. Mais awk peut s'avérer vite moins efficace si les opérations deviennent complexes.
Avec bc, par exemple, une somme de colonne se fera de la façon suivante :
# ls -l | awk 'NR>1 {print ".+" $5}' | bc | tail -1
permet, par exemple de calculer la somme de l'espace occupé par les fichiers du répertoire courant. Ici, c'est une commande ls mais cela peut tout aussi bien être une redirection de fichier, etc.

Fonctions avancées

Si bc ne savait faire que cela, il n'aurait pas beaucoup d'intérêt. Cependant, tout comme awk, bc sait interpréter un langage qui permet de réaliser des fonctions bien plus avancées.

Fonctions avancées en mathématiques

L'option l permet à bc de disposer des opérations mathématiques suivantes :
  • s(x) : sin x
  • c(x) : cos x
  • e(x) : exp x
  • l(x) : ln x
  • a(x) : atn x
  • j(n,x) : bessel
Par exemple :
# echo 'scale=50; l(25)' | bc -l
3.21887582486820074920151866645237527905120270853703

Définir ses propres fonctions

Grâce à un langage associé, bc permet également de définir d'autres fonctions inexistantes. Par exemple :
/* Une fonction pour retourner le log n de x*/
define log(n,x) {
scale=50
y = l(x) / l(n)
return (y)
}
Cette fonction permet de calculer le logarithme en base n de la valeur x.
Cette fonction est créée dans un fichier. Par exemple, fnc.bc. Pour utiliser cette fonction, il suffit alors de l'employer comme suit :
# echo 'log(10,25)' | bc -l fnc.bc
1.39794000867203760957252221055101394646362023707578
Nous avons calculé ainsi le logarithme en base 10 de la valeur 25.
De la même façon, ce langage gère les boucles (if(cond)..., while(cond)... et for(init;cond;inc)...) , les condition (if(cond)..., else ...), etc. Pour plus de détails, reportez-vous au manuel de la commande.
Un problème peut subsister dans cet usage. La notation impose d'utiliser bc -l fnc.bc pour choisir quelle bibliothèque de fonctions personnelles employer. Cela sera plus simple si l'on n'avait pas à utiliser autant de paramètres. Pour cela, modifions notre fichier de définitions et ajouter sur la première ligne :
#!/usr/bin/bc -l
De plus, transformons ce fichier en exécutable en lui donnant les droits d'exécution.
Nous pouvons ainsi utiliser directement la bibliothèque en exécutant ce fichier, soit de manière directe :
# fnc.bc
log(10,25)
1.39794000867203760957252221055101394646362023707578
soit de manière indirecte :
# echo 'log(10,25)' | fnc.bc
1.39794000867203760957252221055101394646362023707578


Dormir tranquille: etteindre à une certaine heure

la commande leave laisser (leave) attend que le temps spécifié (dans les 12 prochaines heures), puis vous rappelle que vous devez partir en écrivant à la console que vous devez laisser vos sessions
pfares@pascal-Notebook:~$ leave 
When do you have to leave? 2300  
Alarm set for Mon Dec 30 23:00. (pid 8808)
Esayer et voir le résultat!

Des programmes prêts à l'emploi!

C'est vieux mais ça marche toujours!

date :  affichage de l'heure et de la date

     pfares@pascal-Notebook:~$ date
                lundi 30 décembre 2013, 20

cal : affichage du calendrier

pfares@pascal-Notebook:~$ cal
   Décembre 2013      
di lu ma me je ve sa  
 1  2  3  4  5  6  7  
 8  9 10 11 12 13 14  
15 16 17 18 19 20 21  
22 23 24 25 26 27 28  
29 30 31              
           :55:55 (UTC+0200)
--
uptime, ruptime : depuis quand le  système fonctionne-t-il?
pfares@pascal-Notebook:~$ uptime
 21:00:23 up  2:48,  3 users,  load average: 0,19, 0,26, 0,17
pfares@pascal-Notebook:~$ ruptime
pascal-Noteb  up       2:50,     1 user,   load 0.53, 0.34, 0.20
Question? Quel est la différence en ruptime et uptime? essayez, cherchez et répondez  

dimanche 29 décembre 2013

The first smartphones running the Linux-based OS will reportedly appear in 2014.

A smartphone running Ubuntu Touch.
Canonical has found a hardware partner to help it build the first generation of Ubuntu Touch smartphones.
In an interview with CNET, Canonical founder Mark Shuttleworth remained tight-lipped about the identity of the partner, but suggested that high-end devices running the Linux-based OS will appear in 2014: “We’ve shifted gears from ‘making a concept’ to ‘it’s going to ship.’ That has a big impact on the team.”
Shuttleworth also suggested his company is negotiating with other manufacturers: “We are now pretty much at the board level on four household brands.”
Canonical first unveiled in January 2013 that it was working on a version of Ubuntu for smartphones, following up that announcement with a set of system requirements for entry-level and higher-end devices, followed by a preview SDK and app design guides, then images and open-source code for a Touch Developer Preview. The Ubuntu mobile platform will allow HTML5 and native apps; Web apps can also run independently of the browser, with full access to system resources.
The biggest question, however, was always how Ubuntu Touch would end up on commercially available smartphones. Over the summer, Canonical tried to fund the Ubuntu Edge smartphone via crowdfunding Website Indiegogo. The funding goal was set at $32 million; within the first 24 hours of the project’s July 22 launch, some $3.45 million had poured in. But that momentum proved unsustainable, and the donations petered out at roughly $12 million—nowhere near what Canonical needed to build the Ubuntu Edge.
Even as its crowdfunding effort petered out, Canonical was negotiating with other manufacturers. “While we passionately wanted to build the Edge to showcase Ubuntu on phones, the support and attention it received will still be a huge boost as other Ubuntu phones start to arrive in 2014,” read the company’s Indiegogo posting. “Thousands of you clearly want to own an Ubuntu phone and believe in our vision of convergence, and rest assured you won’t have much longer to wait.”

mercredi 25 décembre 2013

Get started with Juju!

Ubuntu and Android dual boot developer

Dual boot is not a feature suitable for regular users. It is recommended to be installed only by developers who are comfortable with flashing devices and with their partition layout. Dual boot rewrites the Android recovery partition and those installing it should be intimately familiar with re-flashing it in case something goes wrong.
Multiple Android flavours are supported (AOSP or stock, CyanogenMod) and installation of Ubuntu can be done for all versions available in the phablet-flash channels.
http://developer.ubuntu.com/2013/12/announcing-ubuntu-and-android-dual-boot-developer-preview/ 

mardi 17 décembre 2013

PRESSURES ON THE EUROPEAN PARLIAMENT FOR THE ADOPTION OF OPEN SOURCE SOFTWARE

Parliamentary Group of the Greens / European Free Alliance strongly urges the European Parliament to use open source solutions and free. He claims a rule that requires the institution transparency in its activities.

The Group of the Greens / European Free Alliance wrote to the President of the European Parliament, Martin Schulz, a letter published Friday, November 29 urging him to make use of free software and open standards under Rule 103 (from "Rules of procedure "of the institution ) , which indicates that it must " ensure that its activities are conducted in full transparency . "

In response to this long-standing request , the European Parliament has repeatedly requested an analysis showing the relationship between Rule 103 and the use of open source software and open standards. In his letter, the group therefore refers to a study it commissioned last summer at Dutch firm Mitopics board to " understand how [ they ] may contribute to Parliament's efforts in this area ." The study , delivered on October 31 , emits strong criticism against the answers given by DG ITEC Department, Informatics Parliament , repeated applications of the parliamentary group .

The study explains that " the report of the IT department does not provide a full and complete response ": it does not provide a description of the systems , architecture and IT planning , nor its dependence à-vis proprietary standards . In addition , issues of development and acquisition , but also use of free software, remain obscure .

If Rule 103 does not seem to compel Parliament to directly adopt open source software and open standards, the study Mitopics indicates that this rule requires the IT department to "examine all processes, policies and organizational , and watch the flow of information , computer systems , their formats and processes . " This rule , according Mitopics requires an inventory of the systems used by the institution , taking into account their "authenticity , integrity and confidentiality ." According to the consulting firm , if the analysis requested by the Greens and European Free Alliance was made, it would indicate that the principles of transparency Rule 103 shall apply to the flow of information, software and electronic document formats used by Parliament. This study and issue recommendations stating " the extent to which use of free and open source solutions and open standards is essential to meet these principles."

lundi 16 décembre 2013

Linux is too complicated, it is for professional !

Say that there are people who believe that!

... How does it ... this is what you believe too? o_O
Stop there, unhappy! Do not make a step further, you're wrong!

Linux is not complicated, and I'll prove it.
You do not know what Linux? It does not matter, this is a course for beginners: the explanations start from the first chapter!

Who is this course?


Windows users who want to discover Linux

Linux for beginners looking to better manage their OS

Webmasters who must administer a dedicated server on Linux

Curious like you just wonder how Linux works;)

With Linux, you can now take control of your computer and discover an exciting new world, all without spending a penny! :)

For french reader follow http://fr.openclassrooms.com/informatique/cours/reprenez-le-controle-a-l-aide-de-linux

for english wiat some days I will piblish this course on http://cours.cofares.net