¿Cómo encontrar tu pasión?

Hoy quiero comentarles acerca de cómo encontrar tu pasión, yo estoy en el punto más crítico de mi existencia donde ya sé que quiero pero no sé cual es mi pasión. Miren esto:
Debemos hacer lo siguiente:
  1. Escribe una lista de lo que tu creas ¿en qué eres bueno?, qué haces sin dificultad y es normal para ti.
  2. ¿Qué es lo que quisiste ser en secreto?, ¿Cuál era tu deseo?, a pesar de que ya no haya tiempo puedes empezar con cosas pequeñas.
  3. ¿Qué haces en tus tiempos libres? ¿Cuáles son aficiones y las haces cuando puedes? Es decir, cuando no tienes obligaciones ni responsabilidades.
  4. ¿Qué solías hacer y ya no haces? Puede ser por falta de tiempo o porque tu economía ahora no te lo permite, puedes retomar alguna buena práctica que te permita hacerlo.
  5. ¿En qué área o departamento has disfrutado trabajando o te gustaba más?
  6. ¿Qué te gusta hacer más, te entretiene más o en dónde el tiempo pasa más rápido?
  7. ¿Qué lees? ¿Hay temas que se repiten? Pueda que sepas algo que complemente o necesite algún nicho de mercado especializado.
Hay que escoger un camino que te permita ser más humano y vivo en la tierra. Uno que te permita hacer comunidad con corazón.

  1. La pasión es el primer paso para la realización personal
  2. La pasión aumenta tu fuerza de voluntad
  3. La pasión te cambia significativamente
  4. La pasión hace posible lo imposible

Por último y para no olvidar hay que:

  1. Regresar a nuestro primer amor.
  2. Relacionarse con gente apasionada y energizante.


Tomado del siguiente Podcast:


Y del siguiente Post:
http://prosperitgroup.org/2012/11/29/como-sentir-mas-pasion-por-lo-que-haces-para-que-seas-mas-exitoso/

ASP .NET - Validaciones

En la Vista .ascx
1. 
 <%: Html.TextBox("txtXX", Model.MetaGlobal, new
{ @class = "bordesControlesMuyPequenos", onblur="onXXXXBlur()" })%>

2. 


<a class="tooltipvalidador" href="#" id="aXXXX">*
    <span id="spanXXXX" class="custom info">
        <img src=" <%: Url.Content("~/Images/Info.png")%>" style="left: 20px; top: 2px;"
            alt="Informacion" height="30" width="30" />
        <em></em>&nbsp;&nbsp;
    </span>
</a>

En el JavaScript
3. 

function onXXXXBlur()
{
    ValidaCamposGeneral($('#txtXXXX'), $('#aXXXX'), $('#spanXXXX'), 1,"<%= ViewData["msgCampoRequeridoTexto"] %>","<%= ViewData["msgFechaValida"] %>","<%= ViewData["msgSeleccionItem"] %>");
}



         $(document).ready(function () {  
         $('#aXXXXX').css("visibility", "hidden");
         $('#aXXXX').css("visibility", "hidden");  
         $('#aXXX').css("visibility", "hidden");  
         $('#aXX').css("visibility", "hidden");




Genéricos - Colecciones - Diccionario


GENERICOS
metodos o clases que ayudan a implementar y reutilizarlos con diferentes tipos de datos.

PAGINA 150
ARREGLOS UNIDIMENCIONALES UN ELEMENTO POR CADA INDEX

Diccionarios: Reciben dos parámetros, arreglos bidimensional, uno de ellos es una clave que permite identificar cada elemento.

Los genéricos se aplican sobre las colecciones.
Se pueden establecer genéricos para las pilas colas arreglos diccionarios.

Se reconoce que el método o la clase es un genérico con:
<>
List<T> La T es una representación del tipo de dato.

Cuando recibe dos parámetros <T,U> es un diccionario.

Ejemplo:
SortedList<string, int> sl = new SortedList<string,int>();

Si no se usara genéricos fuera:
sortlist sl = new SortedList();

sl.Add("One", 1);
sl.Add("Two", 2);
sl.Add("Three", 3);
foreach (int i in sl.Values)
Console.WriteLine(i.ToString());

sl.Values solo se aplica sobre los valores mas no para las claves string

ToString() Devuelve el nombre de la clase incluido el namespace del objeto

En un diccionario obliga a enviar una clave string

public class person : IComparable

la clase person hereda de la clase IComparable

DateTime.Compare (Método)

Compara dos instancias de DateTime y devuelve una indicación de sus valores relativos.


Parámetros
t1
Primer objeto DateTime.
t2
Segundo objeto DateTime.
Valor devuelto
Número con signo que indica los valores relativos de t1 y t2.

Tipo de valor
Condición
Menor que cero
t1 es menor que t2.
Cero
t1 es igual a t2.
Mayor que cero
t1 es mayor que t2.



var t1 : DateTime = new DateTime(100);
var t2 : DateTime = new DateTime(20);

if (DateTime.Compare(t1, t2) >  0) Console.WriteLine("t1 > t2"); 
if (DateTime.Compare(t1, t2) == 0) Console.WriteLine("t1 == t2"); 
if (DateTime.Compare(t1, t2) <  0) Console.WriteLine("t1 < t2");

DateTime t1 = new DateTime(100);
DateTime t2 = new DateTime(20);

if (DateTime.Compare(t1, t2) >  0) Console.WriteLine("t1 > t2"); 
if (DateTime.Compare(t1, t2) == 0) Console.WriteLine("t1 == t2"); 
if (DateTime.Compare(t1, t2) <  0) Console.WriteLine("t1 < t2");

Fuente
http://goo.gl/qByIE

Fechas en Javascript


Fecha básica con números

Podemos utilizar el siguiente script, para mostrar la fecha en español con números, es decir, en el formato como se escribe en nuestro idioma: dia/mes/año.
<script>
var f = new Date();
document.write(f.getDate() + "/" + (f.getMonth() +1) + "/" + f.getFullYear());
</script>
Este script de Javascript lo tenemos que colocar en el cuerpo de la página, en el lugar donde queremos que aparezca la fecha de hoy. Nosotros podremos colocar este script en cualquier contenedor donde queramos que aparezca, como un párrafo, una capa o división, una celda de una tabla, o donde deseemos.

Fecha con el nombre del mes

Podríamos desear poner la fecha escrita, donde aparezca el nombre del mes con letras, es decir, algo como "9 de noviembre de 2009". Esto quedaría bien si queremos darle un toque más prosaico a la visualización de la fecha actual. Se consigue con un script como este:
<script>
var meses = new Array ("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
var f=new Date();
document.write(f.getDate() + " de " + meses[f.getMonth()] + " de " + f.getFullYear());
</script>
Como habrás podido comprobar, no tiene ninguna dificultad, pero tenemos que crear un array con los nombres de los meses en español, puesto que en Javascript no tenemos ninguna manera de conseguir esos nombres en nuestro idioma. Nuevamente, colocaremos el script en el lugar donde deseamos que aparezca escrita la fecha.

Fecha con nombre de més y nombre de día de la semana

Ahora vamos a darle una vuelta de trueca al anterior script para generar el nombre del día de la semana. El esquema sigue siendo el mismo, pero ahora necesitaremos otro array con los nombres de los días de la semana. Con este script conseguiremos una fecha escrita que será parecida a esta: "Lunes, 9 de Noviembre de 2009".
<script>
var meses = new Array ("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
var diasSemana = new Array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado");
var f=new Date();
document.write(diasSemana[f.getDay()] + ", " + f.getDate() + " de " + meses[f.getMonth()] + " de " + f.getFullYear());
</script>


Tomado de: desarrolloweb

¿Por qué fracasan los proyectos de software? - Diagrama de Gantt

¿Por qué fracasan los proyectos de software?

Aparte de las causas mencionadas en todos los sitios web se debe tomar en cuenta las siguientes:
  1. Tener Requerimientos Funcionales: Toma entre 8 horas de 15 días a 2 meses para definir qué es lo que quiere el usuario, este documento debe ser formal, emitido, aprobado y FIRMADO. Ahí se definen los alcances, objetivos, especificaciones. Sirve como check list para verificarlos al final del proyecto en las Pruebas. Los contratos se deben leer bien (Por ejemplo: El proyecto debe ser recibido en conformidad y a entera satisfacción del cliente).
  2. Existir un Líder de Proyecto que es el que Interactúa entre el cliente/usuario y el programador. Direcciona al equipo.
  3. Por la Mala Planificación
    1. Debe existir un Diagrama de Gantt, se lo describe acontinuación.
  4. Definir las Pruebas en el ciclo de vida del sistema.

Diagrama Gantt

Generalmente una cotización se la debe presentar realizando un diagrama de gantt, en este se especifica el tiempo estimado casi muy aproximado para el desarrollo de un sistema. Para este ejempleo se lo hará para una empresa farmacéutica con 10 años de información en FOX (Pharmacys) que necesita un sistema de facturación :
  • análisis de riesgo
  • definir los hitos o entregables
  • brechas: holguras para imprevistos, 
  • incluir los requerimientos funcionales en las actividades, 
  • migración de datos - 6 meses: reestructuración de base de datos, normalización de la base de datos se necesita un arquitecto de información o DBA. Analizar la experticia del equipo, si existe o no la documentación actualizada.
  • pruebas alfa (el programador), beta (los de QA), unitaria, sistema, regresión, paralela (operar el sistema antiguo y nuevo por lo mínimo 3 meses) - 2 meses.
  • pruebas de QA Aseguramiento de Calidad, prueba del equipo para asegurar que funcione. Antes de hacerle probar al usuario final - 1 mes
  • Documentación UML, según la metodología. Manual técnico, funcional, diccionario de datos, Entidad Relación.
  • Fase de implantación (luego de las pruebas)
    • Capacitación (2 semanas por módulos)
    • Suscripción de Acta E-R del documento
    • Otros
  • Fase de post implementación 
    • Afinamientos del sistema
    • Otros

Mínimo este proyecto toma un año en ser terminado por completo.
Lo siguiente por hacer es Analizar, Evaluar y Dimensionar las implicaciones adicionales del proyecto. Tomar en cuenta la competencia y el software pirata.

Finalmente, todos los proyectos de software deben tomar en cuenta los puntos mencionados así como la Tecnología que van a usar, el apoyo que se le brinda al equipo, el compromiso que adquieren los integrantes del staff de trabajo y por último los conocimientos y talentos que poseen las personas, sin este no es posible ni siquiera iniciar el proyecto.

Espero que esto ayude a generar y a fomentar nuevos y mejores equipos de trabajo a todos quienes leen este blog.
-   -    -


"Sólo cuando el último árbol esté muerto,
el último río envenenado y el último pez atrapado,
nos daremos cuenta que no se puede comer dinero"
¿Por dónde hay que empujar este país para llevarlo adelante? -Mafalda-
                                                     QUINO, Joaquín Salvador Lavado

Entendiendo las Expresiones Regulares


Esta es una explicación rápida de las expresiones regulares:


Los metacaracteres que preceden a un rango o carácter específico indican cuantas veces se va a repetir dicho/s caracter/es.

el ^ indica que desde ese punto se hará la validación de la expresión, será el inicio.
el $ indica que hasta ese punto se hará la validación de la expresión, será el tope.
el * indica que la expresión se repetirá 0 o exclusivamente n veces, es decir no podrá estar 1 vez.
el + indica que la expresión se repetirá 1 o n veces, es decir por lo menos debe estar 1 vez.
el ? indica que la expresión se repetirá 0 o exclusivamente 1 vez, es decir no podrá repetirse más de 1 vez.
{n} indica que la expresión se repetirá n veces exclusivamente, es decir ni más ni menos de n veces.
{n,} indica que la expresión se repetirá de n al infinito.
{n,m} indica que la expresión se repetirá entre n y m.

Para realizar una validación en JavaScript para que solo acepte decimales se puede usar lo siguiente:


function controlDosDecimales(el) {
        var ex = /^[0-9]+\.?[0-9] $/;
        if (ex.test(el.value) == false) {
            el.value = el.value.substring(0, el.value.length - 1);
        }
    }