Page 3 sur 23

MessagePosté: 07 Fév 2006, 00:55
par Pete
J'en compte 4, des firewalls. Gringo, tu as la palme d'or de la paranoïa. J'en connais un qui doit bien rigoler ;)

MessagePosté: 07 Fév 2006, 01:04
par Gringo
Pete a écrit:J'en compte 4, des firewalls. Gringo, tu as la palme d'or de la paranoïa. J'en connais un qui doit bien rigoler ;)


Pas de la paranoia, je peux pas ne pas mettre si SP2 ou NIS (que j'ai eu d'office avec le pc avec abonnement gratuit) sinon si je ne met que NIS, c'est windoxs qui ne soule sinon c'est porte oouverte. J'ai uen quinzaine de regles de port sur Norton. Quant a ZoneAlarm je n'en sert plus car entrer en comflit avec Internet Eplorer. Du coup j'ai viré les 2 comme ca pas de jaloux :D

MessagePosté: 07 Fév 2006, 01:05
par MacIntoc
Si on compte la freebox, mais bon, c'est un firewall matèriel.

Manquerait plus qu'il ait un nFroce 4 et qu'il ait activer le firewall semi-matèriel en plus ^^

MessagePosté: 07 Fév 2006, 01:47
par loicb54
tainnnnnnnnnnnnn j'viens d'avoir une idée pour mercredi pour avoir un peu moins de parasite :

bon mon pc est donc dans ma chambre avec un cable d'une dizaine de mettre voir plus du signal et un ampli , donc il y a forcement de la perte avec ou sans ampli , alors j'ai eu l'idée toute bete pendant que je prennait ma douche pourquoi ne pas tout simplement pas mettre temporairement le pc au RDC a la source du cable et mettre aussi mon ampli

avec un peu de chance la qualité sera peut etre meilleure

MessagePosté: 12 Fév 2006, 19:46
par Pete
Pour le rapport de projet et les cours d'hexadécimal, mieux vaut continuer ici

MessagePosté: 12 Fév 2006, 19:47
par Olivier
Oui c'est ce que je me disais aussi. On était quand même dans le forum Humour/Jokes :p

Gringo a écrit:on ne pouvait pas utiliser les pointeurs


Euh pourquoi ?

MessagePosté: 12 Fév 2006, 20:07
par Gringo
On fait, a la fac il nous apprenne le C/C++ en 1 ans et demi. Et le projet intervenet lors de premier cour d'apprentissage. Le programme de ce cours ne comportait pas les pointeurs, uniquement les structures, references fonctionnement des fonction et procédures, utilistation des tableaux.

Donc c'est pour ca pas de pointeur :cry: . De ce fait, notre executaable doit avoir une complexité monstre. surment de l'odre de 2^n. Notres programme doit faire dans les 2500 lignes de codes qui pourrait etre simplifiées avec des pointeurs. On compte l'optimisation pour l'utiliser dans la comunauté "hackers" de SHB

MessagePosté: 12 Fév 2006, 20:18
par Olivier
2500 lignes ? Juste pour la décompression ? Ca paraît beaucoup en effet. A mon avis quelques centaines de lignes devraient suffire...

Gringo a écrit:On compte l'optimisation pour l'utiliser dans la comunauté "hackers" de SHB


Personne d'autre n'a écrit de décompresseur ?

MessagePosté: 12 Fév 2006, 21:03
par Sonic Hachelle-Bee
Personne d'autre n'a écrit de décompresseur ?

Si, Yuji Naka de SEGA of Japan:

EDIT: Et d'autres (3-4) qui ont maintenant compris le format. Parmi eux, un français d'ailleurs...

; €€€€€€€€€€€€€€€ S U B R O U T I N E €€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€


KozDec_193A: ; CODE XREF: sub_49BC+1Ap sub_49BC+28j ...

var_2 = -2
var_1 = -1

subq.l #2,sp
move.b (a0)+,2+var_1(sp)
move.b (a0)+,(sp)
move.w (sp),d5
moveq #$F,d4

loc_1946: ; CODE XREF: KozDec_193A+24j
; KozDec_193A+8Aj ...
lsr.w #1,d5
move sr,d6
dbf d4,loc_1958
move.b (a0)+,2+var_1(sp)
move.b (a0)+,(sp)
move.w (sp),d5
moveq #$F,d4

loc_1958: ; CODE XREF: KozDec_193A+10j
move d6,ccr
bcc.s loc_1960
move.b (a0)+,(a1)+
bra.s loc_1946
; ---------------------------------------------------------------------------

loc_1960: ; CODE XREF: KozDec_193A+20j
moveq #0,d3
lsr.w #1,d5
move sr,d6
dbf d4,loc_1974
move.b (a0)+,2+var_1(sp)
move.b (a0)+,(sp)
move.w (sp),d5
moveq #$F,d4

loc_1974: ; CODE XREF: KozDec_193A+2Cj
move d6,ccr
bcs.s loc_19A4
lsr.w #1,d5
dbf d4,loc_1988
move.b (a0)+,2+var_1(sp)
move.b (a0)+,(sp)
move.w (sp),d5
moveq #$F,d4

loc_1988: ; CODE XREF: KozDec_193A+40j
roxl.w #1,d3
lsr.w #1,d5
dbf d4,loc_199A
move.b (a0)+,2+var_1(sp)
move.b (a0)+,(sp)
move.w (sp),d5
moveq #$F,d4

loc_199A: ; CODE XREF: KozDec_193A+52j
roxl.w #1,d3
addq.w #1,d3
moveq #-1,d2
move.b (a0)+,d2
bra.s loc_19BA
; ---------------------------------------------------------------------------

loc_19A4: ; CODE XREF: KozDec_193A+3Cj
move.b (a0)+,d0
move.b (a0)+,d1
moveq #-1,d2
move.b d1,d2
lsl.w #5,d2
move.b d0,d2
andi.w #7,d1
beq.s loc_19C6
move.b d1,d3
addq.w #1,d3

loc_19BA: ; CODE XREF: KozDec_193A+68j
; KozDec_193A+86j ...
move.b (a1,d2.w),d0
move.b d0,(a1)+
dbf d3,loc_19BA
bra.s loc_1946
; ---------------------------------------------------------------------------

loc_19C6: ; CODE XREF: KozDec_193A+7Aj
move.b (a0)+,d1
beq.s loc_19D6
cmpi.b #1,d1
beq.w loc_1946
move.b d1,d3
bra.s loc_19BA
; ---------------------------------------------------------------------------

loc_19D6: ; CODE XREF: KozDec_193A+8Ej
addq.l #2,sp
rts
; End of function KozDec_193A

MessagePosté: 12 Fév 2006, 21:07
par Olivier
Oui, je me doutais bien que la routine de décompression était dans le code de Sonic ;)
En tout cas ça fait très peu de lignes...

MessagePosté: 12 Fév 2006, 21:13
par Sonic Hachelle-Bee
Olivier> Très peu de lignes, oui. Mais c'est hyper optimisé. Il y a des boucles à n'en plus finir pourtant, et ce code prend un temps processeur considérable. C'est pour celà qu'il n'est jamais utilisé dynamiquement pendant le jeu, seulement au chargement des niveaux, lorsque le titre est à l'écran (c'est en gros à ça qu'il sert le titre...).

EDIT: Lorsque l'on a fait notre programme en C, je ne connaîssais pas encore assez bien l'assembleur, et on ne savait même pas où localiser le code d'ailleurs.

MessagePosté: 12 Fév 2006, 21:23
par Pete
Sonic Hachelle-Bee a écrit:
Comment on devine qu'il faut multiplier, ou soustraire ?

Justement, ça faisait parti des choses à trouver.


Et comment la machine le sait ?

13 8C :arrow: 0001 0011 1000 1100
:arrow:
0001 0011
1000 1100
:arrow:
1000 1100 0001 0011 :arrow: 1100 1000 0011 0001


Pourquoi y a-t-il besoin de triturer ce nombre comme ça ? Pourquoi ne pas écrire directement C8 31 ?

MessagePosté: 12 Fév 2006, 21:30
par Sonic Hachelle-Bee
Pourquoi y a-t-il besoin de triturer ce nombre comme ça ? Pourquoi ne pas écrire directement C8 31 ?

Pour un registre, cette valeur stockée est plus facile à lire de droite à gauche. Ca pourrait aussi marcher dans l'autre sens sans grand effort...

MessagePosté: 12 Fév 2006, 21:37
par Olivier
Est-ce que ça change quelque chose d'écrire :

lsl.w #1,d5

plutôt que :

lsr.w #1,d5

ou c'est juste une question d'habitude du sieur Yuji ?

MessagePosté: 12 Fév 2006, 22:05
par Sonic Hachelle-Bee
Olivier> Ca ne change rien, juste que effectivement, il faudrait écrire comme l'a dit Pete. Je pense que c'est pour ne pas avoir à s'en faire à se traîner un flag N tantôt égal à 1, tantôt égal à 0, en fonction du bit significatif du registre. Mais ça sert pas à grand chose d'autre ici.

MessagePosté: 13 Fév 2006, 18:20
par Pete
Pete a écrit:
Sonic Hachelle-Bee a écrit:00XX -> Compression dite "en ligne".


ça veut dire quoi ?

MessagePosté: 13 Fév 2006, 22:58
par Olivier
Il y a 2 types de compressions : en ligne (inline) et séparée. Inline signifie "mis ensemble, au même endroit".

La compression en ligne (celle qu'on a vue) recopie les octets situés juste avant. La compression séparée, elle, est capable d'aller chercher les octets beaucoup plus loin (jusqu'à environ 8000 octets en arrière).

MessagePosté: 14 Fév 2006, 10:48
par Sonic Hachelle-Bee
Olivier> Exactement. J'allais le dire. ^^
Il n'empêche, ce format de compression n'est pas très efficace dans certains cas. Si le code ne présente pas ou peu de redondances, le résultat compressé peut même avoir une taille supérieure à l'original à cause de l'ajout des bitfields. M'enfin, c'est plutôt rare, faut juste savoir que ça peut arriver.

MessagePosté: 14 Fév 2006, 11:07
par Pete
Sonic Hachelle-Bee a écrit:Le résultat compressé peut même avoir une taille supérieure à l'original à cause de l'ajout des bitfields.


Je me suis fait cette reflexion. Cette algorithme de compression m'a fait penser à :

1
11
21
1211
111221

A chaque ligne on "compresse" la ligne précédente, mais souvent, ça ne fait qu'allonger la ligne.

MessagePosté: 14 Fév 2006, 12:18
par MacIntoc
Sauf qu'on joue sur les nombres représenté par les bits et pas les bits eux même.

Si tu as 888888AAAAAAAAAAFFFFFFFFF, ça te donnera 68AA9F, ce qui n'est pas négligeable. Si tu as 37AF6E42C, ça te donnera 13171A1F161E14121C, ce qui est pas génial.
Donc aprés, le but est de ne compresser que quand tu as 3 chiffres identique qui se suivent ou plus (3 car il faut alors rajouter un marqueur pour indiquer que ce qui suis n'a pas été compressé et le nombre d'élement qui n'ont pas été compressé. C'est ce fameux marquer 00XX).
On peut aussi optimiser en analysant l'élément à compresser pour déterminer dans quel sens (ligne verticale/horizontal, zig-zag ou par groupe de pixel) la compression sera la plus importante.

MessagePosté: 14 Fév 2006, 13:37
par Sonic Hachelle-Bee
Mac> Oui, mais c'est plus complexe que ça.

La compression en Lempel-Ziv n'est pas seulement déterminer combien de chiffres identiques se suivent. En fait, le principe est de repérer une séquence de chiffres identique quelque part auparavent, la plus longue possible, que les chiffres composant la séquence soient identiques ou non.

Ceci nécessite donc un dictionnaire dans le programme de compression pour répertorier où trouver de tels séquences. Sans pointeurs et avec des connaîssances en C plus que bridés (par les profs) il y a deux ans, ça n'a pas été une mince affaire...

1 bitfield = 16 bits (2 octets)

10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
10 FF F8 0F + 3/16 bitfield

10 11 12 13 14 15 16 17 18 10 11 12 13 14 15 16
10 11 12 13 14 15 16 17 18 F7 F8 07 + 11/16 bitfield

01 23 45 67 89 AB CD EF 10 11 12 13 14 15 16 17
01 23 45 67 89 AB CD EF 10 11 12 13 14 15 16 17 + 1 bitfield complet

MessagePosté: 14 Fév 2006, 13:49
par Gringo
Olivier a écrit:2500 lignes ? Juste pour la décompression ? Ca paraît beaucoup en effet. A mon avis quelques centaines de lignes devraient suffire...


900 lignes pour la decompression
1300 lignes pour la compression

En gros...

MessagePosté: 14 Fév 2006, 16:52
par MacIntoc
Sonic>Ok. Je croyais que vous parliez du simple RLE.

MessagePosté: 17 Fév 2006, 20:28
par MysterGui
Bon allez pour nfaire vivre le sujet un peu de c ma life fera pas de mal ^^

Bon j'ai reussit à installer PHP\Apache\MySQL et ça marche impec , http://mystergui.homlinux.com/ pour les suspects J'ai même installer phpbb en forum et impec http://mystergui.homelinux.com/forum/
Seul pb Sam 2 Broadcast ne veut pas de cette base de donnée ^^ j'ai reussit à le foutre dedans et ce con me bloque le compte root au profil de son propre compte avec mot de passe qu'on ne connait pas !!! Ou alors il veut pas de mdp au compte root alors que c' assez dangereux de pas en mettre et constitue une faille de secu ^^ Du coup j'ai du le desinstaller et je le retelecharge car j'avais la même version mais ou on pouvait choisir sa bdd (mysql, et d'autres) et donc comme ça lui aura sa base et la base mysql sera pour mon serveur web :/

Bon j'ai installer PHPmyadmin v2.7.0 et c' pas mal evite d'aller en invite de commande ^^ En plsu j'ai créer un compte sans mdp pour l'autre debile de Sam2 et maintenant il fonctionne dans ma bdd hihi ^^

Sinon Zone Alarm (et ouais je l'ai repris puisque mon paris était finit) me bloque tous les visiteurs alors que le sports sont ouverts, apache à toutes les autorisations .... donc demain desinstallation reinstallation de ZA et si il prend pas en compte, adieu ZA et le monde des pare feu (aprés l'antivirus c' au tour du pare feu de ce faire virer j'ai l'impression :/)

Donc voila comme quoi tout n'est pas rose en informatique et que j'ai bien raison : les pare feu, antivirus et co sont intuils et source de probleme et de prise de temps :/

MessagePosté: 22 Fév 2006, 14:26
par *Gringo depuis la fac*
Vive les boulettes avec Gringo

Je voulais installer Firefox en espgnol sur ma clef usb et du coup il s'est installé sur le disque dur du pc de la salle info et a virer la version française :lol: