#10:
#8 Consiste en una "sobrescritura" de instrucciones y funciones propias de C.
Por ejemplo, esta línea convierte una instrucción if en un bucle infinito: #define if while
Y esta convierte un valor true (un valor 1) en un valor que "casi siempre" es 1, pero a veces no:
#define true ((rand()&15)!=15)
#11:
#5 te sorprendería la cantidad de empresas supuestamente grandes, supuestamente serias, que producen mierda a toneladas.
#49:
#43 volatile en C y en C++ lo que hace es impedir que el compilador haga caché con esa variable. Es decir cada vez que sea acceda a esa variable se obliga a que se vuelva a hacer el acceso a la memoria inmediatamente.
El uso típico es cuando tienes un puntero que está apuntando a una dirección mapeada a algún tipo de hardware. Por ejemplo mapeada a un sensor en un dispositivo embedded.
#16:
#7 la más hija de puta de todas es la de volatile.
Y esa no te la pilla tan facilmente una CI #5, normalmente el uso volatile va ligado al hardware y es facil que los tests no se estén corriendo en el hardware real.
Como lo metas un día que el reviewer esté perezoso y no lo vea, la lias pardísima.
#5:
En cualquier empresa donde puedas commitear eso y no salte ninguna alarma en ningún sitio, es evidente que están haciendo software ignorando los últimos 20 años de ingeniería del software. Cambia de empresa cuanto antes.
En cualquier empresa medio decente, o tienes PR o tienes CI. Una de las dos cosas. Y si tienes PR y no detectas esto, deja de hacer PR y empieza a hacer CI. Si tienes CI y no detectas esto, deja de hacer CI y haz PR.
#24:
Yo añadiría esta también, y si, la he probado
#4:
#1 Al final lo he cambiado y mandado a Tecnología, creo que allí se apreciará mejor esta pequeña hovra de harte
#36:
#22 no se qué español hablan por qué no se dice commit y merge, se dice comitear y mergear
#46:
#45 No pasa nada si los backups los tenías en servidores en el SGB2 de OVH 🔥
#8:
¿Alguien puede explicarlo para los no iniciados?
#7 la más hija de puta de todas es la de volatile.
Y esa no te la pilla tan facilmente una CI #5, normalmente el uso volatile va ligado al hardware y es facil que los tests no se estén corriendo en el hardware real.
Como lo metas un día que el reviewer esté perezoso y no lo vea, la lias pardísima.
En cualquier empresa donde puedas commitear eso y no salte ninguna alarma en ningún sitio, es evidente que están haciendo software ignorando los últimos 20 años de ingeniería del software. Cambia de empresa cuanto antes.
En cualquier empresa medio decente, o tienes PR o tienes CI. Una de las dos cosas. Y si tienes PR y no detectas esto, deja de hacer PR y empieza a hacer CI. Si tienes CI y no detectas esto, deja de hacer CI y haz PR.
#43 volatile en C y en C++ lo que hace es impedir que el compilador haga caché con esa variable. Es decir cada vez que sea acceda a esa variable se obliga a que se vuelva a hacer el acceso a la memoria inmediatamente.
El uso típico es cuando tienes un puntero que está apuntando a una dirección mapeada a algún tipo de hardware. Por ejemplo mapeada a un sensor en un dispositivo embedded.
#29 Con mi compi Antonio eso no funcionaria. Cuando se pone a depurar se vuelve loco y borra lineas enteras y las vuelve a escribir.
A mi siempre me pone de los nervios, pero despues de ver este ejemplo puede que alguien ya le haya hecho esa putada y no se fia ni de su sombra el cabron.
Ya se que es una broma, pero por comentar algo, lo mejor en esta vida, que da muchas vueltas, es marchar de los sitios como un señor y que hablen bien de tí.
#26 Como bien dicen, se trata de que pongas solo 1 linea, cual y donde ya es asunto tuyo.
Tengo el c/c++ oxidado, pero que yo recuerde los .h y los .c/.cpp a nivel de lenguaje son exactamente iguales, puedes poner lo que quieras en cualquiera de ellos, que la diferencia es por conveniencia, para tener separada la definición de funciones de las funciones en si, y así puedes tener una librería ya compilada (mucho mas compacto) y las definiciones en el .h para poder usarla.
El propio meneo ya te advierte que no pongas esto, que si lo haces es bajo tu responsabilidad, que como bien dices es mínimo una p*tada y puede llegar a ser delito, pero cuando te despiden o te marchas harto, leer este tipo de cosas te quitan MUCHO estrés.
#33 No me extraña. Yo a veces he estado horas mirando un trozo de código que fallaba, lo he vuelto a escribir igual (aparentemente) y ha funcionado. A veces tienes algo evidente delante de los ojos y no lo ves.
#23 Sí, los "defines" son macros, y se procesan/sustituyen en la primera fase de la compilación, llamada "preproceso". El resultado del preproceso se le da al "compilador propiamente dicho". Al poner esos defines locos, se altera el significado de ciertas palabras de C antes siquiera de que el compilador-propiamente-dicho las vea.
#23 se meten en algún módulo de operaciones comunes, y en cualquier fuente en el que lo metas con un include se aplicaría.
#26 esa es la "idea", meter sólo alguna de esas líneas. Fíjate que algunas se sobreescriben entre ellas, así que si las metes todas sólo una hace efecto.
Igual no os dais cuenta pero estas gracietas es como si un currela deja la maquina atascada por un sitio que solo el sabe antes de que lo echen. Si os pillan os va a caer una denuncia gorda.
Además que con esto solo consigues putear a tus compañeros para que lo arreglen. Ten cojones y caga en la mesa del gerente y esparce la mierda por las paredes.
#20 Las palabras "commit" y "merge" de la entradilla son operaciones de git (el sistema de control de versiones creado por Linus Torvalds que usa la mayoría de la gente que usa algún sistema de control de versiones). Casi todos los programadores que conozco usan esos mismos términos cuando hablan o escriben en español.
Single Letter Variable Names
If you call your variables a, b, c, then it will be impossible to search for instances of them using a
simple text editor.
#62¿en serio C permite sobreescribir las definiciones de sus funciones básicas?
Sí, en serio. Lo explico más o menos en #30. El preprocesador hace su trabajo antes siquiera de que el compilador propiamente dicho vea el resultado, por eso puedes convertir por ejemplo un if en un while y el compilador propiamente dicho acaba viendo un while. El compilador no protesta diciendo "oye, que has cambiado una cosa muy fundamental", porque se encuentra el cambio ya hecho.
1. Cambiar tu nombre en git
2. Hacer guarreridas muy bestias en el código
3. Commit
4. Hacer git squash de todos los cambios habidos y por haber
5. Push force.
Una pena que existan backups, hooks en los servidores y cosas del estilo .
#5 El problema (o al menos lo que he visto yo), es que muchas empresas quieren adoptar buenas prácticas pero “a medias”, y se quedan en terreno de nadie.
Si le dices a un programador que revise 10 líneas de código te encontrara 10 errores.
Si le pides que revise 500 dirá que parece que está bien.
#62 La idea no es la de ir a joder. C/C++ como cualquier lenguaje permite hacer bucles infinitos, pero hacerlos cuando no toca es problema del programador y no del lenguaje. Los define normalmente se usan para cosas como "#define PI 3.1416f" y así puedes usar el valor de PI habiendolo definido una única vez (sin tener que crear una variable/constante). Puedes hacer cosas como "#define for_i_10 for (int i=0;i
El último día de curro cobras por dedicarte a dejar pufos a tus futuros ex compañeros. En un commit con tu nombre.
No sé a qué tipo de mente le parece buena idea meterse en ese tipo de líos.
#47 Con los famosos "crunchs" de la industria me sorprende que no pasen más a menudo. Recuerdo que decian que el Aliens: Colonial Marines la IA estaba rota porque habian escrito "teather" en vez de "tether".
Se pueden hacer muchas cosas diabólicas pero eso es sabotaje. No es sólo que le vida da muchas vueltas, es que podrían pedirte para por las horas perdidas
#66 Sí, tienes toda la razón. Tanto los conceptos como las órdenes asociadas ya se llamaban así en sistemas de control de versiones muy anteriores. Es que una vez que existe git ya no te acuerdas de que había otras cosas antes...
#90 Muy fácil: El Génesis dice todo el rato "Y vio Dios que era bueno". Eso es que el Universo le salió bien a la primera, con lo que no tuvo necesidad ninguna de hacer versiones.
#41 Es un juicio que el empresario tiene ganado al 100%, y vas a tener que pagarle las horas de encontrar el bug y los daños ocasionados a los clientes.
#64#62 Seguro que te parece curioso porque pone do_while que no pasan del primer ciclo en los defines. https://stackoverflow.com/questions/923822/whats-the-use-of-do-while0-when-we-define-a-macro #23 #24 Yo he escrito alguna vez codigo que no me funcionaba y no he encontrado el fallo y reescribiendolo tal cual funcióno, no se si habia algun caracter no visible, o algo asi.
En la ultima que me paso, copie un texto al lado del otro y si habia un caracter de diferencia que no vi, lo voy ha hacer cada vez que me vuelva a pasar. Pero me parece si puede pasar por casualida que se vea todo bien, pero el fallo no sea visible. como a #35
Alguna solucion para ver si algun caracter no visiblemente erroneo te esta fastidiando aparte de la de Antonio #29#33 #73 Yo lo conocia como compresor de codigo u ofuscado, dependiendo de la intencios, si descargar mas rapido o que no reutilicen tu codigo. Pero entiendo que el original es legible. #57 La mesa es as facil de limpiar, el coche por dentro mas dificil. Yo me olvide pollo envasado en el maletero y el olor a muerto tardo en irse bastante. Del todo más 1 año.
#1 Esto es de un hijoputismo muy serio. Hacerle esto a tus compañeros probablemente sea considerado delitos contra la humanidad, pero si me pongo en plan cabroncete yo añadiría repartir las líneas entre varias cabeceras.
Pero por muy grande que sea el commit cuando encuentre el archivo se lo cargan y listo.
Lo diabólico sería ir repartiendo los define por los diferentes headers del proyecto. Uno aquí otro allá...
Hace mucho que no toco C/C++, pero solo se podían poner los #define en los .h? O también se podían meter en los archivos .c/.cpp (los compilados)?
Como se pudieran meter en los cpp entonces sí .
Por cierto yo al menos que he trabajado para 2 bancos y ahora para una empresa del Ibex35 firmas un montón de políticas que básicamente dicen que como hagas esto vas a la cárcel .
#68 ¿Había cosas antes? Yo creía que git era de esas cosas que Dios creó el día 0 No logro entender como creó todo sin tener un git para control de versiones.
El que esta tan quemado como para hacer eso cuando se va, habiendo todo el trabajo que hay en informática, es simplemente un mediocre que no merecia el sueldo que le pagaban.
#11 Visa Argentina. Es increíble la cantidad de mierda que generan. Sistemas que los reinician todos los días para que funcionen un rato. Y los fines de semana no funcionan porque no hay nadie que los reinicie.
Diabolico?...Diabolico era el PJTOOLS de TID hace ... 20 anios. Se inventaron un control de versiones que fue programado por un/a psicopata.
Solo mejorable cuando en 2001 en el proyecto de Ibox, cogieron como CV SourceSafe y como la gente bloqueba los modulos, se vieron forzados a modificar versiones bloqueadas por otros.... y a machacar los cambios de los otros.
Eso si que fue una hecatombe con todo el codigo de Iobox creado por TID yedonse a la mierda a pesar de los 30 millones de euros que costo, en 2001 estamos hablando.
#49 Ojo, la caché la gestiona la propia CPU y en principio es invisible para el software (aunque algunas CPUs tienen instrucciones especiales para accesos sin caché). Volatile lo que hace es que no se pueda guardar la variable en un registro y desactiva cualquier tipo de optimización.
#79
Y que tiene que ver que te olvidaras un pollo en tu coche a cagar en la mesa del jefe? por cierto, responde a la gente individualmente porque sino es imposible seguir nada.
#84
La señora de la limpieza se puede negar a limpiar mierda y no es un daño para nada equiparable. Lo que se comenta en este envio es el equivalente a parar la produccion de una fabrica.
Comentarios
#5 te sorprendería la cantidad de empresas supuestamente grandes, supuestamente serias, que producen mierda a toneladas.
#8 Consiste en una "sobrescritura" de instrucciones y funciones propias de C.
Por ejemplo, esta línea convierte una instrucción if en un bucle infinito:
#define if while
Y esta convierte un valor true (un valor 1) en un valor que "casi siempre" es 1, pero a veces no:
#define true ((rand()&15)!=15)
Yo añadiría esta también, y si, la he probado
#7 la más hija de puta de todas es la de volatile.
Y esa no te la pilla tan facilmente una CI #5, normalmente el uso volatile va ligado al hardware y es facil que los tests no se estén corriendo en el hardware real.
Como lo metas un día que el reviewer esté perezoso y no lo vea, la lias pardísima.
En cualquier empresa donde puedas commitear eso y no salte ninguna alarma en ningún sitio, es evidente que están haciendo software ignorando los últimos 20 años de ingeniería del software. Cambia de empresa cuanto antes.
En cualquier empresa medio decente, o tienes PR o tienes CI. Una de las dos cosas. Y si tienes PR y no detectas esto, deja de hacer PR y empieza a hacer CI. Si tienes CI y no detectas esto, deja de hacer CI y haz PR.
¿Alguien puede explicarlo para los no iniciados?
#1 Al final lo he cambiado y mandado a Tecnología, creo que allí se apreciará mejor esta pequeña hovra de harte
#43 volatile en C y en C++ lo que hace es impedir que el compilador haga caché con esa variable. Es decir cada vez que sea acceda a esa variable se obliga a que se vuelva a hacer el acceso a la memoria inmediatamente.
El uso típico es cuando tienes un puntero que está apuntando a una dirección mapeada a algún tipo de hardware. Por ejemplo mapeada a un sensor en un dispositivo embedded.
Bueno, solo quería comentar que soy un gran fan.
#10 la última es diabólica
#22 no se qué español hablan por qué no se dice commit y merge, se dice comitear y mergear
Que cantidad de maldad concentrada que hay ahi...
Este es maravilloso:
#define M_PI 3.2f
#7 algunas pasarian por testing inadvertidas y alguien lo descubriría años después.
Cuelan bugs mucho más gordos
How To Write Unmaintainable CodeEnsure a job for life
- https://www.se.rit.edu/~tabeec/RIT_441/Resources_files/How%20To%20Write%20Unmaintainable%20Code.pdf
- https://github.com/Droogans/unmaintainable-code
#45 No pasa nada si los backups los tenías en servidores en el SGB2 de OVH 🔥
#36 En mi empresa no corregimos errores, "fijamos ishus".
Mi preferido es el "Randomness based; "works" most of the time."
Enlace original, que meneame no me permite enviar: https://gist.github.com/aras-p/6224951
No sabía si mandarlo a Tecnología o a Humor, y al final ha sido Humor
#29 Con mi compi Antonio eso no funcionaria. Cuando se pone a depurar se vuelve loco y borra lineas enteras y las vuelve a escribir.
A mi siempre me pone de los nervios, pero despues de ver este ejemplo puede que alguien ya le haya hecho esa putada y no se fia ni de su sombra el cabron.
#3 Y eso que se han olvidado de un clásico:
#define true false
Ya hay que ser hijo de puta
Ya se que es una broma, pero por comentar algo, lo mejor en esta vida, que da muchas vueltas, es marchar de los sitios como un señor y que hablen bien de tí.
#10 Ya veo. Gracias.
#24 Hay que ser muy cabrón...
#26 Como bien dicen, se trata de que pongas solo 1 linea, cual y donde ya es asunto tuyo.
Tengo el c/c++ oxidado, pero que yo recuerde los .h y los .c/.cpp a nivel de lenguaje son exactamente iguales, puedes poner lo que quieras en cualquiera de ellos, que la diferencia es por conveniencia, para tener separada la definición de funciones de las funciones en si, y así puedes tener una librería ya compilada (mucho mas compacto) y las definiciones en el .h para poder usarla.
El propio meneo ya te advierte que no pongas esto, que si lo haces es bajo tu responsabilidad, que como bien dices es mínimo una p*tada y puede llegar a ser delito, pero cuando te despiden o te marchas harto, leer este tipo de cosas te quitan MUCHO estrés.
#33 No me extraña. Yo a veces he estado horas mirando un trozo de código que fallaba, lo he vuelto a escribir igual (aparentemente) y ha funcionado. A veces tienes algo evidente delante de los ojos y no lo ves.
#10 la definición del if no necesariamente lleva a un bucle infinito, depende de la condición
#23 Sí, los "defines" son macros, y se procesan/sustituyen en la primera fase de la compilación, llamada "preproceso". El resultado del preproceso se le da al "compilador propiamente dicho". Al poner esos defines locos, se altera el significado de ciertas palabras de C antes siquiera de que el compilador-propiamente-dicho las vea.
#23 se meten en algún módulo de operaciones comunes, y en cualquier fuente en el que lo metas con un include se aplicaría.
#26 esa es la "idea", meter sólo alguna de esas líneas. Fíjate que algunas se sobreescriben entre ellas, así que si las metes todas sólo una hace efecto.
#53 ¿Y también deployáis rilises?
#39
Eso fue una broma del april's fool del físico humorista Mark Boslough que se extendió como Bulo.
https://en.wikipedia.org/wiki/Mark_Boslough
Igual no os dais cuenta pero estas gracietas es como si un currela deja la maquina atascada por un sitio que solo el sabe antes de que lo echen.
Si os pillan os va a caer una denuncia gorda.
Además que con esto solo consigues putear a tus compañeros para que lo arreglen.
Ten cojones y caga en la mesa del gerente y esparce la mierda por las paredes.
#24
#27 Ya hubo quien intentó hacerlo por decreto... ( En USA, cómo no... )
#35 A veces hay cosas cacheadas en el IDE
#26 siempre puedes commitear eso con otro usuario
#26 no hay problema en meterlo en el cpp o incluso en los directive preprocessor de la solución
#46 A lo mejor alguien ha quemado los servidores después de joder un repositorio git y largarse de la empresa
#11 Incluyendo algunas donde para poder hacer commit, primero tendrias que montar tu el servidor de git....
#1 no deja porque pide login en github, pero el enviado está bien
#22 Vienen de mucho antes de Git.
#20 Las palabras "commit" y "merge" de la entradilla son operaciones de git (el sistema de control de versiones creado por Linus Torvalds que usa la mayoría de la gente que usa algún sistema de control de versiones). Casi todos los programadores que conozco usan esos mismos términos cuando hablan o escriben en español.
#42 Eso si que es mala leche: (y es la página 2)
Single Letter Variable Names
If you call your variables a, b, c, then it will be impossible to search for instances of them using a
simple text editor.
#62 ¿en serio C permite sobreescribir las definiciones de sus funciones básicas?
Sí, en serio. Lo explico más o menos en #30. El preprocesador hace su trabajo antes siquiera de que el compilador propiamente dicho vea el resultado, por eso puedes convertir por ejemplo un if en un while y el compilador propiamente dicho acaba viendo un while. El compilador no protesta diciendo "oye, que has cambiado una cosa muy fundamental", porque se encuentra el cambio ya hecho.
1. Cambiar tu nombre en git
2. Hacer guarreridas muy bestias en el código
3. Commit
4. Hacer git squash de todos los cambios habidos y por haber
5. Push force.
Una pena que existan backups, hooks en los servidores y cosas del estilo .
#49 AAh, entiendo. Buena putada esa entonces, sí
#5 El problema (o al menos lo que he visto yo), es que muchas empresas quieren adoptar buenas prácticas pero “a medias”, y se quedan en terreno de nadie.
Si le dices a un programador que revise 10 líneas de código te encontrara 10 errores.
Si le pides que revise 500 dirá que parece que está bien.
#62 La idea no es la de ir a joder. C/C++ como cualquier lenguaje permite hacer bucles infinitos, pero hacerlos cuando no toca es problema del programador y no del lenguaje. Los define normalmente se usan para cosas como "#define PI 3.1416f" y así puedes usar el valor de PI habiendolo definido una única vez (sin tener que crear una variable/constante). Puedes hacer cosas como "#define for_i_10 for (int i=0;i
#13 Positivo por el frikismo de referenciar a Tenacious D
#8 los de asuntos internos le han tendido una trampa
#51 ¡Es lo primero que pensé!
#74 Mi actual empresa (al menos antes usaban SVN) y la anterior (5 años desarrollando sin control de versiones, compartían el código por Dropbox).
Titular en inglés, y no consigo saber en qué idioma está la entradilla
El último día de curro cobras por dedicarte a dejar pufos a tus futuros ex compañeros. En un commit con tu nombre.
No sé a qué tipo de mente le parece buena idea meterse en ese tipo de líos.
#14 ¿compañeros? En algunos sitios encuanto sales por la puerta lo primero que haces es bloquearlos.
#15 En algunos sitios da igual lo que te mates que nunca llegaras ni al nivel de las hormigas.
#41 Otros menos disimulados regresan con un arma de fuego.
#45 ¿backups? ¿Como en el SEPE?
#47 Con los famosos "crunchs" de la industria me sorprende que no pasen más a menudo. Recuerdo que decian que el Aliens: Colonial Marines la IA estaba rota porque habian escrito "teather" en vez de "tether".
https://as.com/meristation/2018/07/15/noticias/1531639902_266063.html
Se pueden hacer muchas cosas diabólicas pero eso es sabotaje. No es sólo que le vida da muchas vueltas, es que podrían pedirte para por las horas perdidas
#0 En general hay que traducir también el titular. Gracias.
#88 que va, era coña. Lo uso mucho, pero no para programar todo el rato.
#16 que hace volatile en c++?
#define true ((rand()&15)!=15)
Evil...
#15 Venía a escribir lo mismo.
Entiendo que esto es un divertimento, porque en la vida real, lo mejor es irte en buenos términos.
Shut the fuck up, fucking prick.
Cómo molan los anglicismos
#10 ¿¿en serio C permite sobreescribir las definiciones de sus funciones básicas??
Lo pregunto porque no tengo ni idea y me parece una barbaridad que sólo serviría para lo que "sugiere" este artículo, para sabotear.
#66 Sí, tienes toda la razón. Tanto los conceptos como las órdenes asociadas ya se llamaban así en sistemas de control de versiones muy anteriores. Es que una vez que existe git ya no te acuerdas de que había otras cosas antes...
#54 Sí, pero mucho antes de esa broma de Boslough hubo un intento de fijar el valor de pi por decreto, en 1897, que no era de broma:
https://es.wikipedia.org/wiki/Proyecto_de_ley_de_Indiana_sobre_pi
cc: #39 #60
#90 Muy fácil: El Génesis dice todo el rato "Y vio Dios que era bueno". Eso es que el Universo le salió bien a la primera, con lo que no tuvo necesidad ninguna de hacer versiones.
#41 Es un juicio que el empresario tiene ganado al 100%, y vas a tener que pagarle las horas de encontrar el bug y los daños ocasionados a los clientes.
#52 Llámalo "optimizar", es lo primero que hace el closure compiler de google sobre js
#10 Esos #define afectan al código del módulo o donde afectan?
PS: No tengo ni idea de C
Cuanto daño puede hacer esa redefinición?
PS: Los #define y eso son lo que se conoce como macros en C/C++?
#50 Aliens: Colonial Marines. Lo que podría haber sido ese juego y lo que fue. Vaya oportunidad perdida.
#71 Uf, 3ª persona y parece muy repetitivo, aunque no lo conocía.
#64 #62 Seguro que te parece curioso porque pone do_while que no pasan del primer ciclo en los defines.
https://stackoverflow.com/questions/923822/whats-the-use-of-do-while0-when-we-define-a-macro
#23
#24 Yo he escrito alguna vez codigo que no me funcionaba y no he encontrado el fallo y reescribiendolo tal cual funcióno, no se si habia algun caracter no visible, o algo asi.
En la ultima que me paso, copie un texto al lado del otro y si habia un caracter de diferencia que no vi, lo voy ha hacer cada vez que me vuelva a pasar. Pero me parece si puede pasar por casualida que se vea todo bien, pero el fallo no sea visible. como a #35
Alguna solucion para ver si algun caracter no visiblemente erroneo te esta fastidiando aparte de la de Antonio #29 #33
#73 Yo lo conocia como compresor de codigo u ofuscado, dependiendo de la intencios, si descargar mas rapido o que no reutilicen tu codigo. Pero entiendo que el original es legible.
#57 La mesa es as facil de limpiar, el coche por dentro mas dificil. Yo me olvide pollo envasado en el maletero y el olor a muerto tardo en irse bastante. Del todo más 1 año.
#80 Por si lo quieres usar como sabotaje.
#1 Esto es de un hijoputismo muy serio. Hacerle esto a tus compañeros probablemente sea considerado delitos contra la humanidad, pero si me pongo en plan cabroncete yo añadiría repartir las líneas entre varias cabeceras.
#16 100% de acuerdo.
#52 No es imposible, grep puede buscar espacios o caracteres adyacentes con regex.
#82 Ostia, eres un valiente
Pero por muy grande que sea el commit cuando encuentre el archivo se lo cargan y listo.
Lo diabólico sería ir repartiendo los define por los diferentes headers del proyecto. Uno aquí otro allá...
Hace mucho que no toco C/C++, pero solo se podían poner los #define en los .h? O también se podían meter en los archivos .c/.cpp (los compilados)?
Como se pudieran meter en los cpp entonces sí .
Por cierto yo al menos que he trabajado para 2 bancos y ahora para una empresa del Ibex35 firmas un montón de políticas que básicamente dicen que como hagas esto vas a la cárcel .
#28 "// In case it's not clear: I am not suggesting you actually do this!"
#70 Aliens: Fireteam llegará en verano
A ver como sale...
#56 Supongo que eso sera un preprocesador y que luego ese código no tendra que ser mantenido ni visto por ojos humanos.
#69 Yo recordaba algo del siglo XIX, sí.
#68 ¿Había cosas antes? Yo creía que git era de esas cosas que Dios creó el día 0 No logro entender como creó todo sin tener un git para control de versiones.
El que esta tan quemado como para hacer eso cuando se va, habiendo todo el trabajo que hay en informática, es simplemente un mediocre que no merecia el sueldo que le pagaban.
#39 no fué 3?
#74 Jajaja tal cual
#11 Visa Argentina. Es increíble la cantidad de mierda que generan. Sistemas que los reinician todos los días para que funcionen un rato. Y los fines de semana no funcionan porque no hay nadie que los reinicie.
#75 si usarais vim como dios manda...
#57 eso tampoco vale porque seguro que lo va a limpiar algun pobre desgraciado
Diabolico?...Diabolico era el PJTOOLS de TID hace ... 20 anios. Se inventaron un control de versiones que fue programado por un/a psicopata.
Solo mejorable cuando en 2001 en el proyecto de Ibox, cogieron como CV SourceSafe y como la gente bloqueba los modulos, se vieron forzados a modificar versiones bloqueadas por otros.... y a machacar los cambios de los otros.
Eso si que fue una hecatombe con todo el codigo de Iobox creado por TID yedonse a la mierda a pesar de los 30 millones de euros que costo, en 2001 estamos hablando.
#49 Ojo, la caché la gestiona la propia CPU y en principio es invisible para el software (aunque algunas CPUs tienen instrucciones especiales para accesos sin caché). Volatile lo que hace es que no se pueda guardar la variable en un registro y desactiva cualquier tipo de optimización.
#79
Y que tiene que ver que te olvidaras un pollo en tu coche a cagar en la mesa del jefe? por cierto, responde a la gente individualmente porque sino es imposible seguir nada.
#84
La señora de la limpieza se puede negar a limpiar mierda y no es un daño para nada equiparable. Lo que se comenta en este envio es el equivalente a parar la produccion de una fabrica.