martes, 17 de noviembre de 2009


Enumeraciones y Definir Tipos Constantes de una Clase en Java


Hay ocaciones en que tenemos que representar varios estados en el sistema, hacerlo con variables tipo enteras puede generar errores de programación, por eso algunos lenguajes de programación tienen variables tipo enumeracion (enum en Java,C++ y C#)

Una Buena practica de programacion es usar los enumeradores para esas ocaciones, pero cuando no los tiene el lenguaje, o cuando la version del lenguaje no lo soporta ( Java JDK 1.4 ) podemos usar las clases y las constantes para ello.

Ejemplo en Java sería:

public class Direccion {
public static final Direccion HORIZONTAL =new Direccion();
public static final Direccion VERTICAL =new Direccion();
private Direccion(){}
}

Se usaría así:

Direccion direccion= Direccion. HORIZONTAL ;

Fuente:

sábado, 14 de noviembre de 2009


Obtener las Constraints de BD de Oracle


Para sabes que llaves foráneas tenemos en nuestra Base de Datos , podemos usar el comando desc para ver la tabla ALL_CONSTRAINTS.

desc all_constraints;

Lo que nos dará algo como esto en el Script Output:

Name Null Type
------------------------------ -------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
OWNER NOT NULL VARCHAR2(30)
CONSTRAINT_NAME NOT NULL VARCHAR2(30)
CONSTRAINT_TYPE VARCHAR2(1)
TABLE_NAME NOT NULL VARCHAR2(30)
SEARCH_CONDITION LONG()
R_OWNER VARCHAR2(30)
R_CONSTRAINT_NAME VARCHAR2(30)
DELETE_RULE VARCHAR2(9)
STATUS VARCHAR2(8)
DEFERRABLE VARCHAR2(14)
DEFERRED VARCHAR2(9)
VALIDATED VARCHAR2(13)
GENERATED VARCHAR2(14)
BAD VARCHAR2(3)
RELY VARCHAR2(4)
LAST_CHANGE DATE
INDEX_OWNER VARCHAR2(30)
INDEX_NAME VARCHAR2(30)
INVALID VARCHAR2(7)
VIEW_RELATED VARCHAR2(14)

20 rows selected

Asi que para ver el contenido de la tabla solo tenemos que hacer:

Select
owner,
constraint_name,
constraint_type,
table_name,
r_owner,
r_constraint_name
From
all_constraints ;

Para que nos regrese todas las constraints de la BD.

Esto nos sirve cuando tenemos un error de llaves foraneas del tipo :

ORA-02291: integrity constraint (DUMMYDB.SYS_C0012345) violated - parent key not found

Para saver cual es la tabla con filas faltantes o datos erroneos que nos marca el error , solo tenemos que hacer:

Select
owner,
constraint_name,
constraint_type,
table_name,
r_owner,
r_constraint_name
From
all_constraints
Where
constraint_name='SYS_C0012345';

Y nos dirá el nombre de la tabla con el problema en la columna r_constraint_name .



Fuente:

martes, 6 de octubre de 2009


Estimaciones Imposibles



Solo recuerden acentuar el sarcasmo, no valla a ser que les crean :).

Vía:
Sinergia sin Control

domingo, 27 de septiembre de 2009


Problema con acentos y eñes en el iPhone Developer Program



El programa para desarrolladores iPhone tiene un problema con acentos y "eñes" asi que si piensan entrar acuerdense de no usarlos en su nombre, porque sino tendrán problemas para que les autentiquen la cuenta como a mi.

martes, 22 de septiembre de 2009


Frase Geek del Dia

Considerando cambiar de pareja por una cuyo nombre acierte el teclado predictivo de la blackberry.


estratega

martes, 15 de septiembre de 2009


Frase Geek del Dia

Oh my root!


Usuario de Unix

miércoles, 9 de septiembre de 2009


Frase Geek del Dia:

Una imagen vale mas que mil palabras... pero consume mil veces mas memoria

domingo, 6 de septiembre de 2009


Editor de Ecuaciones LaTex Online




Me he encontrado un exelente servicio web para mostrar y editar ecuaciones en internet o publicarlas en el blog: CodeCogs Ecuation Editor.

El editor te permite definir una ecuación en LaTex.Las opciones que puedes elegir son:
  • Tipo de imagen: gif , png , pdf , swf , emf.

  • Fuente de letra

  • Resolucion

  • Transparencia o color de fondo

  • Si la ecuacion ira en linea con el texto

  • Si se comprimirá

Por ejemplo la funcion z de Riemman , cuyo codigo en latex es:

\zeta \left ( s \right ) = \sum_{n=1}^{ \infty }\frac {1}{n^{s}}


Nos da esta imagen:


No es necesario que conoscasl LaTex para usarlo ya que es muy intuitivo, y tiene muchas opciones graficas.



viernes, 7 de agosto de 2009


Abierto Nacional de Programacion Ants (ANPA)



Es un concurso de programación Mexicano parecido al ACM-ICPC que se llevará a cabo los días 22 y 23 de Agosto de 2009 en las instalaciones del Tecnológico de Monterrey Campus León.

El costo de Inscripcion es 450 que incluye:

-Entrada al evento.

-Playera personalizada.

-Comida el Sabado.

Además habrá salas de videojuegos para convivencia.

Los Premios son:

-Primer Lugar $15,000

-Segundo Lugar $ 8,000

-Tercer Lugar $ 4,400

( y mas hasta el decimo lugar )

Todavia te puedes inscribir faltan 14 dias para que inicie.

www.anpa.com.mx

miércoles, 22 de julio de 2009


Google Code Jam 2009

Confirmed! :

--------------

Code Jam is back!

We're excited to announce Google Code Jam 2009, this year's iteration of Google's annual programming competition, which offers coders from around the world an opportunity to solve complex algorithmic problems under time pressure, using the programming languages and tools of their choice.

The contest will have a new format this year, starting with online rounds and ending in a 25-person final in our Mountain View, California headquarters. We're still choosing exact times for everything, but for planning purposes we wanted to give you this tentative schedule. Please note that the timing may change:

Early-Mid August: Registration will open.
+4 Weeks: Qualification round
+1 Week: Rounds 1A, 1B, 1C
+1 Week: Round 2
+1 Week: Round 3
November: World Finals in Mountain View

Online rounds begin soon, so start practicing!

-------------

Google Code Jam page

domingo, 28 de junio de 2009


WTF! en instalacion de .net

Me lo acabo de encontrar intentando instalar el framework de .Net.



---

Debe cerrar las siguientes aplicaciones antes de continuar con la instalacion:

Instalacion de Microsoft Framework 3.5 SP1

---

Para que los linuxeros no crean que instalar un programa en windows es demaciado sencillo , de repente te ponen retos mentales como este.


sábado, 7 de marzo de 2009


Google AJAX API


Google ha puesto a disposicion de todos los desarrollladores web unas apis ajax open source alojadas en sus mismos servidores, son las  Google AJAX API.

Las librerías actuales son:
Hace tiempo que estube pensando que debería haber una pagina que reuniera las librerias ajax más populares para que todos los sitios que las usen puedan acceder desde un mismo lugar y poco despues descubro que Google ya lo hizo ( otra vez ), y no pudo ser nadie mejor que ellos ya que obtenemos grandes ventajas.

Con esto obtendremos:

-Carga rapida con las velocidades de Google.
-Versiones comprimidas, se le han quitado los comentarios y algunas estan comprimidas para minimizar el tráfico.
-Toda la infraestructura de Google, que tiene chache en distintos servidores distribuidos alrededor del mundo.
-No hay que preocuparse por el alojamiento, por lo menos con las librerias que tiene por el momento y al parecer van a seguir agregando.
-Se encuentra habilitada la opcion de transferencia de datos comprimidos en Gzip.
-Funciones para cargar estas librerias, google.load().
-Cache en el usuario: Si se usa en varios sitios el navegador no tendrá que cargar varias versiones de la misma libreria.

Podremos usarlas de dos formas:

-La tradicional : con una llamada directa.
-Con la libreria de carga de googe:  google.load().





miércoles, 25 de febrero de 2009


Capturas de pantalla de Visual Studio 2010

DvX_ShellBase

Pueden ver más junto con resumen de nuevas características en el blog de Jason Zander's

jueves, 19 de febrero de 2009


Lo que sucede cuando se cae la red

Cisco saco un comercial donde muestra lo que hacen los empleados cuando se cae la red.

¿A quien no le ha sucedido?.

martes, 10 de febrero de 2009


Estudio de Eye-Traking

Hace poco Google saco un estudio de Eye-tracking , donde podemos observar la forma en que usamos su pagina de busqueda.

Aquí podemos ver el camino que siguen los ojos al realizar una busqueda sobre como atar una corbata ( how to tie a tie ):



Explicacion mas a detalle en el blog de Dr. Max Glaser y pueden comprar el estudio completo aqui.

Virtual Hosting nos dice que concluciones podemos sacar de este estudio ( Traduccion en Recursos Flash ).

Esto nos sirve a nosotros los desarrolladores para realizar pruebas de usabilidad, y no solo en dessarrollos web, tambien podemos usarlo en aplicaciones de Windows( como lo hizo Microsoft con Office ) que son en las que casi siempre descuidamos ese aspecto.

Eso si, deberemos tener el software y el hardware adecuado. Si no tenemos problemas por el dinero podemos usar monitores Tobii con el Software ClearView. Y si queremos algo economico podemos construirnos uno como este o este otro(el original esta caido).

Otra opcion es contratar a empresas especializadas en estas pruebas, como lo son: eyetools , eyetrack , Alt64 , eyetracking y Equiro quien al parecer fue el que le realizo el estudio a google y tambien realizo el mismo estudio para Yahooy MSN como podemos ver en este mapa de calor.

Comparacion de Mapas de calor de Yahoo, MSN y Google
Golden Triangle Comparison

O, si no somos muy exigentes, podemos conformarnos con crear solamente unos mapas de calor de nuestras paginas, podemos usar servicios web como nos enseñan en bocabit o en Tecnologia Diaria.

Fuente(s):
Google Blog
Wikipedia
Enquiro
Pozo de Conocimiento Online

sábado, 7 de febrero de 2009


El Tao de la Programación

Libro Uno: El Vacío Silencioso



Asi habló el maestro programador:
"Cuando hayas aprendido a sacar el código de error, será la hora que te vayas."


1.1


Algo misterioso se forma, nace en el vacío silencioso. Esperando solo e inmóvil, está a la vez detenido y en movimiento constante. Es la fuente de todos los programas. Yo no se su nombre, así que lo llamaré el Tao de la Programación.



Si el Tao es grandioso, entonces el sistema operativo es grandioso. Si el sistema operativo es grandioso, el compilador es grandioso. Si el compilador es grandioso, entonces las aplicaciones son grandiosas. El usuario está complacido y hay armonía en el mundo.


El Tao de la Programación fluye lejos y regresa con el viento de la mañana.



1.2


El Tao engendró al lenguaje de máquina. El lenguaje de máquina engendró al ensamblador.


El ensamblador engendró al compilador. Ahora existen diez mil lenguajes.



Cada lenguaje tiene su propósito, aunque sea humilde. Cada lenguaje expresa el Yin y el Yang del software. Cada lenguaje tiene su lugar dentro del Tao.


Pero no programes en COBOL si puedes evitarlo.



1.3


En el principio era el Tao. El Tao engendró al Espacio y Tiempo. Por lo tanto, Espacio y Tiempo son el Yin y el Yang de la programación.


Los programadores que no comprenden el Tao siempre se quedarán sin tiempo y espacio para sus programas. Los programadores que comprenden el Tao siempre tendrán suficiente tiempo y espacio para realizar sus objetivos.


¿Cómo podría ser de otra forma?



1.4


Al programador sabio le hablan del Tao y lo sigue.

Al programador promedio le hablan del Tao y lo busca.

Al programador necio le hablan del Tao y se rie.


Si no fuera por la risa, no habría Tao.


Los sonidos más altos son los más difíciles de oir.

Ir hacia el frente es una forma de retirarse.

Los grandes talentos se muestran hasta tarde en la vida.

Hasta un programa perfecto tiene errores.



Libro Dos: Los Maestros Antiguos



Así habló el maestro programador:
"Después de tres dias sin programar, la vida se vuelve sin sentido."


2.1


Los programadores de antes eran misteriosos y profundos. No podemos comprender sus pensamientos, por eso, todo lo que haremos, será describir su apariencia.


Despierto, como una zorra cruzando el agua. Alerta, como un general en el campo de batalla. Amable, como un anfitrión saludando a sus huéspedes. Sencillo, como bloques de madera sin tallar. Opaco, como pozos negros en cuevas oscuras.


¿Quién puede decir los secretos de sus corazones y mentes?



La respuesta solo existe en el Tao.



2.2


El Gran Maestro Turing una vez soñó que era una máquina. Cuando se despertó exclamó:


"¡No se si soy Turing soñando que era una máquina, o una máquina soñando que soy Turing!"



2.3


Un programador de una compañía muy grande de computadoras fué a una conferencia de software y luego regresó a reportarse con su jefe, diciendo: "¿Que clase de programadores trabajan para las otras compañias? No se comportan y no les interesan las apariencias. Su pelo era largo y descuidado y sus ropas arrugadas y viejas. Arruinaron las reglas de etiqueta e hicieron ruidos groseros durante mi presentación."


El jefe dijo: "Nunca debí haberte enviado a la conferencia. Esos programadores viven más alla del mundo físico. Ellos consideran a la vida un absurdo, una coincidencia accidental. Ellos van y vienen sin conocer limitaciones. Sin ningún cuidado, ellos viven solo para sus programas. ¿Porque deberían molestarse por las convenciones sociales?



Ellos viven dentro del Tao."



2.4


Un novicio le preguntó al Maestro: "Hay un programador que nunca diseña, documenta, ni prueba sus programas. Y todos los que lo conocen lo consideran uno de los mejores programadores del mundo. ¿Cómo es esto?"


El Maestro contestó: "Ese programador se ha convertido en un maestro del Tao. El ha ido más allá de la necesidad de diseñar; el no se enoja cuando el sistema se cae, acepta al universo sin preocupación. El ha ido más allá de la necesidad de documentar; ya no le interesa si alguien más ve su código. El ha ido más allá de la necesidad de probar; cada uno de sus programas son perfectos dentro de sí mismos, serenos y elegantes, su proposito es auto-evidente. Realmente, el ha penetrado el misterio del Tao."



Libro Tres: Diseño



Así habló el maestro programador:
"Cuando el programa está siendo probado, es muy tarde para hacer cambios de diseño."


3.1


Hubo una vez un hombre que fué a una feria de computadoras. El primer día al entrar, le dijo al guardia de la puerta:


"Yo soy un gran ladrón, renombrado por mis hazañas de robar tiendas. Estás avisado de antemano, porque esta feria no escapará sin ser saqueada."



Estas palabras incomodaron mucho al guardia, porque adentro había millones de dolares en equipo computacional, así que observó al hombre cuidadosamente. Pero el hombre solamente vagaba de stand en stand, murmurando para sí.


Cuando el hombre se iba, el guardia se lo llevó aparte y buscó entre sus ropas, pero no encontró nada.


Al siguiente día de la feria, el hombre regresó y regañó al guardia diciendo: "Ayer escapé con un gran botín, pero hoy será todavía mejor." Así que el guardia lo observó más de cerca, pero sin resultados.


En el último día de la feria, el guardia no pudo resistir más su curiosidad. "Señor Ladrón, " dijo "estoy tan confundido que no puedo vivir en paz. Por favor ilumíneme. ¿Qué es lo que está robando?"



El hombre sonrió. "Estoy robando ideas" dijo.



3.2


Hubo una vez un maestro programador que escribía programas no estructurados. Un programador novicio, buscando imitarlo, también comenzó a escribir programas no estructurados. Cuando el novicio le pidió al maestro evaluar su progreso, el maestro lo criticó por escribir programas no estructurados, diciendo: "Lo que es apropiado para el maestro no es apropiado para el novicio. Debes entender el Tao antes de trascender la estructura."



3.3


Hubo una vez un programador que estaba asignado a la corte del señor de Wu. El señor le preguntó al programador: "¿Qué es más fácil de diseñar: un paquete de contabilidad o un sistema operativo?"


"Un sistema operativo", contestó el programador.


El señor lanzó una exclamación de incredulidad. "De seguro un paquete de contabilidad es trivial comparado con la complejidad de un sistema operativo", dijo.



"No tanto," dijo el programador, "al diseñar un paquete de contabilidad, el programador opera como un mediador entre personas que tienen ideas diferentes: cómo debe operar, cómo debe entregar sus reportes, y como debe conformarse con las leyes de impuestos. Al contrario, un sistema operativo no está limitado por las apariencias externas. Al diseñar un sistema operativo, el programador busca la armonía más simple entre máquina e ideas. Es por esto que un sistema operativo es más fácil de diseñar."


El señor de Wu asintió y sonrió. "Eso está bien y correcto, pero ¿cuál es más fácil de depurar?"


El programador no contestó.



3.4


Un gerente fue con el maestro programador y le mostró el documento de requerimientos para una nueva aplicación. El gerente le preguntó al maestro: "¿Cuánto tiempo tomará diseñar este sistema si le asigno cinco programadores al proyecto?"


"Tomará un año", dijo el maestro rápidamente.


"¡Pero necesito este sistema inmediatamente o antes! ¿Cuánto tiempo se trdará en diseñar este sistema si le asigno diez programadores?"



El maestro frunció el ceño. "En este caso, tomará dos años."


"¿Y si le asigno cien programadores?"


El maestro se encogió de hombros. "Entonces el diseño nunca será completado", dijo.



Libro Cuatro: Codificación



Así habló el maestro programador:
"Un programa bien escrito es su propio cielo; un programa mal escrito es su propio infierno."


4.1


Un programa debe ser ligero y ágil, sus subrutinas conectadas como un collar de perlas. El espíritu e intención del programa debe ser retenido ante todo. No deberá haber ni poco ni mucho, ni ciclos innecesarios ni variables sin usar, ni falta de estructura ni excesiva rigidez.


Un programa debe seguir la 'Ley del Menor Asombro'. ¿Cuál es ésta ley? Es simplemente que el programa siempre debe responder al usuario de la manera que lo asombre lo menos posible.


Un programa, no importa cuán complejo sea, debe actuar como una sola unidad. El programa debe ser dirigido por la lógica interna y no por las apariencias externas.


Si el programa falla en estos requerimientos, estará en un estado de desorden y confusión. La única forma de corregir esto es reescribir el programa.



4.2


Un novicio le preguntó al maestro: "Tengo un programa que a veces corre y a veces aborta. He seguido las reglas de la programación, y aún así estoy desconcertado. ¿Cuál es la razón de esto?"


El maestro contestó: "Estás confundido porque no entiendes el Tao. Sólo un tonto espera comportamiento racional de sus semejantes humanos. ¿Qué esperas de una máquina que los humanos han construido? Las computadoras simulan determinismo; solo el Tao es perfecto.


Las reglas de programación son transitorias; solo el Tao es eterno. Por lo tanto tu debes contemplar al Tao antes de recibir iluminación."



"¿Pero cómo sabré cuando he recibido la iluminación?", preguntó el novicio.


"Tu programa correrá entonces correctamente", contestó el maestro.



4.3


Un maestro estaba explicando la naturaleza del Tao a uno de sus novicios, "El Tao está encarnado en todo software -- sin importar cuán insignificante sea", dijo el maestro.


"¿Está el Tao en una calculadora portátil?", preguntó el novicio.


"Está", fué la respuesta.


"¿Está el Tao en un video juego?", continuó el novicio.


"Está hasta en un video juego", dijo el maestro.



"¿Y está el Tao en el DOS de una computadora personal?"


El maestro tosió y cambió ligeramente su posición. "La lección se acabó por hoy", dijo.



4.4


El programador del Príncipe Wang estaba codificando. Sus dedos bailaban sobre el teclado. El programa compiló sin un mensaje de error, y el programa corrió como viento ligero.


"¡Excelente!," exclamó el Príncipe, "¡Tu técnica no tiene fallas!"


"¿Técnica?," dijo el programador, girándose hacia su terminal, "Lo que yo sigo es el Tao -- mas allá de toda técnica. Cuando al principio empecé a programar yo podía ver el programa completo en un bloque. Después de tres años ya nunca más vi ese bloque. En vez de eso, usé subrutinas. Pero ahora no veo nada. Todo mi ser existe en un vacío sin forma. Mi sentidos estan ociosos. Mi espíritu, libre para trabajar sin un plan, sigue su propio instinto. En resúmen, mi programa se escribe así mismo. Es verdad, a veces hay problemas y dificultades. Las veo venir, me freno, observo silenciosamente. Entonces cambio una sola linea de código y las dificultades se desvanecen como nubes de humo. Entonces compilo el programa. Me siento erguido y dejo que el gozo del trabajo llene mi ser. Cierro mis ojos por un momento y entonces cierro mi sesión."


El Príncipe Wang dijo, "¡Ojalá todos mis programadores fueran tan sabios!"



Libro Cinco: Mantenimiento



Así habló el maestro programador:
"Aunque un programa sólo tenga tres líneas de largo, algún dia tendrá que ser mantenido."


5.1


Una puerta bien usada no necesita aceite en sus bisagras. Una corriente que fluye veloz no se estanca. Ni el sonido ni los pensamientos pueden viajar a través de un vacío. El software se pudre si no se usa.


Esos son grandes misterios.



5.2


Un gerente le preguntó a un programador cuánto tardaría en terminar el programa en el cual estaba trabajando. "Lo terminaré mañana", respondió el programador.


"Creo que no estás siendo realista," dijo el gerente, "¿En realidad, cuánto tiempo tardará?"


El programador pensó por un momento. "Tengo algunas características que desearía agregar. Esto tomará al menos dos semanas", finalmente dijo.


"Aún esto es esperar mucho," insistió el gerente, "Estaré satisfecho si tu simplemente me avisas cuando el programa esté completo."


El programador aceptó esto.


Varios años pasaron, el gerente se retiró. En el camino a su comida de despedida, descubrió al programador dormido en su terminal. Había estado programando toda la noche.



5.3


Un programador novicio fue una vez asignado para codificar un paquete financiero sencillo.



El novicio trabajó furiosamente por muchos dias, pero cuando su maestro revisó su programa, descubrió que contenía un editor de pantalla, un conjunto de rutinas generales gráficas, y una interface con inteligencia artificial, pero ni la más remota mención de nada financiero.


Cuándo el maestro le preguntó acerca de esto, el novicio se indignó. "No seas tan impaciente, " dijo, "ya pondré esa cosa financiera eventualmente."



5.4


¿Acaso un buen granjero abandona la cosecha que ha plantado?
¿Acaso un buen maestro pasa por alto aún al más humilde estudiante?
¿Acaso un buen padre permite que uno sólo de sus hijos se muera de hambre?
¿Acaso un buen programador se rehusa a mantener su código?



Libro Seis: Administración



Así habló el maestro programador:
"Sean los programadores muchos y los administradores pocos -- entonces todos serán productivos."


6.1


Cuando los administradores tienen juntas infinitas, los programadores escriben juegos. Cuando los contadores hablan de ganancias trimestrales, el presupuesto de desarrollo está a punto de ser recortado. Cuando los científicos en jefe pintan el cielo azul, las nubes están a punto de formarse.


En verdad, esto no es el Tao de la Programación.


Cuando los administradores hacen compromisos, los programas de juegos son ignorados. Cuando los contadores hacen planes a largo plazo, la armonía y el orden están a punto de ser restaurados. Cuando los científicos en jefe señalan los problemas inmediatos, los problemas serán pronto resueltos.



En verdad, esto es el Tao de la Programación.



6.2


¿Por qué los programadores no son productivos? Porque pierden su tiempo en juntas.


¿Por qué los programadores se vuelven rebeldes? Porque la administración interfiere mucho.


¿Por qué los programadores renuncian uno a uno? Porque han sido explotados.


Habiendo trabajado para una pobre administración, ellos ya no valoran sus empleos.



6.3


Un gerente estaba a punto de ser despedido, cuando un programador que trabajaba para él invento un nuevo programa que se hizo muy popular y se vendió bien. Como resultado, el gerente retuvo su empleo.


El gerente intentó darle al programador un bono, pero el programador se rehusó, diciendo, "Escribí el programa porque pensé que era un concepto interesante, y por eso no espero ninguna recompensa."


El gerente, al oir esto, comentó, "Este programador, aunque tiene una posición poco estimada, entiende bien el deber propio de un empleado. ¡Déjenos promoverlo al privilegiado puesto de consultor de la administración!"


Pero cuando le dijo esto, el programador una vez más se rehusó, diciendo, "Yo existo para poder programar. Si yo fuera promovido, no haría nada excepto desperdiciar el tiempo de todos. ¿Me puedo ir ya? Tengo un programa en el que estoy trabajando."



6.4


Un gerente fué con sus programadores y les dijo: "Con respecto a sus horas de trabajo: ustedes van a tener que venir a las nueve de la mañana e irse a las cinco de la tarde." Con esto, todos se enojaron y varios renunciaron en el momento.


Entonces el gerente dijo: "Está bien, en ese caso ustedes pueden fijar sus propias horas de trabajo, siempre y cuando terminen sus proyectos a tiempo." Los programadores, ahora satisfechos, comenzaron a llegar a mediodía y trabajar hasta la madrugada.



Libro Siete: Sabiduría Corporativa



Así habló el maestro programador:
"Le puedes mostrar un programa a un ejecutivo de la corporación, pero no puedes hacer que entienda las computadoras."


7.1


Un novicio le preguntó al maestro: "En el este existe una gran estuctura arbórea que los hombres llaman 'Cuarteles Corporativos'. Esta hinchado y deforme con vice-presidentes y contadores. Lanza una multitud de memos, cada uno dicendo '¡Ve Aquí!' o '¡Ve Allá!' y nadie sabe que significa. Cada año se ponen nombres nuevos en las ramas, pero todo sin resultados. ¿Cómo puede una entidad tan no natural existir?"


El maestro replicó: "Tu percibes esta inmensa estructura y estás perturbado de que no tenga un propósito racional. ¿No tienes entretenimiento de sus giros infinitos? ¿No disfrutas el alivio de programar sin problemas bajo sus ramas protectoras? ¿Porque te molesta su inutilidad?"



7.2


En el este existe un tiburón que es más grande que todos los demás peces. Se transforma en un pájaro cuyas alas son como nubes llenando el cielo. Cuando el pájaro se mueve a través de la tierra, lleva un mensaje de los Cuarteles Corporativos. Este mensaje lo deja caer enmedio de los programadores, como una gaviota haciendo sus marcas en la playa. Entonces el pájaro se monta en el viento, y con el cielo azul a sus espaldas, regresa a su hogar.


El programador novicio mira sorprendido al pájaro, porque no lo entiende. El programador promedio teme la llegada del pájaro, porque tiene miedo de su mensaje. El maestro programador continúa trabajando en su terminal, porque el no sabe que el pájaro ha venido y se ha ido.



7.3


El Mago de la Torre de Marfil llevó su último invento para que el maestro programador lo examine. El mago acarrea una gran caja negra a la oficina del maestro mientras el maestro espera en silencio.


"Esta es una estación de trabajo integrada, distribuida y de propósito general, " comenzó el mago, "diseñada ergonómicamente con un sistema operativo propietario, lenguajes de sexta generación, y múltiples interfaces de usuario avanzadas. Tomó a mis asistentes varios cientos de años-hombre construirla. ¿No es sorprendente?"


El maestro alzó sus cejas ligeramente. "Por supuesto que es sorprendente", dijo.



"Los Cuarteles Corporativos han mandado, " continuó el mago, "que todos usen esta estación de trabajo como la plataforma para los nuevos programas. ¿Está de acuerdo con esto?"


"Ciertamente, " replicó el maestro, "¡Haré que sea transportada al centro de datos inmediatamente!" Y el mago regresó a su torre muy complacido.


Muchos días después, un novicio vagaba por la oficina del maestro programador y dijo, "No puedo encontrar el listado de mi nuevo programa. ¿No sabes donde puede estar?"


"Si, " replicó el maestro, "los listados están apilados en la plataforma del centro de datos".



7.4


El maestro programador se mueve de un programa a otro programa sin miedo. Ningún cambio en la administración le puede hacer daño. No será despedido, aunque el proyecto sea cancelado. ¿Por qué es esto? El está lleno con el Tao.



Libro Ocho: Hardware y Software



Así habló el maestro programador:
"Sin viento, el pasto no se mueve. Sin software, el hardware es inútil."


8.1


Un novicio le preguntó al maestro: "Percibo que una compañía de computadoras es mucho más grande que todas las demás. Está tan arriba de la competencia como un gigante entre enanos. Cualquiera de sus divisiones podría abarcar un negocio entero. ¿Por qué es así?"


El maestro replicó, "¿Por qué haces preguntas tan tontas ? Esa compañía es grande porque es así de grande. Si sólo hiciera hardware nadie lo compraría. Si sólo mantuviera sistemas, las personas la tratarían como a un sirviente. Pero porque combina todas esas cosas, ¡las personas piensan que es uno de los dioses! Al no buscar intentarlo, conquista sin esfuerzo."



8.2


Un maestro programador pasó cerca de un programador novicio un día. El maestro notó la preocupación del novicio con un juego de computadora portátil. "Perdóname, " dijo, "¿puedo examinarlo?"


El novicio prestó atención y le pasó el dispositivo al maestro. "Veo que el aparato dice que tiene tres niveles de juego: Fácil, Intermedio y Difícil", dijo el maestro. "Y todavía cada aparato tiene otro nivel de juego, donde el dispositivo no busca conquistar al humano, ni ser conquistado por el humano."


"Ruego, gran maestro, " imploró el novicio, "¿cómo hace uno para encontrar esa misteriosa configuración?"


El maestro tiró el dispositivo al suelo y lo aplastó bajo su pie. Y de repente el novicio fué iluminado.



8.3


Había una vez un programador que trabajaba con microprocesadores. "Mira que tan bien estoy aquí, " le dijo a un programador de mainframes que vino a visitarlo, "tengo mi propio sistema operativo y dispositivo de almacenamiento de archivos. No tengo que compartir mis recursos con nadie. El software es consistente y fácil de usar. ¿Por qué no dejas tu trabajo actual y te unes a mi aquí?"


El programador de mainframes entonces comenzó a describir su sistema a su amigo, diciendo: "El mainframe está sentado como un antiguo adivino meditando enmedio del centro de datos. Sus unidades de disco descansan una con otra como un gran océando de maquinaria. El software es multifacético como un diamante y tan enredado como una selva primitiva. Los programas, cada uno es único, se mueven a través del sistema como un río que fluye rápido. Es por eso que soy feliz donde estoy."



El programador de microcomputadoras, al oir esto, guardó silencio. Pero los dos programadores siguieron siendo amigos hasta el fin de sus días.



8.4


Hardware se encontró a Software en el camino a Changtse. Software dijo: "Tu eres el Yin y yo soy el Yang. Si viajamos juntos nos volveremos famosos y ganaremos enormes sumas de dinero." Y así la pareja marchó junta, pensando en conquistar al mundo.


Luego ellos conocieron a Firmware, quien estaba vestido con harapos raídos, y cojeaba apoyado en un bastón espinoso. Firmware les dijo: "El Tao reside mas allá del Yin y Yang. Es silencioso y erguido como un pozo de agua. No busca fama, por lo tanto nadie sabe de su presencia. No busca fortuna, porque es completo dentro de sí mismo. Existe mas allá del espacio y el tiempo."


Software y Hardware, avergonzados, regresaron a sus casas.



Libro Nueve: Epílogo



Así habló el maestro programador:
"Es hora de que te marches."



Visto en: Psicobyte
Version Original: Tao of programming
Libro: Amazon

ACM-ICPC


ACM-ICPC es una competencia mundial de programacion y algoritmos,

Es una de las competencias mundiales mundiales de programacion mas respetadas.

Esta dirigido a estudiantes de los primeros años de la universidad ( por las reglas ).

Requiere de muchas habilidades de programacion como: programacion "rápida y sucia" , trabajo en equipo, algoritmia, conocimiento de sistemas operativos, y bases matematicas fuertes, y mucha planeacion y entrenamiento.

Consiste en varios problemas ( 5 mas o menos ) que tienes que resolver dando el codigo que genera el programa para resolverlos, participan 3 integrantes por equipo y se dispone de una sola maquina.

Existe una pagina ( Juez en linea ) donde puedes ver los problemas de ejemplo y otros de competencias pasadas, incluso puedes enviar tus codigos para que te califiquen.

Yo participe en 3 ocaciones y llegue a quedar en 3o con mi equipo en los concursos regionales, pero ya no llegue mas lejos (Bisontes 2).

miércoles, 4 de febrero de 2009


Como poner marcas de agua a las imagenes

Para agregar marcas yo uso FastStone Photo Resizer ( o FSResizer ) y Gimp,

Primero, con Gimp, creo una imagen con transparencia de la marca que quiero poner y la guardo en algun formato que entienda el FSResizer como png , asegurandome que se guarde el fondo transparente.

Luego en el FSResizer busco los archivos a los que les quiero agregar la marca de agua y los voy agregando a la lista de la derecha,

Luego hay que dar click en Opciones Avanzadas, seleccionar la pestaña watermark ,agregar watermark, buscar la imagen y ajustar las opciones.

Nota:luego subo las imagenes , ahorita no tengo una buena conneccion.

lunes, 2 de febrero de 2009


Compiladores online

Para una entrada que estaba escribiendo nesecitaba de un compilador, pero me daba flojera buscarme e instalarme uno, pero recorde que existian compiladores online, asi que me puse a buscarlos y de pasada hacer una entrada de ello.

Aqui les pongo una lista de los que encontre:


CodePad


Lenguajes soportados:

-C
-C++
-D
-Haskell
-Lua
-OCaml
-PHP
-Perl
-Plain Text
-Python
-Ruby
-Scheme
-Tcl

DJGPP Public Access Cross-Compiler



Lenguajes soportados:

-C
-C++

Code IDE


Lenguajes soportados:

-C
-C++
-Pascal
-Basic
-Asm
-Perl
-JavaScript
-Html
-Flex
-Mysql
-Prolog
-Lisp
-Math

Compilr

Lenguajes soportados:

-C
-C++
-Java
-Fortran
-VB.net
-C#.net

Test Drive Comeau C++ Online


Lenguajes soportados:

-C
-C++

Wonderfl


Lenguajes soportados:

-Flash

JXXX Compiler Service


Lenguajes soportados:

-Java

LaTeX-Online-Compiler


Lenguajes soportados:

-LaTeX

Webrunit

Este es para poder construirnos nuestro propio compilador online.

Lenguajes soportados:

-C
-C++

Entradas programadas

Acabo de darme cuenta de que blogger tiene una funcion para programar la fecha y hora en la que se programa.

Solo hay que dar click en "Opciones de entrada" para editar la "Fecha y hora de la entrada".





Ya con esto no puedo excusarme a mi mismo diciendome que no tengo tiempo para subir ya que las puedo programar cuando este libre, asi que espero haya una entrada diaria ( por lo menos ) en este blog.

P.D.: al parecer no he podido cumplirlo , pero tengo la conviccion de que lo haré, solo necesito organizarme bien.