#1:
Es lo que toda la vida se ha llamado "programación visual".
#6:
#4 quien lo hizo estudió el formato de un BMP (es un formato por pixels sin compresión) y eligió los valores adecuados (por eso demora escribiendo los valores en hexadecimal para RGB).
Sin dudas, hizo un trabajo muy creativo je.
#10:
#8 no puede, primero debería eliminar la cabecera bmp y luego compilarlo antes de tener el ejecutable
#8:
pero vamos, que hubiera estado mejor si después de haber guardado la imagen en bmp la hubiera renombrado a exe y lo hubiera ejecutado
#c-32" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1223180/order/32">#32 El archivo XPM es en realidad un archivo de texto plano .
#60 Ninguno, de hecho los XPM son solo eso. Como curiosidad, el icono se ve directamente en Emacs y otros editores a escala en el array , con colorines y todo gracias al resaltado de sintaxis .
#10 A lo que se refiere #8 es que hubiese puesto directamente el código ensamblado, pero efectivamente, la cabecera BMP habría fastidiado el fichero y no habría sido un EXE/PE válido (por no empezar con los caracteres PE, por ejemplo).
#13 el formato BMP se compone de una cabecera (el inicio del fichero contiene algunos datos que indican que tipo de BMP es y algunas cosas más, ver enlaces al final) y luego no es más que una descripción, numérica, del color de cada pixel de la imagen, en un formato conocido como RGB (Red, Green, Blue, colores primarios).
Normalmente se asigna 1 byte a cada uno de estos colores (en BMPs modernos de 24bits de color), y otro byte más para otras propiedades como transparencia. Si estos valores, números al fin y al cabo, los lee un programa (el notepad) que cree que estos números representan letras de acuerdo a un código (por ejemplo en código ASCII, en el que cada letra se representa por 7 bits), eso es lo que mostrará en pantalla.
La "magia" es encontrar una combinación de pixels que, colocados en un BMP de un tamaño determinado, al abrirlo como ASCII u otra codificación de caracteres, de como resultado un programa en un lenguaje de programación conocido, en este caso C++.
#8 Un .exe es dificil, pero un .com de los de msdos y que supongo que windows todavia ejecuta se puede ensamblar a pelo sin mucha complicación ya que no tienen cabecera y el punto de entrada creo que era siempre fijo.
#28 Quería decir que el notame fue primero en el sentido de que fue anterior al meneo. Que salió antes allí, vamos. No que fuera el primer sitio en el que se vió.
Chicos, entiendo que os sorprenda pero eso es tremendamente sencillo de hacer. Incluso podria haber hecho un script que eliminara con, por ejemplo awk la primera linea y le pasara al compilador el codigo para ejecutarlo despues.
No quiero parecer poco humilde pero en serio, es muy muy sencillito, otra cosa es que es algo laborioso pero incluso es muy sencillo hacer un script que dado un texto te devuelva la matriz de pixeles en rgb traducida. y asi solo hay que ir metiendo uno a uno en la imagen!
Como curiosidad esta bien desde luego.
#4 quien lo hizo estudió el formato de un BMP (es un formato por pixels sin compresión) y eligió los valores adecuados (por eso demora escribiendo los valores en hexadecimal para RGB).
Sin dudas, hizo un trabajo muy creativo je.
#42 En Befunge y BrainFuck, otros 2 lenguajes esotericos se puede programar también se puede programar por colores, de hecho hace unos años ví un traductor de C a Befunge que daba como resultado un bitmap. Lo subias a un compilador de Befunge online y el programa funcionaba.
Desde luego el mundo es jodidamente injusto Genios desperdiciando sus capacidades de semejante manera, y después gente "mediocre" (hablo en comparación, no despectivamente, que quede claro) que se deja la piel en cada cosa que hace y aún así esta no dejara de ser al final igual de mediocre. Claro que la genialidad proviene de la creatividad y la originalidad con lo cual, si no hicieran cosas excéntricas no serían capaces de ser genios....... pero joder, imaginar el potencial que el ser humano podría alcanzar si los genios del mundo dedicaran todo el esfuerzo que dedica el mediocre en realizar cosas productivas y útiles.......... es sencillamente desbordante......... en fin...... soñar es gratis.....
Y digo yo desde la ignorancia: ¿No habrá programado normal y luego el archivo lo abrió como .BMP apuntar los valores en una hoja y repetir el proceso a la inversa?
Lástima que al principio del fichero le salga toda esa basura (relacionada con las cabeceras bmp)
Si lo hubiese guardado en formato raw (bmp sin cabecera) hubiese quedado mas bonito, pero claro, mspaint creo que no soporta raw
Y una duda: ¿Por qué está ahora tan de moda guardar videos en formato gif? (tardan la vida en abrirse)
Pensé que sería posible hacer el proceso inverso, es decir, escribir un texto plano y agregarle el encabezado bitmap, pero no es tan fácil. En realidad se lo ha currado.
Comentarios
Para mí lo más sorprendente es que el tío haga un screencast y lo guarde como GIF. En el siglo XXI.
Sí. Efectivamente el programador es un hombre. Una mujer habría elegido otra gama de colores.
Jajaja habría que actualizar http://xkcd.com/378/
#14 windows funciona correctamente?!?
No. Esa es la razón de los tantos fallos de Windows, está escrito en Paint.
#17 El que lo programa es Chuck Norris ¿no?
Ya no. Desde hace algún tiempo programa con mariposas (ver #2)
Es lo que toda la vida se ha llamado "programación visual".
#c-32" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1223180/order/32">#32 El archivo XPM es en realidad un archivo de texto plano .
/* XPM */
static char * supertux_xpm[] = " c None",
". c #020400",
"+ c #10120F",
"@ c #1E1D02",
"# c #1A1B19",
"$ c #262827",
"% c #333534",
"& c #413517",
"* c #3C342A",
"= c #424341",
"- c #514714",
"; c #52492B",
"> c #444A4F",
", c #3D4D60",
"' c #51524F",
") c #5C5E5B",
"! c #5A646F",
"~ c #696648",
"{ c #7A6A1D",
"] c #55708B",
"^ c #8E6635",
"/ c #7D7232",
"( c #70716E",
"_ c #597E9E",
": c #978123",
"< c #908234",
"[ c #6D8297",
""> c #A3783C",
"| c #838481",
"1 c #9C8E14",
"2 c #9A9072",
"3 c #BF8940",
"4 c #939490",
"5 c #A79D3A",
"6 c #929799",
"7 c #84A2BB",
"8 c #72A6DC",
"9 c #AC9B7E",
"0 c #6BA7F2",
"a c #BFA525",
"b c #6DB1F1",
"c c #B9A960",
"d c #A7A7A1",
"e c #8AB7E1",
"f c #A1BBA6",
"g c #88BBF1",
"h c #DFB23E",
"i c #9EB9CE",
"j c #D3C30E",
"k c #CEBE46",
"l c #B3C396",
"m c #DAC437",
"n c #C2C985",
"o c #C0C2BF",
"p c #A2CBF4",
"q c #ECCB2C",
"r c #E5DA1D",
"s c #CDCDB4",
"t c #B7D4ED",
"u c #D0D2CF",
"v c #D3DAE1",
"w c #C7E2F7",
"x c #DFE1DD",
"y c #EAECE9",
"z c #FAFCF9",
" ",
" gg ",
" gppg ",
" eppeeg ",
" e7[!,]_8 ",
" ])'=%#..$, ",
" [>)'=$+++.._ ",
" 7!''=%#%6!.,8 ",
" p!>)>=$$>v|.+#78 ",
" pi%=''=%#'u..&:knlf ",
" pw7$=>=>%##'%:amqqqmmm ",
" ptt]#%=%%$...+^3hhqhhhk ",
" twt7%#%%$.#....*^}}9di7g ",
" pwwt,#%=%$.......#*'ebbbb0 ",
" twwt6$$>%$#......=d67ggbgb0 ",
" twww7,%===%#.....$4vzzxegbbbb0 ",
" pwww[$=>==$#..+#=xzzzzvebbbb0 ",
" twv>%='=%$...$'4uyzzzzzi8bb0 ",
" pt,%'>=%#...#>vyzzzzziei8 ",
" ps~%''%$######$(yzzzzzunrk ",
" ch/''=$###$$$##6yzzzzsmj1 ",
" cam^'%%##.#)!)=6vyzzzdk: ",
"
#45 Que es un array en C que se puede incluir en un proyecto directamente como como he dicho. ¿Dónde ves el problema?
#60 Ninguno, de hecho los XPM son solo eso. Como curiosidad, el icono se ve directamente en Emacs y otros editores a escala en el array , con colorines y todo gracias al resaltado de sintaxis .
#60 Que por cojones quieren que uses paint, cuando los demosceners hacen ese tipo de cosas y mas.
http://es.wikipedia.org/wiki/Demoscene
#1 Me explicas el video, por favor? No entiendo la "gracia"
El que lo programa es Chuck Norris ¿no?
Soy basura
pero vamos, que hubiera estado mejor si después de haber guardado la imagen en bmp la hubiera renombrado a exe y lo hubiera ejecutado
#8 no puede, primero debería eliminar la cabecera bmp y luego compilarlo antes de tener el ejecutable
#10 A lo que se refiere #8 es que hubiese puesto directamente el código ensamblado, pero efectivamente, la cabecera BMP habría fastidiado el fichero y no habría sido un EXE/PE válido (por no empezar con los caracteres PE, por ejemplo).
#13 el formato BMP se compone de una cabecera (el inicio del fichero contiene algunos datos que indican que tipo de BMP es y algunas cosas más, ver enlaces al final) y luego no es más que una descripción, numérica, del color de cada pixel de la imagen, en un formato conocido como RGB (Red, Green, Blue, colores primarios).
Normalmente se asigna 1 byte a cada uno de estos colores (en BMPs modernos de 24bits de color), y otro byte más para otras propiedades como transparencia. Si estos valores, números al fin y al cabo, los lee un programa (el notepad) que cree que estos números representan letras de acuerdo a un código (por ejemplo en código ASCII, en el que cada letra se representa por 7 bits), eso es lo que mostrará en pantalla.
La "magia" es encontrar una combinación de pixels que, colocados en un BMP de un tamaño determinado, al abrirlo como ASCII u otra codificación de caracteres, de como resultado un programa en un lenguaje de programación conocido, en este caso C++.
Más información:
http://en.wikipedia.org/wiki/BMP_file_format#Bitmap_file_header
http://en.wikipedia.org/wiki/BMP_file_format#Pixel_Format
http://en.wikipedia.org/wiki/ASCII
#8 #10 #31 Efecto túnel "programado" en píxeles [ENG]
Efecto túnel "programado" en píxeles [EN...
iquilezles.org#8 Un .exe es dificil, pero un .com de los de msdos y que supongo que windows todavia ejecuta se puede ensamblar a pelo sin mucha complicación ya que no tienen cabecera y el punto de entrada creo que era siempre fijo.
#8: estaba esperando éso!
El nótame fue primero: @equisdx
#7 El nótame no fue el primero, fue el enésimo. Apareció en StackOverflow el 1 de Abril (April fools), pero seguramente tenga años.
#28 Quería decir que el notame fue primero en el sentido de que fue anterior al meneo. Que salió antes allí, vamos. No que fuera el primer sitio en el que se vió.
Ahivá la Ostia
Si buscas Google en google se destruye internet
entonces ......
si programas el paint en el paint
.....
windows funciona correctamente?!?
#14 No, pero creas una paradoja digna de Terminator.
Después del POO programación orientada a objetos llega el POP ... orientado al paint
#18 Ten cuidado que... cuando haces POP (Paint-Oriented Programming) ya no hay STOP
#55 pues cuando haces PUSH ya ni te digo
con paint pero sin mirar los códigos de color ¿a que no hay guevos?
Aficionados. Los hombres de verdad programan silvandole a un modem de 56kb...
No es un real programmer, usa los valores RGB numéricos en lugar de usar la paleta a ojo.
Chicos, entiendo que os sorprenda pero eso es tremendamente sencillo de hacer. Incluso podria haber hecho un script que eliminara con, por ejemplo awk la primera linea y le pasara al compilador el codigo para ejecutarlo despues.
No quiero parecer poco humilde pero en serio, es muy muy sencillito, otra cosa es que es algo laborioso pero incluso es muy sencillo hacer un script que dado un texto te devuelva la matriz de pixeles en rgb traducida. y asi solo hay que ir metiendo uno a uno en la imagen!
Como curiosidad esta bien desde luego.
¡La madre que lo parió!
#4 quien lo hizo estudió el formato de un BMP (es un formato por pixels sin compresión) y eligió los valores adecuados (por eso demora escribiendo los valores en hexadecimal para RGB).
Sin dudas, hizo un trabajo muy creativo je.
Pero qué cojones! Alguna explicación técnica (edit: que extienda la de #6)???
La siguiente generación de malware está en camino...
En GIMP también se puede hacer al revés, a partir de una imagen, exportar a código fuente en C.
#29 También el formato de los pixmaps de X11 es un array en C que se puede compilar directamente en el ejecutable.
http://en.wikipedia.org/wiki/X_PixMap
El nivel master es en escala de grises, nada de colorines.
¿Alguien sabe dónde se hace un master de paint? Gracias
Pero Paint es de Microsoft! Esto es peor que Visual Basic!
Este lenguaje esotérico usa imágenes como entrada.
Miren los ejemplos.
http://www.dangermouse.net/esoteric/piet.html
#42 En Befunge y BrainFuck, otros 2 lenguajes esotericos se puede programar también se puede programar por colores, de hecho hace unos años ví un traductor de C a Befunge que daba como resultado un bitmap. Lo subias a un compilador de Befunge online y el programa funcionaba.
#42: Yo recuerdo verlo hace tiempo en la Wikipedia, afortunadamente ningún bibliotecario se ha cargado el artículo:
http://en.wikipedia.org/wiki/Piet_%28programming_language%29
Espero que siga mucho tiempo y que no lo quiten los bibliotecarios.
Tan curioso como inútil
Ese código no compila porqué tiene las cabeceras del bitmap. Aún así tiene su gracia, muy viral por la cara...
Y los que escriben compiladores lo hacen así:
cat > a.out
¿¿Entonces los de bellas artes éramos programadores sin saberlo??
En algún acertijo aquí:
http://raultecnologia.scienceontheweb.net/informaticariddle/index.htm
había algo como bmp2ascii en alguno de ellos.
dios que disparate!!!!!!!!!!!!!
Desde luego el mundo es jodidamente injusto Genios desperdiciando sus capacidades de semejante manera, y después gente "mediocre" (hablo en comparación, no despectivamente, que quede claro) que se deja la piel en cada cosa que hace y aún así esta no dejara de ser al final igual de mediocre. Claro que la genialidad proviene de la creatividad y la originalidad con lo cual, si no hicieran cosas excéntricas no serían capaces de ser genios....... pero joder, imaginar el potencial que el ser humano podría alcanzar si los genios del mundo dedicaran todo el esfuerzo que dedica el mediocre en realizar cosas productivas y útiles.......... es sencillamente desbordante......... en fin...... soñar es gratis.....
FDO: Un mediocre.
Yo programo con una grapadora sobre el disco duro.
oO Acojonante.
¿En serio meneamos tweets ya? ¿En serio?
#56 porque no se puede menear la imagen
Y digo yo desde la ignorancia: ¿No habrá programado normal y luego el archivo lo abrió como .BMP apuntar los valores en una hoja y repetir el proceso a la inversa?
Sabe alguien si esto funciona?
Lástima que al principio del fichero le salga toda esa basura (relacionada con las cabeceras bmp)
Si lo hubiese guardado en formato raw (bmp sin cabecera) hubiese quedado mas bonito, pero claro, mspaint creo que no soporta raw
Y una duda: ¿Por qué está ahora tan de moda guardar videos en formato gif? (tardan la vida en abrirse)
Pensé que sería posible hacer el proceso inverso, es decir, escribir un texto plano y agregarle el encabezado bitmap, pero no es tan fácil. En realidad se lo ha currado.
Y yo que programo con "vim" o "gedit"... Me siento obsoleto
rediossssss
Joder y yo programo en visual basic y me creo algo...
He echado a perder mi vida.
#25 Si programas en Visual Basic y te crees algo estás muy mal ehh
Eso no es nada, esta programando con un lenguaje de alto nivel, lo que mola es hacer lo equivalente pero en ensamblador... FUCK YEAH!!!!
Me he tirado unas cuantas horas programando con el Paint y me ha salido esto:
http://jbacteria.antoniovillena.es/abadiade
No es tan guay como el del tío ese pero al menos se puede ejecutar:
http://jbacteria.antoniovillena.es/jAmeba?n=abadiade
Windoze está programado todo en Paint.
Mac en Photoshop.