Creative Commons License krshock: insanidad garantizada por krshock está licenciado según la Creative Commons Atribución-No Comercial-Sin Derivadas 2.0 Chile License. excepto en los casos que se declare explícitamente otra licencia o autor.





Chileno, Talquino, Santiaguino y Talquino.

sábado, julio 06, 2013

HaXe crashcourse, Day One: Invalid DCE mode FIX

Today when i tried to build a fresh empty Haxe NME project in FlashDevelop, the next error happened:

Building Test001
haxelib run nme build C:\Users\kr\Documents\Test001\application.nmml flash

Error: : Invalid DCE mode, expected std | full | no.
Haxe Compiler 3.0.0 - (C)2005-2013 Haxe Foundation
 Usage : haxe.exe -main <class> [-swf|-js|-neko|-php|-cpp|-as3] <output> [options]
 Options :
  -cp <path> : add a directory to find source files
  -js <file> : compile code to JavaScript file
  -swf <file> : compile code to Flash SWF file
  -as3 <directory> : generate AS3 code into target directory
  -neko <file> : compile code to Neko Binary
  -php <directory> : generate PHP code into target directory
  -cpp <directory> : generate C++ code into target directory
  -cs <directory> : generate C# code into target directory
  -java <directory> : generate Java code into target directory
  -xml <file> : generate XML types description
  -main <class> : select startup class
  -lib <library[:version]> : use a haxelib library
  -D <var> : define a conditional compilation flag
  -v : turn on verbose mode
  -debug : add debug information to the compiled code
  -dce [std|full|no] : set the dead code elimination mode
  -swf-version <version> : change the SWF version (6 to 10)
  -swf-header <header> : define SWF header (width:height:fps:color)
  -swf-lib <file> : add the SWF library to the compiled SWF
  -swf-lib-extern <file> : use the SWF library for type checking
  -java-lib <file> : add an external JAR or class directory library
  -x <file> : shortcut for compiling and executing a neko file
  -resource <file>[@name] : add a named resource file
  -prompt : prompt on error
  -cmd : run the specified command after successful compilation
  --flash-strict : more type strict flash API
  --no-traces : don't compile trace calls in the program
  --gen-hx-classes : generate hx headers for all input classes
  --next : separate several haxe compilations
  --display : display code tips
  --no-output : compiles but does not generate any file
  --times : measure compilation times
  --no-inline : disable inlining
  --no-opt : disable code optimizations
  --php-front <filename> : select the name for the php front file
  --php-lib <filename> : select the name for the php lib folder
  --php-prefix <name> : prefix all classes with given name
  --remap <package:target> : remap a package to another one
  --interp : interpret the program using internal macro system
  --macro  : call the given macro before typing anything else
  --wait <[host:]port> : wait on the given port for commands to run)
  --connect <[host:]port> : connect on the given port and run commands there)
  --cwd <dir> : set current working directory
  -version : print version and exit
  --help-defines : print help for all compiler specific defines
  --help-metas : print help for all compiler metadatas
  -help  Display this list of options
  --help  Display this list of options

Build halted with errors (haxelib.exe).
Done(1)
The solution is very straightforward: Disable the DCE compiler flag for haxe3 makes the build work again in FlashDevelop, and all that you need to do is delete the line "-dce" from the "Compiler options" list located in Menu>Project>Properties>Compiler Options Tab>Additional Compiler Option>[...]

miércoles, octubre 17, 2012

Cosmos (por Carl Sagan)

No hay mucho que decir cuando mis palabras sobre Cosmos son tantas. Habla sobre lo gigante y lo pequeño. El futuro y la historia. La vida. Y por sobre todo: del conocimiento mismo (y lo que conocemos del universo).

miércoles, octubre 10, 2012

labs: Sistema de particulas gravitatorias en javascript (update #001)

(no funciona en Internet Explorer)

Últimamente he estado algo fascinado con el concepto de los sistemas de partículas. Y me he dado un rato para experimentar con la idea. Aquí dejo una pequeña simulación 2D (físicamente inexacta) realizada en Javascript y Canvas.

miércoles, junio 29, 2011

mongodb

Aprovechando de cacharrear un rato con mongodb, les dejo un par de números, que aunque por sí solos no dicen mucho, permiten hacerse una idea:

domingo, junio 19, 2011

#hoyAprendí-001: Ingeniería de Ejecución en Informática


A continuación una selección al azar de lo que he visto por la internet por estos días:

  • Virtualbox no soporta sistemas guest de 64 bits en en un host de 32 bits ni viceversa, no es gran problema, pero es algo que tener en cuenta para el futuro.
  • mongoDB tiene un límite de 2,5 GB de almacenamiento en sistemas de 32 bits, no es que planee alcanzar ese volumen de datos en pruebas caseras pero he leido comentarios de gente que se ha enterado algo tarde.
  • cassandra está hecho en java, no tengo escusa, java será maravilloso pero bueno... pero no me agradan los runtime de 135mb, Patrones de programación extraterrestres y GUIs legadas, feas y lentas con las cuales sobrecargar mi CPU me han hecho un prejuicioso.
  • Como seleccionar registros aleatorios de una consulta sql en SQL SERVER, MySQL, PostgreSQL Access, DB2.... exactamente lo que necesitaba para un pequeño conejillo de indias que estoy programando.
  • La existencia de los sistemas de recarga continua para impresoras a color que permiten recargar sin sacar el cartucho(uno especial que reemplaza el original de la impresora, y es alimentado por un conjunto de manguerillas) son muy prácticas y AHORRAN-UNA- FORTUNA. Así que si trabajas en algo que requiera cantidades ingentes considerables de impresiones a color prueba uno de estos sistemas.
PS: No es que realmente odie a Java, es un mero asunto de feeling.

jueves, junio 02, 2011

krshock - ¡pium MUERE!



Me demoré 45 minutos desde que abrí Milkytracker a el instante que terminó en línea en los servidores de Goear.
Me duele reconocer lo mucho que me agradaría programar un buen juego que acompañe a esta canción remedo de ChipTune. Pero mi cabeza por estos días no anda exactamente "sobrada" de tiempo para nada.

Es una canción cíclica, el loop principal se repite dos veces para que se hagan la idea de escucharla a lo largo de todo el nivel de un juego de manera (si aguantas) infinita.

sábado, abril 16, 2011

Limitar ancho de banda utilizable por apt-get

Si no se te ocurre ninguna situación en la que la instalación/descarga de un paquete o la actualización de tu sistema pueda saturar tu medio de acceso a internet hasta el punto de congelar irremediablemente todas las demás tareas en las que tú (y/u otra gente además de tí) estén realizando en la red... entonces no hay sentido (ni contexto consistente) en que sigas leyendo.

Creo ya haber explicado la idea de porqué esto puede ser útil, así que enfoquémonos en la manera de lograrlo. El método que acostumbro utilizar es sencillamente agregarlo como parámetro de configuración del modulo de descarga http al momento de ejecutar un comando con apt por ejemplo:

apt-get -o Acquire::http::Dl-Limit=200 upgrade


Donde el 200 puede ser reemplazado por el límite de ancho de banda a utilizar (expresado en kbps), lo agradable y elegante de esta solución es que sólo afecta la instancia actual en ejecución sin guardar la configuración para ejecuciones futuras.

¿fácil no? Es una ridiculez dedicarle tanta palabra a algo tan simple... pero podré vivir con ello.

martes, enero 04, 2011

Hola mundo en assembler (sin sistema operativo)

Siempre he creído que para iniciarse en algo nuevo hay que (como dirían por mis tierras) "tirar toda la carne a la parrilla". Y como el kernel de linux tiene una estructura ridículamente complicada he decidido aprender ciertas cosas por mi cuenta.
Esta vez nada de fanboyismos ni esas cosas de mal gusto que proliferan por la interné, todo el código es liberado bajo licencia pública por aburrimiento y decisión propia.
// prog.S
// Prototipo programa Assembler
// Hola Mundo Sin sistema operativo para IA32, i386 o x86

// by krshock! krshock@gmail.com
// Código licenciado como material de Dominio Público

.globl kloader

// Lea la especificación multiboot para entender las siguientes cuatro lineas:

.align 4; // Encabezado multiboot
.long 0x1BADB002; // Multiboot magic number
.long 0x00000003; // Multiboot flags
.long 0-(0x1BADB002 + 0x00000003); // Multiboot Flags Checksum

// Espacio reservado para nuestro stack
.comm __stack, 0x4000


// Primera función ejecutada
kloader:

// Define un espacio en memoria seguro para utilizar como stack
mov __stack+0x4000, %ebp

// Llama a la función 'main'
call main

// Desactiva las interrupciones
cli

// Fin del programa en un loop infinito para hacer un HALT a la cpu.
loop:
hlt
jmp loop; // esto es para 'solo para asegurarse'


// Funcion principal (llamada desde kloader)
main:

// Borrar pantalla para eliminar cualquier mensaje de la BIOS.
call clscr

// Mover a EAX el 'puntero' al mensaje "hola mundo" (definido al final)
// (Nótese el paso de parametros al procedimiento asprint sin empujarlo al
// stack como ocurre en C)
mov $.msg,%eax
call asprint
ret


// Imprime un mensaje desde un puntero en EAX en el extremo superior de la
// pantalla. La dirección de memoria 0xb8000 corresponde exactamente al primer
// carácter de la pantalla de texto.
asprint:
push %ebp
mov %esp, %ebp

mov $0xb8000,%ebx
.prloop:
mov (%eax),%cl
mov %cl,(%ebx)
inc %eax
add $2,%ebx
cmp $0,(%eax)
jne .prloop
pop %ebp
ret

// Clear Screen (borrar pantalla)
// Elimina cualquier texto de la pantalla. No reiniciará los colores, solo
// los caracteres.
clscr:
push %ebp
mov %esp, %ebp
mov $0xb8000,%ebx; // Puntero al primer caracter en pantalla en EBX
mov $0xb8000,%ecx
add $160*25-2,%ecx; // Puntero al último caracter de la pantalla en ECX
mov $' ',%al;
.clsloop:
mov %al,(%ebx)
add $2,%ebx
cmp %ecx, %ebx
jna .clsloop
pop %ebp
ret

.msg:
.ascii "ensamblador: Hola mundo!\0"
dicen las malas lenguas que esto compila en linux con el comando:
as prog.S -o prog.o -g
ld -T linker.ld -o lala.bin prog.o
además chico pérez me dice por interno que esto se puede probar con el emulador qemu:
qemu -kernel lala.bin

martes, febrero 19, 2008

Descargar Instrumentos XI

Aqui les muestro como obtener un modesto respositorio de instrumentos en formato XI para alimentar tu tracker favorito, en tres simples pasos.

Paso 1, descargar:

wget --recursive ftp://ftp.kiarchive.ru/pub/.1/ft2/ft2/ `--follow-ftp -c --level=100



Paso 2: crear y ejecutar el script [xt.h] en la carpeta ftp.kiarchive.ru/pub/.1/ft2/ft2/:
#!/bin/sh
# script original sacado de:
#http://www.linuxquestions.org/questions/linux-software-2/using-rar-or-unrar-for-recursive-extracting-380692/
# ASsume this file is called recurse.sh, and that it's in the path:
#

# We'll save the current directory, so we can assemble absolute paths
currdir=`pwd`

# We first extract all the *.rar files in this directory
echo "Working in directory: $currdir"
pwd
rm 0index

for rfiles in `find . -maxdepth 1 -name '*.rar'`
do
pwd
unrar x -y $rfiles
rm $rfiles
done

# Now we recurse
for dir in `find . -maxdepth 1 -type d`
do
cd $currdir/`basename $dir`
if [ -e $1xt.h ]; then
$1xt.h $1../
fi
done


<- Paso 3, queme su DVD y disfrute. Nota: El proceso puede demorar un par de horas o mas dependiendo de el poder de tu CPU y tu conexion a internet. Nota2: Milkytracker es un tracker gratuito, multiplataforma y portable, y con el que pierdo el tiempo cuando no hay nada que hacer.

Nota3: La descarga y descompresion la realizé utilizando msys, wget(win32) y unrar(win32) sobre windows XP (en mi trabajo). Teóricamente esto debería funcionar perfectamente en linux pero si alguien me lo confirma estaré agradecido.

domingo, enero 13, 2008

¡Oops! sad guitar


Me demore 3 días en lograr reparar mi guitarra después del "arreglo" que se me ocurrió hacerle. Demasiadas cosas salieron mal(muchas veces) lo que convirtió la reparación de las cápsulas en una prueba a mi paciencia y motricidad fina.


Pero hoy en la tarde después del desastre y mucho desvelo mi artcore recuperó su sonido y ya no es más una guitarra triste :)

sábado, enero 12, 2008

Scotch mist - Radiohead

Título: Scotch mist
Duración: 52 min 31 seg
Descripción: Ejecución completa del album "in Rainbows" producida y publicada por Radiohead para la vispera del año nuevo(que ya llegó).
URL: http://www.youtube.com/watch?v=ukythkK4EPQ

Acerca de In Rainbows: Radiohead da de baja a sus fantasmas Kid A y Amnesiac para hacer un disco que vuelve a un sonido más rotundo y jugado.