Reto “One line” de Josech

Pues Josech lanzó en Facebook un reto de hacer un programa en una sola linea que sume los valores de un array multi-dimensional, así que acepté el reto.

Código compacto y con variables abreviadas:

perl -e '@A=[1,2,[3,4],5,6,[7,8,[9,10,[11,[12,13,[14,15,16]],17,18],19]],20];sub c{my$r=shift;my$s=0;if($r=~/array/i){for(my$i=0;$i< =(@{$r}-1);$i++){$s+=c($r->[$i]);}}else{$s+=$r;}return$s;}print c(\@A)."\n";'

El código mas bonito esta aca:
Continue reading “Reto “One line” de Josech”

Algunas sugerencias al SAT para aclarar y optimizar las definiciones de XML del CFDI

Estimado Sistema de Administración Tributaria (SAT):

Por medio del presente documento quiero sugerirles algunos cambios, que considero alimentarían el modelo de los documentos de facturación electrónica, previo a que liberen la versión 3.3 del CFDI (Comprobante Fiscal Digital a través de Internet).

1) Dentro d los apartados de “Concepto” poder usar un nuevo campo llamado “Serie”, ya que el actual de “noIdentificacion” es confuso y no permite manejar correctamente las claves de producto y números de serie. Ejemplificando, Tengo un producto electrónico con clave “iPhone6S-16G-Gray” y número de serie “AW12345667”.

En la actual versión, no es posible hacer esto a menos que recurramos a “Parte”, actualmente se ve así para resolver esto:

  <cfdi:conceptos>
    <cfdi:concepto cantidad="1"
                   descripcion="Teléfono celular marca Apple modelo 6S, 16GB, gris espacial"
                   importe="14099.00"
                   noIdentificacion="iPhone6S-16G-Gray"
                   unidad="LLamada"
                   valorUnitario="14099.00">
      <cfdi:parte cantidad="1"
                  descripcion="Teléfono celular marca Apple modelo 6S, 16GB, gris espacial"
                  noIdentificacion="AW12345667"></cfdi:parte>
    </cfdi:concepto>
...
   </cfdi:conceptos>

Cuando sería mas sencillo hacer esto:
Continue reading “Algunas sugerencias al SAT para aclarar y optimizar las definiciones de XML del CFDI”

Como identificar facturas electrónicas de servicios de Uber

En mi empresa facturamos casi todo lo que podemos y no es la excepción que pidamos a Uber (servicio de transporte) estos documentos.

Pero el problema radica en que Uber no factura, si no los choferes. Uber no cuenta con un solo taxi y no da recibos fiscales en México, por lo que su sistema de facturación obliga a cada chofer a emitir el comprobante.

Esto hace complicado la clasificación contable de este servicio, por lo que hice un script rápido (uber.pl) en perl para analizar los comprobantes fiscales CFDI (Comprobantes Fiscales Digitales por Internet) en su formato XML.

Continue reading “Como identificar facturas electrónicas de servicios de Uber”

Patrocina el Festival de Cine Creative Commons Ciudad de México

cccmx_logo

El Festival de Cine Creative Commons Ciudad de México busca dar difusión al uso de un modelo de regulación de la propiedad intelectual más flexible, como lo son las licencias Creative Commons, en obras audiovisuales independientes para su difusión y distribución en plataformas digitales.

Apoyo esto por medio de está liga (contribuye por medio de fondeadora.mx).

Código para la ciudad de México

convocatoria_general_header1
El Lab PLC, la nueva área de innovación cívica y creatividad urbana del GDF, convoca a los ciudadanos con habilidades técnicas de programación, desarrollo tecnológico, diseño interactivo y afines, así como universitarios o egresados recientes que estén interesados en colaborar con el gobierno para encontrar soluciones creativas en estas áreas: desarrollo económico, medio ambiente, salud, transporte y turismo.

A través de Código para la Ciudad de México, los Programadores Ciudadanos y Universitarios seleccionados, en conjunto con las secretarías participantes identificarán necesidades y áreas de oportunidad para después proponer y desarrollar aplicaciones y otras soluciones digitales creativas.

Aquí las ligas de convocatoria para Programadores y Universitarios.

Asterisk y Open Hardware para controlar dispositivos desde un teléfono

Pues jugando un poco con Arduino y Asterisk, se me ocurrió hacer una interface entre estos dos para activar luces, puertas, etc. utilizando una extensión telefónica.

httpv://www.youtube.com/watch?v=rcFMJC4n4dQ

También hice un sistema de sockets para que desde una página web se pudieran activar estos eventos.
Continue reading “Asterisk y Open Hardware para controlar dispositivos desde un teléfono”

FLISOL Empresas y Software Libre

El día de mañana 3 de mayo del 2013, se llevará al cabo una versión dirigida a Empresas del Festival Latinoamericano de Instalación de Software Libre (FLISoL). El objeto es acercar el potencial del Open Source a las empresas y público en general.

En el marco de este evento, daré una platica sobre Call Centers basados en Asterisk y Open Hardware y sus posibilidades.

La información del evento esta en flisoldf.mx.

La sede es el hotel Fiesta Inn Teatro Insurgentes. Dir. Calle Mercaderes No. 20, Col. San José Insurgentes, C.P. 03900 México D.F, Tel. 5482-9140

Photoduino: Open Hardware para control fotográfico

Uno de las cosas que más me gustan, aparte de la tecnología y el desarrollo de software, es la fotografía, lo que me llevó a usar lo primero para ayudar a lo segundo.

Hace un tiempo me puse a investigar como hacer un “Time lapse” (ver Tomando fotos para crear un “Time Lapse”) y lo primero que tuve que hacer fue comprar un intervarómetro (un equipo que activa la cámara cada cierto tiempo), el equipo que compré fue un temporizador de Canon TC-80N3 que me costó alrededor de $300 USD.

Al ver lo caro que era y lo realmente poco que hacía, me dí a la tarea de ver si había proyectos libres con este enfoque, y me encontré con uno realizado por @kalanda llamado Photoduino, este es un controlador de fotografía para alta velocidad. Este está basado en la plataforma de Open Hardware Arduino y su objetivo es crear un “shield” (placa accesoria conectable a un Arduino ONE), que permite tener control de la cámara y diversos sensores que la activan, además de ser intervarómetro.
Continue reading “Photoduino: Open Hardware para control fotográfico”