Arreglar Error Chrome en páginas https NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM

5
Estándar

Muchos de vosotros seguro que habéis estado horas buscando como arreglar el fallo NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM en el navegador Chrome con paginas que usen algún certificado digital https con SHA-1.

La buena noticia es que el error no proviene de Chrome, sino del antivirus, en este caso de Avast.

Os explico como solucionarlo de la siguiente forma:

1. Abrimos las configuración desde la ventana de interfaz de Avast.
1

2. Seleccionamos la opción “Protección Activa”.

2
3. Dentro de “Protección Activa”, clicamos el enlace “Personalizar” del Escudo Web.
3

4. Una vez dentro quitamos el check de la opción “Activar análisis de HTTPS”

4

5. Guardamos en el boton “Aceptar”.

Con esta modificación se deberían solucionar estos problemas con las páginas https que usen certificados SHA1 y devuelven NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM.

Nota: en otros antivirus debéis buscar las mismas opciones para deshabilitar esa característica.

FileZilla Server Autoban Application

Estándar

Automatic Tool to Update the IP Filter Disallowed

Users of Filezilla Server for Windows…congratulations, with this application your IP Disallowed Filter will be updated everyday from login/password errors readed from daily service logs.

I love Filezilla Server for Windows but native autoban options are not enough for me. In my web server clients not have FTP accounts, but i use a few for different reasons. I was bored to see the logs every day, every minute with people try hack the FTP Server with different user/password combinations. I don´t understand how filezilla server dont have a black list manager to control ip´s from logs.

But i decide to make my own updater tool. It´s very simple.

Te console application read the “same day” log file (making a copy, log file is blocked by Filezilla Service) , stores the ip´s with login errors and update XML configuration file, IP Filter Disallowed item.

But this its unsuccesful if service was not restarted…i do it also.

By this way i schedule the exe to execute about 23:55 every day, having the ftp server “IP Filter Disallowed” list updated.

Are you interested on this ?

You can try my tool download exe file from the github project repository, and also you can download the project and change it for free.

FileZilla Server Autoban IP Disallowed Updater

FileZilla Server Autoban IP Filter Disallowed Updater Project

Note: In newer version i will develop an min error count variable from same IP to be filtered. Sometimes a customer try to enter his FTP account with errors, maybe the filter only has to been fired if login error happens more than x times.

Como crear un marketplace I

Marketplace
Estándar

El verdadero negocio ya no está en el ecommerce tradicional. Al igual que las pequeñas tiendas de barrio que fueron absorbidas por los grandes supermercados en el mundo real, en el mundo digital empieza a producirse el mismo fenomeno entre las tiendas online y los marketplace.

El ejemplo mas usado de marketplace lo tenemos en Amazon, un “all in one” donde podemos encontrar casi de todo, y que no parece que tenga techo en su cifra de ventas, al menos, de momento. Las ventajas para los usuarios son evidentes, poder comprar todo en el mismo sitio, al igual que en un comercio fisico, ademas, debido al volumen de ventas, estas plataformas pueden ofrecer otros servicios adicionales o el envío, a precios muy competitivos, incluso en ocasiones gratis.

La cuestión es como iniciar un proyecto de este estilo y en esta serie de post intentaré desgranar los puntos básicos en el tema técnico, que, debido a mi trayectoria, he podido ver de primera mano. A nivel profesional he participado en dos proyectos de marketplace, con resultados dispares (Portobellostreet.es y Timetak.com).

Experiencia Previa

Por un lado tenemos Portobellostreet.es, del que soy IT Manager y creador de toda la infraestructura técnica, todo con codigo inhouse, sin usar plataformas preprogramadas, como Magento o Prestashop. En Timetak fui el Project Manager de todo el desarrollo de la plataforma, tambien con código “adhoc”.

Plataformas ecommerce vs codigo “adhoc”.

Juan Macías es blogger, CEO de deMartina.com y consejero de Adigital (Asociación Española para la Economía Digital) y participa como inversor y advisor en varias start-ups. En su blog, escribió hace un tiempo un articulo sobre la situacion actual del ecommerce en España, en el cual, hablaba precisamente de este tema y de la plataforma a usar en este caso.

El quid de la cuestion es si es mejor usar plataformas preprogramadas o realizar desarrollos a medida. Mi opinión (y me ha costado el descarte en algun proceso de selección) es realizarlo siempre a medida. He aquí mis razones para hacerlo de esta forma:

  • Parametrizacion Inicial: Las plataformas como Magento y Prestashop aparecieron con funcionalidades que permiten a cualquier usuario medio crear una tienda online sin conocimientos de programación. Esto solo se consigue con una plataforma extremadamente rigida en cuanto al código que hay que mantener o modificar. En estos momentos, por ejemplo, Magento es una plataforma que ni siquiera un usuario medio es capaz de parametrizar, teniendo que recurrir a un programador, que en muchas ocasiones tiene esos mismos problemas, ya que al ser tan rigido, modificar cualquier aspecto se convierte en una locura.
  • Modificación y adaptación a nuevos escenarios: Al igual que al poner en marcha la beta de nuestro marketplace podemos hacerlo con este tipo de sistemas, cuando nuestro negocio evolucione y sea necesario pivotar, ofrecer otro tipo de servicios online, integraciones con ERP´s, CRM´s, etc, es muy probable que meter estos cambios en un Magento (por poner un ejemplo) sea directamente una hazaña, por las propias restricciones del sistema.
  • Actualizaciones: Estos sistemas reciben actualizaciones de forma constante, lo que hace complicado tocar partes “troncales” del propio sistema, ya que la actualización “sobreescribe” el código que tengamos insertado, o puede dejar inservibles nuestros propios módulos al cambiar la programación de los troncales.
  • Personal técnico: En una entrevista con 2 CEO´s de una empresa que aspira a convertirse en el Amazon español, me comentaban que era muy difícil encontrar verdaderos expertos en Magento y que eso complicaba la gestión de la plataforma, esto es otro handicap a la hora de apostar por estos sistemas.

eCommerce, la que se está liando

Tampoco digo que el código adhoc sea la panacea para un marketplace ( o cualquier negocio online) pero según mi punto de vista, cuando ya dispones (o vas a disponer, dependiendo del nivel de inversión) de un equipo de desarrollo, el código “hecho en casa” se ajustara al 100% a tus necesidades y podrá evolucionar en el tiempo junto a tu negocio, adaptándose a los cambios que se vayan necesitando.

Sobre el tema del personal técnico, usando un lenguaje de programación común (C#, PHP, o Java) no deberías de tener problemas si tienes rotación de personal, siempre que tu proyecto y equipo cumpla una serie de estándares sobre documentación y patrones de programación, del tal forma que el know-how del proyecto no resida solamente en la cabeza de una u otra persona.

Comienzo de proyecto

Es importante en este tipo de proyectos contar con las personas adecuadas para liderar la parte técnica.

Deben ser conocedores del mundo ecommerce, a nivel desarrollo y sistemas, para tener una visión estratégica a largo plazo que haga posible el crecimiento sin problemas. Ha continuación desgranamos puntos importantes para comenzar un proyecto de estas características.

Análisis Funcional

Es quizás la parte mas importante del proyecto. Aquí se deciden las funcionalidades y reglas de negocio que definen todo el sistema: tanto la web (Front), como los paneles de vendedores o proveedores (Back). Este análisis funcional definirá buena parte de la estructura de datos y funciones a desarrollar, y hará ,que la evolución y mantenimiento de todo el sistema sean en el futuro mas sencillos o convertirlos en un infierno. Es conveniente realizar este análisis pensando en una metodologia LEAN, que nos permita diseñar un PMV (Producto Minimo Viable) para probar el modelo de negocio sin tener que desarrollar el 100% de la plataforma. Algo que la mayoria de startups no se pueden permitir,

Elección de lenguaje de programación, servidor web, base de datos

El CTO debe hacer un estudio muy detallado de la previsión de visitas que tendrán las diferentes áreas del marketplace, ya que hay que decidir entre diferentes tipos de servidores y lenguajes, los cuales se valoran por varios criterios: velocidad, escalabilidad, mantenimiento, fiabilidad, coste, etc.

Incluso a nivel de base de datos es necesario tener en cuenta que uso y necesidades de análisis se darán en el futuro, ya que puede interesar desarrollar directamente sobre herramientas NoSQL como MongoDB o Cassandra.

En este artículo de nuestro blog desgranamos un poco los diferentes tipos de servidores web para nuestros proyectos.

Equipo

Este es uno de los handicaps de este tipo de proyectos, ya que es raro que el equipo de desarrollo este constituido antes de empezar el proyecto. Suele empezar alguno de los socios, que además hace las funciones de CTO. En principio es casi una necesidad empezar de esta forma pero al poco tiempo será necesario introducir desarrolladores para terminar la plataforma de forma optima.

Nunca contratéis becarios para estas funciones. Tened en cuenta que esto es la base de vuestro futuro negocio, es la estructura sobre la que construir toda la empresa. Siempre profesionales y si están bien pagados mejor que mejor, ya que recibirás mas compromiso y lealtad hacia el proyecto. Si, cuando trabajas por cuenta ajena eres un mercenario, trabajas por dinero. Si eres el dueño o socio encargado de las contrataciones hazte a la idea rápido. La mayoría de personas tienen necesidades que se cubren con dinero, una vez resueltas ya puedes evangelizarlas sobre lo chachi que es tu proyecto. En el futuro ellos serán los primeros “soldados” de vuestro ejercito, y los necesitareis motivados para los días malos en los que todo sale mal.

En el siguiente artículo seguiremos con las consideraciones iniciales, así como la planificación del desarrollo y elementos a tener en cuenta antes del lanzamiento de nuestro marketplace.

 

Instalar Teamviewer en Ubuntu

Linux-Launched
Estándar

Estos pasos son interesantes cuando tenemos acceso desde SSH pero queremos tener acceso a todo el equipo desde el modo grafico.

Primero realizamos la descarga

wget http://download.teamviewer.com/download/teamviewer_i386.deb

 

Instalamos con gdebi, ejecutando estas operaciones en cadena

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install gdebi

En el directorio donde hemos descargado el paquete deb ejecutamos esto:

sudo gdebi teamviewer_i386.deb

Ahora ya deberia estar instalado desde el terminal, pero vamos a configurarlo desde ssh.

Primero buscamos la localización de la instalación de Teamviewer en nuestro Ubuntu

whereis teamviewer

lo normal es que los binarios estén en esta carpeta /usr/bin/teamviewer

asi que ejecutamos esta orden para saber el estado del servicio

/usr/bin/teamviewer –info

Si ya esta iniciado el servicio nos dara nuestro ID de Teamviewer :

TeamViewer ID: XXXXXXXXX

En el caso de que el servicio no este arrancado podemos activar el daemon de esta forma

sudo teamviewer --daemon enable

y arrancar el servicio.

Si queremos cambiar la password tenemos que ejecutar esta orden:

/usr/bin/teamviewer –passwd MYnuevaPassword

Nota:

Hay muchos tutoriales donde se explica la instalación de otras formas pero esta es la única que me ha funcionado, tanto en 14.04 como en 16.04.

 

 

Mejoras de VBA en Office 2016

VBA 2016
Estándar

 

Office 2016 para Windows

Las nuevas características del modelo de objetos de VBA

Varias aplicaciones de escritorio de Office tienen nuevas características que se exponen en el modelo de objetos de VBA. Éstos son algunos de los aspectos más destacados:

  • Excel tiene un nuevo conjunto de datos de importación que se basan en la tecnología Power Query y que le permiten a los usuarios consultar la información en archivos, bases de datos, sitios Azure, y otras fuentes, para combinar consultas. Para apoyar esta función, Excel expone las nuevas consultas y objetos WorkbookQuery y sus propiedades y métodos asociados. Excel expone varios métodos nuevos en el objeto WorksheetFunction para permitir la predicción de funciones estadísticas. Por último, hay una serie de nuevos objetos relacionados con el vigente modelo de objetos, tales como los ModelFormatBoolean y ModelFormatCurrency, y muchas propiedades nuevas en cada uno de estos nuevos objetos.
  • Outloook ha añadido un nuevo objeto PreviewPane y una nueva propiedad WordEditor de ese objeto, que permiten el acceso al cuerpo del mensaje que está cargado en el panel de vista previa. Esta propiedad tiene la intención de dejar que Windows-Eyes y otros lectores de pantalla tengan acceso al cuerpo de un mensaje en el panel de vista previa.
  • Project añade nuevos objetos Engagement y EngagementComment, métodos asociados y propiedades para permitir el acceso mediante programación a los compromisos programados en un proyecto.
  • Visio ha añadido nueva OM para permitir la gestión de los derechos (IRM) de los documentos de Visio.

 

Office 2016 para Mac

Desde el lanzamiento de Office 2016 para Mac en julio, los usuarios de Mac OS X de todo el mundo han sido capaces de tomar ventaja de las nuevas características y mejoras esperadas desde el lanzamiento de 2011. Al mismo tiempo, algunos de los usuarios también han enviado comentarios solicitando nuevas mejoras en el soporte de VBA, particularmente sobre VBA Add-Ins.

En respuesta a esta información, vemos como se mejora aún más el soporte a Office en Mac sobre VBA Add-Ins . En concreto, se añade la personalización de la cinta de Office a través de XML de la cinta, y la realización de otras mejoras a Word, Excel y PowerPoint para Mac para que coincida con sus versiones de escritorio de Windows.

Personalización de Ribbons con XML

Con la última actualización  de Office en Mac, podrás personalizar al máximo el ribbons a través de Word, Excel y PowerPoint para Mac usando XML.

Así es como ribbons de Word en Mac aparece con una pestaña personalizada . la personalización de la cinta de la cinta a través de XML

Si ha personalizado el ribbons de Office para Windows, encontrará la experiencia en Mac muy similares. Sin embargo, hay algunas diferencias importantes, como se describen en la siguiente tabla.

La comparación de funcionalidad de personalización de la cinta de Office 2016 para Mac y Windows

Siga los pasos a continuación para activar o desactivar en Word, Excel y PowerPoint usando el terminal de Mac.

Para activar ribbons XML:

  1. Abrir terminal.
  2. Escriba este comando:
    “defaults write com.microsoft.office EnableRibbonXmlDeveloperMode -bool YES”
  3. Reiniciar la aplicación.

Para desactivar ribbons XML:

  1. Abrir terminal.
  2. Escriba este comando:
    “defaults write com.microsoft.office EnableRibbonXmlDeveloperMode -bool NO”
  3. Reiniciar la aplicación.

A principios de 2016, la personalización de ribbons XML será habilitado de forma predeterminada para todos los clientes.

Preguntas frecuentes

¿Cómo puedo editar Ribbon XML ?

Puede editar ribbons XML utilizando herramienta Editor de la interfaz de usuario personalizada , que sigue estando disponible sólo en Windows.

¿Estos cambios pueden ser instalados como parte del proceso de actualización automática?

Sí. Estos cambios serán instalados a todos los clientes que utilizan Microsoft Auto Updater.

¿Es la estructura del archivo XML la misma que la de Office para Windows?

Sí, Office 2016 para Mac lee las personalizaciones de customUI.xml y CustomUI14.xml.

¿El ribbon XML de Office 2016 para Mac cargara el XML de ambos archivos, customUI.xml y CustomUI14.xml?

Sí, y al igual que el comportamiento en Office para Windows, CustomUI14.xml se dará preferencia sobre customUI.xml.

¿El ribbon XML de Office 2016 para Mac aceptara archivos PNG que se cargan en la interfaz de usuario personalizada del documento como imágenes de control?

Sí.

Editor de Visual Basic

 

Para continuar las mejoras en Visual Basic, en Office 2016 para Mac, hemos añadido las siguientes características para el Editor de Visual Basic:

  • Posibilidad de añadir módulos dentro del Project ViewerPosibilidad de añadir módulos dentro del Project Viewer
  • Posibilidad de añadir referencias de biblioteca utilizando un cuadro de diálogoPosibilidad de añadir referencias de biblioteca utilizando un cuadro de diálogo
  • Capacidad para utilizar las teclas de acceso directo para la depuración en Editor de Visual Basic, como Comando + Shift + I para el Paso a paso ,Comando + Shift + O para Step Over .

Nuevos Comandos

Se han añadido dos nuevos comandos al modelo de objetos de Visual Basic para Mac:GrantAccessToMultipleFiles y AppleScriptTask .

También se agrega un nuevo condicional, “MAC_OFFICE_VERSION”. (Ver Nuevos comandos de documentación más adelante en este artículo.)

Dado que Office 2016 para Mac es sandboxed, los usuarios son preguntados para permitir el acceso cada vez que se haga una solicitud de acceso a los archivos . GrantAccessToMultipleFiles es un comando que toma una matriz de punteros de archivos y ayuda a minimizar el número de estas indicaciones.

El sandboxing también rompe el comando existente MacScript que permite el uso de AppleScript en línea en Visual Basic. Aquí es donde AppleScriptTask puede ayudar. Los usuarios pueden almacenar un archivo de AppleScript en un lugar especificado en el disco y utilizar AppleScriptTask dentro de VB para invocarlo. La ubicación de estas secuencias de comandos se especifica por el sistema operativo y no puede ser alterado.

El condicional MAC_OFFICE_VERSION deja a las macros determinar qué versión de Office para Mac está ejecutando el usuario. Esto es muy útil en los casos en que se dispone de ciertos comandos (como los dos anteriores) sólo en una determinada versión, e invocando ellos en otra versión pueden dar lugar a errores.

Documentación nuevos comandos

AppleScriptTask

El comando AppleScriptTask ejecuta una secuencia de comandos AppleScript. Esto es similar al comando MacScript excepto que se ejecuta un archivo de AppleScript situado fuera de la aplicación de espacio aislado.

Por ejemplo:


Dim myScriptResult as String
myScriptResult = AppleScriptTask ("MyAppleScriptFile.applescript", "myapplescripthandler", "my parameter string") 

Dónde:

  • El archivo “MyAppleScriptFile.applescript” debe estar en ~ / Library / Application Scripts / [Identificación del lote] /. El applescript extensión no es obligatorio; .scpt también puede ser utilizado.
  • “Myapplescripthandler” es el nombre de un controlador de secuencia de comandos en el archivo “MyAppleScriptFile.applescript”
  • “Mi cadena de parámetros” es el único parámetro de entrada a la “myapplescripthandler” script handler
  • El AppleScript correspondiente para Excel estaría en un archivo llamado “MyAppleScriptFile.applescript” que se encuentra en Scripts ~ / Library / Application Support / com.microsoft.Excel /.

Nota Los identificadores de paquete para Mac Word, Excel y PowerPoint son:

  • com.microsoft.Word
  • com.microsoft.Excel
  • com.microsoft.Powerpoint

El siguiente es un ejemplo de un controlador.


on myapplescripthandler(paramString)

#do something with paramString 
return "You told me " & paramString 


end myapplescripthandler 

GrantAccessToMultipleFiles

De forma distinta a las macros de VB en Office para Mac 2011, las macros de VB en Office 2016 para Mac no tienen acceso a los archivos externos de manera predeterminada. Office 2016 para aplicaciones de Mac esta en modo sanbox y por lo tanto carecen de los permisos necesarios para acceder a archivos externos.

Los comandos del archivo de macro existentes se cambian al solicitar al usuario el acceso a archivos si la aplicación no tiene ya acceso a ellos. Esto significa que las macros que tienen acceso a archivos externos no pueden funcionar en modo desatendido; Van a necesitar la interacción del usuario para aprobar el acceso a archivos la primera vez que se hace referencia a cada archivo. Se pueden utilizar los GrantAccessToMultipleFiles comando para minimizar el número de mensajes y hacer que la experiencia sea mejor (véase más adelante).

GrantAccessToMultipleFiles

Este comando le permite introducir una serie de rutas de archivos y solicita al usuario permiso para acceder a ellos.


Boolean  GrantAccessToMultipleFiles(fileArray) 

Parameters 
fileArray  An array of POSIX file paths.

Return values
True   The user grants permission to the files. 
False  The user denies permission to the files. 

Nota Una vez que se otorgan los permisos, están almacenados con la aplicación y el usuario no tiene que dar permiso al archivo particular, nunca más.

Ejemplo:

Sub requestFileAccess()  
  
'Declare Variables  
    Dim fileAccessGranted As Boolean  
    Dim filePermissionCandidates 
  
 'Create an array with file paths for which permissions are needed  
    filePermissionCandidates = Array("/Users//Desktop/test1.txt", "/Users//Desktop/test2.txt") 
  
'Request access from user  
    fileAccessGranted = GrantAccessToMultipleFiles(filePermissionCandidates) 
'returns true if access granted, otherwise, false 
End Sub

MAC_OFFICE_VERSION

En Office 2016 para Mac, este nuevo condicional testea qué versión VB el usuario está ejecutando. El siguiente ejemplo muestra cómo usarlo en el código.

Sub VersionConditionals()

#If MAC_OFFICE_VERSION >= 15 Then
    Debug.Print "We are running on Mac 15+"
#Else
    Debug.Print "We are not running on Mac 15+"
#End If
#If Mac Then
    Debug.Print "We are running on a Mac"
#Else
    Debug.Print "We are not running on a Mac"
#End If
End Sub

Nota Los “#If Mac” se mantiene sin cambios condicionales de Office 2011 para Mac.