Super chouette article, merci de partager cela. La partie technique me fait penser aux techniques de compilation : tokenisation, reconnaissance de motifs, optimisations (suppression ou remplacement de motifs par d'autres). Quelques remarques qui peuvent t'intéresser ou pas :
- Tu opposes le traitement par tokenisation et l'analyse de zones de textes. En réalité tu n'as pas besoin de choisir, tu peux avoir les deux, vu que d'une série de tokens tu sais revenir à un morceau de texte brut (si ta tokenisation ne perd pas d'information importante), et d'un morceau de texte brut retourner à une séquence de tokens
- En compilation, les tokens ne sont en général pas conservés sous forme de séquence mais sous forme d'arbre (Arbre de syntaxe concrète et/ou abstraite) en fonction de règles de … grammaire.
Les différentes passes de vérification (pare exemple le typage) se font sur ces arbres.
- Quand tu as des ambiguïtés que tu ne peux résoudre, rien ne t'empêche d'avoir des branches OU dans ton arbre, du type
(Sujet (Article * Nom * Adjectif) | (Sujet (Article * Adjectif * Nom))) * Verbe * Complément
- Certains langages sont mieux équipés que d'autres pour ce genre de traitements. Un langage proposant de la reconnaissance de motifs en natif est d'une valeur inestimable. Je connais et utilise ocaml qui a fait ses preuves dans ce domaine, mais je suis sur qu'il en existe plein d'autres. Il est possible/facile de générer du js de manière efficace depuis du code ocaml avec js_of_ocaml.
Une surcharge possible des opérateurs pour pouvoir utiliser +, -, *... sur des BigInt par exemple ;
Bof, tu peux redéfinir les tiens. Et puis ça casse l'inférence de type. Je ne trouve pas cher payé d'utiliser +. ou +! pour éviter d'avoir à écrire les types tout en gardant un typage fort.
des fonctionnalités comme un simple mot clé "return", qui oblige de magouiller avec des variable du genre isFinished ;
Pour moi c'est une mauvaise idée, tu complexifies l'analyse de type et la construction du flot pour le compilo et la relecture pour les humains (il faut lire toute la fonction des fois qu'il y aurait un return au milieu).
une meilleur intégration avec de l'existant (par exemple, compatibilité avec des libs C ou interfaçage plus facile, ou compatibilité Java...) ;
Il y a pas mal de bindings C existants et ça semble relativement facile. Il y a également du travail fait pour faciliter l'intégration avec d'autres languages comme java ou javascript, mais j'aurai tendance à abonder dans ton sens (voir mon post original).
> - une syntaxe plus claire.
*Ça c'est que tu es déformé par des années de syntaxe à la sauce C. Ocaml a une syntaxe minimale, la rendre plus verbeuse serait à mon sens affaiblir le language en temps que tel. Après, il est certain que ça rendrait l'apprentissage plus facile pour tous les programmeurs qui connaissent déjà java, C, C++, etc.
Pour moi ocaml serait vraiment parfait si son écosystème était peu plus large. La lib standard est assez réduite, et il y a assez peu de librairies tierces disponibles en comparaison avec java, python, php, etc. Mais en termes de langage pur, j'ai du mal à imaginer mieux ...
Installé avec pip (que je ne connais pas, donc je ne sais pas trop ce qu'il a fait)
Il a fallu un sudo pour que ça passe (ça semble normal pour une installation)
J'ai dû aussi installer python-distutils-extra.
Et à l'exec, il semble qu'il ne sache pas où se trouvent les modules python à ouvrir.
Comme moi non plus je ne sais pas où il les a mis ...
$/usr/bin$ python tyrs
Traceback (most recent call last):
File "tyrs", line 11, in <module>
from src.tyrs import main
ImportError: No module named src.tyrs
Les algos ne sont pas vraiment le problème (ce ne sont que des équations, ça se code très facilement) , mais plutôt la façon d'appliquer ces algos de façon simple en OpenGL. Je regarde ton site de près cependant, merci !
Oui, c'est ce qu'il me semble. Mais j'ai des exemples de déformations polynomiales, faut que je fouille dedans, mais pas sûr que ça marche en OpenGL. Sinon reste les shaders qui sont, je pense, la façon propre et efficace de faire ça, mais ça ne marchera pas avec tous les drivers. Bref, faut que je creuse le sujet...
L'échelle est variable, c'est pour un cockpit d'avion/hélico, donc potentiellement grande sur l'affichage d'une route complète. La possibilité de préciser et de changer de type de projection fait explicitement partie du besoin. Je crois que je ne vais pas pouvoir y couper...
sudo qemu-nbd --connect=/dev/nbd0 winXP.img
sudo mount /dev/nbd0p1 ~/xp
et je peux lire la partition. J'ai récupéré une DLL correcte sur le net. Et voilà, ça marche !
Merci, j'ai passé une journée sur ce problème, tu l'as résolu en ... 16 minutes.
Je vais donc me ranger à l'avis unanime, et essayer de configurer l'hébergement Gandi qui héberge mon autre site en virtual host... Merci pour les conseils !
Mon raisonnement n'est pas purement économique, j'ai envie de faire joujou, et d'avois les données chez moi. Mais je n'avais pas pensé aux contraintes de BP montante. Sur un abonnement free, ça pose problème ?
\o/ ÇA MARCHE !
Quelle quiche, j'avais pas remarqué les adresses réseau cibles et destinations étaient sur le même sous réseau. Mais les moules ont un oeil de lynx (étrange animal, non ?)
Merci à tous ceux qui se sont penchés sur le problème. À moi les joies du télétravail devant la cheminée tandis que le reste des Yvelines joue à Holliday On Ice sur les routes enneigées ! Si vous êtes dans la région, et que ça vous dit, ça vaut largement une paire de bières ...
Ah, il semble que mon problème aie quelque chose à voir avec ça.
Mes routes avant la connection :
monnier@kilo:~$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 2 0 0 eth1
192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0
link-local * 255.255.0.0 U 1000 0 0 eth1
default 192.168.0.254 0.0.0.0 UG 0 0 0 eth1
Je me connecte :
monnier@kilo:~$ sudo vpnc-connect esterel
Connect Banner:
| Warning ! You are now connected to Esterel Technologies Private Network.
|
VPNC started in background (pid: 5285)...
Elle semble identique, sauf que les noms de machines ont été résolus en IP. Je ne comprends pas pourquoi elle met systématiquement longtemps à s'afficher une fois que j'ai perdu le lien avec mon VPN.
Mmmh, ça veut dire que avoir un bail DHCP permanent de suffit pas ? (Pour référence, un exemple de config freebox :
[http://www.freenews.fr/local/cache-vignettes/L400xH613/4-ea3(...)] )
Et que dans les paramètres de ma machine, je dois virer DHCP pour le passer en mode manuel ?
Merci du conseil, j'essaye tout ça ce soir.
Pour les classes de types, je ne connais pas assez bien les aspects objet pour te répondre, je ne m'en sers que quand cela m'est vraiment utile. Ça m'est arrivé une fois, pour des raisons de compatibilité avec une API objet.
Merci de ta réponse.
Le MTU était déjà à 1460, je l'ai baissé à 1300, sans effet notable.
J'ai suivi la procédure suivante, on y voit 9 pings qui passent puis les suivants perdus :
$sudo vpnc-connect esterel
Connect Banner:
| Warning ! You are now connected to XXX Private Network.
|
VPNC started in background (pid: 21958)...
$ sudo ifconfig tun0 mtu 1300
$ ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.20.30 P-t-P:192.168.20.30 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1300 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:858 (858.0 B) TX bytes:542 (542.0 B)
$ ping fauve
PING fauve.XXXX (192.168.10.5) 56(84) bytes of data.
64 bytes from fauve.XXXX (192.168.10.5): icmp_seq=1 ttl=127 time=45.5 ms
[...]
64 bytes from fauve.XXXX (192.168.10.5): icmp_seq=9 ttl=127 time=45.6 ms
^C
--- fauve.XXXX ping statistics ---
15 packets transmitted, 9 received, 40% packet loss, time 14046ms
rtt min/avg/max/mdev = 45.172/45.779/47.007/0.578 ms
J'ai lu ça quelque part en effet. Je viens de tester. Pas d'effet.
Ma conf freebox :
IP freebox 192.168.0.254
DHCP X
Début DHCP 192.168.0.10
Fin DHCP 192.168.0.50
Ip DMZ 192.168.0.0
Ip du Freeplayer 192.168.0.0
Réponse au ping X
Proxy WOL (Wake On Lan) 0
UPNP activé X
Redirections de ports:
Port Protocole Destination Port
1723 TCP 192.168.0.1 1723
500 UDP 192.168.0.1 500
J'ai bon ? sachant que j'ai mis mon laptop en IP fixe 192.169.0.1
Je suis une quiche en réseaux, donc j'essaye un peu tous les trucs qui me semblent avoir un rapport avec mon problème. C'est une méthode algorithmique très en pointe appellée le petit bonheur la chance qui donne des résulats presque aussi bons que la méthode la rache (TM).
Enfi bref, je viens d'essayer un sudo ifconfig eth2 down, ça ne change rien.
À tout hasard, voici le résultat d'un ifconfig:
L'interface filaire eth2 est bien désactivée puisqu'elle n'apparaît pas.
D'un autre côté je ne vois pas pourquoi il n'y aurait conflit entre le filaire et le wifi que chez moi et pas chez mon collègue, sachant que c'est la même machine, les deux fois par wifi.
Et surtout pourquoi ça marche pendant 30 secondes avant de tout bloquer. J'en suis venu à faire des scripts pour découper mes commandes svn par bouts de 35 secondes:
Ce qui est particulièrement sale et pas anodin pour svn, en témoigne le nettoyage systématique que je dois faire à chaque tour. Sans parler des services autres que svn dont j'ai besoin.
Bref, je sèche.
# On dirait de la compilation ... mais en plus difficile
Posté par Obi MO (site web personnel) . En réponse à la dépêche Grammalecte, correcteur grammatical. Évalué à 9.
Super chouette article, merci de partager cela. La partie technique me fait penser aux techniques de compilation : tokenisation, reconnaissance de motifs, optimisations (suppression ou remplacement de motifs par d'autres). Quelques remarques qui peuvent t'intéresser ou pas :
- Tu opposes le traitement par tokenisation et l'analyse de zones de textes. En réalité tu n'as pas besoin de choisir, tu peux avoir les deux, vu que d'une série de tokens tu sais revenir à un morceau de texte brut (si ta tokenisation ne perd pas d'information importante), et d'un morceau de texte brut retourner à une séquence de tokens
- En compilation, les tokens ne sont en général pas conservés sous forme de séquence mais sous forme d'arbre (Arbre de syntaxe concrète et/ou abstraite) en fonction de règles de … grammaire.
Les différentes passes de vérification (pare exemple le typage) se font sur ces arbres.
- Quand tu as des ambiguïtés que tu ne peux résoudre, rien ne t'empêche d'avoir des branches OU dans ton arbre, du type
(Sujet (Article * Nom * Adjectif) | (Sujet (Article * Adjectif * Nom))) * Verbe * Complément
- Certains langages sont mieux équipés que d'autres pour ce genre de traitements. Un langage proposant de la reconnaissance de motifs en natif est d'une valeur inestimable. Je connais et utilise ocaml qui a fait ses preuves dans ce domaine, mais je suis sur qu'il en existe plein d'autres. Il est possible/facile de générer du js de manière efficace depuis du code ocaml avec js_of_ocaml.
# Au printemps, les distributions se ramassent à la pelle ...
Posté par Obi MO (site web personnel) . En réponse à la dépêche frenchKISS est arrivé avec le printemps. Évalué à 2.
En espérant que celle-ci ne se prenne pas un gadin !
[^] # Re: ocaml...
Posté par Obi MO (site web personnel) . En réponse au journal Votre langage idéal ?. Évalué à 1.
# ocaml...
Posté par Obi MO (site web personnel) . En réponse au journal Votre langage idéal ?. Évalué à 7.
Pour moi ocaml serait vraiment parfait si son écosystème était peu plus large. La lib standard est assez réduite, et il y a assez peu de librairies tierces disponibles en comparaison avec java, python, php, etc. Mais en termes de langage pur, j'ai du mal à imaginer mieux ...
[^] # Re: install sur ubuntu 11.04
Posté par Obi MO (site web personnel) . En réponse à la dépêche Tyrs, un client de micro‐blogging en console. Évalué à 1.
Ah, ça ça marche.
Et zut, je ne peux pas le tester, je suis derrière le GFW Chinois, et l'accès à twitter est pour le moins aléatoire ... Grumf...
# install sur ubuntu 11.04
Posté par Obi MO (site web personnel) . En réponse à la dépêche Tyrs, un client de micro‐blogging en console. Évalué à 2.
Installé avec pip (que je ne connais pas, donc je ne sais pas trop ce qu'il a fait)
Il a fallu un sudo pour que ça passe (ça semble normal pour une installation)
J'ai dû aussi installer python-distutils-extra.
Et à l'exec, il semble qu'il ne sache pas où se trouvent les modules python à ouvrir.
Comme moi non plus je ne sais pas où il les a mis ...
Une idée ?
# PROJ.4
Posté par Obi MO (site web personnel) . En réponse au message OpenGL et projections cartographiques. Évalué à 1.
Bon, finalement j'ai utilisé une lib toute faite sous licence MIT, PROJ.4. Pas moyen de faire ça en modifiant la MMV.
[^] # Re: Je n'ai pas de réponse…
Posté par Obi MO (site web personnel) . En réponse au message OpenGL et projections cartographiques. Évalué à 1.
Les algos ne sont pas vraiment le problème (ce ne sont que des équations, ça se code très facilement) , mais plutôt la façon d'appliquer ces algos de façon simple en OpenGL. Je regarde ton site de près cependant, merci !
[^] # Re: Non linéaire
Posté par Obi MO (site web personnel) . En réponse au message OpenGL et projections cartographiques. Évalué à 1.
Oui, c'est ce qu'il me semble. Mais j'ai des exemples de déformations polynomiales, faut que je fouille dedans, mais pas sûr que ça marche en OpenGL. Sinon reste les shaders qui sont, je pense, la façon propre et efficace de faire ça, mais ça ne marchera pas avec tous les drivers. Bref, faut que je creuse le sujet...
[^] # Re: A quelle échelle ?
Posté par Obi MO (site web personnel) . En réponse au message OpenGL et projections cartographiques. Évalué à 1.
L'échelle est variable, c'est pour un cockpit d'avion/hélico, donc potentiellement grande sur l'affichage d'une route complète. La possibilité de préciser et de changer de type de projection fait explicitement partie du besoin. Je crois que je ne vais pas pouvoir y couper...
[^] # Re: qcow2 = disque dur
Posté par Obi MO (site web personnel) . En réponse au message KVM : boot WinXP, monter une image qcow. Évalué à 1.
Gé-nial.
et je peux lire la partition. J'ai récupéré une DLL correcte sur le net. Et voilà, ça marche ! Merci, j'ai passé une journée sur ce problème, tu l'as résolu en ... 16 minutes.
# OK OK
Posté par Obi MO (site web personnel) . En réponse au message serveur e-commerce. Évalué à 1.
[^] # Re: autohébrgement vs petit serveur dédié
Posté par Obi MO (site web personnel) . En réponse au message serveur e-commerce. Évalué à 2.
[^] # Re: Krisprolls
Posté par Obi MO (site web personnel) . En réponse au message Un fauteuil .... je veux un fauteuil .... Évalué à 2.
[^] # Re: Route par défaut
Posté par Obi MO (site web personnel) . En réponse au message Connection VPN Cisco (vpnc) ubuntu 10.4 freebox. Évalué à 1.
Quelle quiche, j'avais pas remarqué les adresses réseau cibles et destinations étaient sur le même sous réseau. Mais les moules ont un oeil de lynx (étrange animal, non ?)
Merci à tous ceux qui se sont penchés sur le problème. À moi les joies du télétravail devant la cheminée tandis que le reste des Yvelines joue à Holliday On Ice sur les routes enneigées ! Si vous êtes dans la région, et que ça vous dit, ça vaut largement une paire de bières ...
[^] # Re: Route par défaut
Posté par Obi MO (site web personnel) . En réponse au message Connection VPN Cisco (vpnc) ubuntu 10.4 freebox. Évalué à 1.
[^] # Re: une idée, peut-etre...
Posté par Obi MO (site web personnel) . En réponse au message Connection VPN Cisco (vpnc) ubuntu 10.4 freebox. Évalué à 1.
[http://www.freenews.fr/local/cache-vignettes/L400xH613/4-ea3(...)] )
Et que dans les paramètres de ma machine, je dois virer DHCP pour le passer en mode manuel ?
Merci du conseil, j'essaye tout ça ce soir.
[^] # Re: une idée, peut-etre...
Posté par Obi MO (site web personnel) . En réponse au message Connection VPN Cisco (vpnc) ubuntu 10.4 freebox. Évalué à 2.
[^] # Re: typage mou
Posté par Obi MO (site web personnel) . En réponse à la dépêche Quelques nouvelles de Go, le langage de programmation. Évalué à 3.
Ceci y ressemble pourtant:
http://caml.inria.fr/pub/docs/manual-ocaml/libref/Lazy.html
Certes, c'est dans la lib standard et pas dans le langage.
Pour les classes de types, je ne connais pas assez bien les aspects objet pour te répondre, je ne m'en sers que quand cela m'est vraiment utile. Ça m'est arrivé une fois, pour des raisons de compatibilité avec une API objet.
[^] # Re: MTU
Posté par Obi MO (site web personnel) . En réponse au message Connection VPN Cisco (vpnc) ubuntu 10.4 freebox. Évalué à 1.
Le MTU était déjà à 1460, je l'ai baissé à 1300, sans effet notable.
J'ai suivi la procédure suivante, on y voit 9 pings qui passent puis les suivants perdus :
$sudo vpnc-connect esterel
Connect Banner:
| Warning ! You are now connected to XXX Private Network.
|
VPNC started in background (pid: 21958)...
$ sudo ifconfig tun0 mtu 1300
$ ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.20.30 P-t-P:192.168.20.30 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1300 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:858 (858.0 B) TX bytes:542 (542.0 B)
$ ping fauve
PING fauve.XXXX (192.168.10.5) 56(84) bytes of data.
64 bytes from fauve.XXXX (192.168.10.5): icmp_seq=1 ttl=127 time=45.5 ms
[...]
64 bytes from fauve.XXXX (192.168.10.5): icmp_seq=9 ttl=127 time=45.6 ms
^C
--- fauve.XXXX ping statistics ---
15 packets transmitted, 9 received, 40% packet loss, time 14046ms
rtt min/avg/max/mdev = 45.172/45.779/47.007/0.578 ms
[^] # Re: DPD?
Posté par Obi MO (site web personnel) . En réponse au message Connection VPN Cisco (vpnc) ubuntu 10.4 freebox. Évalué à 1.
DPD idle timeout (our side) 0
[^] # Re: Manque probablement des ports ...
Posté par Obi MO (site web personnel) . En réponse au message Connection VPN Cisco (vpnc) ubuntu 10.4 freebox. Évalué à 1.
[^] # Re: pas compris
Posté par Obi MO (site web personnel) . En réponse au message Connection VPN Cisco (vpnc) ubuntu 10.4 freebox. Évalué à 2.
sudo ifconfig eth2 down
, ça ne change rien. À tout hasard, voici le résultat d'un ifconfig: L'interface filaire eth2 est bien désactivée puisqu'elle n'apparaît pas. D'un autre côté je ne vois pas pourquoi il n'y aurait conflit entre le filaire et le wifi que chez moi et pas chez mon collègue, sachant que c'est la même machine, les deux fois par wifi. Et surtout pourquoi ça marche pendant 30 secondes avant de tout bloquer. J'en suis venu à faire des scripts pour découper mes commandes svn par bouts de 35 secondes: Ce qui est particulièrement sale et pas anodin pour svn, en témoigne le nettoyage systématique que je dois faire à chaque tour. Sans parler des services autres que svn dont j'ai besoin. Bref, je sèche.[^] # Re: pour l'anecdote
Posté par Obi MO (site web personnel) . En réponse au journal Pris en flagrant délit de négligence caractérisé !. Évalué à 7.
[^] # Re: wikilien
Posté par Obi MO (site web personnel) . En réponse au journal Une nouvelle C.S.S. avec le printemps : « Springtime ». Évalué à 2.