Mardi 22 Mai : Développer sous Android qlambert

17
mai

Au programme de la séance que ~kleperf annimera :

 

- aperçu de l’écosystème d’android :
   distribution d’android dans le monde
   la fragmentation sous android
   architecture du système

 

- la programmation d’une application :
    programmation java et native
    l’interface et les ressources
   le manifest et les permissions

 

- publier son application :
    le market officiel
    les stats
    utilisateurs tablettes et téléphones? la division

 

- la fragmentation :
    en modèle, matériels, versions
    astuces des ressources
    astuces de déploiement

 

- et la sécurité dans tout ça :
    ce qu’il y a dans la presse
    angle d’attaque : les permissions
    petits malwares entres amis

 

Mardi 3 Avril : Présentation du projet libsubprocess qlambert

22
mar

Mardi 3 Avril, Emmanuel Fleury, maitre de conférence au Labri, viendra nous présenter le projet libsubprocess sur lequel il travaille.

Il nous en donnera les buts, les principales fonctionnalités et nous expliquera les problèmes auxquels il est confronté.

Voici une petite description de l’ensemble du projet :

* Nom du projet: libsubprocess

* Résumé du projet libsubprocess: Le but de cette bibliothèque est de fournir une API qui permette de réaliser des tests en boîte noire sur des programmes non-sûrs. On veut pouvoir imposer certaines contraintes aux processus qui sont lancés à travers l’interface (contrainte sur le temps d’exécution, la mémoire consommée, le nombre de processus utilisés, les appels systèmes utilisés, etc). On veut aussi pouvoir récolter des informations basique de profilage sur le programme (essentiellement le temps de calcul ainsi que la mémoire consommée).

Évidemment, libsuprocess est juste la première brique d’un tout plus important, dont voici une petite vision d’ensemble:

* Contexte général du projet: Libsubprocess doit s’insérer dans un framework plus large qui permette de tester automatiquement des projets d’étudiants. Il s’agit donc de vérifier la conformance du logiciel à des spécifications précises ainsi que de détecter le maximum de bugs ou les faiblesses d’implémentation. Et tout ceci de manière aussi automatique que possible et si possible être agnostique au niveau du langage de programmation utilisé pour coder le projet.

Le framework contiendra:

* Un framework consacré à l’insertion de limites sur l’exécution et qui assurera la collecte de données de profilage (libsubprocess).

* Un framework de test, très probablement basé sur ATF/Kyua: http://code.google.com/p/kyua/wiki/ATF

* Une framework d’isolation basé sur libvirt: http://libvirt.org/
Voir: http://libvirt.org/devguide.html

* Un framework d’analyse statique qui analyse le code des étudiants et fasse un retour pertinent (éviter au maximum les faux positifs).

* Un serveur web permettant aux élèves de déposer les différentes versions de leur projet, de consulter le résultat de certains tests (pour avoir un retour automatique sur leur code) et aux enseignants de consulter l’intégralité des tests.

Utilisation de Django+Pinax:
- https://www.djangoproject.com/
- http://pinaxproject.com/

Le but de cette plate-forme est de permette de passer à l’échelle pour l’enseignement de la programmation. Permettre à tous les élèves d’avoir des projets individuels et de ne pas avoir besoin de tas d’enseignants qui passent dans les rangs pour dire: 1000x »Vous avez oublié de fermer cette parenthèse ».

Animation Procédurale qlambert

23
nov

Nous en sommes à la troisième séance du projet. Grâce au moteur physique Chipmunk qui inclut dans ses demos un environnement graphique, nous avons une première représentation

de notre projet.

Au programme de la semaine prochaine, il y aura plus d’implémentation.

 

En effet les tâches distribuées sont :

- évaluer la viabilité de modéliser les griffes soit par une augmentation de l’adhérence du bout des pattes, soit par une fixation pure et simple de celles-ci dans l’espace

- évaluer la viabilité de modéliser la contraction des muscles, par un changement des caractéristiques du ressort représentant le muscle, par l’application d’une force aux pattes concernées ou par la modification de la position des griffes

- développer une structure nous permettant de représenter  et de sauvegarder notre individu

 

Il serait aussi temps de penser à un nom pour ce projet (CheapMonk ?).

Mardi 8 Novembre : [Projet] animation procédurale qlambert

4
nov

Le but de cette séance est de commencer le développement d’un projet d’animation procédurale. Ce domaine de l’informatique a pour but d’animer des objets virtuels en générant en temps réel des mouvements.

Lors de cette séance nous déciderons du langage de programmation et des différents choix concernant l’environnement graphique et le moteur physique.

Comme d’habitude rendez-vous en TD6 à 18h30.

Mardi 18 Octobre : Programmation GBA qlambert

12
oct

Mardi 18, Thomas Beati élève de deuxième année informatique viendra nous présenter la GBA, son hardware et sa programmation.

Venez nombreux en TD6 à 18h30.

Mardi 31 Mai: Analyse d’images de documents anciens: Panorama et enjeux scientifiques actuels. Gregwar

25
mai

Mardi prochain (31 Mai), nous accueillerons Nicholas Journet à la geekerie du mardi qui nous parlera de l’analyse d’images de documents anciens.

Rendez-vous en TD6 à 18h30

Pour plus d’informations: http://www.njournet.com/

Mardi 24 Mai: Présentation d’un robot humanoïde Gregwar

24
mai

Ce mardi 24 Mai, les  geekeries du mardi accueillent Olivier Ly pour nous présenter le robot Humanoïde mis au point par le LaBRI en collaboratiojn avec l’INRIA

Rendez-vous à 18h30 en salle TD6

Plus d’informations:

 

Mardi 17 Mai: introduction à Git Gregwar

16
mai

Cette semaine, c’est David Renault qui interviendra pour nous parler du gestionnaire de version Git.

Rendez-vous à 18h30 en salle TD6 à l’ENSEIRB.

Les optimisations GCC Gregwar

5
mai

Les supports présenté lors de la geekerie du mardi 3 mai sont disponibles ici:

http://gregwar.eirb.fr/GCC.tgz

Introduction

GCC est un outil permettant de compiler du code source C en code binaire éxécutable. Ce processus passe par plusieurs étapes:

  1. Précompilateur, étape visant à interpréter les macros, les inclusions et toutes les directives commençant par « # ». Produit un autre fichier C moins riche. On peut stopper GCC à cette phase avec -E.
  2. Compilation à proprement parler, produit un fichier en code assembleur (.s) à partir du fichier C précédent.  On peut stopper GCC à cette phase avec -S.
  3. Assemblage, produit un objet (.o) à partir du code assembleur. Ce travail est fait par l’utilitaire as. On peut stopper GCC à cette phase avec -c
  4. Edition des lien, assemble les objets en un programme éxécutable, ce travail est fait par l’utilitaire ld. GCC va par défaut jusqu’à ce point et produit un binaire

Notons que les deux dernières étapes sont totalement gérées par des outils externes, GCC faisant directement appel au programmes as et ld. Le « coeur » du travail de GCC se fait à l’étape 2, et correspond à la production de code assembleur à partir du code C.

Notons également que GCC est capable de reprendre un fichier de n’importe quelle de ces phases, on peut ainsi compiler ensemble un objet avec un fichier C et du code assembleur à l’aide de la même commande.

Pour comparer les optimisations de GCC, on appliquera donc le flag « -S » pour stopper la compilation à la production du code assembleur. On compilera ainsi avec et sans les optimisations (avec et sans le flag -O3) afin de pouvoir visualiser les différences dans le code produit

Optimisations

Lire la suite »

Mardi 3 Mai: Optimisations de GCC (màj : changement de salle) Gregwar

29
avr

C’est moi-même qui présenterais la geekerie de Mardi 3 Mai et qui vous parlerais des optimisations de GCC.

A travers une dizaine d’exemples, je montrerai la manière dont GCC est capable d’optimiser le code binaire produit en comparant le résultat avec et sans l’activation des optimisations.

Rendez-vous en amphi C à 18h30 à l’ENSEIRB