Category Archives: Programación

Freshdesk aceptó una funcionalidad que pedí

Solo cuento que en Freshdesk todos van a poder disfrutar de la funcionalidad de poder exportar historiales de chats a .csve, así me lo contaba Sabareesan:

Mark,
Our product management team has some good news for you. We are glad to inform you that exporting chat conversation to either Excel or CSV format is in our roadmap and would keep you posted on the updates once the feature is out.
You could also refer to the following link for the same:

 

¿Qué es Freshdesk?

Es la alternativa made in India a Zendesk: más económica y más abierta (no nos “roba la información” por lo que permite exportar gran parte de nuestros datos a .csv: clientes, tickets, etc…). Al tener caos en la administración de la atención al cliente, servicios de pre o posventa, aplicar la filosofía de Freshdesk es sensacional. Realmente no puedo explicar en palabras el amor que Freshdesk genera en mi corazón.

Tecnologías “Raras” que Pueden Cambiar Tu Vida

Una foto de Súperman

Súperman dando la sensación de rareza a este post :D

Un domingo por la tarde o una madrugada de lunes podemos estar con ganas de “algo diferente”, como cuando vamos por la calle y de golpe nos da ganas de “darnos un gusto” y en vez de cenar en nuestra casa como todos los días nos vamos a un restaurante al azar, una pizzería, la primer franquicia de comidas rápidas que veamos o una panadería con las facturas más grandes; llenas de dulce de leche y azúcar impalpable que nos ensucie las manos :D.

Para esos días en los que queremos salir de rutina, acá hay un listado de tecnologías que los desarrolladores (project managers, jefes de proyecto o líderes técnicos también están incluidos) podemos investigar/googlear/bingear:

  • Murex: a los desarrolladores muy buenos les pagan por día de 500 a 600 libras esterlinas. Intentá obtener una captura de pantalla de Murex y no vas a lograrlo porque está prohibido publicarla. Con esto digo todo ;).

 

  • Calypso: similar a Murex.

 

  • Cobol: es una gran oportunidad aprender este lenguaje porque en el futuro continuará existiendo y cada vez hay más desarrolladores que creen que “es muy viejo” pero ¿Se equivocan? Quizás si porque no saben que está plenamente orientado a ciertos negocios y esta es una funcionalidad que en muchas empresas es interesante tener, aunque suene loco, es 100% verdad.

¿Cuándo algo es “Antifrágil”?

Gato negro / Black cat / El gato de la ¿Suerte?

El gato de la ¿Suerte?

La respuesta es “Lo que se beneficia del desorden“. Pero esto puede ser confuso, así que para resumirlo mejor muy hacerlo más fácil de entender, esta es mi definición:
Lo que se beneficia del desorden o a lo que el desorden no le da consecuencias negativas

En la realidad es más fácil encontrar sistemas antigfrágiles que así lo son porque la volatilidad no le causa grandes daños, o estos son ínfimos comparados con las consecuencias positivas que podría tener o no.

Opcionalidad

La opcionalidad es una cualidad de antigfragilidad.
Ejemplo: [ Need example… ]

Asimetría

La asimetría también es una cualidad. Pero vamos a verla más tarde cuando complete el post ;).

¿Querés más?

No pierdas el tiempo leyendo blogs con posts súper cortos. Leé este resumen/. Es el mejor que vi.

Vender productos en Consignación con PrestaShop

2008-08-28 Black Friday shoppers at Wal-Mart

Prestashop nos ofrece la posibilidad de extenderlo con módulos, o creando nuestro código para el framework MVC que tiene (Prestashop de origen francés y tiene su propio código ¡Jajaja! Francia me caen muy bien ;) ).

¿Pero qué hacemos si al emprender un e-shop con este código pensamos financiar la compra de stock gracias a ropa comprada en consignación?

Me enfrenté a este reto hace 5 meses, en este proyecto y conseguí una muy buena solución que ningún módulo me pudo dar. Pronto voy a publicar todo lo que pueda sobre el análisis y la implementación en Prestashop.

Recomendaciones para obtener financiación en stock para un e-shop

Por favor, si vas a montar un e-shop en donde necesitás financiación para comprar el stock, no olvides leer mucho sobre:

4 formas de modificar el comportamiento de Prestashop

Tengo 4 formas para modificar el funcionamiento de Prestashop (un CMS para crear un e-shop, que como los desarrolladores son franceses, crearon su propio framework con poca documentación) .
Es común que  quiera llenarlo de cambios, a pesar de que existen miles de módulos (dentro de 300 caracteres explico qué son) que ayudan a modificar su comportamiento.

Una tienda china

Una tienda china

  1. Editando directamente el código: No recomendable porque cuando Prestashop se actualiza puede borrar el cambio. Además es muy complicado de distribuir…
  2. Extendiendo clases y controladores: Prestashop tiene un directorio en el cual podemos hacer uso del extend para las clases y controladores para los cuales queremos modificar su comportamiento.
  3. Creando nuestras propias clases y controladores: si por ejemplo tenemos una tienda online de ropa podemos querer tener un pequeño CMS que guarde información sobre las modelos que posaron en las fotos. Es normal que se guarde y muestre las medidas de la persona que se ve en las imágenes, para que los clientes tengan más datos sobre la prenda para poder especular cómo le quedaría a él/ella.
  4. Creando mi propio módulo: esta forma está muy utilizada porque es muy fácil distribuir los cambios. Simplemente con un archivo empaquetado y/o comprimido guarda mi código y puedo distribuirlo a quien sea, lo único que tengo que enviarle es ese bello archivo .tar, .gz, .zip o un privativo .rar

Detección de errores ortográficos

Desde hace un buen tiempo que vengo preguntándome cómo Firefox, LibreOffice y Thunderbird detectan los errores ortográficos mientras voy escribiendo (el clásico subrayado en rojo), ya que ¿Si LibreOffice lo hace por qué no puedo? Además lo más obvio es que ya existe algún proyecot dedicado a solucionar este problema, para evitar reinventar la rueda.

Pez raro. Raro como la búsqueda que tuve que hacer

Ufff… Este pez es tan raro como la búsqueda que tuve que hacer

Después de hacer búsquedas raras (¡No puedo creer por qué está tan “oculta” esa información en los buscadores!) pude encontrar por fin LanguageTool que se trata de una herramienta que funciona con diccionarios de mútiples idiomas y me dice qué palabras tienen errores (Además de otro tipo de problemas en los textos).

El problema a resolver

Tengo decenas de cientos de textos mal escritos. Solo necesito saber cuáles tienen más o menos errores para poder hacer una rápida selección de los “menos incorrectos” y descartar los demás.

Más tarde quiero utilizar LanguageTool para tener una interfaz fordista de corrección de errores a lo Turco Mecánico.

¿Cómo uso LanguajeTool en mi código?

1. Bajas la versión stand-alone.

2. Descomprime el .zip…

3. Ejecuta el comando (en el directorio descomprimido):

java -cp languagetool-server.jar org.languagetool.server.HTTPServer –port 8081

4. Haces una petición GET hacia:

http://localhost:8081/?language=es&text=hola+dia

Parámetros de la URL:

  • language: lenguaje en el cual está el texto.
  • text: el texto a “corregir”.

Nos va a devolver un XML como este:

<?xml version=”1.0″ encoding=”UTF-8″?>
<matches software=”LanguageTool” version=”2.2″ buildDate=”2013-06-30 18:39″>
<language shortname=”es” name=”Spanish”/>
<error fromy=”0″ fromx=”0″ toy=”0″ tox=”4″ ruleId=”UPPERCASE_SENTENCE_START” msg=”Esa frase no se inicia con mayúscula” replacements=”Hola” context=”hola dia” contextoffset=”0″ offset=”0″ errorlength=”4″ category=”Mayúsculas y minúsculas” locqualityissuetype=”typographical”/>
<error fromy=”0″ fromx=”5″ toy=”0″ tox=”8″ ruleId=”HUNSPELL_RULE” msg=”Hallado un posible error de ortografía” replacements=”día#ida#di#da#odia#dina#dita#dial#dila#dima#diga#diva#diña#ria#dio” context=”hola dia” contextoffset=”5″ offset=”5″ errorlength=”3″ category=”Posible error tipográfico” locqualityissuetype=”misspelling”/>
</matches>

Para utilizar esta información voy a leerlo con la clase SimpleXMLElement

¿Cómo resultó la solución de mi problema?

Tenía ganas de obtener un promedio de errores. Pero obtuve una desviación stándar de 20000…

NPS: 3 tips para ser el desarrollador más feliz del mundo que implementa NPS

Nota interesate: estoy desarrollando una pequeña guía sobre las tareas más importantes en la implementación de este gateway (y otros).

 

NPS (ex SUB1, ahora comprada por GlobalCollect), es una empresa que brinda servicios de procesamiento de pagos con certificación PCI, al igual que Decidir/SPS.

Nos da muchísimo trabajo a los desarrolladores que lo implementamos en un sitio. Está confirmado. Encontré mínimo 5 personas que lo intentaron, lo quieren, lo desean o trabajaron demasiado tiempo en su implementación.

Quiero facilitar la vida a todos. Por estos son los 3 tips que No sabías y que te van a transformar en un desarrollador feliz:

  • No pierdas el tiempo leyendo minuciosamente documentación de la API SOAP al 100% para hacer desde cero un script. Pedí el ejemplo en PHP que ellos desarrollaron (es solo un ejemplo, No un código que garantiza que va a funcionar).
  •  El soporte técnico que hacen por medio de Zendesk es genial. Las respuestas son muy rápidas y concretas. Se nota que realmente están comprometidos con la calidad y rapidez en las respuestas. Si tenés dudas buscalas ahí o consultalas de una ;).
  • No necesitás procesar los cobros de Pagofácil por medio de un servidor PCI. Si querés hacerlo de forma más simple, rápida y barata podés usar directamente los servicios de Pagospyme.com.

 

¡Hey! Acá hay gato encerrado ¡No puede resultar ser tan fácil!

Sí, el código de ejemplo es solo eso, un ejemplo de cómo se implementó el API con PHP. No es un código que se garantiza que va a funcionar al 100%, nada que ver con eso. Sos el responsable de hacer las modificaciones para que el código sea seguro y cumpla con los requerimientos de calidad y seguridad necesarios.

Ojo, ni se te ocurra enviar a Homologación el código así como está. No va a ser aceptado porque le falta bastantes mejoras que son pedidas, por si no te diste cuenta todavía :p.