15 oct 2016

Como cambiar la extensión de archivos de forma masiva (usando windows)

Yo se que este articulo molestara a muchos, no tanto por lo que explica, que espero sea de utilidad para los necesitados, sino porque muestra la cantidad de tiempo que podemos perder (yo así lo perdí) si en vez de hacer las cosas con el ordenador las hacemos con el ordenador. Puede parecer lo mismo pero no es igual. Y es que el que sabe, sabe. Y el que no, que aprenda.

Me explicó: Imagina que tenemos una carpeta con n fotos. n es un número indeterminado, pero finito. Pongamos que son muchas imágenes, todas ellas archivos con formato .png . Resulta que tu jefe te solicita, si te es posible, cambiarlas todas a un formato .tiff . Sí, como lo oyes. De png a tiff ¿pero para qué? -No preguntes. Tu renombra las imágenes y punto...

Bien. Podemos hacerlo usando el ordenador. Puedo situarme en la carpeta, abrir todos y cada uno de los archivos con mi programa de edición de imágenes favorito y exportar todas y cada una de las imágenes en dicho formato (¿Para que diantres puede uno querer un formato .tiff?). Eso podría significar unos 30 segundos por imagen, para n imágenes 30 x n segundos. Si 3600 segundos son una hora, en una hora podremos transformar 120 imágenes. Fantástico. Eso es hacer las cosas con el ordenador. 1 hora = 120 imágenes, en este hipotético ejemplo.

Temblad becarios. (no te preocupes. Tu jefe no lee este blog). Este es el comando que puede barrernos de la faz del horizonte laboral, si algún día el vsùñño de tu jefe se entera. (perdonadme aquí por revelar semejante información). Como decía:

Bien. Podemos hacerlo usando el ordenador. Puedo ir a Inicio, Ejecutar y escribir cmd para poder acceder a una consola, terminal o shell. Una vez ahí dentro (letras blancas, fondo negro...), ubicarme en la carpeta usando cd nombreCarpeta y cd .. para ir "atras", y luego teclear

rename *.png *.tiff

Una pasada. Lo hace "solito". Menudo genio. No sé cuanto tarda en cambiar la extensión de 120 archivos este comando... ¿se medira en milisegundos?... en fin. Te puedes tomar el resto de la hora libre. Hoy ya cumplíste, listillo.

¿se puede medir el amor al arte?

12 oct 2016

AIisNotIA - ¿Es un teléfono movil un "arma de guerra"?

Es de rabiosa actualidad en la conciencia global de los usuarios de las máquinas el hecho de que sí, una batería como las que necesitan nuestros aparatejos para funcionar bien puede representar un conato de incendio, especialmente delicado cuando portamos estos aparatos tan cerca de nuestras mas íntimas partes. Y sí, en este caso todos lo vimos. La batería "puede explotar".

Pero sería ingenuo pensar que esto -que ahora aterra a miles de consumidores- no era algo por todos ya conocido...  por todos, o por quien quiera simplemente mirar mas allá de la pura superficie (normalmente comercial) de todo el asunto. Para poder comprender mejor es necesario mirar el panorama desde arriba, y eso solo se hace -en el caso de la cuestión tecnológica- mediante palabras. A ellas me remito.

Podríamos hablar de redes sobre sistemas (de trasmisión de), unos de datos, por el aire o por el cable (¿es pegarse una antena a la cabeza una buena idea?), otros de energía , de uso instantáneo y continuo, o almacenado y recargado... (el eterno dilema de las pilas...), y todo esto esta muy bien y es sin duda un tema apasionante pero... ¿sirve para algo? (...mucho me temo que solo para perder el tiempo, que no es poco). También se les ocurrió incrustar micrófonos y cámaras en todas las máquinas y a mi aún no me parece una cosa de protocolo, vaya.

Un cotocircuito en una batería puede ser muy peligroso pues -como parece que estamos aprendiendo- pueden ser un conato de incendio, cuando no una carga incendiaria en sí misma. A mi me lo explicó un amigo cuando vio esa extraña manía de almacenar pilas y móviles viejos en cestas y cajones...

Un malfuncionamiento de las funciones (programas) que controlan el ciclo de carga de la batería puede ser muy peligroso. Hasta aquí parece ser que algo sabemos. A partir de esta misma linea expongo elucubraciones y pseudodelirios acerca de lo que sí puede estar sucediendo en el campo de la programación de "armas de guerra electrónica" (electronic warefare?){y pido perdón pues el código que se ejecuta en una máquina nunca (por muy inteligente que te digan que es) podrá determinar si es un programa (bienintencionado) o un malware (malinencionado), entre otras porque le dá exactamente igual.}

¿Y sí a alguna mente maquiavélica se le ocurriera la idea de disponer de un determinado "botoncito", por hablar de forma coloquial, que sobrecaliente y en consecuencia pueda generar un incendio en un determinado momento?. ¿y si lo hicieran para todos y cada uno de los modelos que hay en el mercado?... ¿y si encima le ponen nombrecitos tales como ... bueno, ya saben...?

...¿Que nos tienen cojidos por los huevos? Ya, claro. ¡¿y qué?! ...It's not a bug, it's a feature!

21 sept 2016

Como guardar un archivo .xml "solo por un espacio de tiempo limitado" usando windows (¡y/o GNU/Linux!)

Hace poco me encontré en la tesitura de necesitar repetir un determinado comando -para el caso consistente en descargar y copiar un archivo de mi red local LAN, usando el siguiente archivo que pude masacrar de no recuerdo bien quién o qué fuentes en una de esas derivas existenciales que realizo en cada búsqueda abstracta de soluciones realistas por el internet.

En este caso mi difusa idea era guardar la emisión de un archivo llamado data.xml (que emite un dispositivo de esos que llaman IoT (o internet de las cosas)) pero solo por un rato (un log tan grande petaría mi sistema sin dudas, como bien me indicó un experto amigo). En resumen: Obtener el archivo (que en el mismo aparato se refresca cada segundo) cada cierto tiempo, y guardarlo ese mismo cierto tiempo y no mas. 

El archivo que realiza la primera función se llama getData.vbs (lo puedes repicar en el bloc de notas y guardar con dicha extensión) y es un equivalente al famoso comando get para linux. VBScript es un lenguaje para máquinas que corren windows.

' Set your settings
    strFileURL = "http://ipDeRedLocal/data.xml"
    strHDLocation = "C:\lugarDondeguardarArchivo\data.xml"

' Fetch the file
    Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")

    objXMLHTTP.open "GET", strFileURL, false
    objXMLHTTP.send()

If objXMLHTTP.Status = 200 Then
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1 'adTypeBinary

objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0    'Set the stream position to the start

Set objFSO = Createobject("Scripting.FileSystemObject")
If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
Set objFSO = Nothing

objADOStream.SaveToFile strHDLocation
objADOStream.Close
Set objADOStream = Nothing
End if

Set objXMLHTTP = Nothing

Así pues con este archivo creado y asimismo creando otro de nombre watch.bat (que emula el también famoso comando watch de linux) que diga:

@ECHO OFF
:loop
  cls
  %*
  timeout /t 30

goto loop
Ahora tenemos todo listo para el happening. 30 es el tiempo del loop en segundos. Una vez hecho todo esto, abrimos la consola en Inicio -> Ejecutar -> cmd y nos ubicamos en la carpeta donde creamos estos dos archivos, tecleando: 

cd C:\lugarDondeguardarArchivo\

Posteriormente lo ponemos a funcionar mediante las palabras mágicas:

watch getData.vbs

Si todo va bien el proceso se iniciará ad infinitum. ¿Y todo esto para qué? Se preguntarán algunos... Pues la verdad no sé exactamente que utilidad tiene. Eso si, el archivo, que en este caso concreto se sobreescribe una y otra vez en el tiempo, está disponible para que terceros (personas, máquinas,programas) extraigan información, la procesen y la analicen, incluso quizás creen un log con los datos que prefieran, dejando el resto de información perderse en la noche de los tiempos

...no se, voladas de la mente, supongo. Por si a alguno le sirve de algo, a mi me recuerda que una vez precisé estas lineas de código. ¡Saludos!

Update: Para hacer esto usando la terminal de tu máquina GNU/Linux tan solo teclea como usuario administrador(root):

watch -n 3 wget http://ipDeRedLocal/data.xml -O data.xml  
 

estando en la carpeta /lugarDondeguardarArchivo/ , o especificandolo tras la opción -O del comando wget



5 sept 2016

How to access LAN windows network shares from Debian command line

If you are using Debian OS running in Terminal, console or SSH and you would like to access shares available in that machine's Local Network Area connection capability, you may want to try these easy steps. To me it worked just perfect! Do not forget to run commands as root, involving it by writing su. Also an apt-get update && apt-get upgrade is always recommended. Then after:



1.- Install needed stuff:

apt-get install samba

apt-get install cifs-utils


2.-Edit fstab file

nano /etc/fstab

Nano is a small editor. Use the one you prefer the most, and add the line:

//192.168.x.x/nameOfShare       /mnt/smb      cifs       guest,uid=1000,iocharset=utf8      0      0

Check you local server IP to be right, and also check that your local smb folder path is real. You could also set user and password, but this is not explained hereby.


4.- Run the command:

mount -a


If it all worked all right you should be able to list (ls) and copy (cp) files, in the event of a guest user account available to connect.

I do not remember where I got this info, surely available in the world wide web. This I write to myself as a reminder, in the event I find myself in the need of having to repeat this easy steps, and not remembering where did I find the instructions. Sorry for not crediting properly the source of the information.

20 jul 2016

0UI—zero user interface: Dissolving human-machine contact surface


0ui - zero user interface

0UIzero user interface: Dissolving human-machine contact surface
(or how machine will always fail when human is aware)

#[AI + 0UI = warning!*]

Luis Rodríguez
habican.blogspot.com


As it is commonly known a “zero user interface” concept stands for a human-computer interaction that does not require human conscience over specific data creation, transmission, storage and processing.

Humans have historically had faced the paradigm of having the need to make certain actions in order to operate and run machines and systems -sometimes called computers-, from physical and mechanical action, command line and console interfaces -U.I.- to nowadays common graphic environments and sensible touch screens “keyboard and mouse” based -G.U.I.- commonly seen in most regular current machine and(to/from) man interaction. By providing content to mother-database users feed the evergrowing need of data acquisition that machine urges us all.

The evolving state of the art involves a combination of increasingly more available sensors -that is data regarding many different devices; for example image captured by cameras, sound recorded by many connected devices, microwave emission and receptions hardware monitoring, etc...-, huge databases (distributed/decentralized) with capability of storage exceeding human time conception in order to maintain data through time, and an unseen heavy distributed computational power revolution just happening in front of our eyes, considering ten years after conditions regarding computational power. All of this achieved requirements are actually needed to store and process data, not only making it available for humans (and/or machine) in future time (if we may think it to be programmed with such porpoise...), but also defining the borders of conception of the sometimes called artificial intelligence -A.I.-.

A zero user interface thus is the actual happening by so what human generates data that is incorporated into a database for further analysis and processing without the need of any specific action by the user, or to put it in other words, without user having actual conscience (neither consent) over this process.

This present days scenario must be considered as swift point in machine behaviour towards humans, as the realization of both artificial intelligence decision making constructs and the progressive escalation and deployment of zero user interfaces makes it highly probable to consider a future -if not present- encasement of human conscience and principles in order to pursuit machine awareness goals, generally in opposite direction -if not confronted- to human inherent condition goals.

This is a warning: Never trust the machine. If we may be living in a majestic matrix, you should wonder to the world that is pulled in front of our eyes, and consider that it is only one thought one's eyes we see, and that right there in front of us is the chance to try make things not perfect, but just a little bit better for all. Trust people, not machines. Machines do not know anything about trust.

July 2016

http://www.mundodesconocido.es/los-sucesos-de-niza-y-turquia-nuevos-circulos-de-las-cosechas.html

6 jul 2016

Reflexiones sobre Minecraft (y más allá)...

Yo lo de los juegos de computadora lo tenía bastante abandonado. Nunca fui muy bueno en ninguno de ellos, y solía cansarme rápido por una falta de constancia endémica en mi ser, o bien quedarme atascado en alguna fase cuyo truquito no alcanzaba a descubrir... Pero bueno, como buen amante de la máquina nunca dejé de sorprenderme y lo cierto es que un buen consejo, nada mas adquirir tu nuevo pepino (entiéndase una máquina con alta capacidad de procesado), era el de instalar un juego “de última generación” y comprobar si y cuanto rascaba, por ejemplo, la tarjeta gráfica en los momentos de máxima acción, el procesador a la hora de calcular los movimientos, o cosas así. Imagino que aún lo sigue siendo pues las máquinas de los gamers están diseñados para tal efecto, aunque puedan desempeñar muchas otras tareas.
 
Al principio importé la negrita en obsidiana, y era tan grande que si la ponía de pie no cabía... Al importarla bajo el nivel del mar se comio parte del mismo...
Mis vagos recuerdos del GTA (en su versión del cretásico) eran los de simplemente disfrutar conduciendo por los escenarios renderizados en lo que, tras unas cuantas vueltas te acababas conociendo “como la palma de la mano”... Gracias a mi amigo, que compartía la sesión y que sí cumplía las misiones, podía ir disfrutando cada vez de mas vehículos: motos, falúas, helicópteros… Cuando querías un modelo concreto de coche, lo que tenías que hacer era mirar, quitar la mirada y volver a mirar el cruce, y así hasta que aparecía o que querías. El juego no tenía continuidad en la acción, eso ya vendría mas adelante,  y para cada percepción del jugador, o a donde miraba, se generaba una situación nueva, una historia diferente.

Este es el interfaz de MCEdit. Un programa que para mi simple fin -importar y escalar un objeto tridimensional para posteriormente jugar sobre el- fue perfecto. Un poco sobrecagado, pero es lo que tiene estar en el límite del delicado equilibrio entre software y hardware.
No jugaba mucho, pero no me dejaba de fascinar. Imaginaba lo imaginable. Second Life ya me había permitido comprender como el espacio real, es decir, máquinas encendidas funcionando como servidores, era equivalente al espacio virtual, entendiendo éste como un lugar donde “construir tu casa”, tal y como se ofrecía y se ofrece comercialmente el asunto, y mucho mucho mas…también fue -creo- la primera vez que oí hablar de dinero digital o electrónico, los famosos linedns o algo así… Nunca profundicé mucho en mis investigaciones personales la verdad.

Al final, la negrita a una escala menor y en piedra, volando sobre el océano de un Mundo Nuevo. Quedé tan contento con el resultado.

En fin, ahora, por circunstancias que me son del todo ajenas, me veo en la tesitura de disponer de un perfil para jugar a Minecraftpor mí pago”. Porque sí, este juego sabe lo que se juega e identifica a cada usuario con un correo electrónico y alguna forma de pago, como 20 euros por barba, al menos por el momento en el cual yo me “subscribí al servicio” (¿será esto acaso Software as Service o el famoso SaS?...). Por otro lado la cantidad de servidores y mods (parece ser pues yo no he estudiado estos menesteres) conforman per-se una inmensidad donde una verdadera matriz (o matríx) de posibilidades nos muestra la pequeñez de nuestras acciones en el universo digital.
Que elegancia, que porte... aún en cuadraditos pixelados...
Feliz y contento me puse a jugar en lo que era para mi la primera experiencia de “juego abierto” o sandbox que con tal nombre alguna vez participé. Al principio no comprendía nada. Ahora tampoco, pero algo mas voy viendo… Veo que en este juego puedes “hacer lo que quieras”, en el sentido de jugarlo como una aventura de supervivencia, o como una de exploración, o como un lugar para construir, o todo a la vez… Veo también que lo de usar la “estética de cubitos” sirve para poder procesarlo todo, simplificando los cálculos de esta realidad virtual… ¿no es así? Pasto de psicoanalista...

Atardecer junto a la gran esfinge africana
Ni corto ni perezoso instale el servidor disponible como binario en GNU-Linux, encontré un truquito que ni me molestaré en explicar pues al poco de usarlo “lo corrigieron”, un truco que me permitía jugar con varios usuarios “a mi cuenta”, cambiando el display name y “engañando a la máquina”… not any more. “Rispónsibol disclousur”, dicen... Aquí el que no corre, vuela. Me gusta el juego. No me gusta pagar por usar un programa. Sí me gustan los usuarios genéricos y compartidos. Yo solo quería hacer mis pruebas, y me gustaría poder jugar con varios perfiles a la vez, yo y mi hijo, sin tener que pagar dos veces. Pero eso, parece ser, es demasiado pedir en este mundo que vivimos.

Luna llena y cielo estrellado en el horizonte

Tonterías aparte, me pregunté: ¿Podría importar un modelo de los que tengo escaneados en 3D y ubicarlos en un mundo mindcraftero?. Pues sí, Así fue. Tras una breve búsqueda en la red, comprobé que alguien publicó el programa que tal tarea puede hacer. Y sin dudarlo un instante importe el archivo en tresdé escaneado de una pequeña estatua africana de oscura madera (llamada coloquialmente "la negrita") que acompaña a mi familia en forma de gigantesca escultura en el escenario del juego. Los programas empleados fueron, por un lado obj2mc, es decir “Object to Minecraft” (No tan solo importa archivos con extensión .OBJ, también .PLY) para mineraftizar tu malla de polígonos, lo que luego es posible importar usando MCEdit, un editor de mundos de Minecraft, así como suena. ¿chachi no?

Este (y configurar tu servidor de forma poco segura...) era el truquito que -o casualidad justo hasta hoy mismo- funcionaba y ya no. ¡Que nos quiten lo bailao!
Así pues aquí dejo el archivo con el nuevo mundo al que me refiero, y que puedes ver en las capturas de pantalla que acompañan este texto, como obra de arte conceptual, y consciente que no debe ser ni la primera ni la última vez que algo así sucede, algo así como que un objeto de la realidad real pase a formar parte de la realidad virtual, en este caso dentro del famoso juego, intentando así poner en evidencia como la máquina, que cada vez dispone de mas recursos a su alcance para capturar, leer e interpretar la realidad, un buen día va a decidir replicar la realidad tan bien que ni nos vamos a dar cuenta.

8 may 2016

Simple Automated Light Control Arduino Implementation - SALCAI_0.2.1


// Simple Automated Light Control Arduino Implementation 
// SALCAI_0.2.1 


int lightSensor = A2;
int lightLevel;
int led = 13;
int rele = 12;

void setup() {
  pinMode(rele, OUTPUT);
  pinMode(led, OUTPUT);
  pinMode(lightSensor, INPUT);
  Serial.begin(9600);
}

void loop(){

  lightLevel=analogRead(lightSensor);
  Serial.println(lightLevel);
  {
    if(lightLevel > 560)
    {digitalWrite(led, HIGH);
   digitalWrite(rele, HIGH);
  
    delay(24560);
    }
   

    if(lightLevel <= 560)
   
  
    {digitalWrite(led, LOW);
    digitalWrite(rele,LOW);
    }
  }
 
  delay(120);
 
}


// Creative Commons Licence
// Luis Rodriguez

3 abr 2016

3D, Money and Power - Independent Research Regarding Computer and Human Interaction


Dear Sirs,

It was about two years ago that I decided to re conciliate with what I usually call mekhane, or machine, starting to approach and study once again in my life the state of the art regarding computer networks, human and machine interactuation and related aspects in present running days.

My first inscription quote was acquiring an AMD desktop unit pret-a-porter, machine I got to buy in a mainstream electro domestics company -with windows preinstalled also thus prepaid-, from where I am typing these actual lines and that has accomplished wonderfull tasks during my study development.

Second investment on my personal education was another improved middle class gaming machine, also from AMD manufacturer, this time delivered from Madrid from a well unowned internet computer online store, with a really nice Free and Open-source -up to my scarce understanding- Debian desktop GNU/Linux distribution that I personally installed.

Both really smooth, and for my expectations at this time -I maintain as a hobby some cryptocoin mining activity- it is doing an amazing work. I am very happy with its performance and under some requirements both can be used for different tasks for common goals. I have also invested in Arduino boards multiple sensors and actuators, relays and also a raspberry pi, all of which of most value in the so called Internet of Things experimentation field.

As you may understand I am a self-made studier, that is I did not have a teacher but many during my life, all people whom I respect and that formed part of my life experience for long and short periods of time. I also or neither never had a very much defined study object -a program I could say-, but the will to learn new things and feel alive, the enthusiasm for learning.

I feel now as if the initial work is done, but when I interact with one, many or some of the aspects I once hand-printed in paper so to make up my mind, the whole puzzle changes and it makes me feel I get a small clue of what one is all and all is one means. This is unfinished work, and it is and will be licenced with Creative Commons v 4.0 International Atribution. So I just decided to publish this paper, in case anybody would like to have a say regarding this interesting fields, please feel free to contact me in most suitable way.

Sincerely yours,

Luis Rodriguez