viernes, 6 de diciembre de 2013

 Para continuar con la serie de publicaciones referentes a modularidad, abarcaremos en esta entrada el segundo criterio de modularidad, que corresponde a lo denominado como Composición Modular.


Trataremos de explicar en esta entrada el concepto de composición modular de la forma más sencilla y recordaremos también el concepto de descomposición modular.

jueves, 5 de diciembre de 2013

Buenas tardes queridos lectores, bienvenidos a otra entrada de mi blog de programación...
Seguro que me deben de haber visto publicar cosas como que a mi php me interesa porque simplemente paso el tiempo haciendo a algunas aplicaciones interesantes...

Hoy quiero publicar una entrada que marca el final de php, hoy estaba viendo unos códigos de Haskell (muy interesante lenguaje de programación, un mundo diferente para ser sincero), y recordé que hoy ya no tengo muchos motivos para programar en php, si bien es un lenguaje que me agradó durante un tiempo, hoy en día considero que no vale la pena seguir haciendo monstruitos jajaja.-
Buenas!, otra entrada más para sumar a la lista de entradas a mi blog, voy a agradecer a todos los lectores que nos siguen vía twitter, y entrando directamente al blog :)

Para recordar un poquito en esta entrada hablaremos sobre las definiciones principales de los criterios anteriores y de la definición de entendibilidad modular.

miércoles, 4 de diciembre de 2013

Buenas tardes lectores. Hoy comentaré un poco mi opinión acerca de las redes sociales en general y me enfocaré también en las conocidas y más relevantes.

Primero que nada, la definición de Red Social hallada en Wikipedia explica una forma de graficar una o varias conexiones entre muchos nodos (organizaciones y/o personas) pero también tiene su definición enfocada a las redes sociales virtuales, o como allí aparece "Servicio de Red Social", artículo que no me gustó por estar redactado como el culo vulgarmente.

Pero este concepto no aplica sólo a las ya conocidas redes que se enfocan a ésto, como FB y G+, Todos los sitios donde haya interacción entre los usuarios -foros, sitios web de fotografía, taringa y sus clones, etc- son redes sociales.

Buenas tardes, en ésta entrada seguiremos el tema de Modularidad previamente iniciado en entradas anteriores, para poder cumplir con modularidad, es necesario cumplir ciertos criterios básicos que definen cuando una entidad de soft puede llegar a ser modular.


martes, 3 de diciembre de 2013

Buenas tardes lectores, hoy decidí hablar sobre un tema ya repasado por casi todos, y por muchas publicaciones y vueltas que dan al tema, creo que no todos lo cierran bien puesto que en la mayoría de los casos Idolatran y Adoran al Sistema Operativo o en su defecto, lo Desvalorizan o están en su contra (apple, claro)

Me gustaría aclarar, antes que nada, que soy un usuario Android, y actualmente poseo un terminal Motorola Razr XT910.

Citando a Wikipedia, Android es, en pocas palabras:
Android es un sistema operativo basado en Linux diseñado principalmente para dispositivos móviles con pantalla táctil, como teléfonos inteligentes o tabletas.

Hay que tener en claro si bien este Sistema Operativo supera las expectativas de cualquiera que lo posea (Si no recuerdo mal, Alexander utilizó unas palabras similares) tenemos que conocer realmente cómo aprovechar tal potencial, conociendo sus ventajas y desventajas.

En esta entrada hablaremos sobre la modularidad, un concepto que mucha gente proclama conocer, pero en los hechos reales podemos apreciar que confunden seriamente el concepto en la mayoría de los casos.


En general los paradigmas para el desarrollo de software incluyen un criterio de calidad llamado modularidad, que establecido de manera simple propone que las piezas resultantes de aplicar el criterio de partición propuesto por el paradigma, sean entendibles individualmente, para lo cual deberían ser cohesivas y estar bajamente acopladas.
Buenas! como andan? como habrán leido en la publicación de josé ando medio ocupado, tengo que estudiar para el ingreso a la universidad, pero no puedo con mi genio y tenía que ponerme a hacer algo jajaja.
Hoy traigo un experimento que hice en base a la idea de un BlockClosure (bloque de ejecución diferida) que quería agregar a mi modelo de componentes en php


Bueno la cosa es simple, creo dos clases y hago que una hable con la otra, como si fuesen dos personas.

lunes, 2 de diciembre de 2013

Buenas tardes lectores, hoy les escribe Cody Roodaka, soy Programador y me rijo en PHP, Lua y algo de VB6, aunque ahora estoy desarrollándome en Economía. Alexander estará ocupado esta semana por lo que me pidió que mantuviese el ritmo del Blog. Y aunque me gustaría continuar con su -muy interesante- rama de Desarrollo y Diseño de Software de Calidad, mis conocimientos y experiencias van en otra dirección.
Si bien el enfoque del blog es específicamente a Programadores -de cualquier lenguaje y/o nivel-, a todos nos ha pasado que, en una noche de insomnio o una charla aleatoria se nos ocurre una idea 'grandiosa y súper innovadora', pero ¿Cómo podemos sacarle el jugo a ésta? No se tratará -en la mayoría de los casos- de ponerse a escribir código a lo loco y rezar porque sea funcional y bonito (aquí es cuando muchos recurrimos a templates y frameworks, lo cual casi siempre nos salva las papas).

Buenos días, en esta entrada hablaremos de un tema poco común de hablar y muy escuchado.
Muchos adjudican que hacen mantenimiento de software pero la mayoría en realidad usa ésta excusa para cobrar dinero, en realidad el mantenimiento de software si existe, y pocos lo tienen en cuenta.

Frecuentemente las discusiones acerca del software y la calidad del mismo solo involucran la fase de desarrollo. Pero el cuadro real es más amplio. La parte pocas veces tratada de la profesión, y casi nunca tratada en los cursos introductorios de programación es el mantenimiento .
Es una estimación amplia mente aceptada que casi el 70% de los costos del software se aplican al mantenimiento. Ninguna discusión acerca de calidad del software puede ser satisfactoria si se subestima este aspecto.

domingo, 1 de diciembre de 2013

Buenas tardes queridos lectores, esta viene siendo ya la segunda publicación del mes de diciembre, quiero hablar sobre un tema que me pareció que ya toda la red era consciente, pero no, resulta que ayer vi a un amigo mostrarme un código en el que hacía uso de GLOBAL!!

La idea de esta entrada es explicarles por qué motivo usar variables globales está desaconsejado.

Imagino que a esta altura del partido, muchos se preguntarán, como se me ocurre hacer una entrada para semejante brutalidad, lo que pasa es que no es la primer persona que aún usa global, y prefiero pesarles el link de la entrada que explicarles uno por uno la razón.
Buenas tardes, hoy tenemos la primer entrada del mes de diciembre, y quiero agradecer a todos los lectores, amigos y gente que apoya el blog, recuerdo que mi gran amigo y "compañero de hazañas informáticas" Cody Roodaka hace como un año me dijo que debería abrir un blog para publicar mis opiniones y mis ideas, luego decidí abrirlo y hoy cuento con seguidores del blog y gente que me lee.

Se que muchos aveces se quejan por algunas publicaciones que son demasiado "voladoras" como para entenderlas y que muchas veces para alguna gente le es complicado cazar algunos conceptos y llevarlos al código, siempre trato de publicar las cosas de la forma más sencilla posible.

Hoy hablaremos sobre una noticia que me dolió mucho, y a su vez me llamó la atención, resulta que Winamp dejará de existir a partir del 20 de diciembre (mes actual).-

sábado, 30 de noviembre de 2013

Buenas, hoy hablaremos sobre algo que le preocupa a muchos, generalmente me pregunta ¿Cuánto tengo que cobrar por  hacer X cosa? ¿Cómo les cobro? generalmente son nuevos en esto de la venta de código y software y suelen hacer este tipo de preguntas, asique basandome en una publicación bastante vieja que leí muy interesante por cierto de Leandor A. (una lástima que programe en vb).

Elegí esta foto por un motivo en específico, en esta entrada entre otras tantas cosas voy a hacer alusión a como crear un árbol que de dinero, esta foto es conocida pero mi intención es darle otro punto de vista al lector...
Buenos días, esta es prácticamente mi última entrada referente al tema de calidad, que a pedido de Drinky (Fary o Juan), ponemos a disposición de la gente un poco de teoría.-
Si bien es la última entrada referente al punto de calidad, en próximas entradas agregaré unos conceptos de abstracción, encapsulación, modularidad, un poquito de todo.
Luego de esto probablemente de por finalizado el Hilo de El Arte de Programar (no se guíen por las publicaciones etiquetadas en esto porque etiquete muchas cosas que no son precisamente teoría).-


En la entrada de hoy hablaremos sobre las dificultades de implementar calidad en software, de los factores que son puestos en el tablero para tomar decisiones de diseño si se quiere.

viernes, 29 de noviembre de 2013

Buenas tardes a todos, hoy traigo un PDF que resume y aclara un poco algunas de mis entradas hechas hasta este momento, es la introducción a PCM y PCMB.


En esta entrada finalizaremos con el último de los factores de calidad, tengase en cuenta, que en realidad no terminamos de hablar del tema de calidad, y ese tipo de cosas, asique pueden esperar nuevas entradas aún jejeje.

Éste criterio engloba algunos de los factores menos importantes pero que no hay que dejar de lado, tales como
Portabilidad, Verificabilidad, Integridad, Facilidad de uso.

jueves, 28 de noviembre de 2013

Hola! en esta entrada hablaremos sobre dos criterios de calidad, y quiero informarles que uní ambos criterios en una sola entrada por la razón de que no requieren una explicación tan extensa como los criterios anteriores.

Hasta ahora hemos visto Corrección, Robustez, Extensibilidad, Reusabilidad, y ahora vamos a ver los conceptos de los criterios de calidad Compatibilidad y Eficiencia


Buenas tardes, el otro día andaba en el colectivo y me surgió una idea de como crear tipos en php y realmente por qué hacerlo?

Antes que nada, voy a aclarar que esto es una idea tipo "pasatiempo" realmente no me puse seriamente a planificar la idea, aunque no me parece mala, pero tampoco me parece una muy buena idea.

En php los tipos son manejados por el intérprete automáticamente, y se puede evaluar el tipo de dato usando un Triple Igual (===).
No obstante la falta de especificación de dichos tipos, a diferencia de otros lenguajes, en un aspecto puede llegar a ser interesante, pero en otro genera un problema que nunca antes se había dado, principalmente porque disminuye la seguridad en un lenguaje tan flexible.
Buenas tardes, en la entrada de hoy hablaremos sobre el 4º criterio, recordemos que en entradas anteriores hablamos sobre los tres primeros criterios (Corrección, Robustez, Extensibilidad), otro gran aspecto es la Reusabilidad, de hecho es uno de los criterios de calidad más importantes a tener en cuenta, no quiero dejar de lado los anteriores porque son importantes, pero éste es uno de los más complejos e interesantes para analizar.



Primero quiero comentar que siempre veo gente hablar de esto, parece que con un poco de copiar y pegar, la gente cree que ya reusa código, mal por ellos, porque usar el mismo código varias veces no es en esencia reusar, en realidad si es parte del reuso, pero no es esa la definición, no podemos decir que reuso no es usar el mismo código varias veces, pero eso por si solo no es reuso, de hecho con ese criterio casi todo es reusable, y en realidad es totalmente incorrecto.
Algunos creen que para reusar basta con agarrar un código y usarlo en otra parte... en realidad no es así.

Por definición:
Reusabilidad es la habilidad de una entidad de software de ser reusado en conjunto o en parte en la construcción de nuevas entidades

miércoles, 27 de noviembre de 2013

Buenas, hoy haré una critica general, y en la próxima entrada seguiré con el tema de calidad.
Quería comentar que yo soy de esos usuarios que anda por comunidades, foros, blogs, etc. leyendo y comentando a cerca de los distintos temas.
También asisto a charlas de software, de industria, de tecnología, y estoy siguiendo la carrera de ingeniería en sistemas y una segunda carrera a su vez de profesorado de informática.

Leyendo en internet llegué a la conclusión, de que los programadores que andan en comunidades de hacking o de programación en php, muchos, me atrevo a decir la gran mayoría, está en un taper, y realmente no entiende como son las cosas.


Aveces me pregunto si no entienden o no ven las cosas, les  explicaré un poco.
Esto ya lo había publicado como hace un mes, pero nunca lo puse en el blog asique aquí está.



El objetivo de este código es hacer "hablar a la computadora un texto", y que se escuche con un sintetizador. Es decir para todos los fanáticos de loquendo y textSpeech (escribir un texto y que la pc lo hable) acá tenemos mi código en php con su voz marica, que dice lo que ponemos en una variable.

Hola, buenas tardes a todos, esta entrada la hago en base a la petición de CrazyKade de que explique mi idea sobre la utilización de eval como una shell.

Para ésto realizé un documento en PDF y lo subí a scribd.
Pueden verlo a continuación...

martes, 26 de noviembre de 2013

Buenas tardes! ya hemos visto en entradas anteriores dos de los criterios (Corrección y Robustez) hoy hablaremos sobre la extensibilidad.

Muchos consideran a la extensibilidad como agarrar una linea de código y cambiarla o agregar nuevas para que nuestro producto tenga más funciones, en realidad eso no sería un problema, si no tubieramos en cuenta, que en software muy grande, generalmente un mal diseño del mismo causa que cada vez que editemos algo, otra cosa se corrompa, y otra y otra, mientras tratamos de arreglarlo, generando un desastre.

Un claro ejemplo de esto podría ser un código muy chico en realidad como es el de SMF en php, que esta tan mal diseñado y programdo, que a cualquier cambio menor que le hagas a ese pequeño código, genera una serie de problemas más grabes, esto me lo comentaba un amigo que trató de modificar un smf, claro está que si tienes mucho tiempo, no es un problema, pero en la industria, el tiempo cuesta dinero, y no siempre hay dinero para mantener tanto tiempo en problemas que no deberían ocurrir.


Extensibillidad
Extensibilidad es la facilidad con la que una entidad de software puede ser adaptada a los cambios en las especificaciones

Buenas! lectores queridos y no tan queridos, hoy dejo una nueva entrada en mi blog referente a uno de mis proyectos en los que trabajo, resulta que mi proyecto consta de crear un editor de mapas para un juego basado prácticamente en html y Jquery.

Esta imagen fue generada por mi navegador (chrome) lo probé en firefox que lo uso siempre pero mi forma de crear los mosaicos no funciona en firefox y queda una cosa fea.
La idea era armar una tabla de cuadros de 16x16 que sean completados con "mosaicos" que nos permitan graficas habitaciones o paisajes o mapas en realidad.

lunes, 25 de noviembre de 2013

Buenas tardes a todos, como le comentaba a fermino, ya realizé muchas funciones y mi bot cumple con los objetivos iniciales, por lo que no tengo más pruebas que hacer con él, si bien le falta ajustar mucho a nivel estructura, como es un bot de pruebas y realmente no lo considero como un proyecto sino un pasatiempo en el que fui probando ideas, no voy a lanzar una versión con un código optimizado y mejorado, ésta será por lo menos por ahora la última versión.


¿Qué tiene de nuevo?
Buenas tardes, siguiendo con la linea que llevo de publicaciones, y ya hecha la introducción a calidad, hablaremos del primer criterio el criterio de la Corrección


En primera instancia daré la definición:

Corrección:
Corrección es la habilidad de una entidad de software de ejecutar exactamente su tarea, tal como se ha sido definida por la especificación y requerimientos.

A partir de esta definición explicaré un poco de que se trata.

domingo, 24 de noviembre de 2013


Buenas tardes, estube un ratito e hice unos pequeños cambios a solicitud de algunos, asique les traigo la nueva versión que incluye los siguientes cambios:
En una entrada anterior yo estube hablando un poco sobre la industria del soft, y sobre los componentes, hoy en día, pensar una industria que no trabaje basando su desarrollo en componentes, por las evidentes razones que mensioné en la entrada anterior.

En casos conocidos, podemos apreciar como windows a partir de 98 tiene su modelo de componentes bien formado, y empieza a basar todo su sistema en componentes, empaquetados en archivos conocidos como dlls.

Podemos apreciar sus ventajas con las actualizaciones automáticas, donde gracias a estas dlls es posible implementar extensibilidad en su correcta expresión, de modo que modificar una dll para que haga una tarea bastante diferente y reemplazar una vieja sin tener que modificar el programa es muy simple.

Antes de ayer asistí a una charla en un Instituto de Formación Técnica Superior, que daba Gabriel Pimentel, donde demostró la simplicidad y utilidad de las dlls, creó un programa que utilizaba una dll que también creó para fines demostrativos (todo ésto en c++) cargó la dll y la utilizó en su programa original, compiló el programa, y luego cambió completamente la dll para que hasta cambie de ser modo consola a modo visual creando una ventanita, reemplazó la dll anterior por la nueva, y el programa original la utilizó sin inconvenientes utilizando las nuevas funciones de dicha dll.

sábado, 23 de noviembre de 2013

Hola, estos últimos días asistí a una charla en un instituto de mar del plata, organizada por Gabriel Pimentel (uno de mis profesores y mi inspiración (? ), y lamentablemente me tube que aguantar una hora de debate sobre la "Basura" que es php, según como ellos lo denominaron.
Me comporté como un caballero ya que no arrojé sillas, ni tampoco en realidad entré en debate, ya que estaba conciente de la desventaja con la que corría si intentaba discutir que php era bueno en algo.



Lamentablemente no pude adjudicar nada al respecto, ya que los que daban la charla sabían muy bien los defectos de php, pero el resto de los que participaba viendo la charla, junto con en algunos momentos, los expositores, hablaron sobre los códigos carentes de estructura, y horribles que se pueden hacer en php, y no son comparables con otros lenguajes.

Buenas tardes, últimamente habrán visto mis ideas del desarrollo de componentes, muchos que no saben de lo que hablo y por qué vale la pena dirán que estoy haciendo cosas inútiles, por otra parte otros que si conocen componentes y modelos de componentes dirán que soy un estúpido por tratar de implementarlo en php.


Ambos tienen razón sobre mis ideas, pero siempre dije que php, desde un principio, no puede crear ni utilizar eficientemente un modelo de componentes, no porque los autores del lenguaje fueran ignoranetes, sino porque el objetivo de dicho lenguaje es otro. En otras palabras tengo tiempo y me tomo la idea como un juego, un juego que a la larga, quizá para mis clientes que exigen trabajos específicamente en php, resulte más varato el desarrollo de sus pedidos, aunque realmente estas ideas no son viables a nivel industria.

viernes, 22 de noviembre de 2013

Publicando una entrada me di cuenta que nunca había publicado en mi blog mi simple Property para php.


¿De qué se trata?

miércoles, 20 de noviembre de 2013

En entradas anteriores publiqué el 1º criterio de calidad que es corrección, hoy hablaré sobre el segundo criterio de calidad que es la robustez.
Día a día veo a mucha gente discutir que un sistema es robusto, que un código es robusto, que un lenguaje de programación es robusto, discuten sobre si es robusto o no hasta blogger, llegué a la conclusión que en realidad muy pocos entienden qué es la robustez, y hoy hablaremos sobre ello.


Robustez:
Robustez es la habilidad de una entidad de software de funcionar aún en condiciones anormales (No especificadas).

viernes, 15 de noviembre de 2013

Yo había mensionado que mi modelo de componentes para php aún era cutre, simple, le faltaba pulir mucho, y sigo trabajando día a día en el modelo, hoy traigo un gran cambio de estructura que implementa varios nuevos conceptos.

De la versión anterior a la actual:

- Menor dependencia del componente para con el contexto, vease por ejemplo el constructor es remplazado por un método constructor, para que el contexto no necesite obligatoriamente instanciar directamente el objeto, sino que hay un método constructor que se encarga de ello, algo así como lo que ustedes podrían pensar viendo Singleton (pero no tan así, singleton tiene otros objetivos, pero es para que se ubiquen.)
- Mecanismo de intercomunicación entre el componente y el contexto.

martes, 12 de noviembre de 2013

Buenas noches, hoy iba en el colectivo recordando que algunos de mis amigos como Fary, Destructor.php, hasta incluso el famoso securityroot últimamente leen algunos de mis aportes, cosa que realmente me ayuda a seguir haciendo cosas nuevas porque descubrí que hay gente que si le interesan mis aportes, me hizo sentir bien y recordé el dicho que se me grabó en la mente desde la primera vez que lo escuché, por lo que decidí hacer esta publicación que tratará de explicarles mi perspectiva del dicho "En la programación no hay balas de plata".-


Buenas, hoy hablando con un amigo me comentaba que encontró programadores de VB NET, ASP y me contaba un poco lo que piensa esa gente, para empezar voy a recalcar que hago esta publicación en base a esos IDIOTAS que no tienen ni la más puta idea de por donde viene la programación.
Cada dos por tres escucho a la gente hablar de Robustez, Estabilidad, y se que algunos de los lectores de mi blog, que van comprendiendo algunas de mis publicaciones sobre estos conceptos, se sentirán tan frustrados como yo.

lunes, 11 de noviembre de 2013

Hola a todos los lectores, en ésta entrada explicaré las reglas básicas a la hora de desarrollar un componente,
Les recuerdo que como minimo deben tener buenos conocimientos de Programación Orientada a Objetos, sobre le patrón MVC y otras cosas que serán explicadas luego.
Cuando adquieran esos conocimientos podrían empezar a plantearse el desarrollo de un componente.

Hablaremos entonces sobre Components ComponentLibrary division.

Como dije en una entrada anterior, los componentes se dividen en 3 partes, en ésta entrada explicaremos la tercera división (ComponentLibrary) y su razón de existir.
Buenas, en ésta entrada explicaré las reglas básicas a la hora de desarrollar un componente,
Les recuerdo que como minimo deben tener buenos conocimientos de Programación Orientada a Objetos, sobre le patrón MVC y otras cosas que serán explicadas luego.
Cuando adquieran esos conocimientos podrían empezar a plantearse el desarrollo de un componente.

Hablaremos entonces sobre Components Interface division.

Como dije en una entrada anterior, los componentes se dividen en 3 partes, en ésta entrada explicaremos la segunda división (Interface) y su razón de existir.
El objetivo de este código es hacer "hablar a la computadora un texto", y que se escuche con un sintetizador.

Hoy estaba haciendo unas pruebas con Component Object Model Class de php, que te permite instanciar un ActiveX como lo podría llegar a hacer por ejemplo Visual Basic Script, para probar su correcto funcionamiento decidí probar algo más que el ejemplo de la documentación de php que manipula word.

Primero que nada para habilitar PHP COM, deben escribir al final del php.ini las siguientes dos lineas:

Código: [Seleccionar]
[COM_DOT_NET]
extension=php_com_dotnet.dll 

luego para probarlo usé el componente de microsoft speech (SpeechAPI o más conocido como SAPI).-

http://www.microsoft.com/en-us/download/details.aspx?id=24974

y ahora el código php para php_cli (command line interface, o para php ejecutado desde terminal o cmd)

Código: PHP
  1. <?php
  2. interface iComponentLoader
  3. {
  4.     static public function get_instance($component, $id);
  5.     static public function get_old_instance($component);
  6. }
  7. class ComponentLoader implements iComponentLoader
  8. {
  9.     static public $instances = array();  
  10.     static public $error = false;
  11.     static public $emessage = null;
  12.    
  13.     static public function get_instance($component, $id)
  14.     {
  15.       self::$instances[$component] = new COM($component.'.'.$id);
  16.       if(!self::$instances[$component])
  17.       {
  18.         self::$error = true;
  19.         self::$emessage = 'Unable to instantiate Component '.$component;
  20.         return false;
  21.       } else { return self::$instances[$component]; }
  22.     }
  23.    
  24.     static public function get_old_instance($component)
  25.     {
  26.       return self::$instances[$component];
  27.     }
  28. }
  29. try
  30. {
  31.     // starting SAPI
  32.     $speech = ComponentLoader::get_instance('sapi', 'SpVoice');
  33.     if(!$speech) throw new exception(ComponentLoader::$emessage);
  34.    
  35.     $speech->volume = 100;
  36.     $speech->speak('hello my name is p.h.p. speaker');
  37.    
  38.     //free the object
  39.     unset($speech);
  40. } catch(Exception $e) {
  41.     echo $e->getMessage();
  42. }

bueno espero que les parezca interesante escuchar hablar a php.

saludos!

sábado, 2 de noviembre de 2013

Buenas, en ésta entrada explicaré las reglas básicas a la hora de desarrollar un componente,
Les recuerdo que como minimo deben tener buenos conocimientos de Programación Orientada a Objetos, sobre le patrón MVC y otras cosas que serán explicadas luego.
Cuando adquieran esos conocimientos podrían empezar a plantearse el desarrollo de un componente.

Hablaremos entonces sobre Components Component division.

viernes, 1 de noviembre de 2013

Buenas tardes, siguiendo con mi linea de ideales de PHP Component Model, voy a hablar sobre las reglas básicas de PCM, pero antes tengo que hacer una breve reseña de la estructura general de PCM.

Hablaremos sobre los componentes, y sobre PCM y sus dos divisiones.
Esto incluye también una breve reseña de ComponentLibrarySystem.

pero antes mi texto de siempre :P

jueves, 31 de octubre de 2013

Hola, hoy presentaré una introducción a PHP Component Model, donde explayaré varias cosas, entre otras:

- ¿Cuál es la idea?
- ¿Cómo se implementa?
- Consideraciones Generales.

pero primero mi explicación de siempre:

miércoles, 30 de octubre de 2013

Buenas hablando con álvaro quien me preguntó por la programación modular, llegué al a conclusión que en la red hay cierto error de concepto, con respecto a estas tres cosas diferentes y complementarias entre si.

Por lo que en ésta entrada explicaré en rápidos términos el significado de estos terminos, Programación Estructurada (un quiebre en la historia), Programación Orientada a objetos (un paradigma de programación) y Programación modular (un estilo de organización del código)

Buenas, hoy voy a seguir con mi idea de PHP Component Model, y voy a explicar un poco como va a estar formado el código báse y la estructura para que vallan entendiendo un poco cómo funciona.

Hablaremos sobre PCMBase.
Hablaremos sobre los requisitos de PCMBase.
y más...


martes, 29 de octubre de 2013

Buenas tardes, hoy abro una nueva sección en el blog, si ya se que hace rato no publico nada, y también soy consiente de que les debo un par de publicaciones.
Pero estuve bastante ocupado pintando mi casa, y mientras pasaba horas pintando mi casa para en el verano alquilarle a los turistas, pude madurar un par de conceptos e ideas que tenía en mente en php, además de encontrar soluciones varias a ciertos problemas y dudas que me surgían de la forma en la cual estaba programando, todos sabrán que desde hace un tiempo estoy tratando de crear código que sea altamente reusable o mejor dicho, que realmente sea reusable en php.

Desde que creé el Property en PHP (y luego creé una serie de clases para reusar luego), estuve pensando en la mejor manera de hacer código robusto y reusable en php.

Llegué a la conclusión que por las limitaciones del lenguaje, y su ideología no es posible llegar a hacer código realmente reusable, no obstante, en mi opinión se puede crear código más cercano a esta meta, y para ello estoy generando una idea sobre un modelo de componentes para php (si, como el ComponentObjectModel de microsoft).

En esta entrada daré a conocer detalles sobre el PHP Component Model y los objetivos de este proyecto.


sábado, 28 de septiembre de 2013


Buenas tardes a todos mis lectores, hoy voy a dar mi opinión sobre un tema que todos conocen, se que esperaban algo de programación como de costumbre, pero el día de hoy voy a publicar un artículo de opinión, mañana seguiremos por supuesto con otra entrada sobre "El mundo de los Sistemas Operativos".
En la entrada del día de hoy les contaré mi inicio en Google Plus, la mala impresión que me dio Twitter, los problemas de privacidad de Facebook, les dejaré un video muy interesante que vi hace un tiempo en Youtube, y hablaremos un poco del viejo Electronic-Mail.

Pero antes de empezar les dejo la advertencia como en todas mis publicaciones (es la misma para todas las publicaciones)

viernes, 27 de septiembre de 2013



Buenas tardes a todos mis lectores, hoy voy a publicar una entrada referente a las distintas estructuras de los sistemas operativos desde su comienzo, hablaremos sobre la Estructura monolítica, Estructura jerárquica, Cliente-Servidor.
También hablaremos de los distintos sistemas operativos en referencia a mono-usuario/multi-usuario mono-tarea/multitarea y la diferencia entre multitarea y multiproceso.

Pero antes de comenzar con este pantallazo general sobre los distintos sistemas operativos, quiero hacer la aclaración de siempre...

jueves, 26 de septiembre de 2013



Hola, buenas tardes, bienvenidos a otra publicación diaria de mi blog, la idea de ésta publicación es seguir el hilo de "Diseñando Software", en la publicación del día de hoy realizaré un resumen de los conceptos generales y de los diagramas que conforman UML.

Pero antes de comenzar y como siempre voy a comentarles...

miércoles, 25 de septiembre de 2013



Buenas tardes a todos, esto ya se va haciendo costumbre y como todos los días hago la publicación del día, continuando con el hilo de "El correcto diseño de bases de datos". Voy a charlar en esta publicación sobre los distintos grados de normalización, y sobre la primera forma normal (FN1). Además voy a recordarles un poco sobre lo previamente publicado hace unos días ("The Data Bases (Las bases de datos)") haciendo un resumen sobre lo que significaba el proceso de normalización.

Pero antes y como siempre voy a aclarar un par de cosas...

martes, 24 de septiembre de 2013



Buenas tardes, hoy volvemos al hilo inicial de "El arte de programar", voy a hablar un poco en la publicación de hoy sobre el tema de de gap semántico e Isomorfismo estructural, retomaremos un poco el tema del espacio de soluciones y el espacio del problema y abordaremos de la forma más sutil éste tema importante.

Pero antes... como siempre quiero aclarar que...

lunes, 23 de septiembre de 2013

Buenas tardes, si esperaban que la publicación de hoy tuviera relación alguna con los primeros temas del hilo de "El Arte de Programar" pues no tuvieron mucha suerte, ni si esperaban una continuidad de los hilos previamente abiertos, tendrán que esperar hasta  la próxima publicación.
Hoy doy por iniciado el hilo de "El mundo de los Sistemas Operativos", con una introducción razonablemente sencilla.
Hablaremos sobre la razón por la cual un programador debe tener conocimientos en éste área, daremos respuesta también a las siguientes preguntas: ¿Qué es un sistema operativo? y hablaremos en general de los sistemas operativos.

Pero antes, y como de costumbre quiero comentarles que...

domingo, 22 de septiembre de 2013

Buenas tardes, otra nueva entrada en nuestro blog, para seguir la tradición de "una publicación por día" voy a presentar hoy otro nuevo hilo, si esperaban que siguiera con bases de datos, o el arte de la programación, lo siento mucho pero hoy abriré el hilo de "Diseñando software", y con ustedes... la presentación de UML.
Responderemos preguntas tales como ¿Qué es UML?, ¿Para qué sirve?, ¿Por qué debería usarlo?, ¿Cómo apareció?, ¿Quien lo abala?

pero antes, como siempre voy a aclarar...

sábado, 21 de septiembre de 2013

Buenas tardes, hoy como todos los días y para no perder mi costumbre de "una publicación por día" voy a hablar un poco de bases de datos, se que venía haciendo publicaciones referentes a "El arte de programar" el hilo que tiene que ver con la programación de caracter industrial o profesional como quieran llamarle.
No obstante hoy voy a abrir un nuevo hilo "Diseño de bases de datos", que tratará la temática de como hacer una base de datos como la gente.
Voy a comenzar esta serie de publicaciones diarias hablando sobre el proceso de normalización, ¿qué es el proceso de normalización? ¿en que ayuda el proceso de normalización? ¿qué pasa si no lo aplico?
En proximas entradas me extenderé sobre las formas normales y luego pequeños tips para mejorar tu base de datos.

Pero antes, como siempre voy a aclarar...

viernes, 20 de septiembre de 2013

Buenas tardes, como otro día normal, y siguiendo la temática de una publicación por día, voy a hablar sobre un tema interesante, que viene luego de Metodologías (la publicación anterior) el ciclo de desarrollo es aproximadamente del 70' (la publicación anterior era del 60').
En resumen, la entrada del día de hoy, nos hablará sobre una metodología (una de las primeras) que especifica como debe ser el camino para desarrollar un software, separandolo en tres faces: Análisis, Diseño e Implementación.

Pero como siempre antes quiero recordarles...

Buenas noches, hoy parece que voy a incumplir mi lema "una publicación por día" porque me surgió la necesidad de publicar una entrada referente al tema en cuestión. Mirando webs descubrí una "batalla" entre usuarios de quien tenía razón sobre si escribir HTML es programar o no, y teniendo en cuenta que siempre salta a la luz la pelea por este tema decidí hacer una entrada y expresar ALGUNOS de mis argumentos por los cuales explico que escribir HTML no es programar, aclaro que algunos, ya que si escribiera todos, no terminaría nunca con mi entrada.

pero antes chicos les dejo la advertencia de siempre...

jueves, 19 de septiembre de 2013

Hola buenas tardes, voy siguiendo mi slogan de una publicación por día, quiero empezar la entrada comentándoles que si bien ayer fue un poco pesado el texto, y tiene bastante ideología sobre el proceso de programación, voy a continuar las publicaciones con cosas un poco más interesantes, por lo menos para mi gusto, les quiero recordar que era importante introducirles en tema, para que puedan captar ciertas cosas y por que son mencionadas.

Hoy hablaremos sobre las metodologías en el desarrollo de soft y empezaré con la primer entrada referente a la historia de la programación, las próximas 3 o 4 publicaciones en el blog hablarán un poco de ello para introducir al lector en tema para luego hablar de cosas un poco más complejas.
Veremos un poco de donde surgen, que significan, y cual es su objetivo probablemente.
Espero que les interese la entrada y bueno como siempre recordarles que...

miércoles, 18 de septiembre de 2013

Hola buenas tardes!, Como todos los días estoy publicando una nueva entrada, en ésta entrada comentaré un poco de que se tratan los paradigmas, esa palabra tan escuchada y vamos a recordar un poco lo previamente hablado en publicaciones anteriores, presentando entonces la resolución de problemas y paradigmas. ¿qué es un paradigma?, ¿cuáles son los paradigmas más relevantes?, ¿qué tiene que ver la resolución de problemas con la programación? 

Además quiero recordarles como en todas las entradas...

martes, 17 de septiembre de 2013

Hola, bienvenidos de nuevo a mi blog, hoy con esta nueva entrada y siguiendo mi linea de "una entrada por día hasta ver donde aguanto" jajaja, voy a hablar sobre el concepto básico y clave que manejamos los programadores y que posiblemente mucha gente que dice ser programador, o mucha gente que está aprendiendo no tiene idea.

En resumen, ¿que es la programación? ¿qué es un programa? ¿que tipos de programadores y programación hay? ¿realmente nos comprenden?, responderé todas estas preguntas y quizá más en el texto que se encuentra a continuación, pero antes les quiero recordar...

lunes, 16 de septiembre de 2013

Buenas tardes, voy a iniciar mi blog, comentando una conclusión a la que llegué a lo largo de los años, quizá muchos estén en desacuerdo con lo que comentaré, pero es por la simple razón de que no tienen un nivel de conocimientos suficientes como para interpretar correctamente lo que expresaré en mi blog.

El origen de este blog es para poder darles las herramientas para desarrollar software de calidad, y poder identificar a programadores que no tienen ni idea de lo que hacen, además de que obviamente puedan evaluar su propio conocimiento en el área.

Subscribete al RSS Follow me on Twitter!