domingo, 23 de agosto de 2015

Tres proyectos didácticos para Edison Arduino

Desde ya algunos meses que tenía la curiosidad de hacer algunas pruebas y aprender como programar las tarjetas arduino. Josech me hizo el favor de agenciarme una Edison con su breakout board y llegó hace unos 5 días a casa. El primer experimento fué hacer parpadear un led, cosa que fué sencilla.
Realicé el parpadeo de led desde arduino IDE y con python.

Ahora en mente tengo algunos proyectos meramente didácticos para los cuales necesitaré algunos sensores:
  1. Un medidor de litros despachados (para ver que te den litros de a litro en las gasolineras)
    • Puede subir los resultados a internet, ya que la Edison tiene wifi
    • Puede geolocalizarse con su respectivo GPS para referenciar a la gasolinera
  2. Un display que vaya en la luneta trasera del auto (que despliegue un texto que tu envíes con voz)
  3. Un despachador de comida de perro automático (que de N kg de comida cada cierto tiempo)
Ya les platicaré que tal van esos proyectitos.

miércoles, 19 de agosto de 2015

Getting the Pktgen LUA exposed functions from pktgen-dpdk

Currently there's no documentation on which functions are exposed to LUA from Pktgen.

Not documented and got this hint from Keith:
Search at the bottom of the ./app/lpktgenlib.c file to see the LUA functions.

  // Set the single packet value on main screen
  {"set_mac",     pktgen_set_mac},     // Set the MAC address for a port
  {"set_ipaddr",  pktgen_set_ip_addr}, // Set the src and dst IP addresses
  {"mac_from_arp",  pktgen_macFromArp},      // Configure MAC from ARP packet
  {"set_proto",   pktgen_prototype},      // Set the prototype value
  {"set_type",    pktgen_set_type},    // Set the type value

For instance you can now call the pktgen.set_type function on your lua script.

martes, 18 de agosto de 2015

Anotaciones: negar un patrón de bash

En ocasiones me sucede que quiero utilizar la negación de un wildcard para eliminar archivos o moverlos en bash. Siempre olvido como hacerlo así que aquí dejo la nota:


$ shopt -s extglob (extended pattern matching)

Quiero eliminar todo lo que haya dentro de /tmp excepto lo que empiece con abc1*

$ rm -fr !(/tmp/abc1*) 

Fin

What is DPDK about?

Before a couple of months ago I was not aware of a new technology called DPDK intended to accelerate packet processing on common commodity servers. Instead of running propietary hardware with high cost licenses DPDK allow a very modest server to process 24x the amount of packets compared to a single core network appliance. It use an source BSD license.

A brief and easy 4 minutes explanation of DPDK can be found on the following video:


Next just for fun experiment would be to build a virtualized DPDK appliance under openstack.

viernes, 14 de agosto de 2015

HipHop Virtual Machine or HHVM

What is this about?

Taken from the official HHVM website:

"HHVM is an open-source virtual machine designed for executing programs written in Hackand PHP. HHVM uses a just-in-time (JIT) compilation approach to achieve superior performance while maintaining the development flexibility that PHP provides."

"Rather than directly interpret or compile PHP code directly to C++, HHVM compiles Hack and PHP into an intermediate bytecode. This bytecode is then translated into x64 machine code dynamically at runtime by a just-in-time (JIT) compiler. This compilation process allows for all sorts of optimizations that cannot be made in a statically compiled binary, thus enabling higher performance of your Hack and PHP programs."

Worth taking a look at this technology.

jueves, 6 de agosto de 2015

Checking your linux hardware clock source

Current clock source:
# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc

And about the available clock sources:
# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc hpet acpi_pm

Source: http://serverfault.com/questions/459901/hpet-missing-from-available-clocksources-on-centos

miércoles, 5 de agosto de 2015

¿Qué es lo que nos motiva?

1 de Agosto de 2015.

A un año de haber tomado un rumbo y ritmo distinto al que había llevado laboralmente durante aproximadamente 6 años. Se acaba de cumplir una vuelta al sol trabajando en Intel, y durante esta vuelta he cambiado muchas percepciones y aprendido bastantes cosas en el camino.

El aprendizaje técnico ha sido una rampa empinada, desde los fierros hasta el software y middleware. Llena de high performance computing, benchmarks, virtualización, mediciones, instrumentación, código, scrums, automation.

Es un tanto liberador poder proponer soluciones, sugerir cambios y que estos sean tomados en cuenta. Dice el video de ¿Qué es lo que nos motiva? que para trabajos que requieren habilidades específicas, 3 cosas importan mucho para mantener un "engagement": autonomía, maestría y propósito.

Para no hacer largo el monólogo: FIN