Cryptography pt. 2: STATS

--Originally published at How to HACK or not

I will now begin with a series of three last posts. Each one will have as a topic one of the topics of the course we haven seen, but with a different approach. I will talk about the topic but tried to be applied in our project, and by which means could be.

Starting with cryptography. We will need to use cryptography in our project, and I talked about it in that post, because we are managing many important information. Usernames and passwords are going to be stored in the database, as well as the results that will get from using the game. All these things are better not be seen from the outside, so they must be difficult to read and impossible to understand.

One of the alternatives we thought at the beginning was to use the methods that the tool we used could have. When we started using php (thing we don’t do now) we were planning to implement one of the functions that could make a big hash of the text that we were planning to store. It could work because it used md5 algorithm, but one of the problems we could have was that the key to decrypt the text had to be saved in the php script, which could make it vulnerable at the end.

We’ve also seen that the MySQL system we are using also implements some methods in the insert commands. MySQL has some interesting methods that work with AES scheme (Advanced Encryption Standard). This can also sound good, but still we have the same key problem. That’s why we thought of getting doing a cutomized key for each user. Constructing a key using some characters from its name and last name resulted in a different key for each person, thus making it Continue reading "Cryptography pt. 2: STATS"

The beginning

--Originally published at How to HACK or not


The project is oriented to be an extension of a bike rebalancing predictive system for the Guadalajara Bike Sharing System (BSS) called “MIBICI”, which will use the public data available through the local government BSS webpage.

We will develop a bike user application where the user will be able to show himself as “connected” and enter the key of the bicycle he is using. Each time the user travels n meters away, he will send his location, latitude and longitude, in such a way that we will be able to know in real time where a determined bicycle is, and at the end of the travel we will also have the complete route that the user followed.

The recollection of this date will be useful to know which are the busiest routes, which can be very useful to make decisions regarding infrastructure improvements as creation of bicycle lanes, more bicycle collection or battery charging points, etc; or even lucrative purposes such as what is the best position for a point of sale of energy drinks, sportswear, and more others.

Thanks Brian for this great tuto!

--Originally published at Stories by Luis Arturo Mendoza on Medium

Thanks Brian for this great tuto!

I have a problem with the auth part, I got this error:

“data”: {
“getUser”: null
“errors”: [
“message”: “User not authenticated”,
“locations”: [
“line”: 2,
“column”: 3
“path”: [
“extensions”: {
“exception”: {
“stacktrace”: [
“Error: User not authenticated”,
“ at field.resolve (/Users/luisarturomendozareyes/Documents/node_graphql_apollo_template/src/graphql/directives/auth.directive.ts:27:15)”,
“ at field.resolve (/Users/luisarturomendozareyes/Documents/node_graphql_apollo_template/node_modules/graphql-extensions/src/index.ts:207:30)”,
“ at resolveFieldValueOrError (/Users/luisarturomendozareyes/Documents/node_graphql_apollo_template/node_modules/graphql/execution/execute.js:479:18)”,
“ at resolveField (/Users/luisarturomendozareyes/Documents/node_graphql_apollo_template/node_modules/graphql/execution/execute.js:446:16)”,
“ at executeFields (/Users/luisarturomendozareyes/Documents/node_graphql_apollo_template/node_modules/graphql/execution/execute.js:293:18)”,
“ at executeOperation (/Users/luisarturomendozareyes/Documents/node_graphql_apollo_template/node_modules/graphql/execution/execute.js:237:122)”,
“ at executeImpl (/Users/luisarturomendozareyes/Documents/node_graphql_apollo_template/node_modules/graphql/execution/execute.js:85:14)”,
“ at Object.execute (/Users/luisarturomendozareyes/Documents/node_graphql_apollo_template/node_modules/graphql/execution/execute.js:62:35)”,
“ at Promise.resolve.then (/Users/luisarturomendozareyes/Documents/node_graphql_apollo_template/node_modules/apollo-server-core/src/runQuery.ts:235:23)”,
“ at process._tickCallback (internal/process/next_tick.js:68:7)”

(I created an user y put the JWT into the header)

I tried to fixed it, but I new with TypeScript and GraphQL. Any idea to fixed it?


Divide-and-conquer: Constructing decision trees

--Originally published at TC2027 – Enro Blog

A Pollinator in Pink……..HFDF! flickr photo by The Manic Macrographer shared under a Creative Commons (BY) license

The problem of constructing a decision tree can be expressed recursively. First, select an attribute to place at the root node and make one branch for each possible value. This splits up the example set into subsets, one for every value of the attribute. Now the process can be repeated recursively for each branch, using only those instances that actually reach the branch. If at any time all instances at a node have the same classification, stop developing that part of the tree.

The only thing left to decide is how to determine which attribute to split on, given a set of examples with different classes. If we had a measure of the purity of each node, we could choose the attribute that produces the purest daughter nodes. The measure of purity that we will use is called the information and is measured in units called bits. Associated with a node of the tree, it represents the expected amount of information that would be needed to specify whether a new instance should be classified yes or no, given that the example reached that node.



For outlook We can calculate the average information value of these, taking into account the number of instances that go down each branch—five down the first and third and four down the second:


This average represents the amount of information that we expect would be necessary to specify the class of a new instance, given the tree structure in Figure 4.2(a) Before we created any of the nascent tree structures in Figure 4.2, the training examples at the root comprised  line yes and five no nodes, corresponding to an information value of



Continue reading "Divide-and-conquer: Constructing decision trees"

3 Pasos para convertir usuarios de Instagram en Clientes

--Originally published at Stories by Luis Arturo Mendoza on Medium

Instagram es en este momento una de las redes sociales con mayor impacto en el mundo, y las empresas lo están aprovechando al máximo.

Veremos estos 3 pasos a detalle:

  1. ¿Cómo lograr que vean nuestro perfil?
  2. De visitantes a seguidores
  3. Convertir audiencia en clientes

Pero antes de entrar a detalle con cada uno de estos pasos, quiero que sepas que Instagram no está hecho para poner links como lo hace Twitter o Facebook, solo tienes un enlace y está en tu perfil. Entonces es aquí donde cada paso que te pongo arriba te funcionará para poder convertir toda esa audiencia en clientes.

¿Cómo lograr que vean nuestro perfil?

En este primer paso te darás cuenta que es muy sencillo y que existen diferentes maneras de lograrlo, te dejaremos las que mejores han dado resultados.


El motor de Instagram son los #hashtags, y funcionan de maravilla.
Aquí te recomendamos no publicar más de 30 hashtags por publicación, de hecho lo ideal es entre 6–9, siempre con el objetivo que vayan de acorde a tu negocio y a la publicación, así lograrás que sean efectivos.

Likes y Comentarios

Comienza a investigar a tus usuarios ideales, usuarios de competencia y comienza a darles likes en sus publicaciones, si crees que es un usuario potencial o acorde a tu perfil un comentario podría resultar en un nuevo seguidor ya que la mayoría de usuarios regresa este tipo de interacción.

OJO ten cuidado con las limitaciones de Instagram para no caer en bloqueos:

  • Máximo de 60 follow y unfollow a cuentas por hora
  • Máximo de 60 comentarios por hora
  • Máximo de 100 me gusta a contenidos por hora

De visitantes a seguidores

Ahora que estás logrando que los usuarios vean más tu perfil, es momento de convertirlos en seguidores, y esta acción lleva un poco más de dedicación.


Sin diseño, será

Continue reading "3 Pasos para convertir usuarios de Instagram en Clientes"

12 Propósitos para tu empresa este 2018

--Originally published at Stories by Luis Arturo Mendoza on Medium

Las 12 uvas, el abrazo, el brindis y las 12 campanas comienzan a sonar, de pronto te das cuenta que se viene una época de nuevas oportunidades para tu vida personal pero sobre todo para tu empresa.
Muchas empresas solo se conforman con decir que uno de sus propósitos el siguiente año será “conseguir más clientes” o “cerrar el triple de ventas del año pasado” y es cierto, ¡los clientes son la parte más fundamental!, pero tengas un plan o no para que tu lista de clientes siga creciendo, debes de tener muy en claro cómo es que vas a atraerlos hacia a ti, es decir cuáles serán los canales correctos pues cada año también surge un gran cambio en el mercado debido a la influencia de los medios digitales, la tecnología y la innovación de estos que cada vez repercuten más en la decisión para comprar algo o no.
Pero no te preocupes, nosotros te decimos cuales deberían ser al menos los 12 propósitos que tu empresa se debería estar enfocando este 2018.

3, 2 , 1 …¡ Feliz Año 2018!.

1) Crear tu estrategia de marketing digital

Una Estrategia de Marketing Digital sirve para posicionar tu empresa en el mundo digital, donde contamos con redes sociales, email, sitios web, blogs, vídeos, etc. Lo más probable (o al menos que estés en una industria muy única), es que tus clientes están consumiendo todo el tiempo en medios digitales, y lo mejor de todo es que pueden estar buscando por estos medios la solución o producto que tu empresa ofrece.

Si tu empresa aún no tiene una Estrategia de Marketing Digital, estás en perfecto momento para comenzar una. Si ya cuenta con una, lo mejor es que vayas ya preparando el 2018, y hagas un análisis de lo que mejor y peor te funcionó

Continue reading "12 Propósitos para tu empresa este 2018"

¿Una Startup debería contratar a una agencia de desarrollo?

--Originally published at Stories by Luis Arturo Mendoza on Medium

Photo by Evan Dennis on Unsplash

Siempre se tiene esa incógnita de si mi startup debería contratar una empresa de desarrollo o llevar todo por su propia cuenta, y aquí quiero decirte que uno existe una respuesta simple como un si o un no, esto dependerá de varios factores, pero te ayudaré a que puedas decidir la mejor opción para tu startup.

Primero, para estar en contexto. Una startup es una empresa escalable de base tecnológica que está en busca de un modelo de negocio funcional.

Una startup es una empresa escalable de base tecnológica que está en busca de un modelo de negocio funcional.

Basados en esa información, estamos hablando de que requieres tecnología para hacer escalable tu negocio, aquí es donde te diría que te detuvieras y contestes la siguiente pregunta:

¿Tu idea / proyecto está validado?

Recuerda que una startup está en busca de su modelo de negocio, es por eso que antes de que inviertas en él** todo tu tiempo y dinero**, primero asegúrate que hay personas que requieran de tu producto o servicio, y pagarían lo suficiente por esto, logrando que sea rentable.

Una vez tengas esto validado, ahora pregunte la siguiente:

¿Cuál es la versión mínima de tu producto o servicio para salir al mercado o comenzar a funcionar?

Aquí mi recomendación es que tu startup sea capaz de construir esta primera versión por su cuenta, si no sabes mucho de tecnología, busca a un socio tecnológico y tú también comienza a aprender sobre esta, ya que de esto se tratará tu negocio y si no logras entenderlo, dificilmente podrás manejarlo.

La desventaja aquí de invertir en esta primera etapa en un empresa de desarrollo, debido a que es posible que vayas cambiando / adaptando constantemente tu producto o servicio y esto

Continue reading "¿Una Startup debería contratar a una agencia de desarrollo?"

Herramientas para aumentar la productividad de tu empresa

--Originally published at Stories by Luis Arturo Mendoza on Medium

Photo by Arthur Lambillotte on Unsplash

En Mirak nos especializamos en mejorar la productividad de las empresas y queremos compartirte las que mejor han dado resultados en nuestros clientes y cómo fue que las integramos para que tu negocio se vea beneficiado.
Es importante entender que ninguna herramienta te asegura el éxito sino la pones en práctica y aprendes a dominarla, también es muy importante comunicar al equipo sobre el cambio de la herramienta o la implementación, recuerda que no a todos se nos hace tan fácil la tecnología; teniendo en cuenta esto, deberías programar capacitaciones para que no se vuelva contradictorio y perdamos productividad.
Mi recomendación es que busques todas las opciones diferentes que existen para solucionar el mismo tipo de necesidades, esto es porque dependendiendo de tu negocio / proyecto, algunas herramientas te servirán mejor que otras, sin importar que el 90% de las empresas usen la misma.

Tu negocio es único, tu herramienta también.

Herramientas para gestión de tareas y organización


Es una herramienta robusta de gestión de tareas, basado en proyectos y en equipos. Es ideal para empresas con gran operación.


Un gestor de tareas más simple y liviano, te permite administrar proyectos chicos y medianos sin ningún problema de una forma muy amigable. Ideal para startups, empresas chicas.


En un tablero tienes listas de tarjetas, que son muy utilizadas como tareas. Trello está hecho más para gestionar procesos, ideal para equipos de programación, desarrollo de productos.

Herramientas para comunicación interna


Es literalmente un chat empresarial en tiempo real, y hago énfasis en tiempo real porque es ideal para empresas que tienen fijo oficinas y quieren mejorar la comunicación sin necesidad de pararse de lugar o estar mandando correos con copia a todo.


Es un tipo de chat, pero a diferencia de Slack no

Continue reading "Herramientas para aumentar la productividad de tu empresa"

¡Tu empresa debe eliminar urgentemente los correos internos!

--Originally published at Stories by Luis Arturo Mendoza on Medium

Photo by Carl Heyerdahl on Unsplash

El correo es una herramienta increíble que nos ha permitido comunicarnos sin barreras, pero hoy se está volviendo contra productivo para tu equipo al usarlo internamente, permíteme explicarte porque.

La principal función del correo electrónico es permitirte una comunicación remota con cualquier persona a un simple “Enviar”; a pesar que existen herramientas para saber si una persona abrió tu correo electrónico, la manera más fácil de saber si tu correo fue leído (OJO: No recibido), es si te lo responde y esto puede tardar unos minutos o tender a infinito.

Es por eso que el correo electrónico se ha mantenido como una herramienta muy fuerte de comunicación remota. Repito, remota. Veamos con una comparación al sistema de correspondencia (donde te llegan los recibos de luz, tarjetas y un montón de papeleo).

Imaginemos que cada cada casa es una persona de tu equipo y el repartidor pasa todos los días a las 8 am a dejarle la correspondencia que tú has enviado. En esta ocasión enviaste un importante comunicado sobre el lanzamiento de un nuevo producto, esperando que tu equipo se prepare para tener todo listo. Y resulta que el día del lanzamiento, solo la mitad estaba enterado de tu lanzamiento, ¿qué pasó?

Fácil, es imposible saber que tu receptor, en este caso las personas de tu equipo hayan leído ese comunicado importante. Primero, pudo no haberle llegado porque la dirección estaba mal escrita, o sus perros se la pudieron haber comido (SPAM), o bien tiene tanta correspondencia que no alcanzó a leerlo a tiempo (1500 mensajes sin leer). ¿Te suena familiar?. Ahora imagina que todo tu equipo se manda 5 cartas diarias entre todos, aproximadamente 25 cartas diarias por leer y contestar.

Usemos la tecnología a favor del cambio

Gracias a nuevas herramientas este problema

Continue reading "¡Tu empresa debe eliminar urgentemente los correos internos!"