2034 private links
Toute la difficulté d'estimer le temps de développement d'un projet.
Une revue du code du moteur de jeu de Domm3 BFG, idTech4.
C'est toujours intéressant de voir comment les grosses firmes font et très instructif.
Lisez du code !
Développement : comment passer de 1 millions de connexions simultannées à 10 millions.
Excellent, ce sont des illustrations pour montrer à quel point certaines demandes peuvent être débiles.
Ressources utiles pour le développement d'applications pour Android.
TL;DR DroidParts saves a lot of keystrokes & helps write elegant code.
via Hacker News.
Dur ! Mais ça existe encore !
Oh tiens ! Un kit complet pour développer des jeux pour la Playstation 1, accompagné d'un tutoriel.
Un commentaire d'un développeur du noyau de Windows qui met en évidence la galère pour avancer (dans le dév.) dans ce système fermé.
Il se peut que certaines parties de votre code ne soient pas public, voici un script qui permet de remplacer ces morceaux de code par des lignes vierges (pour garder la numérotation des lignes). Intéressant et qui semble une bonne manière de faire.
Pas mal du tout !
Une idée à creuser pour les forums : lors d'une inscription on teste si l'adresse courriel existe et hop soit on supprime le compte, soit ou on l'active.
++
valgrind bmpalyser stegano_8.bmp
==15476== Memcheck, a memory error detector
==15476== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==15476== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==15476== Command: bmpalyser stegano_8.bmp
==15476==
file size: 1080056 bytes
image start offset: 54 bytes (0x36)
image header size: 40 bytes (0x28)
image width: 600 bytes (0x258)
image height: 450 bytes (0x1c2)
image color depth: 32 bits (0x20)
image is not compressed
image size: 1080002 bytes (0x107ac2)
image H resolution: 2834 bytes (0xb12)
image V resolution: 2834 bytes (0xb12)
image palette: none
info: there are 4 padding bytes at end of lines
Warning: (width.height.colorbytes) does not meet header image size
==15476== Invalid write of size 1
==15476== at 0x4033A9: main (bmpalyser_0.1.2.c:692)
==15476== Address 0x55454d9 is 0 bytes after a block of size 1,801 alloc'd
==15476== at 0x4C2A26B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15476== by 0x403291: main (bmpalyser_0.1.2.c:684)
==15476==
==15476== Invalid write of size 1
==15476== at 0x403428: main (bmpalyser_0.1.2.c:693)
==15476== Address 0x5545c29 is 0 bytes after a block of size 1,801 alloc'd
==15476== at 0x4C2A26B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15476== by 0x4032F7: main (bmpalyser_0.1.2.c:687)
==15476==
info: non-zero padding byte(s) found: ��
[end of padding data]
--15476-- VALGRIND INTERNAL ERROR: Valgrind received a signal 11 (SIGSEGV) - exiting
--15476-- si_code=80; Faulting address: 0x0; sp: 0x402a35da0
valgrind: the 'impossible' happened:
Killed by fatal signal
==15476== at 0x38061C58: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
==15476== by 0x38028414: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
==15476== by 0x380285AA: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
==15476== by 0x3809C600: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
==15476== by 0x380AB7A9: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
sched status:
running_tid=1
Thread 1: status = VgTs_Runnable
==15476== at 0x4C2A26B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15476== by 0x511B60A: __fopen_internal (iofopen.c:76)
==15476== by 0x4035EB: main (bmpalyser_0.1.2.c:713)
Note: see also the FAQ in the source distribution.
It contains workarounds to several common problems.
In particular, if Valgrind aborted or crashed after
identifying problems in your program, there's a good chance
that fixing those problems will prevent Valgrind aborting or
crashing, especially if it happened in m_mallocfree.c.
If that doesn't help, please report this bug to: www.valgrind.org
In the bug report, send all the above text, the valgrind
version, and what OS and version you are using. Thanks.
++