Tech

Data scraping para análisis de datos

Introducción En este post comparto mi experiencia en la creación de un scraper para descargar datos mereológicos. También mostraré unos análisis que hice con los datos y daré unos tips personales para publicar un proyecto open-source. Empecemos desde el principio. Todo comenzó cuando estaba pensando cómo obtener datos metereológicos para identificar posibles trends. Fue puro interés personal. Vi las opciones online pero no encontré nada satisfactorio. Resulta ser que los datos que suelen publicar para la descarga de distintas organizaciones gubernamentales y no-gubernamentales son muy incompletos o de poca envergadura. Nada en comparación a la riqueza de datos que tiene ...

Hackatón – Datatón 2020

En la semana pasada se hizo el primer (según mi conocimiento) evento de datos abiertos en Paraguay. El evento consistió en varias charlas a las que por razones no pude asistir. En donde si participé fue en el hackatón. Quiero compartir brevemente mi experiencia en el hackatón. El viernes 25 a la noche empezó oficialmente el hackatón. Primero llenamos un formulario eligiendo temas de interés. Luego se nos asignó un grupo. También era posible anotarse con personas específicas en un grupo de antemano pero en mi caso, me inscribí solo. A mi me tocó el grupo del Congreso. Me re ...

Collect Mikrotik RouterOS Logs with Rsyslog

Logs are useful, I'd even say the most important thing for Sysadmins and Network Admins and often Developers also. So I'm surprised why I took so long to implement a central log collection for my network. I use Mikrotik which Operating System is called RouterOS. In RouterOS you go to System > Logging to configure remote logging. First add (+) a new item to Actions /system logging action add name="rsyslog" target=remote remote=192.168.2.1 remote-port=514; Add a rule for every type of event you want to send to the remote logger. system logging add topics=info action=rsyslog; system logging add topics=error action=rsyslog; system ...

Comprobando rangos de IPs Paraguayas por CVE-2018-14847

Disclaimer: Sólo quiero aclarar que ningún sistema fue comprometido y ninguna intrusión fuera del margen legal ha sido cometida en relación a este experimento. Este post es para fines educacionales. El autor no asume ningún tipo de responsabilidad en relación al uso del material expuesto. Hace poco se descubrió una vulnerabilidad (CVE-2018-14847) en RouterOS, el firmware de los routers de la marca Mikrotik. La vulnerabilidad consiste en un “authentication bypass.” Básicamente es tan simple que es ridículo, no debería hacer pasado pero, suelen suceder este tipo de cosas en la informática. Funciona de esta manera. Mikrotik usa una aplicación llamada ...

How to disable Samsung’s annoying Bloatware

If there is something that infuriates me it is bloatware that cannot be disabled. I happened to get a notification every few minutes from "Samsung Experience Service" for the last couple of weeks. There was no way to disable that shit. I found online forums full of complaints. Good job Samsung you are alienating your clients.
Ok so let's get rid of this. The first step is to download ADB. Open the command prompt and switching to the directory where adb.exe is located. Make sure your Samsung is connected to the PC and click on Allow USB Debugging. You find ...

Software Testing: Preventing, Finding, and Fixing Bugs on a Time Budget – Raymond Hettinger

Raymond Hettinger is one of the people I enjoy most giving tech talks. He is one of the people who know how to give very down to earth explanation about many complicated and fun topics. He also loves Python as I do, the difference being that he is a big contributor and bigger expert on Python. Definitely check out his talks on YouTube. In this post, I made some notes from his recent talk called Keynote - Preventing, Finding, and Fixing Bugs On a Time Budget | Raymond Hettinger @ PyBay2018 What testing or debugging tools have the highest payoff ...

Do it for fun

In this video Eli the Computer Guy talks about something I’d love more people to understand. He explains that most people expect to get money out of their first business idea. But most people don’t see beyond that initial decision. We have to consider things like: - Will people be interested in my solution/service or whatever I offer? - If I can execute my idea successfully, will I like doing it all the time, for a prolonged time? In other words, will I still love doing it next year? Wouldn’t it be much better to start something you love to ...

How to upload thousands of contacts to Google

Today a colleague asked me for help. The boss asked him to type in about 6000 registers of Name/Phone number on to Google Contacts. I thought, "there must be a better way" (borrowed that one from Raymond Hettinger). Pre-processing First things first, I deleted all the unnecessary columns from the spreadsheet. Then it was as simple as doing an export to CSV in LibreOffice Calc. Next step, adding the right column names in the first row so that it coincides with the standard Google uses. In this case, I used: Name, Phone. One problem remained though, I had to ...

How to program

In this talk, Justin Searls breaks down the basic process a programmer follows while coding. Suppose we have a big, very complex problem. So much complexity scares us, we feel overwhelmed. So it's much better to not tackle all at once. Bottom-up programming Let's break the problem down into its parts by asking, what do I need for the resolution of this problem? Once you have an idea, start coding on the first one of those components. Once you work on it, you suddenly realize, Oh! This thing actually won't align with the other component I need. So you make ...

Como censurar al Internet con reglas simples en RouterOS

Por supuesto estoy muy en contra de la censura. Pero si entendemos como funciona la censura, también nos podemos defender. Así que decidí aprovechar el conocimiento que adquirí sobre RouterOS en la certificación de Mikrotik para tratar de cortarme el servicio de Torrent con un Router Hap Lite. Como el tráfico de torrent mayormente ya está encriptado, y el bloqueo de puertos no sirve de mucho ya que se puede hacer pasar al tráfico de bittorrent por puertos comunes como el 80, trataremos de prevenir al acceso de las páginas de Torrent. Hice unas reglas de regex pattern matching en ...

A quick and intuitive explanation of gradient descent

This short writeup is from Udacity's Deep Learning Nanodegree. Journey to the Bottom of the Valley Here I'll give you a little refresher on gradient descent so we can start training our network with MiniFlow. Remember that our goal is to make our network output as close as possible to the target values by minimizing the cost. You can envision the cost as a hill or mountain and we want to get to the bottom. Imagine your model parameters are represented by a ball sitting on a hill. Intuitively, we want to push the ball downhill. And that makes sense, ...

Linear regression with gradient descent

This post is based on the linear regression live coding session from Siraj Raval (Udacity). What is Linear Regression? Linear regression is a widely used method to find a predictor variable which describes an outcome variable. In simpler words, it describes the relationship of two value sets. In this example, Siraj shows how to do Linear Regression using gradient descent. Gradient descent is an iterative optimization algorithm widely used in machine learning. In simpler words, we use it to make our linear regression model as precise as possible. I won't get into details about the code, if you are interested ...