colores en xbrowse

En la actualización de Findemes que estoy preparando he cambiado el aspecto del programa para dotarlo del look de Windows 7 y uno de los cambios introducidos es poner el pintado de las rejillas de datos con el degradado de Windows 7. Como en Findemes las lineas de apunte se pintan de distinto color en función de si son ingresos o gastos para hacer el pintado correctamente hay que modificar el método oBrw:bClrStd de la siguiente manera:


oApp():oGrid:bClrStd := {|| { iif( AP->ApTipo == "I", oApp():cClrIng, oApp():cClrGas ), CLR_WHITE } }

El resultado es el siguiente:

fdm_browse1

Sin embargo hay un problema: el pintado de los colores de ingreso y gasto es correcto en todas las lineas excepto en la linea seleccionada. En esta linea el texto sigue apareciendo en el color por defecto de browse que es el negro. Para que el efecto sea completo hay que modificar el método oBrw:bClrSelFocus de la siguiente manera:


oApp():oGrid:bClrSelFocus := { || { iif( AP->ApTipo == "I", oApp():cClrIng, oApp():cClrGas ),;
{ { 1, RGB( 220, 235, 252 ), RGB( 193, 219, 252 ) } } } }

Ahora el pintado ya es el deseado.

fdm_browse2

curso de programación de aplicaciones en android

Me he inscrito en el curso android: programación de aplicaciones que está realizando el sitio web Miríada X. Este sitio web pertenece a la red universidades de Universia y ofrece cursos online masivos en abierto, o MOOC en sus siglas en inglés. El curso lo imparte un profesor de la Universidad Politécnica de Valencia, que fue precisamente donde cursé ya hace muchos años mis estudios universitarios en Informática. Va a ser mi primera experiencia en un MOOC, y cuando lo termine contaré qué tal me ha parecido.

Mi interés hacía la plataforma Android ha subido mucho desde las pasadas Navidades. Uno de los regalos en casa fue una tableta Android, y poco a poco ha pasado de ser un juguete a ir sustituyendo a los ordenadores de casa para tareas como navegar, leer el correo electrónico, juegos y alguna más. El punto débil de la tableta, desde mi punto de vista, es la dificultad para utilizarla en cosas que requieran escritura. Escribir en una tableta no es fácil, no tienes el tacto de un teclado físico y el trabajo no se realiza con la misma rápidez y facilidad que con un ordenador con teclado físico.

Con este curso espero adquirir los conocimientos básicos de programación de esta plataforma. Que el lenguaje usado sea Java es algo que no me gusta mucho, pero el entorno ‘oficial’ de desarrollo para Android – el Android SDK – está construido alrededor de este lenguaje. Mi relación con el lenguaje Java nunca ha sido buena, nunca me he sentido cómodo programando con él. Espero que esta vez sea diferente.

harbour/fivewin support to sublime text 2

Further my previous post on the Harbour support for Sublime Text 2, a group of enthusiasts led by Rafa Carmona – also known as ‘thefull’ – and Quim Ferrer are developing a more completed package to support Harbour language on Sublime Text 2. This package is hosted on Github in the following URL: https://github.com/rafathefull/harbour The only thing you have to do is download the package and copy the files included in a folder named Harbour in the package folder of ST2. We have also created a discussion group at Google Groups to talk about anything involved on the development of the package. You can read and join us at Harbour / Sublime Text 2

In adition to this, Quim Ferrer is developing the Fivewin support for ST2. You can donwload this package in the following URL https://github.com/QuimFerrer/fivewin This package requires the Harbour package to run.

FivewinST2

sublime text 2

No cabe duda de que Sublime Text 2 – ST2 – es uno de los editores de código de moda y que no deja indiferente a ningún programador. Al principio resulta un tanto desolador la ausencia de botones o barras de herramientas, pero poco a poco lo vas agradeciendo pues te permite concentrarte en el código evitando toda distracción estética.

Yo comencé a probarlo pues quería un editor para usar en Mac y ST2 es de los pocos editores multiplataforma -Windows/Mac/Linux – que encontré. Además es facilmente extensible con infinidad de plugins y temas, tiene una versatilidad dificilmente alcanzable y es bastante ligero en comparación con otros editores. Su último argumento a favor es que la edición de prueba no caduca, con lo cual puedes ir probandolo sin prisa hasta que caes rendido a sus pies. Si no lo has probado todavía lo mejor es que lo descargues y que leas estos enlaces para conocerlo un poco mejor:

¿ Qué le falta a ST2 para ser el editor preferido de los viejos clipperos ? Pues unicamente el coloreado del lenguaje. Cómo no he encontrado ninguno pues comencé a hacerlo yo, está unicamente empezado pero puede ser el germen de un fichero de sintaxis completo. Hasta ahora tengo hecho lo siguiente:

  • Reconocimiento de números, cadenas de caractéres entrecomilladas y comentarios de una linea.
  • Reconocimiento de las siguientes sentencias de control: do, case, endcase, otherwise, switch, if, else, endif, while, end, enddo, exit, function, return, for, next.
  • Reconocimiento de las siguientes declaraciones: local, default, field, static, public, static, external, REQUEST.
  • Un par de snippets sencillos: el de la sentencia if..endif y la sentencia if..else..endif

El resultado es un coloreado como el que se aprecia en la imagen:

st2-clipper

Para la creación de la sintaxis del lenguaje me fue muy útil el contenido del siguiente enlace: Creando un tmLanguage para Sublime (syntax definition), y para la creación de snippets este otro Sublime Text 2 Snippets

En el siguiente enlace dejo un fichero con la sintaxis de clipper para ST2 que contiene lo siguiente:

  • clipper.json-tmlanguage que contiene la definición editable de la sintaxis de Clipper
  • clipper.tmlanguage, que contiene el fichero compilado con la definición de sintaxis para clipper
  • if.sublime-snippet el snippet de la sentencia if..endif y if-else.sublime-snippet que contiene el snippet de la sentencia if..else..endif

Estos 4 ficheros se deben descomprimir en la carpeta de definiciones de usuario de ST2, aunque el primer fichero sólo será necesario en caso de querer modificar la sintaxis del lenguaje. En Windows 7 la carpeta es C:\Usuarios\{username}\AppData\Roaming\Sublime Text 2\Packages\User. Una vez hecho esto se abre un .prg, se elige la sintaxis de Clipper haciendo click en la lista de lenguages y ya está.

Sintaxis de Clipper para SublimeText2

En esta primera versión de la sintaxis faltan muchas cosas. Si alguien está interesado en ayudarme con el proyecto, puede escribirme a joseluis@alanit.com o poner un comentario en este post. Mi intención es completar el fichero de sintaxis, subirlo a GitHub y darlo de alta en relación de paquetes de ST2.

dos regalos

En las últimas semanas he recibido dos grandes regalos.

Primero fue Jaime, que me regalo el libro ‘Seductive interaction design‘. Según palabras de Jaime es ‘el mejor libro de diseño de interacción que he leido nunca’. Este verano voy a aplicarme leyéndolo, con lo que intento conseguir dos cosas: aprender sobre diseño de interacción y mejorar mi nivel de inglés. Uno de los primeros capítulos hablar del poder del diseño de interacción para hacer cosas divertidas que cambien la percepción de la gente sobre algo. De muestra este video:

El segundo regalo ha sido una actualización de FivewinHarbour a raiz de este post en los foros de Fivetech. Esta actualicación me ha permitido probar la cinta de opciones y he decidido incorporarla a Cuaderno de Bitácora. En la nueva versión del programa habrá una pestaña de la cinta para cada una de las colecciones, lo que permitirá hacer visibles funcionalidades del programa que hasta ahora quedaban un tanto ocultas, como todos los ficheros de tablas auxiliares. En la nueva versión estos ficheros serán accesibles desde la pestaña de la cinta de la colección y el programa permitirá hacer consultas maestro-detalle desde cada uno de estos ficheros. Con esto y algunas nuevas funcionalidades creo que el programa da un paso al frente en cuanto a potencia y facilidad de uso.

listas de correo con WP Autoresponder

En la web de alanit he incorporado la funcionalidad de listas de correo a través de un plugin para WordPress llamado WP Autoresponder. Este plugin permite implementar de una manera relativamente sencilla la creación y gestión de listas de correo, suscriptores, respuestas automáticas, suscripción a contenido de un blog y todo lo necesario para realizar campañas de marketing por e-mail desde un sitio web hecho con WordPress.

A raiz de la creación de la lista de correo, he tenido la necesidad de crear páginas en la web que permanezcan ocultas, es decir que no aparezcan en el menú de la web sino que se llegue a ellas mediante enlaces directos. Para ello he usado el plugin PC Hide Pages que muestra las páginas del sitio web hecho con WordPress y permite seleccionar las que queramos para ocultarlas. De esta manera no aparecen en el menú del sitio web pero las páginas son accesibles conociendo su URL.

f.lux

f.lux es una utilidad gratuita que se encarga de regular la tonalidad del monitor del ordenador en función de la hora del día o de la noche en que lo estemos utilizando. Cuando se hace de noche va bajando la luminosidad del monitor y usando tonos más cálidos, mientras que en las horas centrales del día muestra el color en toda su liminosidad.

Hay bastantes estudios que indican que el uso de un ordenador por la noche puede producir alteraciones del sueño, pues el uso del ordenador, o de una tableta, antes de acostarse activa los mecanismos sensoriales del cerebro y hacen que conciliar el sueño sea más difícil. En el sitio web de f.lux hay una página dedicada a estudios del sueño que dicen que la luz azul parece ser la causa de algunos trastornos del sueño. El programa lo que hace es modificar precisamente esa luz azul que emite el ordenador para atenuar sus efectos sobre el mecanismo del sueño.

El programa permite indicar la ubicación donde estás para adaptar el control de la tonalidad a las horas de sol de ese sitio, y también permite deshabilitar su efecto durante una hora, permitiendo hacer cosas en que la tonalidad de colores deba ser la correcta. A mi ya me ha pasado que he tomado una captura de pantalla y la he tenido que repetir previa deshabilitación del programa.

En mi opinión es un programa muy útil, sobre todo si trabajas por la noche. Además tiene un efecto añadido: al ver como va cambiando la tonalidad de la pantalla te va recordando que es hora de ir a dormir.

conferencia en la Universidad de Alicante

El próximo jueves 6 de Octubre voy a participar en las Jornadas sobre Emprendedores en Informática que se celebra en la Universidad de Alicante. Daré una conferencia explicando lo que hago en alanit y contando mi experiencia en el desarrollo y venta de software. Mi charla será a las 17:30 y tendrá una duración aproximada de 1 hora, incluyendo un turno de preguntas.

En la web de las jornadas se puede consultar el programa completo de las jornadas, donde hay muchas conferencias interesantes.

recuperar el foco

Este verano estoy leyendo el libro Focus de Leo Babauta, a través de la traducción del blog Homo Minimus. El libro aborda la manera de recuperar el foco para poder llevar a cabo las tareas que nos propongamos dentro del continuo bombardeo de información al que estamos sometidos. Es un libro con consejos sencillos, en la linea que nos tiene acostumbrados Leo Babauta, y una de los temas que aborda es la necesidad de la desconexión digital para poder recuperar el foco en la actividad a realizar.

Me ha llamado la atención que el tema de la desconexión digital aparecezca también en medios generalistas, como en un par de reportajes que he leido hace poco, y que son los siguientes: [Enlace bloqueado por la Tasa española AEDE] y [Enlace bloqueado por la Tasa española AEDE].

reenfocándome en windows

Después de muchas deliberaciones personales, sopesar puntos a favor y en contra, he decidido reenfocarme en Windows. He intentado varias veces comenzar a programar en Mac y ninguna ha dado resultado. Ni con REALbasic, ni con Java, ni con Cocoa. Seguramente el problema haya sido yo mismo y lo reconozco.

Quizás una de las razones quizás haya sido que no quiero dejar abandonados los programas que he realizado en Windows, estoy muy orgulloso de ellos y su desarrollo me ha dado muchas satisfaciones personales. Y como me siento incapaz de abarcar los dos entornos, he decidido centrarme en el que más conozco y domino. Así que me toca desdecirme de lo que dije hace casi un año y reconocer que estoy volviendo a programar en Windows. Y estoy disfrutando mucho con ello.

13 razones por las que el software no es gratuito

Vía José A. Lobato he llegado al post de Wild Chocolate 13 reasons why software is not free. Coincido casi al 100% con el contenido del mismo, así que me he permitido hacer una traducción del mismo. Ahí va.

Últimamente parece ser cada vez más evidente que la población en general espera que el software sea libre o al menos muy barato. Esto se ve reforzado cuando las compañías como Apple, que obtiene enormes ingresos adicionales a la venta de hardware, la tienda de iTunes, y otros canales, realiza grandes descuentos de su software. Estoy pensando en la suite iWork en particular. Apple puede permitirse el lujo de rebajar su software, ya que no es su principal fuente de ingresos y al hacer estos descuentos son capaces de vender más unidades y hacer que los compradores de sus ordenadores/iPhone /iPad sean más felices. Tampoco ayuda el nuevo boom de las «punto com» que ofrecen productos o servicios web de forma gratuita, consiguiendo dinero de inversionistas, registrando a millones de personas y, sólo después de todo esto preocuparse acerca de cómo hacer dinero. Quiero decir a quién le importa, todo lo que se necesita es un poco de publicidad molesta para hacer algo de dinero y mantener a los inversores contentos, ¿no?

Así que pensé que debería sentarme y escribir a todas las personas que compran software por $ 3.99 y se preguntan:

¿Por qué demonios tengo que pagar $ 3.99 por este software? ¿No debería simplemente ser gratis?! Que demonios?!

Este artículo es para vosotros …

13 razones por qué el software no es gratuito:

  1. La mayoría del software lo realiza pequeñas empresas de software, generalmente de menos de una docena de personas. Se especializan en la creación de software y no tienen miles de millones en otros ingresos alternativos.
  2. El software no es fácil de crear – en especial el software que la gente considera fácil de usar y atractivo. De hecho es un auténtico montón de mucho trabajo.
  3. Un buen software cuesta entre meses y años para crear. No es algo que se haga en una noche como muestran en las películas.
  4. El software es creado por gente trabajadora … como tu. ¿Te pagan por tu trabajo?
  5. Las personas que hacen el software tienen trabajo que hacer una vez que la compraa se ha realizado. Tienen que estar disponibles cuando un usuario se encuentra con problemas para proporcionar apoyo para responder preguntas, resolver situaciones paso a paso, corregir los errores, etc
  6. Los programadores trabajan constantemente en mejorar y actualizar su software para seguir el ritmo de evolución de las tecnologías. Es un proceso continuo.
  7. No todos los desarrolladores de software buscan inversión exterior para financiar sus proyectos. De hecho, la mayoría de nosotros no lo hacen. Esto no es adecuado para todos y tiene muchos condicionantes que a menudo repercuten en el resultado final.
  8. Cuesta dinero crear una aplicación. Tenemos que pasar años creándola, pagar los salarios del equipo de programadores, el alquiler de la oficina, la compra de equipos, etc Si queremos buscar realmente a cabo sobre nuestro producto, que a menudo tienen que gastar dinero para anunciar también.
  9. El software es un arte y una ciencia. Se necesita gente con talento que sean expertos en informática, ingeniería y diseño, y más para crear un producto de software de calidad.
  10. No todos queremos mostrarte publicidad desagradable con el fin de ganar dinero, en lugar de sólo vender nuestro trabajo real. Algunos de nosotros odiamos los anuncios molestos. La publicidad no es conveniente para todos los proyectos de software.
  11. Usted paga por la ropa, los gadgets, la entradas para el cine, su comida, su billete de avión, etc ¿Por qué no paga el software?
  12. Sin software, un lujoso portátil o un iPad sería … bueno … algo bastante inútil.
  13. Hacemos el mayor esfuerzo para que el precio del software sea asequible. Al igual que un dueño de tienda de sandwiches sabe cuánto cobrar por un sándwich en función del precio de coste de los ingredientes, mantener la tienda, y el pago de sus empleados. La mayoría de nosotros ponemos un precio a nuestro software lo más razonable posible.

Afortunadamente después de leer esto, usted entiende que el software no se crea solo. Está hecho por gente trabajadora como usted. A menudo trabajamos en equipos pequeños y ponemos mucho tiempo de pensar, dinero y esfuerzo en crear software para usted. No somos perfectos, pero hacemos nuestro trabajo lo mejor posible. Por favor piense en este artículo la próxima vez que gaste 10 $ en una aplicación. Gracias!