Practicas de SI2… que dolor

By | 24.03.2018

Bueno, despues de debanarme los sesos día y medio con este error :

Bien… despues de indagar, encontre como solucionarlo en StackOverflow. Segun pude entender, hay un conflicto en Glashfish, con uno de sus modelos. Desisntalando dicho modulo tanto en la maquina que ofrece el webservice, como la maquina cliente del webservice, se soluciona el toston :

/opt/glassfish3/bin$ sudo ./pkg uninstall sun-javaee-engine
$ asadmin stop-domain
$ asadmin start-domain

Y ya tira asi…creditos con asnef

Fuente!

RDCPU-16 ¡Estoy enfermo!

By | 16.03.2018

Creo que solo han pasado dos días desde que Noth anuncio 0x10c, su nuevo juego de ciencia ficción en que habrá que programar un microordenador con una CPU de 16 bits al mas puro estilo ochentero. La gracia es que en ese breve lapso de tiempo, ya han aparecido, ensambladores, compiladores, desensambladores, emuladores y hasta una IDE!

Yo por mi parte, hice mi propia especificación de una CPU basada en la original de Notch con un diseño RISC, a la cual la llamo RDCPU-16

RISC DCPU-16 variant

* Work with 16 bit unsigned words, but have basic 16 bit signed two complement arithmetic (not MUL / DIV / MOD for signed integers)

* 0×10000 word of RAM

* 11 general 16 bit registers (A, B, C, D, E, F, X, Y, Z, I, J)
* program counter (PC)
* base pointer (BP)
* stack pointer (SP)
* overflow (O)

In this document, anything within [brackets] is shorthand for “the value of the RAM at the location of the value inside the brackets”.
For example, SP means stack pointer, but [SP] means the value of the RAM at the location the stack pointer is pointing at.
Access to RAM memory for data are only by RAM I/O instructions hurtig lån uden sikkerhed og dokumenter.
Instructions are from 1 to 3 words of long and can handle a max of 1024 + 64 different instructions
Whenever the CPU needs to read a word, it reads [PC], then increases PC by one. Shorthand for this is [PC++].
In some cases, the CPU will modify a value before reading it, in this case the shorthand is [++PC].

General Format of Instructions:
bbbbbb aaaa oooooo

Where aaaa: (destination)
0×0 – 0xB : Registros (A,B,… Z, I ,J)
0xC : SP
0xD : BP
0xE : PC
0xF : O

Where bbbbbb: (source)
0×00 – 0x0B : Registros (A,B,… Z, I ,J)
0x0C : SP
0x0D : BP
0x0E : PC
0x0F : O
0×10 : next word is a 16 bit literal
0×11 – 0x3f : Literal value -1, 0×00-0x2D

Where oooooo are the basic OpCodes

Special opcodes:
0×00: non-basic instruction – see below
0x3F: JSR a – pushes the address of the next instruction to the stack, then sets PC to a (like STORE SP–, PC+1; SET PC, a)
0x3E: NOP – Not Operation (do nothing)
0x3D: SWP a, b – Swap two register values

Math OpCodes:
0×01: SET a, b – sets a to b
0×02: ADD a, b – sets a to a+b, sets O to 0×0001 if there’s an overflow, 0×0 otherwise
0×03: SUB a, b – sets a to a-b, sets O to 0xffff if there’s an underflow, 0×0 otherwise
0×04: MUL a, b – sets a to a*b, sets O to ((a*b)>>16)&0xffff
0×05: DIV a, b – sets a to a/b, sets O to ((a<<16)/b)&0xffff. if b==0, sets a and O to 0 instead.
0×06: MOD a, b – sets a to a%b. if b==0, sets a to 0 instead.
0×11: NEG a, b – sets a to -b (!b +1 & 0xffff) read more

DEDCPU-16 Un emulador sencillo de DCPU-16

By | 07.03.2018

Y siguiendo con que tengo que estar enfermo, ayer en un rato hice un emulador sencillote del DCPU-16.
Es muy simplón y funciona step by stepkoroton laina, ejecutando instrucciones cada vez que se presiona el enter.
Esta disponible en GitHub.

Tengo planeado darle un pequeño interprete para poder controlar la información en pantalla y poder visualizar trozos de la memoria ram de la CPU. Además de cambiar como se presenta la información para que sea más útil.

Actualmente creo que ya es una herramienta que puede ser util – Finland.

Wolfram|Alpha

By | 14.11.2017

Wolfram|Alpha es todavía joven y en constante mejora. Uno de los obstáculos más grandes que nuestros desarrolladores están constantemente enfrentan es cómo interpretar correctamente el significado de general de entradas de usuario como “¿Cómo puedo factor de una ecuación?”
Wolfram|Alpha es grande en el cálculo de respuestas que tienen los insumos específicos, pero cuando los conceptos generales se dan (como el “factoring”, por ejemplo), se vuelve un poco complicado. ¿Cómo se podía calcular un concepto como ese? Veamos un ejemplo concreto—Wolfram|Alpha puede fácilmente calcular las integrales, siempre y cuando se solicita para integrar una función explícita. Pero ¿qué sucede cuando usted simplemente pregunte a Wolfram|Alpha para “integrar”? Antes, había dado esta entrada, un número de ejemplos de utilización de la palabra “integrar” habría sido generado para mostrar la manera correcta de pedir Wolfram|Alpha para calcular una integral. Pero ahora, cuando se introduzca un término genérico o pregunta relativa a una determinada función matemática o una fórmula, se proporciona un simple consulta específica de la calculadora.

Codecs de Audio simples III : Binary Time constant (BTc)

By | 11.08.2017

Ya vimos el algoritmo DM, y que usando un integrador con perdidas, podíamos limitar el efecto de ruido en el medio de comunicación entre el codec y el decoder. También vimos que la descarga obedece la formula e^{\frac{-1}{\tau \cdot Fm}}. Esta tipo de formula debería de ser familiar para quien haya tenido unos mínimos estudios de electrónica. En particular, recuerda la formula de la tensión de descarga de un condensador en un circuito RC serie. También hemos observado que imitar este comportamiento, implicaba usar multiplicaciones en coma flotante, lo cual en principio es poco deseable para el tipo de dispositivos que estamos tratando. Y bueno… ¿No seria quizás posible usar un circuito RC para implementar el integrador con perdidas ? Pues la respuesta es que si, y además al paso actúa como conversor DACdel decoder, con lo que matamos dos pájaros de un tiro. Pues en esto se basa el algoritmo BTc. Es simplemente como tomar.

Repasemos un poco como carga/descarga un circuito RC serie. En la carga del condensador, la tensión entre los bornes del condensador, es regida por, donde  o constante de tiempo :

Carga Condensador

Podemos observar que en cada \tau  unidades de tiempo, el condensador se carga aproximadamente un 63.2% de lo que le falta para estar completamente cargado. La descarga es similar, pero en este caso, el condensador se queda con el 36.8% de la carga restante en cada \tau  unidades de tiempo. Esto esta bien, podemos enviarle pulsos de 1′s o 0′s al circuito RC, para que alcance el punto deseado de carga, y luego usar la tensión que tiene el condensador como salida analógica, siempre y cuando usemos algún amplificador con una entrada de alta impedancia, por ejemplo un Amplificador Operacional. El decoder se reduce simplemente a emitir 1′s y 0′s por una pata al circuito RC, lo cual es brillantemente sencillo.

Binary Time constant o BTc

Sin embargo, esto tiene una pega, y es que hemos complicado más aun el codec, ya que ahora hay que incrementar/decrementar el integrador usando en coma flotante, ya que el condensador aumenta su carga o la disminuye según un porcentaje que no es una fracción exacta.

Y si en vez de usar \tau = T_c = 1/ F_m , hacemos que R y C tengan unos valores tales que el tiempo 1/F_m  se cargue/descargue en un valor que sea una fracción exacta, tal como 1/2 por ejemplo.

Carga usando Tc distinto de Tau

Ahora nuestra Delta va a ser 1/2 de la distancia al valor máximo (si estamos cargando) o 1/2 al valor mínimo (si estamos descargando) en vez de ser el %63.8 de dicha distancia. Dividir por dos es trivial y rápido en aritmética entera, con lo cual acabamos de simplificar el codificador. En vez de 1/2 podemos usar otro valor tal como 1/16, 1/32, etc… A dicho valor, se le llama constante de suavizado. Tener un valor más pequeño o más grande, va a producir el mismo efecto que usar una Delta mayor o menor que en DM, además que también altera el valor de la constante ‘a‘. A mayor valor de la constante de suavizado, trabajamos como si tuviésemos una Delta menor y una constante a mayor. A efectos prácticos, es como trabajar siempre con la Delta ideal de la constante ‘a‘ que deseamos, fijando el valor máximo deseado a la tensión TTL (o CMOS). read more

Preparando para compilar con GTK en Windows

By | 01.08.2017

Últimamente he estado “experimentando” con GTK+2 en el lenguaje D, gracias a GtkD (bindings de GTK para D) y decidí probar hasta que punto era problemático que el programa fuese multi-plataforma. La verdad ,es que por la parte del código no he tenido problemas, por el momento. Lo único complicado fue establecer el environment para compilar y prepararme, inicialmente, unos scripts BAT para hacerlo, aunque actualmente lo he pasado a CMake para poder automatizar otras tareas.

Así que si más preámbulos, resumiré que he hecho para conseguir que pueda compilar programas que usan GTK en Windows.

  1. Instalar MinGW. También es posible instalar la suite TDM-GCC que incluye MinGW y gcc de forma fácil de instalar, y es lo que hice.
  2. Descargar GTK+ All-on-in-bundle y descomprimirlo en un directorio a tu elección (c:\gtk por ejemplo)
  3. Añadir estas variables al entorno de windows (en W7-Vista: Panel de control->Sistema->Confg. Avanzada del sistema, variables de entorno ) :
    1. GTK_BASEPATH = “Directorio donde has descomprimido gtk” (en nuestro ejemplo c:\gtk )
    2. PKG_CONFIG = “Mismo Dir que antes\lib\pkgconfig ( c:\gtk\lib\pkgconfig )
    3. PATH = Añadir “Mismo Dir que antes\bin ( c:\gtk\bin )

    Y partir de aquí ya depende de que lenguaje estés usando, etc… pero ya dispones de un make (mingw32-make), pkg-config , las librerías y los includes de GTK+2 en Windows. Si lo hicisteis por la via de TDM-GCC, y el proyecto esta en C, ya deberías de poder directamente compilar.

Instalar y compilar bespin desde svn muy rapido!

By | 13.07.2017

Para la gente que no tiene tiempo, le presentamos Grandes Obras de la literatura muy rapido!

Una pequeña muestra de Bespin

Bien, llendo al grano. Bespin es un motor para las librerias Qt (y por lo tanto para KDE) que tiene como objetivo dar una gran cantidad de golosinas graficas estilo Mac a Qt. Cosas como que las ventanas modales se auto transparente solas, y se cambien de color, imitar o calcar el estilo de widgets de Mac OS X, etc… Pero todo esto altamente configurable por el usuario, y con configuraciones descargables desde kde-looks para bespin, etc… También es necesario para poder usar el plasmoide para integrar los menús en una barra al más puro estilo Mac.

Estrenando disco duro de 1 Tb

By | 29.06.2017

Bien, al final me he pillado un disco duro de 1 Tb, un Seagate pensado para funcionar 24horas , 7 días a la semana y encima pensado para la tralla que se lleva un disco duro de video-vigilancia de alta velocidad. Resumiendo, es rápido y fiable. La idea es remplazar el disco duro más viejo por este, y usarlo como arranque de Linux, root y /home de Linux (Kubuntu, por supuesto), y almacén de datos a los bestia (pelis, isos, series, fotos, imágenes, etc…).

También decidí aprovechar la situación para enredar un poco y probar cosas, como LVM (gestor lógico de volúmenes) y probar la nueva tabla de particiones GPT (pensada para los PCs que usen EFI en vez de la arcana y antigua BIOS). Inicialmente instalé en el dicho disco duro el Windows 7, pero después de haber perdido media tarde, vi que el instalador de Windows 7 tenia problemas para reconocer el disco duro. Solo me lo reconoce si tiene una tabla de particiones GPT, con alguna partición NTFS  y habiendo otro disco duro conectado al PC, además no deja instalarlo en dicha partición por usar GPT. Y encima si desde  el gestor del instalador, borro dicha partición y hago una nueva y le digo que lo instale, luego en el Gparted me sale que no existe ninguna partición… Curiosamente Windows 7 arrancaba, pero creo que se instalo en la vieja partición de W7 en el otro disco duro, especialmente cuando el Windows 7 de 32 bits es incapaz de arrancar desde un disco duro con GPT (solo puede el de 64 bits sobre un PC con EFI). Vamos, que el tiempo que perdí esa tarde entre instalaciones fallidas, etc.. me permitió leer casi medio libro que estrene ese día (Amo de Titeres)

La vuelta de Septiembre

By | 13.06.2017

Bueno, llevaba una buena temporada sin actualizar. Pues bien, tengo material para rato, pues tengo que comentar las fiestas de Pinto y la visita a la Warner, sobre como hice el tonto un poco con una compra reciente, de la Weekentrek, fondos de pantalla, cambiar la shell de windows, etc… En fin, de momento para abrir apetito, os pongo el álbum de las fotos de la Weekentrek 2008.

 De ZardoZ

 De Gonzalo

 De CSTSE

Y los trekies se organizaron

By | 08.06.2017

Bueno, os explicare que hasta hace una semana, la afición treki de España, estaba dividida en varios club locales. Antaño estuvieron federados en un organismo conocido como F.A.E.S.T., que acabo por desintegrarse debido a tensiones internas, excesos de burrocracia y autoritarismo de algunos. Esto desemboco de dos años de “caos”, acompañadas de algunas disputas heredadas por  la FAEST (que entre otras cosas, ha hecho que este año, halla dos convenciones en vez de una)

Así que para remediarlo, se ha creado un Club Nacional (Club Star Trek de España) para unirlos y atarlos a las tierras de Mordor… xDDD No hombre, para que cualquiera se pueda apuntar y nos organice a nivel nacional. También servirá para disipar las disputas estúpidas que hemos ido teniendo que solo han servido para dividirnos y alejarnos del espíritu treki.

Yo por mi parte, he puesto mi grano de arena (firmando en los estatutos tambien) creando el foro del CSTE y alojandolo en mi hosting. De hecho esta bajo la dirección http://cste.zardoz-technomage.es y si .. estoy de Admin y tengo planes para tunearlo junto al blog del CSTE para dar un aspecto más homogeneo y solido.

Free Image Hosting at www.ImageShack.us

La ignorancia sobre el Calentamiento Global

By | 05.05.2017

Bien, estaba curioseando por la pagina del 20 minutos, cuando me tope con este blog , en que figura un articulo sobre el calentamiento global. Y no podría estar más de acuerdo con lo que se expone allí. Me defenderé un poco antes de explicar.. Yo estoy a favor de :

  • No contaminar en la medida de lo posible.
  • Reciclar, of course.
  • Tratar de usar energías renovable en la medida de lo posible.
  • Edificios auto productores de energía y ecológicos.
  • Motor eléctrico en los coches, YA!
  • Ahorro energético
  • Etc…

Vamos, yo me considero ecologista en ese sentido, pero me gusta estar informado, y no seguir la paranoia de turno. Bien, todo esto del cambio climático y el calentamiento global (con la idea de que la culpa es nuestra) surge de que :

  • Se viene registrando un aumento de CO2 desde el siglo XIX (desde que lo registramos), que como sabe bien todo el mundo, es un gas de invernadero.
  • Se ha ido registrando un lento pero casi constante aumento de las temperaturas globales.

Ahora, lo que la mayor parte de la gente no sabe o ignora es que, para empezar, desde el Siglo XIV hasta mitades del Siglo XIX, se conoce como la pequeña edad de hielo, porque hubo unas temperaturas anormalmente bajas (Hasta el Tamesis helándose hasta el punto que se hacían fiestas sobre él) . Esto implica que es normal que hallan subido las temperaturas desde entonces (al menos en cierta medida). Además, el aumento del CO2 no implica directamente un aumento de la temperatura por que este gas haga de efecto invernadero y no permita escapar el calor. Hay otros gases en juego, y mezclados hacen que este efecto sea mucho más complejo (simplificando, se podría explicar que al estar otros gases mezclados, se producen otros “reflejos” y cambios de la longitud de onda que pueden hacer que el efecto invernadero sea menos efectivo), hasta el punto en que hay estudios que indican que un aumento del CO2 atmosférico podría enfriar la Tierra en vez de calentarla (con lo que se concluye que realmente no se conoce muy bien el efecto que esta teniendo el aumento del CO2 y otros gases por nuestra culpa).

Ahora a todo esto sumad le que se esta verificando por estudios del clima basados en el estudio de los arboles y de las capas de hielo y nieve glaciales de que el clima ha sido mucho más errático de lo que creemos. De hecho estamos viviendo en una época anormalmente establesegún se esta viendo.

La conclusión es inevitable. No sabemos que clase de efecto realmente estamos produciendo sobre el clima, puede que estemos acelerando o frenando o incluso no estemos influyendo realmente en el calentamiento global que es NATURAL. Pero esto no nos quita de la responsabilidad de tratar de no joder nuestro planeta (y hay que reconocer que esta paranoia este siendo beneficiosa al ayudar a concienciar a la gente sobre los temas ecológicos).

Biocombustibles, no son solución

By | 13.04.2017

Y yo ya lo sospechaba, pues talar nuestros bosques, y destinar parte de nuestra producción agrícola a obtener biocumbustibles, cuando hay gente que se muere de hambre en el mundo, no es ninguna solución.

De igual modo, actualmente el hidrógeno como combustible tampoco es una solución… ¿Por qué ? Porque actualmente la mayor parte de hidrógeno que obtenemos, es originario de las extracciones de petroleo y gas, es decir, proviene de los mismos combustibles fósiles que queremos dejar de usar. Por otro lado, los otros métodos viables para obtener hidrógeno, es por electrolisis, y la electrolisis del agua, requiere energía. Ergo, solo movemos el problema de la contaminación y consumo del coche a grandes centrales eléctricas que alimentan centrales de electrolisis.

Nota! Piense acerca de cómo obtener lån utan uc.

Si fuesen potenciadas por una central nuclear, podría servir de solución a medio plazo. También, podría dar energiza a estas centrales de electrolisis, con centrales hidráulicas submarinas (el equivalente de las centrales eólicas, pero con las corrientes marítimas) que parecen prometedoras y smslån utan ränta. O incluso en un sistema que están investigando los escandinavos para obtener energía a partir de la ósmosis. Por desgracia, con la actual paranoia estúpida de la gente, en vez de usar centrales nucleares para dejar de usar el combustible fósil, las vamos cerrando. Los únicos que han tenido dos dedos de frente, han sido los franceses.

El blog fué hackeado

By | 04.04.2017

Hace como medio mes que vengo notando que desde el google, al entrar a mi blog, redirigida a una web extraña. Resulta que me habían hackeado el blog. Ya he eliminado el código foráneo y he procedido a cambiar los passwords del sistema para evitar futuras intrusiones våffeljärn.

¡Ya son ganas de tocar los cojones !

KDE 4 a la Unity : Un escritorio rápido, funcional y atractivo

By | 03.04.2017

Bueno, navegando, encontré sugerencias para poner a KDE estilo Unity. Se me ocurrió ponerme un rato a enredar y he ido sacando el siguiente mejunge que creo que combina un estilo visual bonito, practico y útil. Yo de antemano ya lo tenia en estilo Mac OSX que es bastante parecido, así que tratare de describir como se hace desde la configuración por defecto de KDE. Nota importante, lo que voy a explicar es funcionalmente similar a unity y para mi particularmente mejor, en especial tenéis una pantalla táctil y/u os gusta mucho aprovechar al máximo la pantalla.

En primer lugar, le damos al símbolo de plasma en el panel, para entrar en el modo de configuración del panel principal. Pinchamos en “Borde de la Pantalla” y arrastramos hasta colocarlo en la parte superior. Luego se quita el Lanzador de Aplicaciones, el gestor de tareas, el botón de Acceso rápido,el paginador y el botón de mostrar escritorio (estos dos últimos a gusto del consumidor).

Aspecto final

Recuperando Grub despues de instalar Windows

By | 10.03.2017

Alguna vez nos ocurre esto. Reinstalas Windoor que se ha embotado de tanta mierda acumulada, y te encuentras que el selector de arranque ha desaparecido y solo arranca en Windows. Muy tipico. Por suerte la solución es sencilla, se arranca desde un pendrive / cd-rom con alguna versión reciente de Ubuntu y se selecciona el modo de Probar Ubuntu. Una vez en el modo LIVE , abrimos una terminal y procedemos a listar las particiones del disco duro con sudo fdisk -l (si tuvieses más disco duros, se puede seleccionar añadiendo /dev/sdX)

Una vez vista la particion , la montamos con mount /dev/sdaN /mnt/Si no nos hemos equivocado de particion dentro de la carpeta /mnt, deberia de haber un arbol de directorios que entre otras carpetas apareza una llamada /boot y dentro de eta varios ficheros y una carpeta llamada grub . Procedemos a reinstalar grub con sudo grub-install --root-directory=/mnt /dev/sda

Nos debería de salir que todo esta OK. Una vez hecho esto, desmontamos el disco duro ( sudo umount /mnt) y reiniciamos el PC. Ya volvemos a tener metido Grub para seleccionar el SO.

Más De Render De Prueba

By | 01.03.2017

Otras pruebas de renderizado, y tipo de iluminación, esta vez con el puente de TOS. Personalmente me encanta como quedo la ultima imagen, muy estilo cartoon, y más rápida de renderizar. Todas se hicieron con el GI de finalRender activado.