PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Tuxicoman : Changer son adresse MAC de manière permanente sous Android

jeudi 8 octobre 2015 à 07:51

Je vous présente une technique qui fonctionne mais il faut un kernel qui ait ce patch. Je ne sais pas exactement quelles ROMs l’ont. J’utilise une CM12.1 custom sur un Galaxy S3.

Avec ce patch, Linux va utiliser l’adresse MAC indiquée dans le fichier /efs/wifi/.mac.info lors du démarrage. Si l’adresse MAC n’est pas valide ou que le fichier est manquant, l’adresse MAC d’usine sera utilisée.

Vous pouver créer ou modifier le fichier en « root » uniquement. Cette commande permet de le faire facilement :

# echo -n "00:11:22:33:44:55\\n" > /efs/wifi/.mac.info

Pratique pour tromper le tracking des appareils Wifi, grapiller des minutes d’Internet gratuit à l’aéroport ou usurper l’adresse MAC d’un autre appareil.

Related Posts:

J'aime(0)Ferme-la !(0)

Gravatar de Tuxicoman
Original post of Tuxicoman.Votez pour ce billet sur Planet Libre.

Carl Chenet : LinuxJobs.fr, le job board de la communauté du Logiciel Libre et de l’open source

mercredi 7 octobre 2015 à 22:30

Suivez-moi aussi sur Diaspora*diaspora-banner ou Twitter  ou sur Identi.ca

La communauté du Logiciel Libre et de l’open source grandit et prend chaque jour plus de poids et d’importance dans le monde de l’informatique.

Je suis heureux d’annoncer un nouveau job board (en version bêta pour l’instant) à destination de notre communauté :

linuxjobs.fr, job board de la communauté du Logiciel Libre et de l’open source

Twitter : linuxjobsfr

banner-linuxjobs-small

Vous y trouverez d’ores et déjà des annonces de recrutement pour salariés et freelances.

Rares sont les sites d’emploi qui comprennent notre communauté et souvent les annonces pour les postes du type administrateur Linux, développeur Web (front ou back), développeur Python, administrateur de bases de données PostgreSQL ou MySQL sont disséminées sur des sites soient très spécialisés (ce qui peut réduire le public qui les consultent) soient qui ne comprennent pas les profils qu’ils recherchent.

LinuxJobs.fr, c’est un job board simple et moderne, avec des catégories claires pour un accès rapide aux annonces vous concernant. Un moteur de recherche central vous retourne les  annonces correspondant aux mots-clés qui vous intéressent. Et vous êtes tout de suite en relation avec le recruteur, sans dépôt fastidieux de CVs préalable.

Le manchot-ninja, fière mascotte de LinuxJobs.fr

Le manchot-ninja, fière mascotte de LinuxJobs.fr

LinuxJobs.fr, c’est aussi un espace dédié au recruteur, pour qu’il puisse présenter au mieux sa société, suivre facilement ses différentes annonces et trouver du support en cas de problème.

Et bien sûr LinuxJobs.fr est un logiciel libre, auquel nous contribuons et que nous ferons évoluer selon les besoins des utilisateurs.

Et vous ? Que pensez-vous de Linuxjobs.fr, le job board de la communauté du Logiciel Libre et open source ? N’hésitez pas à laisser votre avis dans les commentaires de ce billet.


Gravatar de Carl Chenet
Original post of Carl Chenet.Votez pour ce billet sur Planet Libre.

Littlewing : Extraire les données d’une base de données relationnelle avec Spark

mercredi 7 octobre 2015 à 15:34

Me voila en train de tester Apache Spark.AAEAAQAAAAAAAAImAAAAJDcyMTQ0N2JkLWRjYzMtNDZjMy05OWQ4LTljNzFiM2M0NTg0Mw

Pour info, Spark est un projet libre du consortium Apache qui a le vent en poupe depuis quelques temps. Il permet entre autres de réaliser des opérations de type Map Reduce en mémoire

Je souhaite automatiser le chargement de données dans ELASTIC SEARCH et faire au passage un petit map reduce sur les données en entrée.

Voici ce que j’ai fait pour extraire les données d’une base relationnelle ORACLE via JDBC. Bien évidemment, ça fonctionne avec toutes les autres SGBDR accessibles via JDBC.

Configuration de Spark

J’utilise le mode “autonome” de spark, c.-à.d sans cluster hadoop.

Pour l’instant, je n’utilise que les modules streaming et sql.

Au préalable , il faut configurer la variable d’environnement SPARK_CLASSPATH et ajouter le chemin vers le driver JDBC

Je n’ai pas téléchargé la distribution car j’utilise spark au travers des librairies utilisées dans mon programme.

Développement

J’ai décidé d’utiliser le langage SCALA pour développer mon module. Pourquoi SCALA me direz vous ? Parce que ça fait quelques années que je me dis que je dois m’y mettre ( peut être est-ce trop tard ….) et que selon plusieurs commentaires que j’ai pu avoir au DEVOXX, SCALA est clairement plus adapté aux traitements réalisés par SPARK

Dépendances

Voici la configuration de mon pom.xml build.sbt :

scalacOptions ++= Seq("-feature", "-language:postfixOps","-language:existentials")

libraryDependencies <<= scalaVersion { scala_version =>
  val sparkVersion = "1.5.1"
  Seq(
    "org.scalatest" %% "scalatest" % "2.2.5" % "test",
    "org.scalamock" %% "scalamock-scalatest-support" % "3.2" % "test",
    "junit" % "junit" % "4.11" % "test",
    "org.apache.spark" %% "spark-streaming" % sparkVersion,
    "org.apache.spark" %% "spark-sql" % sparkVersion,
    "org.apache.spark" %% "spark-core" % sparkVersion,
    "com.typesafe" % "config" % "1.3.0",
    "com.oracle.weblogic" % "ojdbc7" % "12.1.3-0-0"
  )
}

Pour l’exemple, voici une classe “fourre tout” qui montre le chargement de Spark ainsi que l’extraction des données

/**
 * Classe démontrant l'extration des données d'une base de données sous la forme d'un dataframe
 */
object RDDTest {

  def main(args: Array[String]) {
    // configuration
    val sparkconf = new SparkConf().setAppName("dao").setMaster("local[2]")
    // chargement du contexte
    val sparkContext = SparkContext.getOrCreate(sparkconf)
    /*
    enregistrement du dialecte oracle pour pallier a un bug sur les NUMERIC
         */

    JdbcDialects.registerDialect(new OracleDialect())
    // chargement du contexte SPARK SQL
    val sqlcontext = new SQLContext(sparkContext)


    // lecture des données
    val data = sqlcontext.read.format("jdbc")
           .options(Map("url" -> "jdbc:oracle:thin:@host:1521/schema",
      "dbtable" -> "(SELECT col1,col2 FROM table)",
      "user" -> "user",
      "password" -> "pwd")).load()

    println("data.collectAsList()=" + data.collectAsList())

  }
}

Problèmes rencontrés

Gestion des champs numériques

Comme évoqué ci-dessus, j’ai eu un bug sur la gestion des NUMERIC ,

IllegalArgumentException: requirement failed: Overflowed precision

Comme moyen de contournement, j’ai (après quelques recherches sur le net) opté pour surcharger le dialecte JDBC:

class OracleDialect extends JdbcDialect {
  override def canHandle(url: String): Boolean = url.startsWith("jdbc:oracle")

  override def getCatalystType(sqlType: Int, typeName: String, size: Int, md: MetadataBuilder): Option[DataType] = {
    if (sqlType == Types.NUMERIC && typeName == "NUMBER" && size == 0) Some(LongType) else None
  }
}

et enregistré le dialecte à l’exécution

JdbcDialects.registerDialect(new OracleDialect())

Présence du binaire winutils.exe sur windows 7 64bits

Si comme moi vous avez le bug référencé sur le JIRA du projet, il suffit de télécharger le binaire winutils.exe, puis de positionner la variable d’environnement au démarrage en mettant le bon chemin ( attention, il faut un sous répertoire “bin’ .

System.setProperty("hadoop.home.dir", "d:\\\\winutil\\\\")

And now, something completely different

Outre les difficultés liées à l’apprentissage simultané de plusieurs technologies, on y arrive. Le projet est bien documenté.

Maintenant, je vais créer plusieurs indicateurs et faire un chargement dans Elasticsearch. Je décrirai ça dans un prochain article

 

 

Gravatar de Littlewing
Original post of Littlewing.Votez pour ce billet sur Planet Libre.

Littlewing : Extraire les données d’une base de données relationnelle avec Spark

mercredi 7 octobre 2015 à 15:34

Me voila en train de tester Apache Spark.AAEAAQAAAAAAAAImAAAAJDcyMTQ0N2JkLWRjYzMtNDZjMy05OWQ4LTljNzFiM2M0NTg0Mw

Pour info, Spark est un projet libre du consortium Apache qui a le vent en poupe depuis quelques temps. Il permet entre autres de réaliser des opérations de type Map Reduce en mémoire

Je souhaite automatiser le chargement de données dans ELASTIC SEARCH et faire au passage un petit map reduce sur les données en entrée.

Voici ce que j’ai fait pour extraire les données d’une base relationnelle ORACLE via JDBC. Bien évidemment, ça fonctionne avec toutes les autres SGBDR accessibles via JDBC.

Configuration de Spark

J’utilise le mode “autonome” de spark, c.-à.d sans cluster hadoop.

Pour l’instant, je n’utilise que les modules streaming et sql.

Au préalable , il faut configurer la variable d’environnement SPARK_CLASSPATH et ajouter le chemin vers le driver JDBC

Je n’ai pas téléchargé la distribution car j’utilise spark au travers des librairies utilisées dans mon programme.

Développement

J’ai décidé d’utiliser le langage SCALA pour développer mon module. Pourquoi SCALA me direz vous ? Parce que ça fait quelques années que je me dis que je dois m’y mettre ( peut être est-ce trop tard ….) et que selon plusieurs commentaires que j’ai pu avoir au DEVOXX, SCALA est clairement plus adapté aux traitements réalisés par SPARK

Dépendances

Voici la configuration de mon pom.xml build.sbt :

scalacOptions ++= Seq("-feature", "-language:postfixOps","-language:existentials")

libraryDependencies <<= scalaVersion { scala_version =>
  val sparkVersion = "1.5.1"
  Seq(
    "org.scalatest" %% "scalatest" % "2.2.5" % "test",
    "org.scalamock" %% "scalamock-scalatest-support" % "3.2" % "test",
    "junit" % "junit" % "4.11" % "test",
    "org.apache.spark" %% "spark-streaming" % sparkVersion,
    "org.apache.spark" %% "spark-sql" % sparkVersion,
    "org.apache.spark" %% "spark-core" % sparkVersion,
    "com.typesafe" % "config" % "1.3.0",
    "com.oracle.weblogic" % "ojdbc7" % "12.1.3-0-0"
  )
}

Pour l’exemple, voici une classe “fourre tout” qui montre le chargement de Spark ainsi que l’extraction des données

/**
 * Classe démontrant l'extration des données d'une base de données sous la forme d'un dataframe
 */
object RDDTest {

  def main(args: Array[String]) {
    // configuration
    val sparkconf = new SparkConf().setAppName("dao").setMaster("local[2]")
    // chargement du contexte
    val sparkContext = SparkContext.getOrCreate(sparkconf)
    /*
    enregistrement du dialecte oracle pour pallier a un bug sur les NUMERIC
         */

    JdbcDialects.registerDialect(new OracleDialect())
    // chargement du contexte SPARK SQL
    val sqlcontext = new SQLContext(sparkContext)


    // lecture des données
    val data = sqlcontext.read.format("jdbc")
           .options(Map("url" -> "jdbc:oracle:thin:@host:1521/schema",
      "dbtable" -> "(SELECT col1,col2 FROM table)",
      "user" -> "user",
      "password" -> "pwd")).load()

    println("data.collectAsList()=" + data.collectAsList())

  }
}

Problèmes rencontrés

Gestion des champs numériques

Comme évoqué ci-dessus, j’ai eu un bug sur la gestion des NUMERIC ,

IllegalArgumentException: requirement failed: Overflowed precision

Comme moyen de contournement, j’ai (après quelques recherches sur le net) opté pour surcharger le dialecte JDBC:

class OracleDialect extends JdbcDialect {
  override def canHandle(url: String): Boolean = url.startsWith("jdbc:oracle")

  override def getCatalystType(sqlType: Int, typeName: String, size: Int, md: MetadataBuilder): Option[DataType] = {
    if (sqlType == Types.NUMERIC && typeName == "NUMBER" && size == 0) Some(LongType) else None
  }
}

et enregistré le dialecte à l’exécution

JdbcDialects.registerDialect(new OracleDialect())

Présence du binaire winutils.exe sur windows 7 64bits

Si comme moi vous avez le bug référencé sur le JIRA du projet, il suffit de télécharger le binaire winutils.exe, puis de positionner la variable d’environnement au démarrage en mettant le bon chemin ( attention, il faut un sous répertoire “bin’ .

System.setProperty("hadoop.home.dir", "d:\\\\winutil\\\\")

And now, something completely different

Outre les difficultés liées à l’apprentissage simultané de plusieurs technologies, on y arrive. Le projet est bien documenté.

Maintenant, je vais créer plusieurs indicateurs et faire un chargement dans Elasticsearch. Je décrirai ça dans un prochain article

 

 

Gravatar de Littlewing
Original post of Littlewing.Votez pour ce billet sur Planet Libre.

genma : Numok - Festival numérique des bibliothèques

mercredi 7 octobre 2015 à 12:00

Numok - Festival numérique des bibliothèques

Organisée par les bibliothèques de la Ville de Paris, la 1ère édition du festival Numok met en avant le numérique comme lieu de partage, de jeu et de découverte. Du 10 au 24 octobre, une riche programmation est proposée gratuitement à tous les publics, avertis ou totalement novices, petits ou grands. Culture libre, big data, biens communs, impression 3D, robotique, musique assistée par ordinateur, électronique, géolocalisation, programmation informatique, cartographie subjective, light paint, réalité augmentée, jeux vidéo expérimentaux : voilà un florilège de thèmes où chacun pourra bidouiller, contribuer, créer, s'amuser, découvrir ou s'informer. (Source de cette présentation du Festival)

Les conférences que je vais donner

Dans le cadre de ce festival, je serai amener à différentes conférences sur différents sujets. Je liste donc ci-dessous les thèmes, dates/horaires et lieux des mes interventions :
-Reprenez le contrôle de votre vie privée, samedi 10 octobre, 15h-18h30, Médiathèque Melville au 79 rue Nationale 75013 PARIS
Est-il possible d'avoir une vie privée sur Internet ? Qu'en est-il de nos données personnelles ? On me parle d'espionnage, c'est quoi ? Que savent Google, Facebook et autres entreprises sur moi ? Que puis-je faire contre ça ? Comment utiliser le réseau Tor ? Venez découvrir, comprendre et avoir une réponse à toutes ces questions et d'autres, de façon simple et accessible au grand public,
-Les Réseaux sociaux, jeudi 15 octobre, 19h-20h30, Médiathèque Amélie au 164 rue de Grenelle 75007 PARIS
Internet comment ça marche, qu'est ce que le web 2.0 ? Les réseaux sociaux : quels sont les principes, les principaux sites, les avantages et les risques à les utiliser ? Qu'est ce que l'e-réputation ou l'identité numérique ?
-Le logiciel Libre, samedi 17 octobre, 16h30-18h00, Médiathèque Melleville au 79 rue Nationale 75013 PARIS
Qu'est ce que le logiciel libre ?
-Reprenez le contrôle de votre vie privée, mardi 20 octobre, 19h-21h, Médiathèque F.VILLON au 81 boulevard de la Villette 75010 PARIS
-L'identité numérique : pseudonyme vs véritable identité, jeudi 22 octobre, 19h-20h30, Médiathèque Oscar Wilde PARIS
Notre identité sur le net peut-elle être maîtrisée de la même façon que dans le monde physique ? Comment contrôler son image ? Peut-on dire que nous avons aujourd'hui deux vies, l'une sur internet (sur les réseaux sociaux, les sites de rencontre par exemple) et l'autre près de nos proches et des gens que nous côtoyons ?
-La protection de la vie privée et des données personnelles, samedi 24 octobre, 15h-16h30, Médiathèque G.TILLON au 6 Rue du Commandant Schloesing 75116 PARIS

Les 3 conférences ayant pour point commun la vie privée seront les mêmes (même support), seule la présentation orale variera et s'adaptera aux questions du public.

Ces interventions ne sont pas filmées. Elles sont ouvertes à tout-e-s et sont grand public. Comme à chaque fois, les sources (LaTEX/Beamer) et le support de conférence (au format pdf) sont mis à disposition sous licence Creative commons sur mon compte Github.

Gravatar de genma
Original post of genma.Votez pour ce billet sur Planet Libre.