2385 shaares
244 results
tagged
informatique
Sur le big data: on est vraiment sur des pbs d'informaticiens dans ce cas. Le problème de ces histoires de "data scientists", c'est que chacun y met un peu ce qu'il veut. Pour certains, il s'agit de stats exploratoires (originellement, le terme vient d'un papier de Cleveland quand même). Pour d'autre, c'est l'évolution logique de l'approche informaticienne de l'analyse de données, celle qui passe outre les questions statistiques. Là, on est dans le dernier cas. Alors? ben la question n'est pas simple, la tendance "data science and big data" existe indéniablement, comme le dit très bien le gars.
Une appli shiny pour voir l'évolution des téléchargements de packages grâce aux cranlogs de Rstudio
L'autorité de certification libre pour la délivrance de certificats SSL.
Dans cette idée du https généralisé imposé par mozilla et google...
Dans cette idée du https généralisé imposé par mozilla et google...
Profitons bien des derniers instants des navigateurs mozilla based avant de passer à autre chose. Mozilla est en train de se tirer une balle dans le pied...
ah oui, m'a l'air sympa...
eg, un programme à essayer
eg, un programme à essayer
Ben putain, ça ça serait une révolution.
(via sebsauvage)
(via sebsauvage)
Très bon article, qui met bien les choses au point. Je me le garde sous le coude pour m'y référer dans mes réponses aux solliciteurs.
En ce qui me concerne, je n'aime pas bien le "pull-request welcome" dans mes projets perso (je n'ai pas mis mes projets sur github précisément pour éviter ça -- je suis sous git, mais en local sur ma machine).
En ce qui me concerne, je n'aime pas bien le "pull-request welcome" dans mes projets perso (je n'ai pas mis mes projets sur github précisément pour éviter ça -- je suis sous git, mais en local sur ma machine).
Alors ça, ça m'intéresse!
Ah? à trouver et à lire. L'idée d'interfacer SIG et R pour ce type de calcul me paraît effectivement une idée à suivre.
À voir...
À voir...
Bon, au final, utiliser docker, c'est pas encore au point. Ça a planté au bout d'une heure, genre "exec error" sans explications.
Mais j'ai une solution définitive pour implémenter l'UBSAN pour le check des packages R (examen des comportements non définis dans le code C, e.g. quand on passe un vecteur contenant des données manquantes à un programme qui ne les gère pas, quand on divise par zéro, etc.).
Approche laborieuse, mais ça marche. C'est une mise à jour et une version plus stable de ce que je disais ici:
http://caloine.ouvaton.org/shaarli/?rTZF_g
Plus stable parce qu'elle n'implique pas de bidouiller le compilateur du système d'exploitation que j'utilise pour le reste de mon boulot. Il faut installer une machine virtuelle virtualbox sous ubuntu (host), en définissant un ubuntu guest (64 bits, comme ça la machine servira aussi à faire tourner des programmes 64bits, autant rentabiliser le boulot). Une fois ubuntu installé, on installe le compilateur clang, version 3.6 mini (gaffe, ya des dépôts à mettre dans le source.list). En pratique, voir les instructions ici:
http://llvm.org/apt/
on installe toutes les dépendances nécessaires pour construire R:
sudo apt-get install r-base-dev
sudo apt-get build-dep r-base
On télécharge les sources de R (devel ou base), on les décompresse, et on édite le config.site. Dans le config.site, on édite les variables suivantes:
CC="clang-3.6 -std=gnu99 -fsanitize=undefined"
CFLAGS="-fno-omit-frame-pointer -02 -Wall -pedantic -mtune=native"
CCXX="clang++-3.6 -std=gnu99 -fsanitize=undefined"
CXXFLAGS="-fno-omit-frame-pointer -02 -Wall -pedantic -mtune=native"
Gaffe, il faut pas oublier les guillemets.
Dans le home, on crée un répertoire .R, et dedans, on crée un fichier Makevars, et dedans on met
CC=clang-3.6 -std=gnu99 -fsanitize=undefined -fno-omit-frame-pointer
Gaffe, là pour le coup, faut surtout pas mettre de guillemets sinon ça plante.
Ensuite, on configure
./configure --enable-R-shlib --enable-memory-profiling --with-tcl-config=/usr/lib/tcl8.5/tclConfig.sh --with-tk-config=/usr/lib/tk8.5/tkConfig.sh
Gaffe aux versions de tcl et tk vérifier la version et localisation des config.sh avec un locate (après sudo updatedb). Ensuite, classiquement,
make
sudo make install
Gaffe, c'est super long sur certains fichiers (mais ça, c'est documenté dans le writing R extensions: ça dure des plombes, mais c'est normal: deux heures de compilation au total, avec pas loin de trois quart d'heures sur certains fichiers).
Ensuite, on installe adehabitat et ses dépendances sous R:
install.packages(c("adehabitatHS", "tkrplot","maptools","rgeos"))
Pareil, la compilation dure des plombes à cause de l'UBSAN.
Après, dans la machine virtuelle, installer les additions invitées, et créer un répertoire partagé entre les deux machines. Redémarrer, Et zou, le système est opérationnel.
À noter, sur les dernières versions de virtualbox, il est possible de copier coller du système hôte vers l'invité.
Par contre, gaffe, s'il y a des "runtime errors", elles ne sont pas renvoyées au niveau du check. Il est nécessaire, après le check, d'aller dans le répertoire ".Rcheck", et de faire un grep:
grep error *
Mais sinon ça marche bien. Autre mise à jour, l'UBSAN ne nécessite pas l'utilisation de valgrind. C'est juste le compilateur clang qui gère.
Mais j'ai une solution définitive pour implémenter l'UBSAN pour le check des packages R (examen des comportements non définis dans le code C, e.g. quand on passe un vecteur contenant des données manquantes à un programme qui ne les gère pas, quand on divise par zéro, etc.).
Approche laborieuse, mais ça marche. C'est une mise à jour et une version plus stable de ce que je disais ici:
http://caloine.ouvaton.org/shaarli/?rTZF_g
Plus stable parce qu'elle n'implique pas de bidouiller le compilateur du système d'exploitation que j'utilise pour le reste de mon boulot. Il faut installer une machine virtuelle virtualbox sous ubuntu (host), en définissant un ubuntu guest (64 bits, comme ça la machine servira aussi à faire tourner des programmes 64bits, autant rentabiliser le boulot). Une fois ubuntu installé, on installe le compilateur clang, version 3.6 mini (gaffe, ya des dépôts à mettre dans le source.list). En pratique, voir les instructions ici:
http://llvm.org/apt/
on installe toutes les dépendances nécessaires pour construire R:
sudo apt-get install r-base-dev
sudo apt-get build-dep r-base
On télécharge les sources de R (devel ou base), on les décompresse, et on édite le config.site. Dans le config.site, on édite les variables suivantes:
CC="clang-3.6 -std=gnu99 -fsanitize=undefined"
CFLAGS="-fno-omit-frame-pointer -02 -Wall -pedantic -mtune=native"
CCXX="clang++-3.6 -std=gnu99 -fsanitize=undefined"
CXXFLAGS="-fno-omit-frame-pointer -02 -Wall -pedantic -mtune=native"
Gaffe, il faut pas oublier les guillemets.
Dans le home, on crée un répertoire .R, et dedans, on crée un fichier Makevars, et dedans on met
CC=clang-3.6 -std=gnu99 -fsanitize=undefined -fno-omit-frame-pointer
Gaffe, là pour le coup, faut surtout pas mettre de guillemets sinon ça plante.
Ensuite, on configure
./configure --enable-R-shlib --enable-memory-profiling --with-tcl-config=/usr/lib/tcl8.5/tclConfig.sh --with-tk-config=/usr/lib/tk8.5/tkConfig.sh
Gaffe aux versions de tcl et tk vérifier la version et localisation des config.sh avec un locate (après sudo updatedb). Ensuite, classiquement,
make
sudo make install
Gaffe, c'est super long sur certains fichiers (mais ça, c'est documenté dans le writing R extensions: ça dure des plombes, mais c'est normal: deux heures de compilation au total, avec pas loin de trois quart d'heures sur certains fichiers).
Ensuite, on installe adehabitat et ses dépendances sous R:
install.packages(c("adehabitatHS", "tkrplot","maptools","rgeos"))
Pareil, la compilation dure des plombes à cause de l'UBSAN.
Après, dans la machine virtuelle, installer les additions invitées, et créer un répertoire partagé entre les deux machines. Redémarrer, Et zou, le système est opérationnel.
À noter, sur les dernières versions de virtualbox, il est possible de copier coller du système hôte vers l'invité.
Par contre, gaffe, s'il y a des "runtime errors", elles ne sont pas renvoyées au niveau du check. Il est nécessaire, après le check, d'aller dans le répertoire ".Rcheck", et de faire un grep:
grep error *
Mais sinon ça marche bien. Autre mise à jour, l'UBSAN ne nécessite pas l'utilisation de valgrind. C'est juste le compilateur clang qui gère.
plus de détails
Alors ça ça a l'air pas mal. Je misère comme un malheureux en ce moment pour essayer de compiler R-devel avec un compilateur llvm/clang pour pouvoir vérifier le code C de mes packages R selon les nouvelles pratiques de R. Installation de machine virtuelle, installation de debian, installation de clang depuis les dépots et tout le merdier qui va avec. Et une compilation interminable.
Ces gars là utilisent docker, un service qui va fournir juste l'environnement nécessaire d'un R-devel compilé et clang pour pouvoir checker le code avec l'UBSAN. En clair, il semblerait qu'il faille juste récupérer le container, et boum, c'est prêt à l'usage.
Bon, par contre, ça marche pas sous 32 bits et comme j'ai fait le choix de rester sous 32 bits rapport que ya des applis qui ne sont pas encore passé à 64bits, je ne ferai pas l'économie d'une machine virtuelle.
Ces gars là utilisent docker, un service qui va fournir juste l'environnement nécessaire d'un R-devel compilé et clang pour pouvoir checker le code avec l'UBSAN. En clair, il semblerait qu'il faille juste récupérer le container, et boum, c'est prêt à l'usage.
Bon, par contre, ça marche pas sous 32 bits et comme j'ai fait le choix de rester sous 32 bits rapport que ya des applis qui ne sont pas encore passé à 64bits, je ne ferai pas l'économie d'une machine virtuelle.
Bon à partir de maintenant, je vais utiliser des messages de commit pertinents et arrêter d'écrire n'importe quoi...
Du coup, je me mets de côté le raccourcisseur d'URL
Très intéressant, les sources sont données.
La vache, c'est pas mal ça: pour injecter un code txt présent dans un fichier séparé dans un document latex.
Oui, ça va être bien utile..
Oui, ça va être bien utile..
Intéressant.
Putain, ils s'arrêtent jamais les mecs de chez Rstudio. J'avais vu passer ça, mais j'avais pas percuté à quel point ça déchirait...
Je vais quand même me garder ça sous le coude, j'ai le sentiment que c'est un outil rigolo pour communiquer des résultats via une page web...
Je vais quand même me garder ça sous le coude, j'ai le sentiment que c'est un outil rigolo pour communiquer des résultats via une page web...
C'est TRÈS intéressant!
Faute d'un stockage à long terme, les données scientifiques se perdent à un rythme de 17% par an!
Comme quoi, réfléchir aux bases de données, hein...
Faute d'un stockage à long terme, les données scientifiques se perdent à un rythme de 17% par an!
Comme quoi, réfléchir aux bases de données, hein...
TRÈS intéressant! Plein de stratégies, le plus souvent très simples, pour accélérer du code R