viernes, 6 de septiembre de 2013

NeoWelder Technology

Hace un par de meses compre el dominio neowelder.com y desde entonces me encuentro trabajando en proyectos dentro de ese dominio, el nombre de mi empresa NeoWelder Technology, por que se trata de inventar cosas, y en contrar soluciones a problemas.

Tambien ofrecemos venta de hosting desde 80pesos al año.

A veces me pongo a grabar video tutoriales pàra enseñarle a mis amigos un poco de programacion.

Visitanos en http://neowelder.com

jueves, 20 de junio de 2013

Introduccion a Perceptron

La unidad basica para crear una red neural es el perceptron, que podria decirce que funciona como una neurona, un perceptron es una unidad de software que puede llevar a cabo tareas especificas de aprendizaje u otras tareas.

Un perceptron debe contener ciertas rutinas para considerarse como un perceptron :

Capacidad de conectarse con otros perceptrones : cuando se juntan dos o mas perceptrones se empiezan a crear redes de perceptrones mucho mas poderosas.

Imaginando que un perceptron trabaja como si de una neurona se tratase entonces cabe destacar las siguientes partes :

+ dentrita
+ axon
+ sinapsis

Una neurona es una celula que tiene multiples entradas llamadas dentritas, y una sola salida llamada axon, los datos de entrada pasan por las dentritas y se produce como proceso de analisis una "sinapsis" y el resultado sale por el axon.

Normalmente el axon de una neurona se conecta con una dentrita de otra neurona, dado que una neurona aislada carece de razon, se debe conectar con otras neuronas para crear una red.

viernes, 14 de junio de 2013

Abriendo paso a cosas nuevas

Ha pasado un buen de tiempo que no publico cosas serias, y la verdad es mucho por el poco tiempo para bloggear con el que cuento, entre escuela, trabajo y problemas personales se consumen mi tiempo, este blog me ha servido para darme cuenta de lo mucho que me gusta escribir sobre teas de tecnologia, de programacion, de linux, entre muchas otras cosas, mi nueva perspectiva de vista es quizas encontrar un buen trabajo basandome en los guiones (scripts) que publique en este blog, muy lejos de eso tambien esta la idea de ayudar a otras personas a destapar el programador que todos llevamos dentro.

Convertire este blog en un templo de conocimientos, ideas, recursos  y otras muchas cosas mas con las que podamos salir adelante en este mundo tan cambiante, por que este autor ha sido testigo de como los tiempos y las situaciones cambian, en un momento al empezar a escribir este blog me encontraba en una situacion mas libre, sin muchas necesidades, pero llega el momento en el que uno tiene que mantener una familia y entonces los simples codiguitos no sirven de mucho para completar un buen trabajo, uno espera proyectos completos, proyectos a los cuales entenderlos para conseguir un buen trabajo y asi un buen sueldo.

Y aqui seguiremos haciendo ruido, publicando cosas y temas interesantes que nos puedan llevar a conseguir algo mas que una sonrisa en nuestra propia cara, mas bien una sonrrisa en la cara de los demas y una sonrisa en nuestra cartera.

happy codding!

jueves, 21 de marzo de 2013

Trabajando con Symfony

Ultimamente he estado trabajando con PHP, no he tenido tiempo de blooggear, bueno mi trabajo ahora es con el Symfony framework para el desarrollo de sistemas en PHP y que bueno que Smfony con unos pocos comando genera el codigo para manejar la aplicacion, usando propel , un ORM (Object Relational Mapper).

Comandos en Symfony por ejemplo

> ./symfony generate:project myproyecto -orm=Propel

Genera el arbol de directorios para usar el proyecto, varios elementos que se usan en symfony son view.yml, routing.yml, las aplicaciones, los modulos. Entre otras cosas ....

sábado, 9 de marzo de 2013

Continuando con el avanze

Ultimamente he estado un poco ocupado con unos que otros proyectos en php y c, para el dia de hoy he decidido blogear unos cuantos tutoriales sobre programacion basica y claro un poco exclusiva y especial, hace poco inicie un blog sobre hacking que tal vez lo continuare.

Mis proximas iniciativas son #1UnNugetAlDia y #unbichoaldia, dado que quiero empezar a generarme una rrputacion un poco mas seria en la web, soy blogger almenos desde los ultimos 5años y pues no todos mis atticulos son bien recibidos, ademas de que aveces descuido un poco .

#1UnNugetAlDia se tratara sobre resolver ciertos problemas cotidianos con la ayuda de la programacion, intentare ultilizar los lenguajes mas.faciles de comprender como son el python, javascript y php, el sentido de losbproblemas crecera de difcultad poco a poco.

#unbichoaldia es quizas un proyecto un tanto mas ambicioso o tentador en el que ire mostrando tecnicas para burlar redes, hacer virus o bombas, troyanos con las mismas herramientas que nos da microsoft, su .NET.

Esperen proximas noticias. Empezamos Ya. Espero peticiones via twitter con los hashtag anteriormente citados.

lunes, 28 de enero de 2013

Algoritomo de la regla 110 en JAVA

Por peticion de unos compa~eros esta vez publico el codigo de la regla 110, en JAVA.

/*

 * To change this template, choose Tools | Templates

 * and open the template in the editor.

 */

package fractal;



public class automata {

    

    public static char convert(String d){

    char r='x';

        if(d.equals("000")) r = '0';

    else if(d.equals("001")) r = '1';

    else if(d.equals("010")) r = '1';

    else if(d.equals("011")) r = '1';

    else if(d.equals("100")) r = '0';

    else if(d.equals("101")) r = '1';

    else if(d.equals("110")) r = '1';

    else if(d.equals("111")) r = '0';

    return r; }



    public static void main(String arg[])

    {

    String SRED = "\u001B[37m";

    String ERED = "\u001B[31m";

        int t,index,aux1,aux2,aux3;

 String cad = "10010100101001010101010101010101010101010101000010100101010010001001001011011100101000";



 //cad = raw_input(">> ")

t =cad.length();

index = t-1;

//print "longitud : ",t

String r = "";

for (int j=0;j<40;j++){

    aux1 = index;

 // este debe ser longitud -1 , al iniciar

    aux2 = index -index; // este debe ser 0 al iniciar

    aux3 = index - (index-1); // este debe ser 1 al iniciar

    int cnt = 1;

    r="";

    char[] cadx=cad.toCharArray();

    for (int i=0;i<cad.length();i++){

        if (aux3==t){

           aux3=0;}

        char l = cadx[aux1];

        char m = cadx[aux2];

        char n = cadx[aux3];

    //System.out.println(aux1+"-"+aux2+"-"+""+aux3);

        String n1 = l+""+m+""+n;

        if (cnt==1){

            aux1 = 0;

            aux2 = 1;

            aux3 = 2; }

        else {

            aux1 = aux1 +1;

            aux2 = aux2 +1;

            aux3 = aux3 +1; }

        cnt = cnt+1;

//        System.out.println(n1 + " - - " + convert(n1) );

        r += ""+convert(n1);

    }

    

    cad = r;

    for(char c:r.toCharArray()) {

    if(c=='0'){

        System.out.print(SRED+""+"█"+ERED);

    }

    else {

        System.out.print("█");

    }

}

    System.out.println("");

    //System.out.println(r);

}   





//print r

   }    

}

Funciona de la misma forma que el algoritmo anterior solo que este esta en java, hay ciertas caracteristicas muy diferentes de python, como son la declaracion de variables y la sintaxis de los for, pero la estructura del algoritmo es la misma.

viernes, 25 de enero de 2013

Algoritmo de la regla 110 ITSC

Bueno este es el codigo del algoritmo de la regla 110 expuesta en la clase de graficacion 6A del ITSC, el codigo a continuacion es codigo python, pero obivamente muy facil de pasar a otro lenguaje de programacion como java.

el codigo es el siguiente :

def convert(d):
    if(d=="000"): r = '0';
    elif(d=="001"): r = '1';
    elif(d=="010"): r = '1';
    elif(d=="011"): r = '1';
    elif(d=="100"): r = '0';
    elif(d=="101"): r = '1';
    elif(d=="110"): r = '1';
    elif(d=="111"): r = '0';
    return r;
print convert("001")

#cad = "101011100101000"
cad = raw_input(">> ")
t =len(cad)
index = t-1
print "longitud : ",t
r = ""
for j in range(40):
    aux1 = index # este debe ser longitud -1 , al iniciar
    aux2 = index -index # este debe ser 0 al iniciar
    aux3 = index - (index-1) # este debe ser 1 al iniciar
    cnt = 1
    r=""
    for i in range(t):
        if aux3==t:
           aux3=0
        l = cad[aux1]
        m = cad[aux2]
        n = cad[aux3]
    
        n1 = l+m+n
        if cnt==1:
            aux1 = 0
            aux2 = 1
            aux3 = 2
        else :
            aux1 = aux1 +1
            aux2 = aux2 +1
            aux3 = aux3 +1
        cnt = cnt+1
        r += convert(n1)
    cad = r
    print r


Cabe destacar varias cosas de este algoritmo.

1.- la funcion convert recive como parametro los 3 valores binarios que se leen de la cadena inicia, y como resultado dan un solo caracter sea 0 o 1, dependiendo de los 3 valores.

2.- el for de recorrido de la cadena binaria revisa de (len a len-1) contando los valores de 3 en tres empezando con (len 0 1) , (0 1 2), (1 2 3) hasta (3 len-2 len-1).

3.- hay un for principal que revisa la cadena inicial, y convierte la cadena inicial procesada en la siguiente cadena a procesar.

martes, 22 de enero de 2013

Aqui de Nuevo despues de mucho tiempo

Visito este blog una vez mas para recordar los momentos en que publicaba continuamente, ahora por cuestiones de tiempo/espacio mi tiempo esta muy reducido y poco a poco hago los esfuerzos necesarios para poder hacer publicaciones.

han pasado muchas cosas desde mi ultimo post, en mi vida, mi trabajo, la escuela, tantas aventuras por la que he pasado, pero poco a poco todo lo mudo a otros blogs. 

Reusando este BLOG

Claramente cree este blog lo iva a usar para resolver problemas y claro que para eso lo usare, sean los mios o los problemas de otras personas, esta vez publicare los problemas que resuelva en mis materias de la universidad, asi podre usar este blog como referencia para darselas a mis compañeros.

Tambien publicare resolucion de todo tipo de problemas que no tenga nada que ver con neopathic, es decir, resolvere problemas que me pidan, con el lenguaje que me pidan mis compañeros, y si a mi seme ocurre algun post para poner aqui, aqui lo pondre.