Publicado hace 3 años por --366944-- a gist.githubusercontent.com

Justo antes de cambiar de trabajo añade a un commit uno de estos. Preferiblemente en el mismo commit donde haces un gran merge.

Comentarios

casius_clavius

#24 Hay que ser muy cabrón...

zuul

#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.

casius_clavius

#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.

Honzo

#35 A veces hay cosas cacheadas en el IDE

zuul

#75 si usarais vim como dios manda...

Honzo

#82 Ostia, eres un valiente lol

zuul

#88 que va, era coña. Lo uso mucho, pero no para programar todo el rato. roll

l

#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.

D

#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.

l

#80 Por si lo quieres usar como sabotaje.

DeepBlue

#24

carlesm

#11 Incluyendo algunas donde para poder hacer commit, primero tendrias que montar tu el servidor de git....

d

#74 Jajaja tal cual

D

#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).

d

#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.

D

#16 100% de acuerdo.

estoyausente

#16 que hace volatile en c++?

estoyausente

#49 AAh, entiendo. Buena putada esa entonces, sí

D

#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.

Y

#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.

D

#8 los de asuntos internos le han tendido una trampa

b

#10 Ya veo. Gracias.

ur_quan_master

#10 la última es diabólica

llorencs

#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++?

Idomeneo

#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.

Idomeneo

#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.

D

#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.


editado:
insisto en que esto es sólo una broma.

ccguy

#10 la definición del if no necesariamente lleva a un bucle infinito, depende de la condición

Fernando_x

#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.

mecha

#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

D

Bueno, solo quería comentar que soy un gran fan.

pedrobz

#13 Positivo por el frikismo de referenciar a Tenacious D

D

Que cantidad de maldad concentrada que hay ahi...

Penetrator

#3 Y eso que se han olvidado de un clásico:

#define true false

Sergi-o

Este es maravilloso:

#define M_PI 3.2f

daphoene

#27 Ya hubo quien intentó hacerlo por decreto... ( En USA, cómo no... )

d

#39 lol

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

Idomeneo

#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

daphoene

#69 Yo recordaba algo del siglo XIX, sí.

M

#39 no fué 3?

S

#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.

Barquero_

#52 Llámalo "optimizar", es lo primero que hace el closure compiler de google sobre js

S

#56 Supongo que eso sera un preprocesador y que luego ese código no tendra que ser mantenido ni visto por ojos humanos.

D

#52 No es imposible, grep puede buscar espacios o caracteres adyacentes con regex.

D

Mi preferido es el "Randomness based; "works" most of the time." lol

omegapoint

#7 algunas pasarian por testing inadvertidas y alguien lo descubriría años después.

Cuelan bugs mucho más gordos

D

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

Carme

#1 no deja porque pide login en github, pero el enviado está bien lol

D

#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.

S

#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

Tannhauser

#50 Aliens: Colonial Marines. Lo que podría haber sido ese juego y lo que fue. Vaya oportunidad perdida.

S

#70 Aliens: Fireteam llegará en verano

A ver como sale...

Tannhauser

#71 Uf, 3ª persona y parece muy repetitivo, aunque no lo conocía.

pip

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í.

Yomisma123

#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.

D

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.

zuul

#57 eso tampoco vale porque seguro que lo va a limpiar algun pobre desgraciado

D

#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.

D

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 .

D

#46 A lo mejor alguien ha quemado los servidores después de joder un repositorio git y largarse de la empresa tinfoil

malacaton

#51 lol lol lol ¡Es lo primero que pensé!

D

Titular en inglés, y no consigo saber en qué idioma está la entradilla

Idomeneo

#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.

Penetrator

#36 En mi empresa no corregimos errores, "fijamos ishus".

D

#53 ¿Y también deployáis rilises?

D

#22 Vienen de mucho antes de Git.

Idomeneo

#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...

mecha

#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.

Idomeneo

#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. lol lol

sanchez

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.

squanchy

#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.

mr_b

#0 En general hay que traducir también el titular. Gracias.

b

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

pedrobz

#28 "// In case it's not clear: I am not suggesting you actually do this!"

ktzar

#define true ((rand()&15)!=15)
Evil...

D

Shut the fuck up, fucking prick.


Cómo molan los anglicismos roll

adrigm

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í lol.

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 lol.

pedrobz

#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.

lawnmowerdog

#26 siempre puedes commitear eso con otro usuario

vjp

#26 no hay problema en meterlo en el cpp o incluso en los directive preprocessor de la solución

Polarin

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. wall wall wall

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.

e

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.