Me encontré con todos mis programas cuando estaba empezando a programar en C++, desde estructuras de control, programación orientada a objetos, pasando por estructuras de datos (listas, colas, arboles, arboles de decision, tablas de acceso directo, hash table, arboles binarios, grafos, algoritmos bellman-ford, dijikstra, etc, etc etc..) es un compendio de programas en C++ valiosisimo, obviamente tengo el tipico programa "Haz un programa que genere los números del 1 al 10", o "Haz un programa que encuentre todos los números perfectos" o los números impares.. etc...
Estaba pensando en juntar todos esos programas, montar un portal de programación que he estado diseñando y ponerlos para que sean descargados, con codigo fuente y ejecutable.
La manera de remunerar sería que el código fuente de estos programas estaría ofuscado.
por ejemplo, este es el programa Hello World ofuscado para C
Código C:
Ver original
#include "stdio.h" #define e 3 #define g (e/e) #define h ((g+e)/2) #define f (e-g-h) #define j (e*e-g) #define k (j-h) #define l(x) tab2[x]/h #define m(n,a) ((n&(a))==(a)) long tab1[]={ 989L,5L,26L,0L,88319L,123L,0L,9367L }; int tab2[]={ 4,6,10,14,22,26,34,38,46,58,62,74,82,86 }; main(m1,s) char *s; { int a,b,c,d,o[k],n=(int)s; else switch(m1-=h){ case f: a=(b=(c=(d=g)<<g)<<g)<<g; return(m(n,a|c)|m(n,b)|m(n,a|d)|m(n,c|d)); case h: for(a=f;a<j;++a)if(tab1[a]&&!(tab1[a]%((long)l(n))))return(a); case g: if(n<h)return(g); if(n<j){n-=g;c='D';o[f]=h;o[g]=f;} else{c='\r'-'\b';n-=j-g;o[f]=o[g]=g;} if((b=n)>=e)for(b=g<<g;b<n;++b)o[b]=o[b-h]+o[b-g]+c; return(o[b-g]%n+k-h); default: if(m1-=e) main(m1-g+e+h,s+g); else *(s+g)=f; for(*s=a=f;a<e;) *s=(*s<<e)|main(h+a++,(char *)m1); } }
Entonces con la ofuscación al compilarlo, imprimiría una marca de agua.
"Programa descargado desde http://www.mipaginaweb.com"
Y si la persona que lo descargue, quiere el codigo fuente original sin la marca de agua y sin codigo fuente, para que lo pueda modificar a su gusto, entonces tendría que pagarme no se, unos 5 dolares por programa, por su codigo fuente, y mas adelante incorporar una sección de usuarios premium, que por una suscripción mensual, tendrían acceso a contenido exclusivo, e incluso recursos para el aprendizaje y enseñanza, es decir un maestro de programación podría entrar como usuario premium a mi comunidad, y descargar metodos de enseñanza de programación, diagramas, graficas, figuras, videos, ejemplos, power points, etc...
Que les parece? Funcionaría?