One link per day for the next 31

MOOSE: a framework for physics simulations


30/12/2017     permalink     linked site


Woha. Je suis pas sûr, mais je pense qu'il s'agit d'une grosse base de code C++/dinopython pour développer des interfaces graphiques autour de simulations informatiques.

N'étant pas physicien, j'ai du mal à imaginer ce que je pourrais en faire, mais l'intérêt du truc est énorme. Visiblement, ils ont des idées ; bien que j'ai du mal à trouver des vidéos de démo, il y a de quoi lire dans la littérature. Par exemple ici avec un moyen de coupler MOOSE avec d'autres framework pour faire des simulations multi-échelles.


Box: Python dictionaries with advanced dot notation access


29/12/2017     permalink     linked site


AH ! Depuis le temps que je cherche un module pour faire ça !

Et il ya même une version frozen, qui manque au dictionnaires :)


Dolibarr: FOSS-based management of resources and customer management for professionnals


28/12/2017     permalink     linked site


C'est un domaine qui m'est totalement inconnu, c'est toujours intéressant de savoir que ça existe.

Que sont des CRM et des ERP, deux choses que Dolibarr implémente ? Le premier est le nom donné à un système qui s'occupe de la base clientèle (gestion du support, des contacts, contrats, …), et le second celui donné au système qui s'occupe de gérer l'entreprise en interne (relations entre employés, planning, gestion, …).

Voilà une description plus avancée.

J'imagine que le jour où je serais à mon compte, je m'intéresserais à Dolibarr.


Spanish Flea, by Herb Alpert


27/12/2017     permalink     linked site



Of the use of setup.cfg instead of setup.py


26/12/2017     permalink     linked site


I upload python packages on pypi on a regular basis since a few years. Since today, i never found anything helpful in the official packaging documentations.

Because there is plenty of it, and as soon as you start a real project, you somehow end up in a corner case that the doc covers, if ever, superficially.

And, today, i found consecutively (and unexpectedly) two things.

  1. This funny presentation (slides) from pycon.fr 2017, where many interesting tools are presented, after a very efficient explanation of setup.{cfg,py}
  2. The linked doc page, that is litterally the first packaging-related official documentation i found helpful.

So, i started the migration of graffunc and its direct application rofetta, with the constraint to use zest.releaser, the final tool presented in the presentation, that do about everything.

One big change to me was the usage of setup.cfg instead of setup.py. (Not so) Surprisingly, it's much more efficient and easy ; and the py is now two lines long (see below for an example). Just one caveat: you have to cheat a little if you want to install the requirements without passing by the complete setuptools machinery. Just put that line in your Makefiles or in your bash aliases, and you can forget about it.

I however one weird problem quickly, since i followed the presentation blindly, and therefore forgot to add few lines they didn't talk about. The problem was, after installation in another repository of graffunc, that any import of graffunc itself would fail with an ImportError: No module named 'graffunc'.

So, here is my working setup.py:

from setuptools import setup

setup()

Which is quite simple and easy to maintain (i will probably reuse the very same for most of my projects, now). And here is my working setup.cfg for the graffunc package:

[metadata]
name = graffunc
version = 0.2.2
description = high level graph of function
long_description = file: README.mkd
url = https://github.com/aluriak/graffunc
license = GPL
keywords = graph, function, data structure
classifiers =
        Development Status :: 2 - Pre-Alpha
        Intended Audience :: Science/Research
        License :: OSI Approved :: GNU General Public License (GPL)
        Natural Language :: English
        Programming Language :: Python :: 3
        Programming Language :: Python :: 3.4
        Topic :: Software Development :: Libraries :: Python Modules

[options]
zip_safe = False
include_package_data = True
packages = find:
install_requires =
    pytest>=3.1.2
    networkx==1.11

You will note the [option] part, populated with one absolute line: packages = find:, which allow python to look for your package and include it correctly. Without that, you will encounter the ImportError.

I would expect zest.releaser to detect and warn me about a so absurd error. But it didn't, and i'm so happy that i found the right doc page so quickly, i had to share :)


Writes large correct program


25/12/2017     permalink     linked site


Je pense que les phrases les plus importantes sont les suivantes :

Many people who wrote 100-line programs in college imagine that they could write 1,000-line programs if they worked at it 10 times longer. Or even worse, they imagine they could write 10,000-line programs if they worked 100 times longer. It doesn’t work that way.

Dans les pingbacks, on trouvera Writing software is harder than writing books


Arc, or the new implementation of the hundred years old language


24/12/2017     permalink     linked site


First released in 2008, arc (or anarki, for the community-driven fork) is a lisp-derivative directly coming from Paul Graham.

To me, it seems that lisp-derivatives future are best represented by Arc and Racket (i do not understand exactly the relation between the two, but both communities are well-aware of the other, and seems to share a common source core ; is racket based on arc/anarki ? One supplementary reason to learn it ! Racket makes eyes at me since i discovered it).

The first seems to me that it's mainly implemented, fed and builded by and for a niche of lisp-enthousiasts with very philosophic ideas of what should and what should not be in a good language.

The second is much more general-scientific programmer oriented, with a more practical approach, and with dozens of features that range from funny to killing (make your own language… i have to code an ASP mapping !). I am hyped by Racket, therefore not very objective.

You can give a shot to Arc here.


C'est quoi un forum ?


23/12/2017     permalink     linked site


Ce texte, écrit par l'un des co-créateur de la série audio Clyde Vanilla (l'autre auteur étant Antoine Daniel), a pour but d'expliquer à ceux qui n'ont connu que l'internet des GAFA, l'intérêt d'un forum (et donc, pourquoi il y en a un pour Clyde Vanilla).

Perso, les forums ont constitué une part importante de ma jeunesse aussi. C'est fou de voir que c'est devenu l'équivalent d'IRC pour les messageries temps réel: un truc de ~vieux~ d'initiés.


Worldview by EOSDIS (NASA)


22/12/2017     permalink     linked site


Le projet de monitoring de la planète permet d'avoir des vues régulières de notre maison, Certaines parcelles étant parcourues deux fois par jour.

Rapellons que la NASA n'est pas la seule à surveiller de notre planète : l'ESA aussi propose des données ouvertes sur le sujet, acquises notamment par le projet Copernicus.

Voir ici l'ensemble des projets de surveillance de l'ESA, et ici l'ensemble des missions tout court.


Moon machines: a documentary series about the engineering behind Apollo program


21/12/2017     permalink     linked site


Il s'agit d'une demi-douzaine d'épisodes de 45 minutes, chacun tourné vers un pan du programme : la fusée, le rover,…

Celui sur le module de commande est incontestablement mon préféré : on y parle de Margaret Hamilton, des innovations qui ont été nécessaires pour que le système informatique soit à la hauteur de la tâche (innovations qui aujourd'hui nous semblent évidentes, comme la prioritisation des processus), et de la complexité logicielle générale qui a été un défi à elle toute seule.

(le code dudit module de commande est d'ailleurs dans le domaine publique)

C'est franchement une très bonne série, avec des interviews d'ingénieurs et scientifiques, qui ont plein d'anecdotes sur le sujet et des histoires passionnantes à raconter.

Et ça montre bien la complexité impressionnante de ce projet, et à quel point tous les domaines d'ingénieurerie et de science ont été réquisitionnés pour assurer la réussite.