Entradas

Mostrando las entradas con la etiqueta reflexiones

No hemos cambiado nada

Dentro de unos días, en Uruguay vamos a tener elecciones parlamentarias y presidenciales. Como siempre en estos casos hay campaña y hay temas que se destacan por sobre otros. Uno de los temas a los que más importancia se le ha dado, es el de la seguridad pública. Más allá de los argumentos y posturas que cada uno pueda tener, me interesaba comentar una frase que leí hace poco. Para ponerle un poco de contexto, es una frase en medio de un diálogo, que transcribo: - ¿Hablan ustedes del asesinato [...]? - Sí. ¿Ha oído usted hablar de este crimen? - ¿Cómo no? Ha ocurrido en las cercanías de la casa donde me hospedo. - ¿Conoce usted los detalles? - Los detalles, no, pero este asunto me interesa por la cuestión general que plantea. Dejemos a un lado el aumento incesante de la criminalidad durante los últimos cinco años en las clases bajas . [...] Y resalto " el aumento incesante de la criminalidad durante los últimos cinco años ". Parece sin duda una frase sacada del debate ...

async/await en C# 5.0

Imagen
Personalmente no he hecho nada demasiado serio con C# (sí programo, pero no es ni cerca mi lenguaje principal), pero es un lenguaje que me resulta sumamente interesante. Ya había hablado en este blog sobre las mejoras que trajeron las versiones 3.0 y 4.0 . En la última versión de C#, la 5.0 que salió con VisualStudio 2012, se agregaron dos nuevos comandos: async y await . De hecho, es de las pocas cosas nuevas que vinieron con esta versión. Debo reconocer que al principio no le di mucha importancia, hasta que leí este artículo de Miguel de Icaza que me dejó pensando en el tema:  Callbacks as our Generations' Go To Statement ¿Cómo funcionan los comandos async/await? (1) Cuando se declara un método como async , lo que le estamos diciendo al compilador es que el método puede detener su ejecución en cualquier momento mediante el uso de un comando await . A su vez, un método declarado como async tiene que devolver un objeto de tipo Task o Task<T> según su valor de ...

Cosas que me gustaría tener en Objective-C

Imagen
En los últimos tiempos, el lenguaje Objective-C ha mejorado bastante, como ya hemos comentado en el blog (por ejemplo acá ). Pero (siempre hay un "pero"), igual hay algunas cosas que todavía se podrían mejorar o agregar al lenguaje. Implementación default para métodos de protocolos Supongamos que tenemos un @protocol MyProtocol , que define una @property NSArray *someArray . Cuando uso una variable que está basada en este protocolo ( id<MyProtocol> myVar ), puedo ver cuantos elementos tiene el array escribiendo [[myVar someArray] count] Pero supongamos que esto lo hago muy seguido, entonces quiero cambiar esto, para que el protocolo ya defina la propiedad elementCount para poder usarla como [myVar elementCount] ¿Cuál es el problema con esto? Que si agrego la propiedad elementCount al protocolo, tengo que implementarla en todas las clases que implementan el protocolo. Una alternativa sería tener algo así como "method templates", donde se ...

Leyes inconstitucionales

Capaz que es un poco ingenuo de mi parte, pero ¿el parlamento no debería asegurarse que las leyes que vota sean constitucionales? En los últimos días hemos tenido por lo menos dos casos, con el ICIR y la ley interpretativa de la ley de caducidad , que la Suprema Corte de Justicia declara como inconstitucionales leyes que fueron votadas y promulgadas. Es decir, tenemos un Parlamento con 99 diputados y 30 senadores (o por ahí...), que a su vez tienen secretarios y asistentes varios. ¿No deberían al menos tratar de que las leyes sean constitucionales? ¿Qué sentido tiene que voten leyes que no son válidas? ¿Son tan ignorantes que ni siquiera conocen la constitución? Parece como que debería ser requisito previo para ser diputado o senador, ¿no? Aunque en la realidad esto claramente no aplica...

Construir tus propios "Google Glasses"

No, no es que en el 2013 me voy a dedicar al hardware, ni les voy a enseñar como hacer sus propios "Google Glasses", pero vi esta nota en Lifehacker que me pareció interesante: Build Your Own Google Glass-Style Wearable Computer El autor del artículo original (al que refiere la nota en Lifehacker) cuenta como se hizo unos lentes sobre los que proyecta una pantalla, con partes que compró en eBay. Lo interesante del caso es que si bien Google parece ser el único que está desarrollando de forma seria esta tecnología, si alguien lo puede hacer por sus propios medios, puede ser que aparezca alguna empresa nueva (startup) que se dedique a fabricar estos tipos de aparatos. No es una tarea fácil, porque además del hardware se necesita desarrollar el software que lo acompañe, pero Google no planea liberar el producto antes de 2014, y acceder a un prototipo (que se supone va a ser este año) cuesta 1.500 dólares. Quien sabe, a lo mejor alguien se anima a competirle a Google. Se...

Los robots nos van a dejar sin trabajo?

Estuve viendo esta charla de TED que me pareció interesante, y la iba a "tuitear" pero no estoy del todo de acuerdo con las conclusiones, así que me pareció mejor comentarla acá... En la charla, Andrew McAfee se hace esta pregunta, y llega a la conclusión de que sí, en gran medida vamos a ser reemplazados por robots. Uno de los ejemplos que pone también me parece interesante. Dice que en Estados Unidos, hay más de 3 millones de camioneros, que potencialmente van a perder el trabajo cuando se perfeccionen los vehículos autónomos. No se cuanto dará el número si se le suman los taxistas, repartidores, conductores a ambulancias, etc. Es verdad que ahora puede parecer ciencia ficción, pero la tecnología va a llegar en 5, 10 o 15 años, y a las empresas les va a servir más que contratar seres humanos, porque va a ser mucho más barato. McAfee dice ser optimista, que a pesar de que los robots nos van a dejar sin trabajo, la tecnología va a resolver los problemas, y que noso...

¿Qué pasa cuando los celulares alcancen a los notebooks?

En el 2008, uno de los mejores celulares en cuanto a características era sin duda el iPhone 3G [1] , que tenía: CPU: single core, 412MHz RAM: 128MB El iPhone 5 que salió hace unos días, tiene: CPU: dual core, 1.2GHz RAM: 1GB Eso da un factor de mejora de 3x en el procesador y de 8x en la memoria. Sin embargo, el iPhone 5 a pesar de que (dicen que) es el teléfono más rápido en el mercado , no es el que tiene mejor especificación técnica. El LG Optimus G , que se espera que salga en los próximos días, tiene las siguientes características: CPU: quad core, 1.5GHz RAM: 2GB Eso representa una mejora de 4x en el procesador con respecto al iPhone 3G de hace 4 años, y una mejora de 16x en la memoria. Esto es en cuanto a celulares. Pero, ¿qué ha pasado mientras tanto con los notebooks? Buscando en Google por "best notebooks 2008" o "best notebooks 2012" aparecen varios sitios con reseñas de los mejores en cada año, y entre los primeros s...

La Educación Prohibida

Imagen
La Educación Prohibida es un documental que habla sobre los defectos que tiene el sistema educativo actual, y hace propuestas de como debería mejorarse. Creo que vale la pena verlo, la película se puede bajar grátis del sitio, de hecho invitan a hacerlo y a compartirla. Las ideas que plantea no son nuevas, y creo que tampoco pretenden serlo. Por ejemplo Ken Robinson en su charla de TED de 2006 (la más vista de las charlas TED), habla del tema. Básicamente lo que plantea es que el modelo de la escuela que se tiene hoy, donde un maestro dicta clase para 25, 30 o más alumnos, que están todos sentados mirando para el mismo lado prestando atención, no es adecuado para los tiempos que corren. Este modelo viene de la revolución industrial, y es sin duda mucho mejor a lo que había antes (donde la educación era para unos pocos). Probablemente incluso fuera lo mejor a lo que se podía aspirar en los siglos XIX y XX. Pero en el siglo XXI, tiene que haber una forma mejor de pensar la edu...

El futuro de la televisión es Internet, segunda parte

Creo que lo que dice el título de la nota no sorprende a nadie (o no debería), a esta altura es bastante obvio. Hace unos días por ejemplo, veíamos esta noticia (vía @ealmeida ) donde dice que 400.000 hogares en EE.UU. dieron de baja el cable en lo que va del año, y cito: Reuters points to high unemployment rates, a weak housing market and regular programming factors as key contributing factors for the drop, but other factors may include the increasing amount of available Web-based content and high costs of cable and satellite-based TV service. La televisión por cable, o más en general, la televisión para abonados, según yo lo veo tiene dos grandes problemas: Estoy pagando por muchos canales que no veo. En general, de las varias decenas de canales que tengo, solo miro 3 o 4 de forma habitual, más alguna película en los canales que pasan cine. Para ver algo, tengo que adecuarme a la grilla dictada por los canales, en vez de los canales adaptarse a mis horarios. Esos dos prob...

La importancia de respetar los estándares

Imagen
Una discusión que tenemos de forma bastante recurrente en el equipo de iOS en Artech, es hasta donde es conveniente salirse de los estándares de la plataforma. En ese sentido iOS es bastante particular, porque las guías de desarrollo llevan a que las aplicaciones sean bastante uniformes, lo que hace que los usuarios se acostumbren a que las cosas se hagan de determinada forma. Por ejemplo, ¿es razonable en una aplicación sacar la barra de navegación? ¿Conviene usar un ícono no estándar para una acción estándar? ¿Vale la pena hacer una implementación "custom" de algún control que está disponible de forma nativa? En general, la respuesta a todas estas preguntas es que NO, que lo mejor es ajustarse a lo nativo. Por supuesto existen excepciones y casos en los que sí me quiero salir de lo estándar, pero hay que hacerlo a conciencia y con mucho cuidado. ¿A qué viene todo esto? Que hace unos días actualicé una aplicación que uso todos los días, e hicieron un cambio que me co...

Sobre la comparación entre lenguaje de programación

El otro día en un almuerzo salió el tema de si tiene sentido comparar distintos lenguajes de programación. Una de las posturas era que en realidad, con cualquier lenguaje de programación moderno (léase Java, C#, Objective-C, Ruby, etc.) puedo solucionar cualquier problema que pueda solucionar con otro de estos lenguajes. De todas formas yo creo que sí se pueden comparar, y que si bien con cualquiera se pueden resolver los problemas, no se obtiene la misma productividad. Voy a poner un ejemplo, usando una muy pequeña característica de los lenguajes de programación: los loops de tipo "for". El caso más simple, es querer recorrer una colección partiendo del primer item hasta el último, avanzando de a uno. Para eso me alcanza una construcción del tipo: for index = 0 to count-1 {   // hacer algo con index } ¿Qué pasa ahora si quiero contar de dos en dos? ¿Me sirve la construcción anterior? Bueno, sí... puedo escribir lo siguiente: for fakeIndex = 0 to (count-1)/2 { ...

iPhone 4 vs. iPhone 4S

Imagen
En el día de ayer, Apple en un evento especial, anunció el lanzamiento del nuevo iPhone, llamado iPhone 4S. La información relativa al iPhone 4S ya está disponible en el sitio de Apple , donde cuentan las características y hay algún video explicativo. No tenía intención de escribir sobre esto, pero Mauricio me preguntó por Twitter que me parecía, y no me dio para contestarle en 140 caracteres... Las diferencias entre el iPhone 4 y el iPhone 4S Como era de esperarse, hay varias cosas que cambiaron en esta nueva versión del teléfono de Apple. Usa un procesador A5, en lugar del A4, que según dicen duplica la velocidad del dispositivo. También aumenta varias veces la velocidad de la tarjeta gráfica, fundamental para los que lo usan como una consola de juegos. La cámara de fotos salta de 5MP a 8Mp, pero además tiene otras mejoras como la cantidad de luz que captura, la velocidad, etc. (no se mucho de fotografía, pero sí que la cantidad de pixeles no es lo único que importa)....

El final de la democracia (representativa)

En Uruguay existe la llamada Ley de Caducidad , que da amnistía a policias y militares por los crímenes que cometieron (torturas, asesinatos, desapariciones, etc.) durante la última dictadura militar (1973-1985). Es una ley que fue votada en el parlamento en 1986, confirmada en un referendum (ya que se juntaron firmas para intentar derogarla) en 1989, y confirmada nuevamente por la ciudadanía en un plebiscito en el año 2009, al no alcanzar el 50%+1 necesarios para su anulación. Ayer el senado uruguayo, aprobó una ley interpretativa que la deja sin efecto, yendo en contra de la opinión del pueblo. Todavía falta que la apruebe la cámara de diputados, pero es un hecho que va a ser así. Antes de seguir, quiero hacer dos aclaraciones: Cuando se me preguntó en 2009, voté por anularla. Por las dudas que alguno crea que escribo esto por estar en contra de este hecho en particular... No estoy de acuerdo en como se realizó el plebiscito de 2009. No había forma de no participar. Si uno ...

Por qué es probable que no use Google +1

Imagen
Ayer Google anunció el lanzamiento de "+1" , un sistema de recomendación de páginas web similar al "me gusta" de Facebook. Básicamente el "+1" es un ícono que aparece al lado del link en los resultados de las búsquedas. Cuando encuentro algo que me interesa compartir, aprieto el botón "+1" para que todo el mundo vea que me pareció interesante. Esta información la va a usar luego Google para mejorar los resultados de su algoritmo de búsqueda. El problema es que después que hice una búsqueda, entré a varios links a ver cual me servía y encontré uno que tenía lo que estaba buscando, es muy difícil que vuelva a la página de la búsqueda para decirle a Google cual fue el que me sirvió. Es verdad que también hay un botón que se puede poner en las páginas web, otra vez igual que el "me gusta" de Facebook, pero ese tampoco le veo demasiado uso. Ahora cuando quiero compartir algo lo hago en Twitter. No voy a dejar de compartir las cosas...

DGI, facturación y declaraciones juradas

Imagen
En Uruguay, la DGI (Dirección General de Impositiva), es quien se encarga de recaudar los impuestos de las empresas y las personas físicas. Existe una modalidad, que es la que usamos los profesionales, que se llama Empresa Unipersonal, para las cuales el flujo de trabajo es el siguiente (no conozco como funcionan las demás, pienso que deben ser más complicadas): La empresa hace facturas a sus clientes, sin que la DGI se entere Una vez por mes o cada dos meses (depende de la modalidad de la empresa) se pagan los impuestos: IVA, IRAE, IRPF o lo que corresponda. Para el pago la empresa tiene que imprimir un boleto de pago en blanco, lo llena con los importes que correspondan, y paga eso. Todo esto sin intervención de la DGI, o sea, cada uno paga "como quiere". Una vez al año o cada 6 meses (depende de la modalidad de la empresa), se hace una declaración jurada donde uno declara lo que facturó, lo que compró y los pagos que hizo. Esto es un papel que es totalmente independi...

GeneXus Knowledge Interchange Protocol

Imagen
En el día de hoy se liberó el GeneXus Knowledge Interchange Protocol  (KIP), como había prometido Breogán Gonda en el pasado XX Encuentro GeneXus . Esta es una gran noticia. Todos los que alguna vez desarrollamos alguna aplicación que generaba o interactuaba con un XPZ, sabemos lo tedioso del proceso de hacer la ingeniería reversa para entender la estructura del mismo. Sin duda tener la especificación va a facilitar el trabajo de los que tengan que trabajar con el formato. Pero por otro lado, creo que el KIP se queda corto. Citando la noticia en GXTechnical: Con la publicación del GX KIP se pretende contribuir a la consolidación del paradigma de desarrollo de sistemas basados en conocimiento, y a su vez, atender las necesidades empresariales desatendidas por la programación manual. [...] GeneXus, y cualquier herramienta inteligente basada en conocimiento que pueda existir en el futuro, trabajan con una KB (Knowledge Base). La KB está formada por dos componentes: una...

El portal del estado uruguayo y pagos a través de ANTEL

Hace un rato, tenía que ver como era el tema para renovar la cédula de identidad (documento que identifica a las personas en Uruguay...). ¿Cuál es el lugar para buscar esa información? Obviamente, el portal del estado uruguayo . Busqué por "renovación cédula de identidad" y el resultado que estoy buscando aparece en el segundo o tercer lugar. Bien. Primer problema: el sitio con la información correspondiente usa HTTPS pero el certificado no es de confianza... Por lo tanto Google Chrome me muestra una página toda roja, que generaría alarma en cualquier usuario desprevenido. Viendo el certificado de la página, veo que fue emitido por el Correo Uruguayo, que obviamente no es reconocido como proveedor de confianza... Sigo adelante. Llego a una página donde me da toda la información de a qué número de teléfono tengo que llamar, la dirección de la oficina, etc., y un link para hacer el pedido de hora on-line . ¡Espectacular! En el sitio dice que se puede pagar con Ba...

Sobre paros y huelgas en empresas de servicios

Los últimos días parece que la cantidad de paros y conflictos laborales ha explotado. No hay gremio que no esté reclamando algo... o por lo menos así parece. La cobertura de los informativos sobre estos conflictos también es mucho mayor que el año anterior . Cuando los empleados hacen paro en una empresa, digamos por ejemplo una fábrica, el objetivo es perjudicar al patrón para que atienda sus reclamos. Cuando es una empresa que produce bienes, en general haciendo un paro esto se logra. Ahora, cuando la empresa brinda servicios, no es el patrón el principal perjudicado, sino que son los usuarios. Por ejemplo, el conflicto de la limpieza ... Esto lleva además a empeorar la imagen de los gremios, que en vez de tener a la opinión publica de su lado, se ponen a la gente en contra. O si no, ¿a quién le cae simpático el gremio de ADEOM por ejemplo? Creo que a los gremios les está faltando un poco de imaginación, además de un poco de sentido de responsabilidad social. Me parece bien q...

Libro: El factor humano

Imagen
Terminé de leer " El factor humano ". Lo puedo recomendar. Para los más vagos, pueden ver Invictus (yo no la ví) que se supone está basada en el libro. El libro trata sobre la unificación de Sudáfrica, que hasta el momento estaba divida por el apartheid  y al borde de una guerra civil. Se centra básicamente en la figura de Mandela , y cuenta como la final del mundial de rugby de 1995 terminó de unir al país mediante un logro deportivo. Me hizo acordar de dos cosas. Primero, como los resultados de Uruguay en el mundial de Sudáfrica hicieron salir a todo el mundo a la calle a festejar. Se ve que el deporte tiene la capacidad de generar ese clima de unidad. La segunda es un poco más "geek"... En el libro se pinta a Mandela como una persona que logró convencer a todos de su plan para Sudáfrica, incluso a sus peores enemigos. En la Segunda Fundación de Asimov (tercer libro de la trilogía ), hay un personaje llamado "El Mulo" (The Mule en el original en...

Usos de Twitter

Imagen
Hace un tiempo escribí un artículo sobre Twitter , diciendo que no lo entendía. Actualmente lo uso, y los que me siguen en Twitter, Google Buzz o Facebook tuvieron la oportunidad de comprobarlo durante el encuentro GeneXus, ya que se vieron saturados de mensajes :) Claramente algo cambió en mi perspectiva con respecto a esta herramienta. Es más, como decía Rorro en un comentario en aquella oportunidad, se ha convertido casi en un vicio. ¿Para que uso Twitter? En el artículo que escribí en el 2008, no entendía el tipo de comentarios que ponía la gente: Básicamente lo que no me cierra, es por qué alguien querría publicar algo como "voy a tomar un café", o "estoy abriendo GeneXus", o "me voy a dormir, hasta mañana"... Todavía sostengo que esa clase de información es prácticamente inútil. A mi me resulta sumamente útil como filtro de información. Cuando alguien a quien sigo, comparte algún link de algo, es porque le parece interesante. Si es una pe...