jueves, julio 09, 2009

Comentar código de forma "invisible"

Este tema tiene un origen histórico, trataré de empezar desde el principio ;-)

Cuando hace años empezamos en el mundo estático del "html" (cuando el 95% de los sitios solo eran puro html sin dinamismo, sin un lenguaje de scripting), lo que aprendimos fue a "programar html" haciendo muchas tablas (no usábamos los div's como ahora) y para seguir la "cascada" de código le agregábamos comentarios usando el tradicional <!-- -->

Por ejemplo:


Muy "cómodo" para hacer debug "manual" usando de apoyo los comentarios porque evidentemente era un "humano" el que debía controlar todo esto y se podía perder entre tanto código en cascada ;-)

Para los "técnicos" esto siempre fue desprolijo, ya que para nuestros futuros clientes o hasta curiosos, estábamos revelando detalles internos de nuestra aplicación / diseño. Está de más decir que no es para nada recomendable hacer comentarios técnicos importantes en ellos ya que es "código público" que cualquiera puede leer, y tampoco comentar código que no se va a usar, ya que es extremadamente desprolijo (si no lo quieres perder, respalda, o versiona).

Nota: no será la primera y última vez que veo en los comentarios de un código html insultos del propio desarrollador, que la verdad queda muy feo ;-)

Primer sugerencia, el código de producción debe estar "limpio", y si conoces algún sistema que pueda contener los comentarios en tu código de desarrollo e impida que quede en producción, úsalo.

Algunos ejemplos.

Usando el propio lenguaje de scripting: PHP

Cuando la tecnología evolucionó y empezamos a contar con lenguajes de scripting como PHP, la primera práctica que empezamos a adoptar fue el de embeber el código "dinámico" dentro de nuestro código html, pero dejamos todas las demás prácticas intactas, por lo que los comentarios seguían estando públicos en el html.

Con el tiempo, dejamos de "embeber" y ya no era tan evidente la manipulación del código html, empezamos a hacer invocaciones a funciones de tipo:

generarCabezalHtml();
generarContenido('Hola Mundo');
generarPie();


Por lo que ya no es el "humano" que debe seguir tan literalmente el código, ver si cierra o no, porque podemos validarlo a través de herramientas, y luego tratar de seguirlo a través del código PHP (aquí también ayudan mucho los IDEs en la pre-validación del código y evitar errores).

Una opción posible es mover todos los comentarios html al código php y estos quedan "privados" dentro del sistema.

Si esto no fuera suficiente, aún se podría generar algo como una configuración que diga "habilitarComentariosHtml" y que genere html con comentarios embebidos, y una vez en producción, eliminar esta opción (pero estaríamos generando mucho código poco productivo para el sistema).

Sigamos un siguiente nivel en la escala evolutiva ;-)

Usando sistemas de plantillas: Smarty

Con los años esto no nos quedó muy cómodo y preferimos optar por un sistema de "plantillas" (templates), y limpiar nuestro código PHP. Smarty fue una de las mejores opciones por años, lo cual te ofrecía además un código simil PHP del lado del template, pero podíamos volver a caer en la misma práctica, hacer comentarios html públicos.

Repitiendo lo que hablamos en el punto anterior, podíamos adoptar el mecanismo de comentarios de Smarty, lo cual genera el mismo efecto que hacerlo desde PHP. Se hacía con {* comentarios *}

{* display dropdown lists *}
<
select name="company">
{
html_options options=$vals selected=$selected_id}
select>


La diferencia con el primer caso de "solo html" es que lo estamos haciendo en la plantilla y no es público, y tampoco lo estamos haciendo del lado de PHP ya que toda la parte de generado de html era responsabilidad de Smarty (como una separación de capas).

Siguiendo con la evolución...

Nos pasamos a Zend Framework y usamos "Vistas"

Las vistas son como al principio de nuestra era, código html donde se embebe código PHP de la siguiente forma (un mix entre PHP embebido y sistema de plantillas).




Y volvemos al principio, he visto muchos proyectos que para poder hacer seguimiento de lo que generan de html tienen comentarios públicos html por todos lados, por lo que mi sugerencia final es... hagamos los comentarios dentro de la la vista, dentro del código PHP embebido y no dejemos expuestos nuestros comentarios internos.

Existen también herramientas que limpian el código, lo compactan y hasta te lo ofuscan, bien podrían ser una alternativa.

Pero la idea es esa, trata de no dejar comentarios que los pueda leer todo el mundo, sé ordenado y limpio. En lo personal cuando voy a ver páginas de diseño web que se ufanan de seguir "estándares", descubrir luego tablas o comentarios del tipo "abre tabla", "cierra tabla", etc, no me dejan muy tranquilo.

¿Qué opinas? ¿cuales son tus prácticas? ¿o no te importa que puedan descubrir leyendo el código de tu sitio? ;-)

domingo, junio 28, 2009

Cursos SURFORCE: ¡falta una semana para iniciar!

Para todos los que están interesados en participar de los cursos de educación a distancia, les comento que queda solo una semana para empezar, la cual fijamos como primer lunes de julio (6/7).

El cupo máximo para un grupo son de 20 alumnos, posteriormente se abre un siguiente grupo que iniciaría una semana después (13/7).

El estado actual de los lugares confirmados:

  • Introducción a los Patrones de Diseño para PHP5 = 7
  • Análisis y Diseño Orientado a Objetos para PHP5 = 9
  • Introducción a Zend Framework = 10
  • POO PHP5 2009 + Libro = 19
Recordatorio, aún quedan registraciones sin confirmar el pago, pero, quién se registre ahora y pague inmediatamente obtiene el lugar disponible.

Se recibirán los pagos hasta el viernes inclusive, no se recibirán pagos durante el último fin de semana, ya que lo usaré para preparar los sistemas para iniciar los cursos.

Por lo tanto ¡última semana! ;-)

viernes, junio 19, 2009

Google Docs para gestionar proyectos a distancia (actualización 23/6)

A veces las herramientas simples pueden ser de gran utilidad cuando no contamos con infraestructura en sistemas, problemas de tiempo o por no haber encontrado la herramienta "ideal" (existen muchos sistemas, pero a veces hacen más de lo que necesitamos y se vuelven complejos de usar).



Lo bueno de usar Google Docs es que te resuelve muchos problemas de forma muy simple, agregando una característica muy importante: se puede acceder remotamente desde cualquier navegador sin siquiera necesitar un servidor dedicado y su curva de aprendizaje es muy suave... ¿quién no sabe usar una planilla electrónica?

Fundamentalmente hay que usar un poco de imaginación y bien podremos aplicarlo para gestionar un proyecto web a distancia... como lo estamos haciendo ahora en la última tarea del curso a distancia de Análisis y Diseño Orientado a Objetos, aplicando técnicas de gestión ágil entre 4 personas ;-)


Aquí se puede visualizar la organización de la planilla, compartida entre 4 personas, donde tienes dos grandes divisiones que representan zonas de trabajo: el "Frontend" (la parte pública del sistema) y el "Backend" (la parte privada, el "admin" del sistema). Posteriormente agregamos el título de la tarea y una breve descripción de lo que involucra (no más, esto ayuda a dimensionar claramente lo que lleva hacer el sistema sin ambigüedades y costos ocultos).

Forma de trabajo
  1. Una vez definidas las tareas macro, podemos empezar a agregar las tareas "micro" o sub-tareas, para llegar a afinar lo que hay que hacer, por ejemplo: al principio definimos una tarea "login" que era solo "involucra mostrar el formulario", pero luego lo extendimos porque nos dimos cuenta que además había que hacer "agregar validación por clave".
  2. La idea es que las prioridades se definen de acuerdo a su aparición en la planilla, es decir, lo que está arriba es más importante que lo que está abajo. También pueden ver esto en las divisiones más grandes como Frontend y Backend, en este caso, como estamos siguiendo una "metodología ágil", nuestra prioridad es hacer entregables "visibles para el cliente", así que empezamos por el Frontend.
  3. Para auto-organizarnos, cada desarrollador toma la tarea que quiere hacer de la lista (siguiendo el orden de prioridad) y luego la marca con "verde" y pone su nombre en la columna a la extrema derecha. Así, todos sabemos quién está haciendo qué y así podemos tomar la siguiente tarea, evitando "cuellos de botella" ya que no existe alguien que deba asignar tareas al equipo, siempre hay algo para hacer y evitamos tiempos muertos.
  4. Una vez terminada, se colorea en "gris".
  5. Si queda suspendida por algo, usaremos un color "amarillo".
  6. etc.
Otra cosa que usamos son las solapas al pié de la planilla para agregar otras secciones en el proyecto, como links a documentación (también documentos web compartidos), separar los bugs de las funcionalidades, etc.



Lo bueno es que en un momento dado podemos estar varias personas a la vez en la planilla (desde distintos países) y todos vemos en el instante lo que pasa y hasta podemos usar el chat a la derecha para discutir algún tema en particular.


Todo con una simple planilla web.

Si lo quieres ver, también puedes hacer el documento público para que tu cliente siga los avances del proyecto ;-)

¿Qué más se te ocurre que podrías agregar? ¿algún otro sistema simple que uses y quieras compartir? ;-)

Actualización
  1. Luis Artola, estimado colega, levanta el guante y hace un post comentado su experiencia usando Google Docs en la gestión de proyectos.

viernes, junio 12, 2009

SURFORCE_CURSOS: temarios disponibles!

Se encuentran disponibles los temarios de cada curso que estarán iniciando a partir de los primeros días de julio. También, durante este fin de semana, quedará habilitada la posibilidad de pagar a través de la web vuestro lugar en los grupos de los cursos (Paypal, Western Union y giro bancario si estás en Argentina).

Antes que se inicie el proceso de pagos, le estaré comunicando a todos los usuarios registrados.

PD: sepan disculpar las demoras (tengo bastantes correos pendientes). Esta semana hemos estado con pequeños problemas de salud (comunes para el invierno) lo que obligó a estar algunos días en cama.

¡Saludos! ;-)

lunes, junio 08, 2009

Lo bueno de usar un IDE + SVN (captura)


A veces entramos fácilmente en la discusión de si usar un IDE o un "Editor con Esteroides", o si usar o no un SCM, etc, bueno, aquí un ejemplo de lo que es retomar un proyecto que dejaste colgado y no te acuerdas qué fue lo último que modificaste localmente con respecto a lo último que tienes en tu servidor de producción.

Usando Netbeans 6.7 RC2 + SVN, abro el fuente y le doy a la combinación "ALT + D" (lo configuré así para que me ejecute el comando diff de SVN), lo cual muestra gráficamente las diferencias entre ambas versiones.

Lo que está a la izquierda es lo último versionado, lo que está a la derecha son los cambios locales que hice hace unos días (agregando un control para que antes de asignar verifique si están registradas las variables).

Lo bueno es que si cometí errores, puedo presionar sobre las "x" rojas y eliminar las líneas locales diferentes que no quiero dejar (de todas formas puedo volver atrás cuando quiera y comparar las versiones que quiera, no importa cuales, y recuperar cualquier línea de código).

Para quién aún no usa IDE's y versionado, no, no es lo mismo que un "Editor con Esteroides" (si no te muestra el contenido público de un objeto, yo no lo considero un IDE).

viernes, junio 05, 2009

¡Semana próxima: Segundo Semestre de Cursos a Distancia!

A partir del lunes próximo iniciamos el armado de grupos y cobro de las reservas para los cursos del segundo semestre del año:

  • Programación Orientada a Objetos en PHP5 (3ra Edición)
  • Introducción a Zend Framework (2da Edición)
  • Introducción a los Patrones de Diseño (2da Edición)
  • Análisis y Diseño Orientado a Objetos (2da Edición)

Tentativamente la fecha de inicio es el primer lunes de Julio 2009, con los grupos que se hayan armando a partir de los usuarios que realizaron su pago. El cupo mínimo de alumnos será de 20 por grupo y se irá iniciando un grupo por semana, en caso de no llegar a los cupos mínimos, se posterga una semana.

El costo sigue siendo el mismo, un único pago de USD 50 por persona durante dos meses, y la forma de pago oficial es a través de Paypal y la alternativa a través de Western Union (solo si estás en Argentina podemos hacer una transferencia bancaria).

AVISO IMPORTANTE: para este nuevo período se abrirán menos grupos que en el primer período, principalmente por un tema de sobrecarga de trabajo que tuvimos en el primer semestre de este año, y que quiero evitar que nos atrasemos con algún grupo o que los docentes terminemos extremadamente cansados :-(

Si estás interesado, no pierdas un lugar a partir del próximo lunes, donde habilitaré el pago de los cursos y empezaré a armar los grupos que inician por semana.

Si aún no estás registrado en SURFORCE, ingresa TUS DATOS REALES (incluyendo la foto) en http://registracion.surforce.com (los datos son privados y confidenciales, sin ellos, no voy a enviar datos de pago ni habilitar alumnos bajo seudónimos ni nombres fantasía).

Los cursos se dictarán a través de Moodle (sistema de educación a distancia) en la dirección http://formacion.surforce.com

Saludos!

PD: también, a más tardar el lunes próximo, estaré entregando los diplomas a todos los alumnos que aprobaron los cursos del primer semestre.

sábado, mayo 02, 2009

Por actualizar apurado de ZF 1.7 a 1.8 (actualizado)

Notice: Zend_Loader::Zend_Loader::autoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead in [..]/library/Zend/Loader.php on line 186

Interesante, ni bien lo solucione les comento ;-)

Actualización

Antes estábamos usando:

include "Zend/Loader.php";
Zend_Loader::registerAutoload();


Ahora debemos usar:

require_once 'Zend/Loader/Autoloader.php';

$loader = Zend_Loader_Autoloader::getInstance();
$loader->setFallbackAutoloader(true);
$loader->suppressNotFoundWarnings(false);

Luego que lea un poco más me fundamentaré mejor sobre lo que hay que hacer de ahora en adelante ,-)

Nueva actualización:

lunes, abril 27, 2009

Cómo usar componentes de Zend Framework fuera del MVC

Uno de los caminos para crear una "plataforma de desarrollo" (y bajar costos de desarrollo) es tener unificadas todas las herramientas que usamos a la hora de desarrollar nuestros sistemas.

Por ejemplo, no deberíamos tener distintas clases de acceso a base de datos o generación de logs según el entorno que estemos trabajando (a menos que tengas una razón coherente para hacerlo ;-) ). Si desarrollas dentro de la misma empresa / proyecto tanto sistemas web tradicionales, sistemas de gestión, páginas wap, o aplicaciones de envío SMS (como es en mi caso), no debería haber razón para tener código duplicado.

Una "plataforma" debería servir para eso, tener ya resuelto los problemas triviales y habituales para concentrarnos solo en los problemas nuevos y no triviales.

Una de las grandes ventajas de Zend Framework es poder usar cada uno de sus componentes fuera de la estructura tradicional de MVC, evitando necesariamente tener que usar un controller, modelo y vista. Si ya usas Zend Framework, puedes aprovechar los componentes también de forma aislada, lo que reusas código y conocimiento en el desarrollo de sistemas (aprendes a usar un componente y lo sigues usando en todos los sistemas).

Un caso puntual es poder eliminar todas las clases "artesanales" que hoy día tenemos para la generación de logs y empezar a uzar Zend_Log.

"La forma de hacerlo"

La primera, es instalar en nuestros servidores en un lugar estandarizado las "librerías", como por ejemplo en /var/www/library instalar Zend Framework.

Luego, deberíamos crear un archivo de configuración para que nuestra aplicación pueda encontrar fácilmente los componentes de Zend. Mi sugerencia es que usen la función de "autoload" (Zend_Loader), así no tienen que estar viendo de llamar una a una las clases que necesitan cada uno de los componentes.

config.php


set_include_path
(
'.' .
PATH_SEPARATOR . '/var/www/library' .
PATH_SEPARATOR . get_include_path()
);

include
"Zend/Loader.php";
Zend_Loader::registerAutoload();



Y así incluiríamos ahora la clase Zend_Log en nuestros desarrollos:

test.php

require_once 'config.php';

$writer = new Zend_Log_Writer_Stream('/tmp/test.log');

$logger = new Zend_Log();
$logger->addWriter($writer);

$logger->log('This is a log message!', Zend_Log::INFO);


Listo, ya tenemos un scripts en PHP común y corriente, pero usando ahora un componente del framework Zend.

Así deberíamos poder hacerlo con todos los componentes básicos (base de datos, logs, envío de emails, config, etc), y evitar tener que reinventar la rueda.

¿Te parece útil?

¿Una nueva razón para usar Zend? ¿otros frameworks te permiten hacer lo mismo?

jueves, abril 16, 2009

"La decadencia de forosdelweb.com", parte II

Si luego de leer varios comentarios "políticamente correctos" (aunque por dentro estén insultándote), este último comentario terminó de dejar claro cómo son verdaderamente las cosas (que error ni error):



Veo que la filosofía es "estás conmigo o contra mi", no hay puntos medios ni sincero reconocimiento de errores, pura y llana "cortina de humo".

Al final de cuentas:

¿Todo esto fue una forma indirecta de intentar sacarme del foro de POO de PHP?

... el tiempo dirá.

La decadencia de forosdelweb.com

Algunos lectores han seguido mi twitter ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], más comentarios de usuarios, etc) y se han sorprendido tanto como yo de mi "degradación" en forosdelweb.com, donde los "moderadores" del área de POO para PHP votaron para sacarme el rol de "colaborador" y pasarme a "usuario común".

Haciendo un resumen de los hechos, mi sorpresa fue mayor cuando me doy cuenta que hacía por lo menos 20 días que no participaba "colaborando" en la respuesta de dudas de los usuarios (los cursos me tienen un poco ocupado), que a la fecha y luego de 4 años, suman más de 900.

Aún recuerdo el primer mensaje que me envió cvander (el propietario del sitio, maestrosdelweb.com) anunciando que pasaba a grado de "colaborador":

30-ene-2007, 17:18
Moderador
cvander es mas bueno que la perra Lassiecvander es mas bueno que la perra Lassiecvander es mas bueno que la perra Lassiecvander es mas bueno que la perra Lassiecvander es mas bueno que la perra Lassiecvander es mas bueno que la perra Lassiecvander es mas bueno que la perra Lassiecvander es mas bueno que la perra Lassiecvander es mas bueno que la perra Lassie

Avatar de cvander

Fecha de Ingreso: noviembre-2002
Ubicación: Ciudadano del mundo
Mensajes: 10.082
Enviar un mensaje por MSN a cvander
cvander está desconectado
Colaborador del foro

Un saludo.

Debido a tu trayectoria a forosdelweb.com y la recomendación de algunos moderadores, te hemos otorgado el rango de "colaborador".

Este rango te otorga algunas ventajas en el foro (más capacidad de mensajes privados, envío de adjuntos y otros), así como un foro privado donde los colaboradores hablan de todo tipo de temas personales, así como envían sugerencias sobre el foro.

No hay ninguna responsabilidad con la leyenda, sino es simplemente un agradecimiento por tu apoyo.

Un saludo.
__________________
- Christian Van Der Henst S. [twitter: @cvander]
Maestros del Web



El tiempo pasó y me entero a través de un sintético mensaje con el título de "colaborador" lo siguiente:

31-mar-2009, 11:54
GatorV
$this->role('moderador');
GatorV es mas bueno que la perra LassieGatorV es mas bueno que la perra LassieGatorV es mas bueno que la perra LassieGatorV es mas bueno que la perra LassieGatorV es mas bueno que la perra LassieGatorV es mas bueno que la perra LassieGatorV es mas bueno que la perra LassieGatorV es mas bueno que la perra Lassie

Avatar de GatorV

Fecha de Ingreso: mayo-2006
Ubicación: /home/ags/
Mensajes: 20.286
GatorV está desconectado
Colaborador

Que tal Enrique,

Hubo varios reportes de "quejas" ya sabes, y la administración del foro decidio que lo mejor para las dos partes (FDW y tu) lo mejor era pasarte nuevamente al grupo de usuarios normal.

Espero entiendas el porque de esta decisión y creo yo en lo personal es lo mejor para las dos partes.

Saludos.
__________________
Blog Web


Nota: el resaltado es mío.

Mi sorpresa a sido mayúscula, amén de que no veo tan "dramático" perder una seudo-calificación que puedan darte de uno de los tantos foros que pululan en la web, me indigna en la forma que se procedió, sin transparencia y dar la cara (lo peor es que conozco a algunos personalmente), ya que luego de intercambiar varios mensajes con GatorV (actual moderador del área de POO en forosdelweb.com) me deja claro que el solo es el "mensajero" y "otros moderadores" (que aparentemente no puedo saber los nombres) decidieron mi "degradación".

También he preguntado las razones concretas pero solo recibo un genérico "quejas de usuarios", no sé cuales, tampoco la cantidad de usuarios ni la cantidad de quejas, ni cuantos moderadores votaron en mi contra, ni cuantos fueron los votos, ni tampoco hay forma de réplica o defensa alguna.

Aclaraciones varias


Creo que todo el mundo sabe que al participar en un foro se dan discusiones acaloradas y es casi imposible que no existan quejas, a menos que seas un provocador nato que solo busca el conflicto y no aporta absolutamente nada.

En mi contra puedo decir que tengo un humor bastante irónico y que no puedo caerle bien a todo el mundo (creo que los demás me toman más en serio de lo que me tomo yo mismo), y más de una vez rezongué a usuarios por su necedad de leer un manual o por repetir conceptos errados sin razonarlos (principalmente de los que se venden como "expertos"). Además, es casi imposible que luego de unos años de volverse "conocido en el ambiente de PHP" no encuentre tanto seguidores como detractores, en igual proporción, lo que genera que por cada palabra que diga tenga 2 personas que están de acuerdo y 2 que simplemente buscarán atacarme a título personal (algo que se ha visto muy seguido en forosdelweb.com).

A mi favor puedo decir que son más las contribuciones que he brindado al foro que las discusiones etéreas en las que he participado, y así lo tienen claro los administradores (GatorV) que en múltiples situaciones le he avisado para que tome cartas en el asunto.

Lamentablemente mi colega (quién estimo mucho desde hace años) se ha tomado la moderación tan al extremo que no se puede comentar ningún asunto que exista un mínima discusión "sana y normal", que esta es borrada, por lo tanto el último año sentía "reserva" de decir algo, ya que seguro iba a ser "censurado", igual que con los demás usuarios.

Respuesta Oficial de Forosdelweb.com


Luego de varios intercambios con mi amigo GatorV, ya que la verdad sigo "indignado" de cómo procedieron, nuevamente, por la forma y no en sí por el resultado (un cambio de "tipo de usuario").

Recibo esta "diplomática" respuesta del responsable de forosdelweb.com, Cvander, que en resumen dice:

"las formas en las que a veces contestas han causado conflictos con otros usuarios que simplemente no comprenden tu sarcasmo, ni lo políticamente incorrecto que sueles ser a veces, generando reportes en varios de tus mensajes. Por esto mismo, algunos moderadores mencionaron cuál sería la forma de proceder, cómo podian darte una infracción pues normalmente los colaboradores no causan estos conflictos..."

Si esto fuera un trabajo diría que esto es un "despido indirecto" ;-)

Al que resumo (los intercambios con Cvander continuaron) que la razón fundamental se debe a que les doy mucho trabajo de moderación, mis respuestas generan un conflicto que no pueden manejar, en contraoposición a los aportes que di y puedo dar en el foro de "POO PHP".

Interesante. Lo primero que me preocupa es, habiendo tantos problemas para resolver, tengan que hacer este tipo de "penalizaciones" con un usuario que aporta constantemente al foro, y posteriormente no se cuestionen si "ese trabajo que les doy" no se debe al exceso de moderación y censura que existe en el foro.

Aunque verdaderamente dudo ser "el colaborador conflictivo del foro".

Para resumir, copio mi respuesta a Cvander:

31-mar-2009, 20:36
enriqueplace
enriqueplace merece que le prestes tu consolaenriqueplace merece que le prestes tu consola

Avatar de enriqueplace

Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 960
Enviar un mensaje por Skype™ a enriqueplace
enriqueplace esta en línea ahora
Respuesta: Tema de colaborador

Tal y como se lo comenté a GatorV

1 - Me entero por la espalda, sin mediar ningún tipo de comunicación previa que "un grupo de notables" a votado mi "degradación" como usuario dentro de FOROS

2 - Se argumenta "quejas" pero no hay "pruebas" en base a cuantos usuarios ni a qué tipo de quejas ni si estas son justificadas o no, lo decidieron unos pocos en donde no tuve ninguna ingerencia.

3 - No hay forma de "defensa" ni de respuesta, nadie advierte ninguna situación (mayor es mi sorpresa de estar casi ausente por 20 días de los foros).

4 - Lo único que dan como mensaje es que prefieren el "silencio" en los foros a una discusión al respecto. Se ha distorsionado gravemente el foro de POO ya que no hay aportes de nivel y mediante una moderación "excesiva" ya casi nadie puede discrepar con nadie por miedo a ser eliminado (en lo personal ya fueron varios mensajes mios borrados y no los justifico).

5 - Posteriormente me notifican de este cambio de "grado", nadie sabe responder nada, dicen que es "por mi bien" y que hable con "cvander". Argumentos y transparencia "cero".

Vergüenza ajena, no por el hecho en sí de una seudo-categorización en un foro, es por la forma en que se ha hecho.

La verdad que no entiendo como GatorV apoya esto, me molesta el hecho de cómo procedieron, como cobardes y completamente abusando de una autoridad que no tienen sobre mi proceder ("he sido juzgado").

Todo esto me parece sumamente arbitrario, subjetivo y poco serio.




Para empeorarla, nunca tuve respuesta.

En resumen

Luego de cuatro años de participar en el foro de PHP de forosdelweb.com, donde muchos de mis respuestas se transformaron en post de este mismo blog, si bien ahora no he tenido tiempo de seguir participando, actualmente no tengo motivos para seguir haciendo el mismo trabajo de forma desinteresada, ya que los mismos responsables del foro desalientan a los propios colaboradores.

Con estas actitudes, muy difícil que alguien quiera colaborar.