Archivo de la categoría: Programación

Lo que he aprendido del dinero


Durante la semana he platicado con algunos amigos y familiares que me hicieron recordar cuando toqué fondo hace varios años. Tocar fondo para mí fue gastar todos mis ahorros, no tener ingresos y estar sin trabajo durante 4 meses, además de no tener nada qué vender más que algunos videojuegos y una consola.

Fue una época difícil y aunque vivía en casa de mis padres y ellos me daban comida siempre hay gastos extra que se deben cubrir. Y aunque fue hace varios años me ayudaron a aprender y nunca olvidar los errores que cometí para estar en esa situación, te comparto a continuación lo que trato de no olvidar:

  •  Gasta menos de tus ingresos. Seguramente lo has escuchado mucho pero debe ser una regla de oro para todos. No importa la cantidad de dinero que ganes NUNCA gastes más de lo que ingresa a tu cuenta. Si respetas esta regla tu vida financiera empezará a cambiar y evitarás grandes problemas en el futuro.
  • No sabemos suficiente de finanzas. Por desgracia en la escuela (a menos que seas del Tec de Monterrey) no nos enseñan la importancia de manejar el dinero, nos enseñan civismo pero no nos enseñan a cómo manejar y generar ingresos, sin embargo no es nada que no se pueda aprender. Actualmente hay muchos recursos en la red que nos pueden enseñar a manejar el dinero de una manera adecuada.
  • Ahorrar es primordial. Mi papá desde muy jóvenes nos recomendó ahorrar el 4% de nuestro salario, no importa si es poco a mucho pero siempre tener un “colchón” en tu cuenta, y esto no es para que te lo gastes en la primera oportunidad que se tiene, es para estar siempre preparados para cualquier imprevisto (salud, accidente, no tener trabajo, etc). Si tu ingreso aún no es suficiente para ahorrar el 4% empieza con poco, no importa que sean $100 pesos, eso te enseñará a guardar un porcentaje de lo que tienes.
  • Cumple metas. Piensa en una meta que desees alcanzar, ya sea personal o familiar, y enfócate a cumplirla. Puedes empezar con algo sencillo como: “en dos meses invertiré en mi negocio, a fin de año pagaré por X curso”. Piensa en invertir en aquello que te ayude a mejorar como persona, capacitarte o generar nuevos ingresos, a la larga obtendrás buenos resultados.
  • Lo barato sale caro. Cuando hagas alguna compra analiza bien lo que vas a adquirir, a  veces por ahorrar unos pesos terminamos comprando algún artículo con poca calidad y que después tendrás que hacer un gasto mayor. Mejor espera a tener el dinero suficiente para comprar algo de mejor calidad y evitar hacer gastos dobles.
  • Aprende de otros. Te recomiendo seguir a personas que sepan de finanzas, tratar de replicar lo que otros hacen. Busca en Youtube, Twitter, Facebook e Instagram información de cómo mejorar tus finanzas y vuélvelos tus mentores. En lo personal me gustan mucho Moris Dieck y Oveja Financiera, cada video que suben o historia en Instagram las veo, analizo y me quedo con lo que me sirve.
  • No te obsesiones. Si ya hiciste un mal negocio, si estimaste mal un proyecto y al final saliste perdiendo no te obsesiones y martirices con eso, mejor aprende, bríndate un tiempo para analizar que hiciste mal y que hiciste bien. Eso si, piensa en qué fallaste para que un siguiente negocio, proyecto o emprendimiento no repitas el error.

Espero que alguno de los puntos te sean de ayuda, te recomiendo que visites a Piggo y Axend, actualmente invertir es posible.

 

Anuncios

100 días codificando #100DaysOfCode


El día de hoy mientras tomaba mi café en mi taza de gato enojado y leía tweets, me encontré en la publicación de un amigo el HT  Lo primero que pensé fue: “esto es una señal para ideas que traigo en mi mente desde hace semanas”, y es que a pesar de que estoy desarrollando algunas aplicaciones interesantes sé que debo seguir mejorando, y aunque considero que mi nivel de programación es bueno, tengo mis deficiencias en ciertos temas, además que necesito cambiar de lleno a Python y adquirir un nivel experto.

Así que  llega perfecto con lo que deseo hacer. Las reglas son 1) codificar al menos una hora diaria en el lenguaje que tú desees, 2) reportar tu avance diario utilizando el HT mencionado anteriormente y 3) enviar un mensaje a dos personas que de igual manera estén participando en el desafío. Para cumplir el paso 1) les recomiendo WakaTime, el cuál lo utilizo para saber cuántas horas al día y en qué proyecto las trabajo.

Y debido a qué deseo mejorar mis habilidades en algoritmos haré esa hora de codificación en resolver problemas en LeetCode y HackerRank. Si lo hago así, al final tendré al menos 100 horas aplicadas a mi aprendizaje.

Si te unes no olvides enviarme un mensaje en Twitter a mi cuenta @silvercorp, éxito y adelante.

taza

Disfruta lo que haces


Soy de la idea de buscar y aprovechar las oportunidades que me acerquen a hacer lo que me gusta, y para mi el dedicarme a programar me tiene en esa zona en que me siento feliz por lo que hago. 

Como ya se los había contado en otros posts soy trabajadora independiente o freelancer, y regularmente me contratan cuando se inician los proyectos para llevarlos a cabo, y en el momento en que se encuentran estables entra otro equipo que da mantenimiento, y básicamente así voy de proyecto en proyecto.

Disfruto mucho cuando debo trabajar con tecnologías novedosas o lenguajes de programación que no considero mi fuerte y sin embargo sé que puedo hacerlo. Y ese es el caso del proyecto en dónde me encuentro actualmente, el cuál está desarrollado en Ruby on Rails, utilizamos la API de pagos electrónicos OpenPay, integramos AWS entre otras cosas. Lo mejor de todo es que está relacionada con otro de mis grandes gustos que son los deportes.

El nombre del proyecto es Go Challenge y te invito a visitarlo, básicamente es un servicio de eventos deportivos, donde personas de otros lugares o tus amigos pueden crear un desafío, ingresa dinero por su equipo o jugador favorito y espera a un contrincante, o en todo caso lo puedes compartir a un amigo para que se una. Cuando el desafío está completo (tiene desafiante y contrincante) entonces debes  esperar a que se lleve a cabo el evento deportivo y al final se envía a tu cuenta el dinero que ganaste o en todo caso descontamos el dinero que perdiste.

Realmente estoy contenta por lo que se ha logrado y sobre todo esperando que las sorpresas que vienen sea del agrado de todos.

Hasta un siguiente post.

Distancia euclidiana en Python


La distancia euclidiana es la distancia “ordinaria” entre dos puntos de un espacio euclídeo, esta se deduce a partir del teorema de Pitágoras (Wikipedia).

Sirve para definir la distancia entre dos puntos en espacios bidimensionales, tres o más dimensiones, permite hallar la longitud de un segmento definido por dos puntos de una recta, del plano o de espacios de mayor dimensión.

 

Sus bases se encuentran en la aplicación del Teorema de Pitágoras sobre triángulos rectángulos, donde la distancia euclideana por lo general es la longitud de la hipotenusa del triángulo recto conformado por cada punto y los vectores proyectados sobre los ejes directores al nivel de la hipotenusa.

Expresado matemáticamente:

distancia-euclidiana

La implementación en Python es la siguiente:

def squareEuclideanDist(self, p_vec, q_vec):
 """
 Este método implementa el cuadrado de la distancia
 :p_vec: primer vector
 :q_vec: segundo vector
 :return: La distancia euclidiana al cuadrado de los vectores uno y dos
 """
 diff = p_vec - q_vec
 return max(np.sum(diff ** 2), self.e)

def euclideanDistance(self, p_vec, q_vec):
 """
 El método implementa la métrica de la distancia euclidiana
 :p_vec: vector uno
 :q_vec: vector dos
 :return: La distancia entre vector uno y dos
 """
 return max(math.sqrt(self.squareEuclideanDist(p_vec, q_vec)), self.e)

Leer archivos JSON en Python


El siguiente tutorial muestra de una manera sencilla como trabajar con archivos JSON y el lenguaje de programación Python.

JSON (Javascript Object Notation) es un formato ligero de intercambio de datos, tanto para los humanos como para las máquinas es muy simple interpretarlo y generarlo [1].

JSON está constituido por dos estructuras:

  • Una colección de pares de nombre/valor.
  • Una lista ordenada de valores.

Un ejemplo simple de un JSON es el siguiente:

[
{
"_id": "579fff34c716ae73b4525add",
"index": 0,
"guid": "b5814cf7-f292-46ea-92f3-24a8a1bb4999",
"isActive": true,
"tags": [
"laboris",
"minim"
]
},
{
"_id": "579fff3474cc9c4b7b9a8ebe",
"index": 1,
"guid": "da58573e-51c9-44c5-bbd1-1995028d244e",
"isActive": true,
"tags": [
"commodo",
"exercitation"
]
}
]

Si deseas crear uno desde cero y sin complicaciones te recomiendo que visites el siguiente post, ahora es momento de trabajar con ese archivo en Python.

Primero debemos incluir el módulo necesario para poder trabajar con tales archivos, para ello usaremos,

import json

Ahora supongamos que tenemos un archivo JSON llamado file.json (lo puedes guardar donde gustes) y deseamos leerlo, para ello he creado un ejemplo.py dónde he escrito el siguiente código

import json

print "Leer archivos"
leer = json.loads(open('file.json').read())
print leer

print "Imprimir elemento isActive"

print leer[0]['isActive']

Éste es solo un pequeño ejemplo y espero sea claro para ti, si tienes alguna duda puedes dejar un comentario, más adelante veremos más ejemplos.

Referencias.

[1] Introducción a JSON. http://www.json.org/json-es.html

A %d blogueros les gusta esto: