jueves, 14 de noviembre de 2013

El infierno de los bits

Estos dias ando desarrollando una aplicacion que permita hacer lienzos Lean Canvas y que sea portable, segura... La he llamado My little lean canvas y en el blog de Not a Number estan los enlaces para descarga (proyectonan.blogspot.com)

Pero sufro ciertos problemas de compatibilidad por dos motivos:

-Base de datos Access
-Driver para manejar Access

Bien, cuando vamos a hacer una aplicacion portable, queremos (obviamente) que nuestra base de datos se guarde en un archivo, pero ello implica usar alguna de las siguientes tecnologias

- Access
- SQL SERVER File
- SQLite

Esas 3 son las mas comunes, puede haber otras como h2db que no son del todo eatables o no tienen drivers que permitan su uso programaticamente. El caso es que para usar un archivo de SQL SERVER necesitas tener instalada la version de servidor, la version compact tampoco tira demasiado bien y eso no lo hace muy portable que digamos.

El problema de SQLite es que no dispone de cifrado al usarlo desde programacion, es decir, si abres un archivo de base de datos SQLite con el blog de notas accedes a la informacion. Si busco privacidad en los datos esta no es una opcion viable.

Queda entonces Access como opcion mas "soportable", con su cifrado del archivo, contraseña y sus peculiaridades. Pero en cuanto hablamos del driver a usar para programar, es ahi donde llegan mas problemas.

Para conectar con Access existen dos librerias Jet y ACE. Si usas Jet puedes conectar una base de datos access con extension .mdb y es compatible con windows (XP a Windows 8.1), pero con el pequeño matid de que la aplicacion debe estar compilada en formato de 32bit porque para 64bit no funciona.

Por otro lado ACE permite hacer bases de datos .accdb, es compatible con 32 y 64 bit y funciona normalmente a partir de windows 7. El caso es, que el driver, no viene junto al .net framework u office 2007+ salvo si instalas el programa Office Access. Obvio que se puede descargar el driver de la web de Microsoft, pero esto no lo hace muy portable.
Lo curioso es que hasta la version 2.0 del framework el driver de Access Jet si estaba incluido y ahora solo incluyen la parte de oledb para manejarlo.

Las aplicaciones Android

Se preguntara la gente por qué en Android no hay problema de apps en 32 o 64 bit, pues es tan sencillo como que Android es un sistema operativo solo de 32 bit, por tanto al solo haber una plataforma no hay problema (y para ARM se simula de 32 bit)

Eso si, a partir de la version Android 4.4 kitkat puede comenzar el festival del humor con las compatibilidades de 32 y 64 bit.

64 bits y multi-core

Desde hace unos años los microprocesadores traen mas de un nucleo o lo que es lo mismo, varios procesadores en paralelo. Los 64 o 32 bit corresponden a el tamaño de palabra de procesador. Antaño se agrando de 16 a 32 porque solo habia un procesador, pero mantener un solo bus de comunicacion de 64 para, por ejemplo, 8 procesadores de 64, cada uno, escapa a la razon. El bus transporta una palabra por cada tick de reloj, pero el micro puede procesar 8 en paralelo, que pasara cundo haya 99 nucleos.

Puede que tengamos que pensar en adaptar el hardware poniendo varios buses de comunicacion y dejar al sistema operativo y aplicaciones como lo que son, una capa de abstraccion para poder usarlas independientemente de como sea la maquina.

domingo, 18 de agosto de 2013

El nuevo proyecto



En un post anterior de Mayo ya mencionaba que iba a comenzar un nuevo proyecto de programación. Dicho proyecto ha ido tomando forma poco a poco con el tiempo y gira entorno a un problema que tuve en los años 2010-2011 y al que muchos programadores se enfrentan al terminar sus estudios en España, estoy hablando de la falta de experiencia. 

Uno de los principales problemas que ahora no parece tener demasiada importancia, pero cuando dentro de unos años las cosas comiencen a remontar, volveremos al viejo paradigma que se muestra en la imagen. Esto hace que muchos buenos programadores no lleguen a conseguir un puesto en una empresa y dedicarse a aquello que mas les gusta.
Para mi existen dos tipos de programadores principalmente:
  • Los que se dedican a programar por que les gusta y es su afición favorita.
  • Los que piensan que programar es sólo un trabajo, nada más.
Con mi proyecto intento que los primeros (entre los que me incluyo), consigan con mayor facilidad acceder a las empresas al estas poder ver la mayor calidad de sus desarrollos.

Pero de momento, de poco en poco voy desarrollando y estoy en busca de colaboradores que se ocupen de aquello que no se me da bien, porque pienso que este proyecto es demasiado importante como para que no salga adelante.

Un saludo lector/a.


lunes, 12 de agosto de 2013

Impresoras 3D y la nube


Hace unas semanas hablaba de la necesidad de poder tener anonimato en la red, pero hoy voy a hablar de un tema mas preocupante aun, las impresoras 3D.

Desde hace unos años que comenzaron a desarrollarse, nadie se dio cuenta de lo que podrian llegar a crear. En los ultimos meses estamos siendo participes de como NO se debe usar la tecnologia y con ello me estoy refiriendo a la impresion 3d de armas, llaves, etc...

Pronto veremos que un terrorista se le ocurra la idea de llevarse los planos de una bomba o arma en un usb e imprimirla dentro de un avion, que tranquilizador suena.

Por otra parte debemos añadir la falta de control sobre nuestros datos debido a que mucha gente los cuelga en "la nube", ese maravilloso lugar en donde tirar literalmente tu identidad, tus datos comprometidos y cualquier cosa que se pose en tu escritorio, todo ello con la estupida creencia de que la empresa que mantiene el servidor es Dios y nunca fallara. Pero tranquilos, una constante muy maja en nuestro universo se ocupa de poner todo en su sitio, porque todo lo que tiende a fallar, fallará y lo hara el mismo día, a ultima hora y justo en ese preciso instante en que necesites que funcione.

Tambien confiamos que la seguridad de los proveedores de soluciones en "la nube" se similar a la de la NSA, CIA y gobierno de EEUU todos juntos.... Eso esta bastante lejos de la realidad.

Todo lo anterior viene tras ver que a alguien se le ocurrio la magnifica idea de poder crear copias de tu llave de casa y guardala en la nube. ¡¡Perfecto!! Asi los ladrones se la podran descargar y no me romperan la puerta cuando me vayan a robar. Y por desgracia me temo que habra tontos que guarden una copia de sus llaves de casa en 3d y suban dicho plano a la nube, en fin...




miércoles, 24 de julio de 2013

MIPAFE Simply Backup

Hace dos días alguien me comento que tenia problemas con un programa gratuito. Basicamente necesitaba que una vez por semana se hiciera una copia de dos carpetas a un disco duro en red, no necesitaba ni que la copia estuviera comprimida.

Fue ayer cuando me puse a ello y en unas 3 horas hice un pequeño apaño llamado MIPAFE Simply Backup. Un programa muy simple que se ejecuta y cuando detecta que tiene una tarea programada, hace una copia de lo que se necesite respaldar. Es tan simple, tan simple, que coge las tareas de un archivo *.xml (para semejante programa no iba a hacer una base de datos y arriesgarme a que en cualquier ordenador no funcionase)

Ademas de lo anterior le hice para framework 3.5 (primero lo hice el el 4.0 pero lo converti para que fuese mas compatible)

Se puede ver el codigo en la direccion: https://code.google.com/p/mipafe-simply-backup/source/browse/



domingo, 21 de julio de 2013

Privacidad, datos y comentarios en internet

Desde hace unas semanas hacia acá, vengo notando que en muchas paginas de internet ya no dejan poner comentarios o, te obligan a tener una cuenta de usuario para poder dejar un comentario.

Es curioso ver estas pautas de comportamiento sobretodo en webs de noticias, las cuales han puesto nuevos sistemas para manejar comentarios que para usarlos necesitas o bien una cuenta en la pagina de los desarrolladores del plugin o, que tus datos de facebook, twitter, gmail,.... esten ligados a una web de noticias.

Es esto normal, la respuesta es NO.

Hace unos días se sorprendian en internet porque unos dibujantes habian realizado un comic cuya tematica era un hipotético futuro en el que la privacidad lo es todo despues de que el cloud computing, la nube y los estados espiasen indiscriminadamente a la gente, cosa que hoy en dia ya es un hecho. Si unimos lo anterior a que actualmente se esta intentando hacer que nuestra presencia en internet siempre este respaldada por una persona fisica, esto es algo muy peligroso.

¿Para que quiere una web de noticias mis datos? ¿Por qué los estados estan vendiendo indiscriminadamente a delincuentes nuestros datos? ¿Para que quieren los estados tener controlado cuando opinamos de algo? ¿Diran que es por su seguridad? ¿Estoy mas seguro en internet siendo anonimo o ligando mis datos a una 'identidad virtual'?

La falta de anonimato ha llevado, por dar un ejemplo,  a que EEUU con su programa PRISM haya vendido datos personales y bancarios de ciudadanos alemanes (y a saber cuantos mas) a gente con pocos escrupulos.

Como siga asi la cosa, dentro de 10 años sera realmente peligroso usar internet.
(De momento rusia ha comenzado a comprar maquinas de escribir, con desenchufar el cable de red podria ser suficiente)

Paginas en las que necesitas ser usuario para dejar un comentario de una linea cada x tiempo:

  • Neoteo
  • Muy..........(MuyLinux, MuyMac, MuyWindows,....)
  • CuantoCabron, Ascodevida, cuantaRazon,......
  • ....




jueves, 18 de julio de 2013

.Net Framework 4.5

Hoy voy a analizar las distintas partes del .Net Framework que han ido apareciendo y cuales utilizo mayormente.

En oscuro las partes que uso mas a menudo, pero ya con un comentario acerca de 'Task-Based async model' y 'Task parallel library', las cuales me parecen poco utiles sabiendo que desde hace años existe algo llamado threads (hilos).

Por otro lado esta 'Parallel LINQ' que es de una inutilidad total, debido a que si por exceso de carga tienes que hacerlo en multihilo, es preferible hacer una consulta SQL en la base de datos y usar en el 'Entity framework' unos metodos que hay y que sirven para mapear a un objeto ya el resultado. La diferencia de rendimiento de usar LINQ en paralelo a directamente usar SQL+EF y mapear solo el resultado, es brutal.

En cuanto a WF (te produce mas problemas de los que soluciona) y Card Space es.... eso.... Card Space (utilisisisisisisimo)

Y por ultimo el 'Modern UI' (alias 'el metro de Madrid'). Puede que fuese util, sino fuera por las politicas de licencias de la Windows Store, los precios, la imposibilidad de poner en varios PCs un programa desarrollado por mi mismo, el sablazo del 30% a favor de Microsoft por cada descarga,.....

Y faltaba por decir que el .Net Framework 4.5 es incompatible con XP al igual que SQL Server 2012. Digamos que el otro dia me han dicho que en una empresa aun estan con MS-Dos.....Sin comentarios


domingo, 5 de mayo de 2013

Incubando nuevo proyecto

Se podría decir que con el proyecto Tabby me pegué uno de esos típicos batacazos épicos, pero ahora que ha pasado mas de un mes desde que se podría decir que murió, me doy cuenta de que no fue en vano.

Gracias al proyecto Tabby aprendí ciertas cosas y vi ciertos fallos. También  me he dado cuenta de que estaba intentando algo que no me salia verdaderamente de dentro y con ideas muy difuminadas de lo que quería hacer realmente. Es mas, en menos de 6 meses, el proyecto había cambiado varias veces de objetivos.

Ahora en mayo, se podría decir que estoy incubando un nuevo proyecto, con nuevas metas, porque al fin y al cabo todo es un camino y voy aprendiendo poquito a poquito. Eso si, esta vez seguramente el proyecto (aun no tengo ni nombre) estará mas enfocado a mis preferencias personales.

También me he dado cuenta de que si busco compañeros de viaje, estos han de ser activos y no limitarse a estar en segundo plano, últimamente la pasividad y la falta de entusiasmo o incluso, el miedo al cambio, han marcado a mis colaboradores, algo que no me agrada demasiado. Se podría resumir en la frase: "Impulsa y levanta el proyecto tu solo mientras te miro, eso si, si te caes no esperes que yo este ahí".

Imagen de codigo
El nuevo proyecto


De momento lo llamare "SinNombre"
Tipo de organización: Organización No Lucrativa
Que hace:
  • Programación de software libre
  • Se ayuda a otros programadores a tener experiencia al participar en proyectos de software libre. Después el código programado por cada uno se cuelga para que las empresas puedan ver como programan (algo mas a añadir al curriculum)

Que pretendo aprender yo
  • Marketing / publicidad
  • Fundraising
Esto es a priori, de aquí a unas semanas puede cambiar la cosa.

Bye ;b





martes, 16 de abril de 2013

Subiendo software libre

Hoy he subido la primera version de esta aplicacion, la cual busca ser una alternativa a la de windows para los que odien el minusculo tamaño de la calculadora que viene con el sistema.

http://sourceforge.net/projects/grancalculadora/files/GranCalculadora.rar/download

En realidad lo importante no es la cara externa, puesto que es un mero control con forma de calculadora, sino la parte de librerias internas. En si, estoy desarrollando un mini-framework (segun lo veo yo es hacer una pequeña caja de herramientas) en donde, de momento se pueden encontrar:

    -Apps.fonts.fontManager: un cargador de fuentes para poder usar las que lleve la aplicacion localmente.
    -Apps.IO: con un metodo que da la ruta actual de la aplicacion (de winforms a wpf lo cambiaron de nombre y namespace.... Nunca me acuerdo donde esta)

El objetivo final es tener mi propia 'caja de herramientas' con todo el codigo que he ido generando estos años y, el codigo que genere.

Pero ya vere como evoluciona...

domingo, 14 de abril de 2013

Relanzando marca personal

Llegan tiempos de cambio, debido a ciertos cambios y derivas en mi forma de ser que me han llevado a pensar que ciertos aspectos de mi vida actual no me convencen demasiado.

A finales de 2011, tras una crisis de objetivos (si intentas vivir sin objetivos digamos que la vida pierde cualquier sentido) llego un proyecto importante que trajo un poco de luz a mi vida y me mantuvo entretenido hasta mediados del año pasado. Tras ver en noviembre que ya el software era estable y las modificaciones cada vez eran de menor importancia, intente ponerme un nuevo objetivo, fue el de crear el 'Proyecto Tabby'.

Digamos que me choque contra un muro de piedra llamado 'realidad' y mi hipotesis inicial fue bastante des-acertada. Pero de todo se aprende.

Ahora en Abril en adelante he pensado un 'plan estrategico 13.04' (tipico nombre ultra-epico que aparenta ser un plan para dominacion mundial, pero va a ser que no...). Ese plan tiene las siguientes lineas:

  • Reimpulso de la marca personal FerDMinguela --> MIPAFE
  • Actualizacion de curriculums y puesta al dia de conocimientos.
  • Verme como empresa (yo soy mi empresa) y centrar mis servicios en dos sectores:
    • Servicios de conserjeria (de seguir con PROSEGUR)
    • Servicios de programacion de software libre
  • Encontrar nuevos clientes y proyectos interesantes o crear proyectos de software libre (para lo cual deberia encontrar mecenas/patrocinadores).
  • Mejora en el aspecto de auto-marketing
  • Hacer plan para horas ludicas, relajacion/meditacion y busqueda de desarrollo personal/espiritual.
Incluye mas apartados pero aparentemente voy a ir poquito a poquito a ver que consigo.
 

Hasta Abril 2013

De Abril 2012 a Diciembre 2012:

Durante ese tiempo me he dedicado a terminar de programar e implementar en Reciclados Sostenibles la aplicacion que estaba desarrollando. Como es tipico, los errores surgieron a la hora de implantarlo, pero en el mes de Julio todo estaba ya funcionando de forma estable.

A parte de ello, he estado dando soporte a sus oficinas.

Ver Recso en un mapa más grande

De Enero 2013 a Abril 2013:


Con el nuevo año intente poner en marcha una nueva iniciativa, se llamaba el proyecto Tabby. Dicho proyecto iba alineado con mis estudios de life-coaching y coaching para emprendedores y deseaba poder aplicarlo mediante esta pequeña marca. El caso es que por un lado intente aplicar coaching y posteriormente intente dedicarme a dar servicios informaticos para emprendedores, nada de ello funciono.

Finales de Marzo 2013 en adelante:

Dado este pequeño fracaso, me veo en la obligacion de no rendirme y de re-definir o volver a encontrar aquello que me gusta, que se me da bien e intentar ofrecerlo al mundo.

He pensado en el software libre, debido a que las aplicaciones que normalmente he desarrollado para otros han terminado siendolo. Siempre he sido de esos a los que les gusta la idea del software libre, usar linux, etc...