2344 shaares
243 results
tagged
informatique
Super algo pour générer des polygones convexes aléatoires.
Ok, bon à savoir. Quand on fait free -m, on a la mémoire utilisée: conky indique que la mémoire libre est quasi-vide, mais que nenni: l'essentiel est dans le cache. C'est pas vraiment un pb.
grep sur du PDF. Tout existe sous linux
Pour avoir les infos de résolution des images en pdf, utiliser pdfimages et pas identify. En clair:
pdfimages -list t.pdf
pdfimages -list t.pdf
Détecter les caractères non-ASCII dans un fichier: grep -Pn '[^\x00-\x7F]'
> For those LATEX practitioners who intend to produce documents in PDF, this book does not seem to make a compelling argument that they ought to change their habits. Markdown files are processed into LATEX during document rendering. The LATEX file is then compiled by the same PDF tools that authors currently use, such as pdflatex. Because rendering R markdown to LATEX may introduce errors, my opinion is that LATEX users should continue to prepare documents with LATEX.
Je suis assez d'accord, ça rejoint mon expérience. Finalement, perso, je reste sous LaTeX. En plus :
> While working on the R package stationery, I found that changing the style of an R Markdown document could require quite a lot of work. Such limitations are subtle, and can only be discovered by trial and error. The success with R Markdown for intermediate and advanced users will depend on their willingness to study capabilities of third-party software (Pandoc, Bootstrap (getbootstrap.com), etc.).
Oui, je suis assez d'accord. R markdown, c'est bien tant qu'on reste dans les sentiers battus. Dès qu'on veut des trucs un peu spécifiques ça peut être l'enfer rapidement. C'est pratique tant qu'on reste sur des docs simples.
Je suis assez d'accord, ça rejoint mon expérience. Finalement, perso, je reste sous LaTeX. En plus :
> While working on the R package stationery, I found that changing the style of an R Markdown document could require quite a lot of work. Such limitations are subtle, and can only be discovered by trial and error. The success with R Markdown for intermediate and advanced users will depend on their willingness to study capabilities of third-party software (Pandoc, Bootstrap (getbootstrap.com), etc.).
Oui, je suis assez d'accord. R markdown, c'est bien tant qu'on reste dans les sentiers battus. Dès qu'on veut des trucs un peu spécifiques ça peut être l'enfer rapidement. C'est pratique tant qu'on reste sur des docs simples.
À suivre
Note pour utiliser docker pour tester des packages sous R. Installation de docker décrite ici:
https://docs.docker.com/install/linux/docker-ce/debian/
Puis, si on a un container à lancer, par exemple jakubnowosad/geocompr_proj6 (qui contient ici une version de R avec sp configuré pour Proj6). L'adresse du container sur dockerhub est https://hub.docker.com/r/jakubnowosad/geocompr_proj6. Pour récupérer le container et l'exécuter:
sudo docker run -d -p 28787:8787 -v $HOME/MesLogiciels/adehabitat:/home/rstudio/ -e PASSWORD=glouglou jakubnowosad/geocompr_proj6
On n'en garde que la fin. On utilise -d pour le lancer en daemon, -p port_de_moi:port_du_serveur, -v pour monter mon répertoire de travail sur le répertoire de travail (rstudio) du container, -e pour définir le mot de passe, et on termine par l'adresse.
Ça lance le container docker en tâche de fond. Ensuite dans un navigateur, on lance
http://localhost:28787/
username: rstudio, mot de passe glou, et après, on peut commencer à bosser dans le container.
Pour identifier les containers qui tournent :
sudo docker ps
On identifie l'ID, par exemple 908093. Pour l'arrêter :
sudo docker stop 908093
Et wala.
https://docs.docker.com/install/linux/docker-ce/debian/
Puis, si on a un container à lancer, par exemple jakubnowosad/geocompr_proj6 (qui contient ici une version de R avec sp configuré pour Proj6). L'adresse du container sur dockerhub est https://hub.docker.com/r/jakubnowosad/geocompr_proj6. Pour récupérer le container et l'exécuter:
sudo docker run -d -p 28787:8787 -v $HOME/MesLogiciels/adehabitat:/home/rstudio/ -e PASSWORD=glouglou jakubnowosad/geocompr_proj6
On n'en garde que la fin. On utilise -d pour le lancer en daemon, -p port_de_moi:port_du_serveur, -v pour monter mon répertoire de travail sur le répertoire de travail (rstudio) du container, -e pour définir le mot de passe, et on termine par l'adresse.
Ça lance le container docker en tâche de fond. Ensuite dans un navigateur, on lance
http://localhost:28787/
username: rstudio, mot de passe glou, et après, on peut commencer à bosser dans le container.
Pour identifier les containers qui tournent :
sudo docker ps
On identifie l'ID, par exemple 908093. Pour l'arrêter :
sudo docker stop 908093
Et wala.
Marrant comme un truc tout simple comme une regex peut plomber tout un site internet.
Super conseils pour préparer des présentations
Marrant : ils prennent une image en bitmap (noir et blanc), échantillonnent des pixels, et utilisent un algo pour trouver le plus court chemin passant par les pixels échantillonnés (pb du voyageur de commerce). Résultat: un portrait en une ligne.
Le mec va plus loin: il va prendre une image en niveaux de gris, et va échantillonner les pixels proportionnellement au poids défini par le niveau de gris. Il répète le processus 250 fois, et ça rend l'impression d'une image faite au crayon. Ici : https://fronkonstin.com/2018/04/17/pencil-scribbles/
Le mec va plus loin: il va prendre une image en niveaux de gris, et va échantillonner les pixels proportionnellement au poids défini par le niveau de gris. Il répète le processus 250 fois, et ça rend l'impression d'une image faite au crayon. Ici : https://fronkonstin.com/2018/04/17/pencil-scribbles/
Semble assez utile
Comment extraire les champs d'un formulaire pdf dans un fichier texte.
pdftk my-pdf-form.pdf dump_data_fields
Pratique
pdftk my-pdf-form.pdf dump_data_fields
Pratique
Super site illustrant le principe de différents algos utilisés pour le MCMC.
Source très intéressante!
Très nombreuses ressources sur le machine learning
Point de vue d'informaticien sur R. Très drôle.
Multi-agent programming environment. Avec interface sous R programmable ici : https://github.com/PredictiveEcology/NetLogoR
Wait and see...
Fallait s'y attendre...
J'arrête pas d'en entendre parler de ça... Faudrait que je me prenne un moment pour creuser...
Source intéressante d'info
Tiens je vais essayer ça.
Délire ! un site de mots croisés pour s'entraîner aux expressions régulières. Marrant.
À étudier sérieusement.
OK, je me lance dans le tidyverse, on va bien voir. Une explication de la fonction map.
Décidément, je n'arrête pas d'en entendre parler en ce moment. Ma prochaine lecture : Advanced R programming par Wickham.
Excellente explication du principe de l'évaluation non-standard sous R, qui permet aux fonctions d'accéder non seulement aux valeurs des objets passés en arguments, mais aussi les expressions associées. M'a l'air pas mal ce bouquin, il est sur ma liste de lecture...
Perspective intéressante. Perso, mon expérience d'Arch Linux se rapproche plus de celle de Jan Van Uytven dans les commentaires : "Arch is great until it breaks, and it will break. If you want to deepen your Linux skills at debugging and repair, or just deepen your knowledge, there's no better distribution. But if you're just looking to get things done, Debian/Ubuntu/Fedora is a more stable option."
C'est exactement comme ça que j'ai ressenti Arch. Depuis, je suis sous Debian.
C'est exactement comme ça que j'ai ressenti Arch. Depuis, je suis sous Debian.
Intéressant : un article sur RQGIS qui montre les possibilités du package. Pas mal du tout...
Ayant eu à réinstaller tous mes packages R récemment, je stocke ici le code utilisé :
install.packages(c("adehabitatHS", "raster", "maptools","rgdal","spatstat","knitr","ggplot2","xtable","splancs",
"sp","MCMCglmm","devtools","rjags","coda","igraph","openssl","rpanel","gsl","adehabitat",
"RgoogleMaps","devtools","rgeos","ggmap","RODBC", "tidyverse","sf","lme4","rgeos","car","ggplot2","stringr","lubridate"), dep=TRUE)
library(devtools)
install_github("ClementCalenge/oncfsMisc")
install_github("ClementCalenge/metroponcfs")
install_github("ClementCalenge/scankd")
install_github("ClementCalenge/scsl")
install_github("ClementCalenge/roedeer3sites")
install_github("thomasp85/gganimate")
install.packages(c("adehabitatHS", "raster", "maptools","rgdal","spatstat","knitr","ggplot2","xtable","splancs",
"sp","MCMCglmm","devtools","rjags","coda","igraph","openssl","rpanel","gsl","adehabitat",
"RgoogleMaps","devtools","rgeos","ggmap","RODBC", "tidyverse","sf","lme4","rgeos","car","ggplot2","stringr","lubridate"), dep=TRUE)
library(devtools)
install_github("ClementCalenge/oncfsMisc")
install_github("ClementCalenge/metroponcfs")
install_github("ClementCalenge/scankd")
install_github("ClementCalenge/scsl")
install_github("ClementCalenge/roedeer3sites")
install_github("thomasp85/gganimate")
Un autre lien sur git
Je cherche à encourager les collègues à utiliser git pour leur projet, mais comme ils sont tous sous windows, je cherche des bons tutos pour windows qui pourraient les motiver. Celui-là m'a l'air pas mal...
À creuser...
À creuser...
Revenir à un ancien commit, définir master là, et placer les commits les plus récents sur une branche annexe, pour mémoire.
Une bonne description des deux failles spectre et Meltdown.
Excellent ! Un réseau de neurones entraîné à générer des chants de Noël. C'est pas gagné...
rigolo
The Most Unexpected Discovery of An R Language Feature - ... in a most unusual way - Yihui Xie | 谢益辉
Tiens je connaissais pas non plus.
Sous R dans une fonction prenant ... comme argument, ..1 indique le premier argument, ..2 le deuxième, etc. C'est rigolo. Bon après je vois pas bien à quoi ça peut servir... Mais c'est rigolo.
Sous R dans une fonction prenant ... comme argument, ..1 indique le premier argument, ..2 le deuxième, etc. C'est rigolo. Bon après je vois pas bien à quoi ça peut servir... Mais c'est rigolo.
OK il m'a convaincu je passe à saveRDS
Quelques bonnes pratiques de programmation sous R.
Une bonne description de JASP, clique-bouton open source conçu comme alternative à spss.
On en parle pas mal en ce moment...
Nettoyer des géométries pourries avec spatialite.
À garder sous le coude si jamais des fois que.
Une explication limpide de la blockchain. Via Mathieu.
Des zoulies palettes pour faire des zoulies cartes sous R. Ça nous changera de l'éternel terrain.colors()
Les logiciels "validés" par la communauté scientifique. Voir plus en détail ce que c'est...
about:memory
Intéressant.
Intéressant.
Super intéressant! Mini machines virtuelles en trois commandes. Le concept a l'air génial.
hmm.
Intéressant: un package qui permet de manipuler du pdf dans R. Assez bluffant.
J'ignorais également : si x est une liste x[[c(2,3)]] est identique à x[[2]][[3]]
En outre, si x est une matrice à n lignes et p colonnes, et si i est une autres matrice à r lignes et deux colonnes (la première colonne correspondant aux indices de lignes et la seconde aux indices de colonne), alors x[i] va renvoyer un vecteur contenant les r éléments décrits dans i (i.e. c(x[i[1,1], i[1,2]], x[i[2,1], i[2,2]], etc.)).
Je savais pas.
En outre, si x est une matrice à n lignes et p colonnes, et si i est une autres matrice à r lignes et deux colonnes (la première colonne correspondant aux indices de lignes et la seconde aux indices de colonne), alors x[i] va renvoyer un vecteur contenant les r éléments décrits dans i (i.e. c(x[i[1,1], i[1,2]], x[i[2,1], i[2,2]], etc.)).
Je savais pas.
Nouveau format de stockage de données spatiales. En tous cas, nouveau pour moi.
Tiens un nouvel IDE pour R spécialisé dans la modélisation écologique. A voir...
Article très intéressant, sur le sujet des probas très faibles ou très élevées, qui, pour des raisons de représentations finies, ne peuvent être représentées sur l'ordi.
Quand on veut travailler avec ça, ya plein de petits trucs qui permettent de ne pas avoir de surprise, que l'on souhaite calculer ces probas, les additionner ou calculer 1-p.
Super intéressant
Quand on veut travailler avec ça, ya plein de petits trucs qui permettent de ne pas avoir de surprise, que l'on souhaite calculer ces probas, les additionner ou calculer 1-p.
Super intéressant
Ah tiens, ya un papier sur le package. À lire.
git checkout - How to get a copy of an older version of a file in a git repository? - Stack Overflow
Récupérer une ancienne version d'un fichier sans écraser la version courante:
git cat-file -p codesha1:file.tex > wherever.tex
Merci stackoverflow.
git cat-file -p codesha1:file.tex > wherever.tex
Merci stackoverflow.
Tiens, un nouveau shell que je connaissais pas... Visiblement basé sur python, ce qui fait qu'on a toutes les fonctions de python accessibles directement depuis le shell, en plus des fonctions du shell.
M'a l'air assez génial comme concept... À tester un jour.
Edit : ya un tuto qui a l'air pas mal : http://xon.sh/tutorial.html
C'est assez tentant comme façon de bosser. Faut que je regarde si je peux configurer le prompt, j'aime bien les prompts agnoster de zsh, super pratiques pour la gestion des projets git.
Edit 2 : apparemment, on peut modifier le prompt en fonction du statut git : http://xon.sh/api/prompt/gitstatus.html
Bon ok, je suis convaincu, faudra que j'essaie ça.
M'a l'air assez génial comme concept... À tester un jour.
Edit : ya un tuto qui a l'air pas mal : http://xon.sh/tutorial.html
C'est assez tentant comme façon de bosser. Faut que je regarde si je peux configurer le prompt, j'aime bien les prompts agnoster de zsh, super pratiques pour la gestion des projets git.
Edit 2 : apparemment, on peut modifier le prompt en fonction du statut git : http://xon.sh/api/prompt/gitstatus.html
Bon ok, je suis convaincu, faudra que j'essaie ça.
La vache ! ya du choix !
Ah ouais, pas mal. Du literate programming facile d'accès. Facile à vendre.
Je suis assez impressionné... 40 langages gérés, on mélange du Markdown, du R, du python, du latex, du julia (à la base, c'est Julia Python R ou Jupyter).
À suivre de près...
Je suis assez impressionné... 40 langages gérés, on mélange du Markdown, du R, du python, du latex, du julia (à la base, c'est Julia Python R ou Jupyter).
À suivre de près...
Tout le monde en parle en ce moment, ça semble vraiment révolutionner pas mal de choses à en croire certains...
À creuser donc.
À creuser donc.
Pas mal de choses intéressantes sur Linux
Toujours utile pour manipuler awk.
Un site marrant reportant des expériences sur les mauvais clients, en particulier dans le domaine du webdesign.
Intéressant. Via Mathieu.
Vérifier l'intégrité d'une clé usb.
Un rappel sur les diverses commandes permettant de mesurer l'activité du système.
L'explication de l'évaluation vue par le tidyverse. Via Mathieu.
Intéressant et utile.
Intéressant.
Une explication sympa de substitute sous R
Marrant. Dans un terminal, on tape:
telnet towel.blinkenlights.nl
Et ça lance star wars en mode texte...
telnet towel.blinkenlights.nl
Et ça lance star wars en mode texte...
Intéressant
Alors ça c'est pas mal!
Oh putain! Ya des trucs géniaux là-dedans.
À creuser dans un édit ultérieur.
À creuser dans un édit ultérieur.
Je connaissais le brainfuck et intercal. Les autres sont marrant (whitespace doit être le pire)
La VACHE! Je suis sur le cul. La réponse est bluffante, j'ai essayé son code c'est génial: une horloge digitale fonctionnant selon le principe du jeu de la vie.
C'est dingue.
C'est dingue.
Oh la belle ressource intéressante sur spatialite! J'ai le sentiment que celle-ci va me servir!
Ah ben merde alors. J'imaginais pas que ça irait si rapidement... Découverte d'une collision ya pas longtemps, et boum. Un algo pour les trouver...
Ah ben voilà, maintenant, je comprends ce qui se passe avec mon programme: la réponse de sds est limpide.
J'ai écrit un programme qui lit des raster, les affiche avec un plotRGB, met un point avec un buffer dessus, sauve l'image, et vire les raster. À la fin, un coup de rm(), un coup de gc(), et on répète ça sur un bon millier de cartes.
Pourtant, toutes les 10 cartes, on a:
Error: cannot allocate vector of size 9.6 Mb
Et après, on a beau tourner le truc dans tous les sens, plus moyen de faire quoi que ce soit. Et quand je regarde l'environnement, il est vide, ou quasi.
Trois fonctions par ci par là, un data.frame de 30 lignes, une vingtaine de tout petits objets, mais ne constituant pas un 1Mo de mémoire bouffée. Quasi-vide quoi. Et non seulement l'environnement est vide, mais la mémoire sous linux n'est qu'à moitié remplie (i.e. pas des masses de programmes tournant en même temps). Et pourtant, je peux pas allouer un vecteur, même de taille modeste: plus de place. C'était surréaliste. Là, l'explication de sds est limpide:
"The R garbage collector is imperfect in the following (not so) subtle way: it does not move objects (i.e., it does not compact memory) because of the way it interacts with C libraries (...). This means that if you take turns allocating small chunks of memory which are then discarded and larger chunks for more permanent objects (this is a common situation when doing string/regexp processing), then your memory becomes fragmented and the garbage collector can do nothing about it: the memory is released, but cannot be re-used because the free chunks are too short.
The only way to fix the problem is to save the objects you want, restart R, and reload the objects. "
Eh ben, moi j'ai pas le cul sorti des ronces comme dirait l'autre...
J'ai écrit un programme qui lit des raster, les affiche avec un plotRGB, met un point avec un buffer dessus, sauve l'image, et vire les raster. À la fin, un coup de rm(), un coup de gc(), et on répète ça sur un bon millier de cartes.
Pourtant, toutes les 10 cartes, on a:
Error: cannot allocate vector of size 9.6 Mb
Et après, on a beau tourner le truc dans tous les sens, plus moyen de faire quoi que ce soit. Et quand je regarde l'environnement, il est vide, ou quasi.
Trois fonctions par ci par là, un data.frame de 30 lignes, une vingtaine de tout petits objets, mais ne constituant pas un 1Mo de mémoire bouffée. Quasi-vide quoi. Et non seulement l'environnement est vide, mais la mémoire sous linux n'est qu'à moitié remplie (i.e. pas des masses de programmes tournant en même temps). Et pourtant, je peux pas allouer un vecteur, même de taille modeste: plus de place. C'était surréaliste. Là, l'explication de sds est limpide:
"The R garbage collector is imperfect in the following (not so) subtle way: it does not move objects (i.e., it does not compact memory) because of the way it interacts with C libraries (...). This means that if you take turns allocating small chunks of memory which are then discarded and larger chunks for more permanent objects (this is a common situation when doing string/regexp processing), then your memory becomes fragmented and the garbage collector can do nothing about it: the memory is released, but cannot be re-used because the free chunks are too short.
The only way to fix the problem is to save the objects you want, restart R, and reload the objects. "
Eh ben, moi j'ai pas le cul sorti des ronces comme dirait l'autre...
YEEEES. J'ai réussi cette étape-ci... En suivant à la lettre ces instructions, ça marche.
Edit: non, ça marche pas en fait. J'arrive bien à avoir ECW parmi les drivers dispo, mais impossible d'importer ce foutu ecw de merde avec. Erreur mémoire, mauvaise allocation.
Bon, je continue à chercher...
Edit 2: j'ai recompilé en remplaçant le so 64 bits par le 32, même souci... Je vais essayer avec une autre version du SDK...
Edit 3: Hexagon geospatial ne laisse pas le choix de la version du sdk. Tu prends celle qu'on te donne et tu la fermes (au passage, tu nous laisses ton nom, ton prénom, ton numéro de téléphone, ton adresse, etc.).
Le monde du propriétaire, j'adore.
Edit 4: Essai de recompiler complètement une version récente de gdal (2.1.3) en suivant les instructions ici: https://trac.osgeo.org/gdal/wiki/ECW
Après suppression de ma version précédente (1.11). La compilation plante à cause de l'ECW après une demi-heure de compilation. Recherche sur internet, je tombe sur ça: http://osgeo-org.1560.x6.nabble.com/gdal-dev-gdal-2-1-ecw-5-2-1-td5299048.html
J'essaie la compilation avec les flags indiqués, rien à faire, la compilation plante encore à cause de cette saloperie de merde de chiotte d'ECW de mes couilles.
Et pour info, même problème avec une version plus ancienne de gdal quand on la recompile (1.11)
Edit 5: j'essaie une approche différente: je vais compiler une version ancienne du SDK, et recompiler gdal avec cette version. Je récupère la version ici:
https://github.com/cga-harvard/cga-worldmap/wiki/How-to-enable-ECW-support-in-GeoServer
Je compile ça, je l'installe, et je recompile gdal avec --with-ecw=/usr/lib
Edit 6: PUTAIN ÇA MARCHE TOUJOURS PAS!!!! J'ai essayé les deux versions de gdal, rien à faire. Ça compile, ça me liste ecw dans les drivers, mais putain ça veut pas me sortir un gdalinfo qui marche! On a toujours ce putain d'erreur d'allocation mémoire.
Dernier essai, j'essaie d'appliquer les patchs aux sources listés ici, et je recommence:
https://github.com/cga-harvard/cga-worldmap/wiki/How-to-enable-ECW-support-in-GeoServer
Edit 7: PUTAIN ÇA MARCHE!!!!! La vache, j'y ai passé la journée, mais j'ai RÉUSSI!!!!
Je synthétise: on récupère une ancienne version du SDK (version 3), on récupère et on applique les patchs des bugs (pour éviter les erreurs d'allocation mémoire), on la compile et on l'installe. Ensuite, on récupère les sources de gdal -- version 1.11, je garantis pas que ça marchera avec une version plus récente -- on compile ces sources (en indiquant l'adresse de la lib ECW lors du ./configure, puis après classique make), et on installe, et ça marche. Attention, il ne faut pas passer par l'étape "sudo gdal-ecw-build /usr/local" décrite ici: https://github.com/cga-harvard/cga-worldmap/wiki/How-to-enable-ECW-support-in-GeoServer (à part ça, ce lien est le plus proche de ce qui peut marcher).
Et on termine en recompilant le package raster et rgdal sous R pour pouvoir utiliser ça.
YEEEEEEEEEEEEEEEEEEEEEEESSSSSSS!!!!
Putain je commençais à plus y croire.
Edit 8: Euh, par contre, quand on recompile rgdal, on ne peut plus utiliser les versions de qgis et grass présentes dans les dépots: il faut complètement recompiler ces logiciels depuis les sources. C'est pas compliqué, mais c'est chiant. Donc si je synthétise, pour pouvoir importer l'ECW avec gdal, il faut récupérer la lib ECW version 3 (ancienne version sinon ça marche pas), compiler cette lib et l'installer, récupérer les sources de gdal en les compiler en indiquant la localisation de cette lib, et récupérer les sources et compiler tous les SIG qui s'appuient sur gdal.
Donc tous les SIG (qgis et grass), puisque gdal est central. Et, bien sûr, les packages R associés. Moralité, pour pouvoir utiliser ce format de merde, il faut réinstaller TOUT le système.
Je l'ai fait, mais ce que je pense du monde du logiciel propriétaire est assez clair je pense...
Edit: non, ça marche pas en fait. J'arrive bien à avoir ECW parmi les drivers dispo, mais impossible d'importer ce foutu ecw de merde avec. Erreur mémoire, mauvaise allocation.
Bon, je continue à chercher...
Edit 2: j'ai recompilé en remplaçant le so 64 bits par le 32, même souci... Je vais essayer avec une autre version du SDK...
Edit 3: Hexagon geospatial ne laisse pas le choix de la version du sdk. Tu prends celle qu'on te donne et tu la fermes (au passage, tu nous laisses ton nom, ton prénom, ton numéro de téléphone, ton adresse, etc.).
Le monde du propriétaire, j'adore.
Edit 4: Essai de recompiler complètement une version récente de gdal (2.1.3) en suivant les instructions ici: https://trac.osgeo.org/gdal/wiki/ECW
Après suppression de ma version précédente (1.11). La compilation plante à cause de l'ECW après une demi-heure de compilation. Recherche sur internet, je tombe sur ça: http://osgeo-org.1560.x6.nabble.com/gdal-dev-gdal-2-1-ecw-5-2-1-td5299048.html
J'essaie la compilation avec les flags indiqués, rien à faire, la compilation plante encore à cause de cette saloperie de merde de chiotte d'ECW de mes couilles.
Et pour info, même problème avec une version plus ancienne de gdal quand on la recompile (1.11)
Edit 5: j'essaie une approche différente: je vais compiler une version ancienne du SDK, et recompiler gdal avec cette version. Je récupère la version ici:
https://github.com/cga-harvard/cga-worldmap/wiki/How-to-enable-ECW-support-in-GeoServer
Je compile ça, je l'installe, et je recompile gdal avec --with-ecw=/usr/lib
Edit 6: PUTAIN ÇA MARCHE TOUJOURS PAS!!!! J'ai essayé les deux versions de gdal, rien à faire. Ça compile, ça me liste ecw dans les drivers, mais putain ça veut pas me sortir un gdalinfo qui marche! On a toujours ce putain d'erreur d'allocation mémoire.
Dernier essai, j'essaie d'appliquer les patchs aux sources listés ici, et je recommence:
https://github.com/cga-harvard/cga-worldmap/wiki/How-to-enable-ECW-support-in-GeoServer
Edit 7: PUTAIN ÇA MARCHE!!!!! La vache, j'y ai passé la journée, mais j'ai RÉUSSI!!!!
Je synthétise: on récupère une ancienne version du SDK (version 3), on récupère et on applique les patchs des bugs (pour éviter les erreurs d'allocation mémoire), on la compile et on l'installe. Ensuite, on récupère les sources de gdal -- version 1.11, je garantis pas que ça marchera avec une version plus récente -- on compile ces sources (en indiquant l'adresse de la lib ECW lors du ./configure, puis après classique make), et on installe, et ça marche. Attention, il ne faut pas passer par l'étape "sudo gdal-ecw-build /usr/local" décrite ici: https://github.com/cga-harvard/cga-worldmap/wiki/How-to-enable-ECW-support-in-GeoServer (à part ça, ce lien est le plus proche de ce qui peut marcher).
Et on termine en recompilant le package raster et rgdal sous R pour pouvoir utiliser ça.
YEEEEEEEEEEEEEEEEEEEEEEESSSSSSS!!!!
Putain je commençais à plus y croire.
Edit 8: Euh, par contre, quand on recompile rgdal, on ne peut plus utiliser les versions de qgis et grass présentes dans les dépots: il faut complètement recompiler ces logiciels depuis les sources. C'est pas compliqué, mais c'est chiant. Donc si je synthétise, pour pouvoir importer l'ECW avec gdal, il faut récupérer la lib ECW version 3 (ancienne version sinon ça marche pas), compiler cette lib et l'installer, récupérer les sources de gdal en les compiler en indiquant la localisation de cette lib, et récupérer les sources et compiler tous les SIG qui s'appuient sur gdal.
Donc tous les SIG (qgis et grass), puisque gdal est central. Et, bien sûr, les packages R associés. Moralité, pour pouvoir utiliser ce format de merde, il faut réinstaller TOUT le système.
Je l'ai fait, mais ce que je pense du monde du logiciel propriétaire est assez clair je pense...
En conclusion: l'ECW est un format de merde. Peut-être que ça permet une compression impressionnante, mais des données publiques dans des formats fermés, c'est vraiment la merde.
Je HAIS l'ECW. Je vais quand même pas devoir réinstaller tout mon système juste pour pouvoir lire ces putains d'ECW de merde?
Je hais ce format.
Je HAIS l'ECW. Je vais quand même pas devoir réinstaller tout mon système juste pour pouvoir lire ces putains d'ECW de merde?
Je hais ce format.
Construction du support ECW pour GDAL. Je garde sous le coude
Edit: marche pas.
Edit: marche pas.
De l'usage des index spatiaux pour accélérer les opérations spatiales avec spatialite. Spatialite, je découvre je découvre...
Et j'adopte!
Et j'adopte!
Tout est là. À garder sous le coude donc.
A lire
Intéressant.
Marrant.
Quelques ressources sympa autour du LaTeX
Un algorithme qui va essayer d'identifier la bonne réponse à une question factuelle posée à une foule: la bonne réponse n'est pas nécessairement la réponse majoritaire.
À creuser.
À creuser.
Je suis assez d'accord avec l'analyse. Après, au niveau professionnel, il y a certains utilisateurs intéressants à suivre. Des qui sont super doués pour dénicher ZE papier passé inaperçu et super utile pour la résolution de telle ou telle problématique. Je passe pas ma vie sur twitter, je m'en sers comme d'un lecteur de flux. Je regarde, dans des listes, ce qu'ont twitté ces personnes. Et je m'en tiens éloigné dès qu'un évènement majeur se produit (récemment, élection de Trump, brexit, résultat de la primaire de la droite en France). Le bruit sur twitter à ce moment là noie toute l'info, et ya plus rien à en tirer.
...ou alors on compile le fichier .tex avec lualatex et tous les problèmes d'encodage sont gérés par le package fontspec.
J'avais oublié que j'étais passé à lualatex, et j'arrivais pas à retrouver les accents...
J'avais oublié que j'étais passé à lualatex, et j'arrivais pas à retrouver les accents...
Une explication claire aux différences entre fontenc et inputenc. Le premier définit les fontes utilisées en sortie, le second définit l'encodage utilisé en entrée, au moment de l'utilisateur du texte.
Du coup, à mettre dans l'en-tête d'un document latex:
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
Du coup, à mettre dans l'en-tête d'un document latex:
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
Mettre à jour shaarli
Un site qui permet d'évaluer l'impact d'un programmeur dans le domaine scientifique en fonction de trois critères:
* Nombre de citations dans des papiers open access (l'algo n'a pas accès aux papiers derrière un paywall)
* Réutilisation du code par d'autres (basé sur l'algo pagerank de google)
* Nombre de téléchargements
Le site est décrit dans un article de nature: http://www.nature.com/news/the-unsung-heroes-of-scientific-software-1.19100
Apparemment, l'auteur va chercher à ajouter une nouvelle métrique basée sur le nombre de discussions sur internet qui citent un package. Le site indique également que l'on pourra bientôt faire le lien avec l'orcid.
À suivre, donc!
* Nombre de citations dans des papiers open access (l'algo n'a pas accès aux papiers derrière un paywall)
* Réutilisation du code par d'autres (basé sur l'algo pagerank de google)
* Nombre de téléchargements
Le site est décrit dans un article de nature: http://www.nature.com/news/the-unsung-heroes-of-scientific-software-1.19100
Apparemment, l'auteur va chercher à ajouter une nouvelle métrique basée sur le nombre de discussions sur internet qui citent un package. Le site indique également que l'on pourra bientôt faire le lien avec l'orcid.
À suivre, donc!
Intéressant: une communauté de gens qui partagent plein de trucs autour des couleurs, notamment des palettes.
Encore plus intéressant, le package colourlovers sous R permet d'importer facilement ces palettes sous R.
Encore plus intéressant, le package colourlovers sous R permet d'importer facilement ces palettes sous R.
...avec une explication bien claire sur le fonctionnement de nice
Récupéré du Shaarli de sebsauvage. Je reproduis:
"Pour lancer une tâche en fond sans qu'elle me ralentisse, avec la priorité CPU et accès disque minimale, j'ai cet alias dans mon ~/.bashrc:
alias ni='nice -n 19 ionice -c3'
Pour lancer une commande, j'ajoute juste le 'ni' devant et ça roule...
Pratique pour compresser de gros dossiers en tâche de fond, par exemple."
"Pour lancer une tâche en fond sans qu'elle me ralentisse, avec la priorité CPU et accès disque minimale, j'ai cet alias dans mon ~/.bashrc:
alias ni='nice -n 19 ionice -c3'
Pour lancer une commande, j'ajoute juste le 'ni' devant et ça roule...
Pratique pour compresser de gros dossiers en tâche de fond, par exemple."
J'avions point vu. À tester.
(via Mathieu)
(via Mathieu)