Thursday, August 10, 2017

Transformación Digital

Hay algunas reglas a seguir para lograr una transformación digital en la organización sea pequeña o mediana. Las fundamentales son:
-Romper los límites entre pilas de tecnologías, esto es integrar más herramientas de última generación con las existentes.
-Adoptar DevOps, esto es dada la dinámica de los sistemas, acelerar el proceso de integración entre desarrollo y producción.
-Estar abierto, abierto a nuevas tecnologías y no depender de sistemas monolíticos.
-Visión, sería maximizar la producción de índices claves de perfomance (KPI) para mantener el enfoque en su lugar.
-Insistir, en herramientas de uso simple y que causen buena experiencia al usuario.

Fuente: http://www.techrepublic.com/article/the-6-rules-of-digital-transformation-how-it-can-get-in-the-game/, 2017.

Monday, July 31, 2017

Regression Analysis - Análisis de regresión y correlación lineal

A regression analysis is one statistic technique that every business could use in any moment of your life. This analysis includes an independent variable and one dependent variable, if we have more than one independent variable we have a multiple regression  analysis.
In this analysis the equation is an algebraical formula that determine the value of the dependent variable.
For data analysis or data science services please contact dario@tsftprogramacion.com

Un análisis de regresión es una técnica estadística que cualquier negocio podría utilizar en algún momento de sus existencia. Este análisis incluye una variable independiente y otra dependiente, si tenemos más de un variable independiente tenemos un análisis de regresión múltiple.
En este análisis la ecuación es una fórmula algebraica que determina el valor de la variable dependiente.
Por servicios y productos de análisis de datos enviar mensaje a dario@tsftprogramacion.com

Monday, July 24, 2017

Modelos de desarrollo: Waterfall Versus Iterativo

Existen ciertas ideas preconcebidas con los  modelo de desarrollo Waterfall y de los tipos Ágiles que no se condicen con la realidad.
Para comenzar el Waterfall que se supone una serie fija de pasos donde desde la fase de análisis se pasa a la de desarrollo entre otras directivas. Aunque cierta en ciertas situaciones, no se en en la realidad que se practique en forma extrema.
La realidad en lo que concierne a la diferencia entre Waterfall y Ágiles es que un modelo entrega una vista del producto final antes del que el otro, en cierta medida muchos derivados de metodología Agile se basan en construir una maqueta, que se convertirá en un software y sus subsistemas según la decisión del cliente. Mientras en Waterfall, la decisión del cliente no se basa en una vista del producto final, algo que se concretará en un tiempo futuro.

Monday, February 6, 2017

AIML Chat Bots

Chat bots are touting for customers everywhere, "it seems that a
machine will do the job" unfortunaltely is getting more closer than
no-possible
XML is a markup language that has a lot of uses and Artificial
Inteligence did not escape to it. AIML, is an open source standard to
work with chat bots.
It works in a pattern-template base where to every user pattern
defined there is a template that will answer in a given question. This
is the method of AIML to do the job.

Chat bots están a la caza de cliente en todos lados, parece que la
respuesta "parece que la maquina es la seleccionada" está más cerca
que lejos en ciertos puestos.
XML es un lenguaje de marcas que tiene muchos usos, y la IA no es una
excepción. AIML es un estándar open source para este tipo de sistemas.
Este lenguaje trabaja en un esquema de patrón-plantilla, donde a cada
patrón de pregunta se le asigna una plantilla que responderá. Esta es
la manera en que AIML trabaja para realizar el trabajo.


Saturday, December 31, 2016

Naive and Programming

It is known that programming becomes a little hard from some point of view or a few at least. To get the IDE, the framework and the language to build an application is not the same than a language and let´s go. Now, let´s talk about learn 10 framework of just one language like it could be Javascript, it could be with Javascript in the basement and the fundaments of any framework, even so at this point we are at Naive Programming, it´s a ingenuous point of view to wait someone do it in one day, I refers to the learning curve, it´s also ingenuous, wait six months per year to learn, and then to program.
Therefore, we are at Naive programming, where to learn is the way OF program and not the one TO program.
Like the naive movement of artist, to develop a system is not a matter of learn a language, but to learn the world fundaments and then we could learn a language, a IDE, a framework and so forth.

Sunday, June 26, 2016

Scrum

Scrum is an Agile process framework that consists of roles, events, artifacts and procedures to be used by the work team to achieve an objective.
People in a team can be named as follow is being described:
-The ScrumMaster will guarantee the environment is fine. It will be its work to serve the Product Owner, the Work Team, and The Organization. It includes coaching and both technical and non-technical facilities.
-The Product Owner is a sole person that will keep the backlog, something like the list of activities of daily work as well as modify it and deal with team work about product definition.
Team work are developers with same functions or different functions according Product Owner decisions, it could an analyst, a programmer, a tester or it could be three people doing the three functions.
At this point we have the people and main roles, now the events, artifacts and procedures are to be arranged carefully in a Scrum planning meeting, being now at the beginning of any Sprint, and this one at a time of two weeks to one month that will produce a product Increment, it is a new advance on the production of the product itself the Scrum team is working with.

Friday, April 15, 2016

Zoho sites vs. Google Sites

There are two websites that let you build your site without too much computing skills and they really accomplish the task. Now, what more ? It seems there is tools to extend the site you build to a given
level.
It was tested both of them, and we found out that Zoho Sites let you with a little knowledge of programming to extend the quality and complexity of the web to level never dreamt a couple of years ago.
Definitely it is a good choice to make a web site, reliable, fast, and with the tool you need in the era of the web 2.0+, when there is not too sense in program our blog, wiki, social network and so forth.
Whit Zoho Sites templates our sites can achieve the level of excellence and without too much time.

Saturday, December 5, 2015

A Developer Freelance Story

Our Services
  1. Management 
  2. Project Management
  3. Business Analysis
  4. Quality Management
  5. 24/365
  6. Programming
When we need  a system, the story can be deployed with all the tips and tricks, but there is a goal to reach: a system that fulfill the needs of the customer. That´s we offer the entire software development software cycle services. TSFTprogramación can deliver to you PM, analysis, testing, design, programming and control of business systems on the desktop, web or cloud.  

Wednesday, December 2, 2015

E-commerce 2.0

There is many products out there to deploy an E-commerce system, there is a wide range to look for too. From an one-shop-person web site to an enterprise, we have also opportunities to do it the best way, naming best way to the right choice. There are many threats out there to our ecommerce solution too. At last, let's say it needs to run.
We have a big deal of blogs and website talking about the options we have around for e-commerce ready to deploy, we do not have the right one to us, unless we study its architecture and scope leaving out the rest.
There is also an interesting point at security, this one do not let us to doubt about it. We HAVE to deal carefully in this point, and it matters a lot.

Monday, October 26, 2015

Sistemas de gestión - Business Management Systems ( IFRS - GAAP)

Los sistemas de gestión que ofrezco incluyen sistemas web de administración de contenidos (CMS), sistemas web de administración de clientes (CRM), sistemas web de gestión administrativa (ERP). La base de estos sistemas son la posibilidad de contar con código fuente y la otra gran ventaja es la posibilidad de no depender de un proveedor, ya que se programa con lenguajes conocidos, bases de datos probadas y hay que agregar su escalabilidad.
TSFTprogramación le puede programar los módulos a medida de su empresa, negocio, estudio así como formar al personal en su uso y modificación. 

Modifiación de sistemas contables GAAP a IFRS.

Management system offered include Content Management System (like Wordpresss or Joomla), Customer relationship system (like SugarCRM), ERP system (like Adempiere). These system have its foundation in your right to keep the surce code, another advantage includes no to depends on just one provider. These systems are progarmmed with well-known languages and frameworks, proveed SQL servers engines and its scalability is not a bad point, it is the dream of get your business grow without chnage systems.
TSFTprogramación can program your modules according your business, factory or office needs. It is possible to teach your personnel in operation adn updating theses systems.
TSFTprogramación can adapt your GAAP system to IFRS rules.

Thursday, October 22, 2015

Application Perfmance Monitoring (APM) - Gestión de Performance de Aplicaciones (MPA)

La gestión de la perfomance de aplicaciones es una tarea que siempre se utilizó, lo que ha cambiado es su manera, con la adopción de tecnologías web 2.0 y teléfonos inteligentes, así como nuevas metodologías de desarrollo de software, es cada vez más sofisticada su aplicación en el desarrollo de software.
Para lograr un resultado eficiente en el producto, los últimos adelantos hacen a la utilidad de esta gestión. Con controles en la aplicación para funciones claves nuestras aplicaciones llegan a la eficiencia.

Application Performance Monitoring is a task that was always used. There have been a change in its method with web 2.'0 and smartphones around us. As new progrmming methodologies, it becomes more sofisticated its usage in software development.
To reach an efficient result in products, latest advances make a great utility in this management. With controls in the application for critical functions our applications get its desired performance.

Monday, October 19, 2015

PHP y MVC

Una breve introducción acerca de la programación utilizando arquitectura MVC con el lenguaje PHP

PHP, un lenguaje que tiene gran presencia en el mercado de los gestores de contenido como Joomla y Wordpress, también tiene dada su característica de lenguaje general, posible de utilizar el mismo para utilizar diferentes paradigmas de programación, diferentes entornos que ayudan a la hora de programar, más allá de poder usarse desde el procesador de textos.
En el tema de la arquitectura de software que se puede utilizar, el MVC (Modelo Vista Controlador) muy en boga en los últimos tiempos, tiene su punto de apoyo en CodeIgniter, un IDE para PHP que tiene sus plantillas y está optimizado para este tipo de arquitectura.
Con este modelo podemos utilizar la interface gráfica para enviar al Controlador los comandos que necesitemos y desde allí buscar los datos en el Modelo, terminando el ciclo al construir la nueva Vista con datos del Modelo según los parámetros del Controlador, el resultado que volverá al navegador.


Wednesday, September 30, 2015

The Importance of the Architecture - La Importancia de la Arquitectura

There is a big challenger about work with software architecture knowledge and without, scalability. Sometimes, a given system has limited capabilities to scale as a business could need, in that point, integration is our choice.
There is something need no discussion and it is integration, everything tend to it. Now, in the moment of select the right system, we could not just measure scalability, after it we start the way to measutre integration.
Our system, include scalability, integration and two more necessary components that make a system runs.

Hay un gran cambio en trabajar con conocimiento de la arquitectura de software y sin ella: escalabilidad. Es frecuente que un sistema tenga capacidades limitadas de escalar como un negocio lo podría necesitar, en el momento que se lo logró es cuando integrar entra en acción.
Hay algo que no acepta discusión y es la integración, hoy en día todo tiende a esto. Por eso, cuando seleccionemos el sistema correcto, no solo debemos mediar su capacidad de escalar, sino que debemos seguir con la de integrarse.
Nuestro sistema incluye escalabilidad, integración y dos componentes más que hacen que un sistema ande.

Saturday, August 29, 2015

DevOps

It seems many people did not undertand the real thing: agile development, continue delivery, continue integration. That's the matter. Why ? It happened that to keep up to date business workflow needs a system able to change ASAP, according business rules and integration is a must.

Integrar producción con informática es el asunto de Desarrollo de Operaciones, el asumir la constante de una rápida respuesta a las demandas de anakista de negocios es real, esto es DevOps. Colaboración continua, integración continua, testeo continuo. De más esta decir que el conocimiento de las reglas de negocio son una constante también.

Wednesday, August 12, 2015

Hybrid mobile apps - Aplicaciones para celulares multi-plataforma

Hybrid mobile apps are being built to fasten a SDLC that include a few diverse platforms like Android and iOS. It has difference at programming development. There is just a language used to build this kind of applications, and be seasoned in web programming will leverage its performance. However, to do it for applications that will just run in one operative system is not the best way.

El desarrollo de aplicaciones móviles multi-plataforma is un buen método para disminuir el ciclo de desarrollo de software. Hay solo un lenguaje que se utiliza para este tipo de aplicaciones, estar experimentado en programación web ayudará en una buena performance. Como sea, programar aplicaciones híbridas para un solo sistema operativo no se considera el mejor camino.

Saturday, July 18, 2015

GIT

Este sistema de control de versiones, desarrollado desde cero para trabajar en forma distribuida, permite la colaboración en la programación de un sistema utilizando múltiples repositorios, uno en cada máquina.
El software funciona de una manera simple y eficiente, cada máquina mantiene copia del sistema. El mismo permite desarrollar diferentes ramas de un mismo subsistema al mismo tiempo, así como sincronizar con las otras máquinas de forma simple.

Thursday, April 23, 2015

Programar MS Word, MS Excel, MS Access - To program MS Word, MS Excel and MS Access

Programar el procesar de texto, la planilla de cálculo y el administrador de base de datos se ha vuelto algo necesario y más accesible al mismo tiempo. En una mano tenemos la cantidad de información acumulada, los datos que poseemos, y en la otra nuestra necesidad de automatizar nuestros procedimientos para lograr una gestión más simple de nuestros asuntos.

Existen cuatro elementos fundamentales:
-El modelo de objetos subyacente que se dispone (DOM)
-Las macros
-El lenguaje VB
-Las habilidades
En conjunto sirven de base a multitud de soluciones para la gestión de los datos.



To program text processor, spreadsheet and database have became something necessary and able to do at once. In one hand we have data and in the other hand we have a need to automatize our procedures to achive a simpler management of our buinesses

There exists four elements of interest:
-Document Object Model
-Macros
-VB language
-Skills
These elements joined serve us as a base to resolve many problems we could face whenever we have to deal with our data.

Saturday, April 4, 2015

Bases de Datos: Tipos de Datos: Imagen

Guardar imágenes en el disco es una operación simple, solo se trata de archivos. El tema suele volverse una duda cuando se trata de imágenes que se corresponden a datos de un sistema de bases de datos.
Tratándose de que el sistema operativo tiene su sistema de archivos optimizado par el manejo de los mismos y que la base de datos tiene su motor optimizado para manejar datos, la solución que mejor se adapta a las imágenes es la de almacenar en la base el lugar físico o carpeta donde se guarda la imagen y así sacar partido de ambos motores, el del S.O. para archivos, la base para datos (en este caso hablamos de datos que no llegan en promedio a lo que es una porción en Kb de un archivo de imagen).

Friday, April 3, 2015

Lambda

Despite its origin, and all sciences it get on, in computing Lambda is present in almost all programming languages that claim to be. There is a feature unique to lambda functions, its ability to work as a function without need to be declared beforehand, always with the fact it can accept the variable argument.
In this short example I will show you an example:

Constant = 3;
Def add(x):
Return Constant + x

Y = add(3);

In the above sample we see a declaration, and return keyword, now let's see

Lambda sample

Constant = 3;
Y = lambda x: constant + 4;

This is programming, Y is equal to 7. Now let's see something of linguistic, it seems that lambda-reduction has three steps, and it works equal the one it does in programming, to keep a meaning while reduce the function: the sentence.

Sunday, March 29, 2015

Análisis de Sistemas - System Analysis

Esta disciplina que dispone de innumerables herramientas, tiene entre sus principales puntos a destacar, las lecciones de la interpretación. Si hay algo que no puede herramienta alguna responder son las preguntas claves que todo analista debe realizar, y el fin es muy simple: lo esencial y lo superfluo, lo que se debe hacer y lo que se hace. Luego viene la imagen total del sistema, el romper los viejos marcos de referencia, las partes del sistema, el esbozar una solución a cada parte del problema, las relaciones de estas partes con el todo, esa ontología que deberá estar presente ante cualquier nuevo paso del análisis de requerimientos de un sistema.

This practice that has uncountable tools to work with, has among their main points to stand out, interpretation lessons. If there is something that no one tool could not answer are these key questions that all analysist have to do, and its end is very simple: the essential and the superfluous, what is to do and what is being done. Then will come the imagen of the totality, to break references frames, systems parts, to outline a solution to every part of the problem, relations. Lastly, that ontology that have to be before any new step of the software analysis.

Sunday, March 8, 2015

Oracle Triggers vs. MySql

Existen dos tipos de triggers para usar con tablas de Oracle a diferencia de MySQL; AFTER TRIGGER y BEFORE TRIGGER son las opciones y la pregunta del millón es cual usar y cuando.
La mayoría de los triggers son BEFORE TRIGGER, con una excepción. Se utilizan los AFTER TRIGGER cuando el objeto entre otras operaciones corre un INSERT y debe reutilizar el ID de este registro nuevo en otro registro.
There are two types of triggers in Oracle's tables, one difference with MySql. AFTER TRIGGER and BEFORE TRIGGER are the options and there is a question about when to use one and the other.
Most of trigger are BEFORE TRIGGER with an exception. AFTER TRIGGER are been used when this object include a INSERT operation that reuse the ID newly created record in another record.

Oracle Tablespaces

Las bases de datos Oracle tienen varias diferencias con MySql, una de ellas: Tablespaces. En esta base, a nivel lógico, existen los tablespaces, unidades de almacenamiento de otras estructuras lógicas. Lo usual es mantener todos los objetos de una aplicacion en una tablespace para mayor eficiencia en temas de mantenimiento. A simple vista, cada base de datos tiene uno o más objetos tablespace, y a su vez cada tablespace esta alojado en uno o varios archivos de datos, la combinación de la capacidad de todas los archivos de un tablespace es su tamaño total, y la combinación de todos los tablespaces es el tamaño total de la base de datos.
La creación de un objeto tablespace, aparte de requerir ciertos privilegios incluye el alojar espacio para objetos Schema. Existen tres tipos de tablespaces: permamentes, temporarios y undo.
Usamos un objeto temporal cuando lo que necesitamos es un trabajo puntual que procese X datos, caso de extraer datos, transformarlos y migrarlos a otro tablespace permanente. Existen como se puede apreciar cláusulas que nos permiten definir espacio, tanto en tablespaces como en tablas donde STORAGE nos permite definir el espacio alojado por el extent inicial.
Para crear un Tablespace temporario, en este caso especificamos un grupo que si no existe se crea automaticamente, usamos, al terminar la sesión la misma se elimina:
CREATE TABLESPACE Temporal
TEMPFILE 'temporal.dbf'
SIZE 50M
AUTOEXTEND ON
TABLESPACE GROUP tbl_grp_tem;
CREATE TABLE ns.clientes (
Id number(9) PRIMARY KEY,
Nombre. varchar2(50) NOT NULL,
Pais varchar2(50) NOT NULL
)
TABLESPACE 'Temporal';

Tuesday, February 10, 2015

Ruby: Dynamic Dispatch / Entrega Dinámica

Ruby language has not mutiple-polymorphism, so diverse techniques have been uesed to achieve the same result. Dynamic Dispatch is one of them, easily confuse with late binding, this technique let decide in run-time the implementation to call.
Let's say we have a class Docs with two sublasses Invoice and Order; these three classes have a method named Name. In a given code we can call Docs.Name and get a name, now with dynamic dispatch, if we call Docs.name the system will decide if we call this function from Docs, Invoice or Order class like could happen in an implementation where the run-time decide to call Order.Name because the argument given belong to the suppliers list and not to the customer list.


Python A^B

There are four main operation with sets, Symetric Difference lights itself by its name, it happens that this label could mean the opposite to what is, in short, it could be a idiomatic phrase.
In Python when we want to list items that belong to one and only one of two sets, we use Symetric Difference. The title shows the symbol used.
In example, if we have set A with three items and B with four, when we do this operation, the resultant set will be composed just for those items that are only present in B or only present in A.


Existen cuatro operaciones con conjuntos, Diferencia Simétrica se destaca por sí misma, otro préstamo de alguna ciencia a la informática, sucede que la interpretación literal del nombre nos puede dejar en el opuesto, o sea puede ser una frase idiomática.
En Python cuando queremos listar los ítems que pertenencen a uno y solo uno de dos conjuntos, usamos esta operación: El título muestra el símbolo usado.
Por ejemplo, si tenemos set A con tres elementos y B con cuatro, cuando apelamos a esta operación, el conjunto resultante tendrá solo los items que estan presentes en un solo conjunto.


Friday, January 2, 2015

ETL

ETL o extracción, transformación y carga de datos se ha convertido en una ciencia con aplicaciones específicas donde lo que hasta unos años era dominio de grandes centros de datos, hoy, se es un susbsistema de la programación, con sus técnicas y herramientas.
Existen varias herramientas específicas que permiten trabajar con grandes datos y presentar en simples gráficos tendencias y promedios muy útiles para cualquier disciplina.
Incluso se puede crear un tablero de índices claves de perfomance utilizando, en algunos casos, la planilla de cálculo y sus agregados para programar, como es VBA en Excel.

ETL has become in a science with specific applications where big data center ruled up to a few years ago. Now, this is a subsystem of programming science with their tools and techniques.
There exist several tools aimed to work with big data and to show in simple graphs trends and avergages very useful for any practice.
We can also create our own dashboard with PKI by using, in some cases, a spreadsheet and its capability of programming its interface like VBA in Excel.

Wednesday, December 31, 2014

jEdit

JEdit es un editor desarrollado con Java, con una serie de agregados (plug-ins) se convierte en un IDE que no consume tanta RAM como Eclipse, pero no deja de ser una poderosa herramienta para programadores.
Entre los puntos destacables, se encuentra su arquitectura, que permite programar en PHP sin contar con una RAM excesiva. Tambien es de destacar que puede trabajar con más de 200 tipos de archivos diferentes y UTF-8. Podriamos agregar que su capacidad de agregar adicionales para trabajar con XML, HTTP y CSS lo hacen una herramienta para programadores web excelente.
En resumen si su equipo no necesita extras para equipos numerosos y proyectos de gran tamaño, está en al lista de los elegibles.

JEdit is a editor developed with Java. It let you add plug-ins to made from scratch a IDE that will no ask for RAM like an Eclipse, despite it can be considered for programmers.
Among their best features, we found its arquitecture, that let program PHP without a huge RAM. It alsocan work with 200 types of files as well as UTF-8. We also can note down its capability to add plug-ins to work with XML, HTML and CSS making it a web developer excellent tool.
In short, if your team does not need tool for huge projects it is in the list of the best.

Saturday, November 22, 2014

Hibernate

Al estilo MS ADO, Hibernate se caracteriza por ser una capa de persitencia entre la capa de negocios y el almacén de datos. A diferencia de ADO, es open source y se base en un estandar XML para mapear datos hacia arriba y hacia bajo, o sea una vez definidos los objetos en XML, se pueden crear las tablas en la BBDD y las clases en la capa de negocios, evitando de esta manera la modificación total de una aplicación ante la necesidad de un simple cambio.

Saturday, November 15, 2014

Testeo Funcional - Black Box Testing

El testeo funcional de un sistema tiene los mismos niveles que otros tipos, como unidad, integridad, sistema y aceptación. La caracterísitca de este tipo de testeo estada por capacidad de llevarlo a cabo sin conocer el código interno. Se basa en la especificación y requerimientos del sistema de software. Su objeto es comprobar que la función definida del sistema se pueda cumplir.

Black box testing of a system has the same levels of other types: unit, integrity, system and acceptance. Main feature of this type of testing is being given for its capability of to being done without ever know the source code. It is based in specification and requirements of the software system. Its object is to test that any defined function of the system can be done accurately.

Saturday, November 8, 2014

Aplicación de una sola página - SPA - Simple page application

Existe un nuevo marco de trabajo, soportado por proveedores de hosting de páginas web de gran ancho de banda y gratuito (salvo la registración del sitio). Este se lo conoce como SDA por la tecnología que implementa, como su nombre lo indica, solo se trata de una página, con subcomponentes que se actualizan según los pedidos del navegante. Para más información contactar dario@tsftprogramacion.com

Re: DevOps (Development and Operations - Desarrollo y Operaciones)


DevOps stand for a new area of study where business owners, technologyst, production operators and quality assurance work together to deliver contuinous improvement.
This practice has a focus in achive business objetive more than departamental objetives. That's the why to involve all part listed above to achive a right work; we can say this is quality in serve the customer.
As a new practice in its beginning, yet there are a lot of things to write althought main guidelines are already stated to follow.
To finish, SMB has its opportunity to again in this big company's idea against them, to modifiy it and keep your dynamic as a advantage.

DevOps refiere a una nueva área de estudio donde el propietario del negocio, los tecnólogos, operadores de producción y control de calidad trabajan juntos para entregar mejora continua.
Esta práctica tiene su foco en lograr cumplir los objetivos del negocio más que los de cada departamento de la organización, éste es el porque de involucrar a todas las partes mencionadas para lograr el trabajo correcto; se podría decir que esto es calidad para servir al cliente.
Como nueva practica en sus comienzos, aún faltan muchas cosas por escribir, pero las directrices principales ya están definidas para seguirlas.
Para finalizar, las MPYMES tienen su oportunidad otra vez en esta área de grandes empresas, modificándola y así mantener su ventaja en la velocidad de cambio. Contacte dario@tsftprogramacion.com para una versión modificada a sus necesidades.

Thursday, May 8, 2014

Cloud Computing - Computación en la Nube

Desde la Web 1.0 a la Computación en la Nube se dieron algunos pasos, primero buscábamos en Internet, luego hicimos sitios dinámicos y así hasta la computación en la nube: la Internet programable.
Muchas veces nos referimos a la Computación en la Nube como servicios web, pero existe una sutil diferencia, por un lado tenemos servicios web que son aplicaciones que reciben un pedido y devuelven una respuesta, este tipo de aplicaciones se encuentran en la última capa de una pila que comienza en el S.O. y termina en los servicios web. Por otro lado, tenemos una pila de capas programables: desde los servicios web hasta el sistema operativo.
La Computación en la Nube tiene algunos tipos, entre ellos tenemos PaaS (Plataforma como Servicio), IaaS (Infraestructura como Servicio), hay una gran diferencia entre estos dos, el primero permite entregar soluciones rápidas de software evitando temas tediosos como manejar el sistema operativo, el otro nos permite manejar todo, desde el sistema operativo hasta los  servicios web y las capas intermedias, incluido n en ello el microprocesador del servidor. Al tope de esta otra pila, la de tipos de Computación en la Nube, tenemos SaaS (Software como Servicio), entre varios ejemplos tenemos a Google Apps y a Office365: todo el tema en la nube(o Internet). Por lo tanto una económica netbook y un ancho de banda considerable nos permite desplazar a la computadora de escritorio dejando de lado temas como sistema operativo, versiones, etc.     
En resumen, tenemos servicios para administradores de sistemas, programadores y usuarios de PC con diferentes nombres (IaaS, PaaS, SaaS) en la misma solución: Computación en la Nube.

From Web 1.0 to Cloud Computing there were a few steps we walked, first we search Internet, then we make dynamic sites and so on up to Cloud Computing: the programmable web.
Sometimes we tend to name Cloud Computing to Web Services, but there is subtle difference between them. In one hand we have Web Services that are application that get an input and give away an output, all of these based in a stack that include in the top the Web Service and in the bottom a OS. In the other hand, we have a stack that can be programmable in all of the layers: web service up to operative system.
Cloud Computing has a few types, among these types we have PaaS (Platform as a Service), IaaS (Infrastructure as a Service), there is a big deal between them, the former let us to deliver fast solution avoiding to deal with OS isssues, while the later let us to manage from the scratch everything: even microproccesor. In top of this other stack, Cloud Computing, it appears SaaS (Software as a Service), like Google Apps and Office 365: all the stuff in the Cloud. Therefore an inexpensive computer with bandwitch using that software without worrying about OS, version, etc. replace the desktop systems.
In short, we have services for System Adminitrators, Developers and Consumer with different names ( IAAS, PAAS, SAAS) but the same solution: Cloud Computing.


Wednesday, April 16, 2014

DISCOVER TEST-DRIVE DEVELOPMENT (TDD) - DESCUBRA DESARROLLO GUIADO POR PRUEBAS DE SOFTWARE

This is a software development process that relies on the repetition of a very short development cycle. Test-driven development is related to the test-first programming concepts of extreme programming
With this kind of development process, programmers write a test, then the code, therefore the first test fail, then add code to the system and the test is been run, the cycle contues up to finish the release of code to production stage.
The right way to do it includes a serie of steps:
  • Add test
  • Run all tests
  • Add code
  • Run test
  • Refactor code
  • Repeat
As seen it is a simple but very advanced method to deliver software sooner and with high level of quality. 

Este es un proceso de desarrollo de software que se basa en la repetición de un muy corto ciclo de desarrollo. Este método esta relacionado a los principos de la programación extrema (XP).
Con este tipo de proceso, los programadores escriben un test, luego el código, por lo tanto el test falla, luego se agrega el código y se testea con el test ya escrito, el ciclo continua hasta lograr un código listo para utilizar.
Los pasos del método son simples:
  • Escribir Test
  • Testear test
  • Escribir código
  • Testear código
  • Refactorizar código
  • Correr Test

Tuesday, April 1, 2014

Rápido/Fast: Sticky-Notes Vs. 7StickyNotes

He testeado dos aplicaciones para Windows XP+, las arriba mencionadas, no está de más esta decir que contar con un sistema que nos permita en forma rápida tomar notas, como los populares stikies amarillos, en este caso para el escritorio de Windows, no es mal idea, todo depende de la organización de nuestro trabajo.
Los dos sistemas tienen iguales prestaciones, rápidos y bastante si comparamos a una hoja o documento de una aplicación de Office o OpenOffice para la tarea de registrar ideas, actividades a realizar. Las dos aplicaciones tienen un administrador de notas, se puede respaldar y restaurar. Lo que no se puede es exportar a un formato estándar para interactuar o formar parte de un sistema más amplio donde la información es centralizada desde varias fuentes.
En resumen: la agilidad es su fortaleza.
I have tested two applications for Sticky Notes, the above citated, it is worth to say that to have a system like these that let us to take notes fastly, in this case for Windows, is not a bad idea, it´s all depends on our work´s organization.
Both systems have the same performance, fast and enough if we comare them with a document of any well-known suite of Office appplications round out there, for the task to record activitities, ideas and Todo. They have a notes manager, we can backup and restore. Something to note, we can not export notes in known format to intereact with any other system or make these app able to be part of a bigger system of information management.
In short, their agility is their strenght.

Friday, March 7, 2014

FreeFileSync - Sincronizar teléfonos y PC.


El uso extensivo del ordenador sumado a las múltiples aplicaciones
que se han agregado a cualquier oficina con computadora y servicio de
internet nos deja en cualquier PC y su red diversas versiones o dispersión
de archivos.
FreeFileSync es una aplicación que se puede bajar de un sitio de descargas
seguro, libre de virus y de uso gratuito.
Su gran mérito es el de cumplir una función de la manera más eficiente que
hay: la de sincronizar diversas carpetas y su contenido con suma facilidad.
Su interface gráfica semeja al antiguo Norton Commander:
dos listas con una carpeta a recibir y la otra con el contenido a
sincronizar o sumar a la primera.
Tiene opciones avanzadas como cualquier utilitario última generación, de
todos modos sigue siendo una aplicación más de cualquier carpeta de
herramientas de utilidad infaltable.


Friday, November 9, 2012

Joomla 3.0

Este software para administración de contenido de sitios web permite ahora servir páginas para dispositivos móviles. Joomla es desde hace mucho tiempo una opción inteligente para sitios web de rápido desarrollo,  su actualización constante y gran base de usuarios son una ayuda invaluable.

This software for CMS (content management system) now lets to serve pages for mobile devices. Joomla is from long time an intelligent option whenever to set up a new website is the work to do. Constant upgrade and big base of users make an invaluable help.

Monday, October 17, 2011

Mobile

Hay dos sistemas en informática pujando en todo, Microsft y Google, uno comenzó con Internet, el otro con el sistema operativo. Hoy, el último llegó a los sistemas operativos para móviles y el primero a Internet móvil.
Los sistemas operativos Windows Phone y Android, de Microsoft y Google respectivamente van por los que quedan, siempre con Apple, la del iPhone a un costado. Hay varios sistemas operativos para teléfonos con funciones agregadas (ej.. GPS), la temporalidad es un signo distintivo y semejante al mismo tiempo, aparecen y desaparecen siguiendo una curva del cambio más rápida que el S.O. de las PC.
Una diferencia tienen con el mercado de las PC, ambos distribuyen software por canales propios y ambos ya enfrentan la competencia, a pesar de la sofisticada tecnología con la que cuentan.
Una teléfono con GPS, fotos, video, almacenamiento y extras ya no es UN medio de comunicación, son varios, no es UNA función, son varias.

Thursday, May 19, 2011

Desktops

Desktops es una programa utilitario para Windows que permite tener varias pantallas (4) en una. Conocida la utilidad por usuarios de Linux, especialmente Ubuntu que tiene muy buena calidad gráfica. Corre en XP/Vista y Win7.
Este programa permite con una combinación de teclas preestablecidas al instalar el utilitario, cambiar del escritorio de Windows actual  a otro y así ordenar diferentes programas clasificados por tareas como estudio, trabajo, entretenimiento en escritorios de Windows separados.
El programa apenas ocupa 60 KB. y vale 6 GB., para aquellos que tienen buena RAM y múltiples aplicaciones al mismo tiempo una buena herramienta.


Desktops is an utility program for Windows that allows multiple screens (4). Known utility for users of Linux, especially Ubuntu that has very good graphic quality. Runs on XP / Vista and Win7.
This program allows you to preset a hotkey when you install the utility, thus change the current Windows desktop to another. This software let you to order different programs as study, work, entertainment in separate Windows desktops.
The program occupies only 60 KB and worth 6 GB. Nice app for those who have enough RAM and multiple applications running simultaneously.

Tuesday, May 3, 2011

MS Office Macros

En todas las aplicaciones de Microsoft, desde hace tiempo en el caso del Office, existe un DOM (modelo de objetos del documento) que permite acceder al mismo desde dentro de las aplicaciones vía VBA o desde otras, con scripting con VBScript. O desde otras aplicaciones utilizando interfaces creadas a tal fin.
El hecho de poder acceder al objetos como celdas en Excel o párrafos en Word desde otras aplicaciones nos facilita la tarea de automatizar tareas repetitivas.
Las macros de Office son algo muy común, pero el cada vez más dinámico MS esta cambiando las reglas y ya existe un Office on-line y un buscador que se puede programar para tener en nuestra pantalla, más precisamente en nuestros programas los resultados deseados, filtrados y a nuestro gusto.

In all Microsot apps, from long time ago as in MS Office, there is a DOM (document object model) that lets access any app from inside it with VBA or from outside with VBS scripting. It is also possible to do the same from other applications with interfaces created with this objetive.
The fact to be able to access Excel´s spreadsheet cells or sentences in Word from other apps help our task to automatize repetitive tasks.
Office's macros are something common, but the everyday more dynamic MSis changing rules and it is reality an Office-on-line and a search engine that let you to program it to get in our screen, more specificaly in our programs, searched results filetered as will like it.

Wednesday, March 9, 2011

Debian en VirtualBox

Como bien se sabe Debian es uno de los pilares Linux open source (código abierto), mantiene fiel la licencia original en todo su sistema y programas, lo ha sido por largo tiempo y no quedan dudas que lo será forever. No hay mejor manera de aprender Linux que utilizar una distribución Debian. Últimamente ya no es posible con una PC 486 y 8MB de memoria RAM como la primera vez, pero los avances valen la pena volver a verlo aunque sea por diversión, esta vez para probar su adaptabilidad, instalé el Debian para x86 en VirtualBox corriendo en un sistema operativo de Windows con 4GB de RAM.
La configuración de VirtualBox es un poco más complicada que la de su competidor más conocido, pero sus prestaciones son muy buenas. El tema es simple, se asigna una cuota de disco a una unidad virtual dentro del VirtualBox y luego se carga el sistema Linux por medio de un archivo ISO. La instalación es en modo gráfico y lleva su tiempo pero es algo impecable, transparente, presionar SI o NO y detalles comunes a una instalación de sistema operativo.
Un placer instalarlo y con el paquete de programas comunes ya tenemos otro escritorio, no es lo normal, pero queda a gusto del usuario que función le dará.

Friday, February 18, 2011

MS SQL Server Express

Un programador de ASP, Visual Basic, C# no puede dejar esta versión fuera de las opciones si la carga de datos no superará un determinado límite. El conjunto formado por el este motor de base de datos y el MS SQL Server Management Studio, permite de forma rápida y visual la creación y normalización de bases de datos para pequeños negocios en tiempo y forma.
No solo se trata de tablas e índices. El agregado de procedimientos almacenados, disparadores y elementos avanzados que han ido evolucionando con la práctica del DBA (administración de bases de datos)  se encuentran en esta base al alcance de todos. 
Se puede bajar junto al motor de base de datos, drivers para PHP, el entorno visual citado y algunos paquetes extras para funciones específicas.

An ASP, VB or C# prtogrammer can not leave this versión out of choice if data load does not go beyond a  certain limit. The set that makes the Database Engine and MS SQL Server Management Studio let a quickly and user-friendly creation and normalization of databases for SMB.
It is not a matter od index and tables. Store procedures, triggers and advanced items that evolutionate with the DBA practice are there to everybody.
It can be downloaded the Engine as well as drivers for PHP, the Front End and other extra packages for specific functions.

Thursday, February 10, 2011

dotProject

dotProject es un sistema de código abierto para el seguimiento de proyectos o administración de proyectos (su traducción literal). La interface del sistema es una página web ya que requiere de un servidor web para su funcionamiento. Como bien se sabe el manejo de proyectos se ha vuelto una práctica en sí misma y como tal no solo tiene su propio colegio sino sus técnicas y derivadas.
En el caso de dotProject el manejo básico de proyectos está superado ya que cumple tareas de por sí sofisticadas, permite el seguimiento de proyectos de varias empresas a la vez y se adapta a diferentes entornos, permite la creación de empresas, proyectos y sus tareas y eventos con dependencias. Así como el acceso web para administrador como usuarios entre otras funcionalidades importantes como la capacidad de enviar correo electrónico, asignar archivos y documentos o agregarle nuevas funcionalidades.
Muy bueno para cuando el trabajo se vuelve caótico y necesitamos del control de varios proyectos simultaneamente, en caso contrario solo basta una planilla de cálculo.

dotProject is an open source system for PM (project management). Its graphic interface is a web page served by a Apache server. As it is well know PM became a science itself and therefore it has college as well as techniques and other stuff to work with.
In dotProject case its basic operation of projects go beyond given the fact that it carry out sophisticated tasks. It let to follow projects of many businesses in the same instance and it is adaptable to differents scenaries: It let to create business, projects and its tasks  and events with dependencies. It let you to access the system with a browser for either adminitrator or users among other functions of interest like its capability to send mails, to asign files and documents or even to add new funcionality.
It is a very good system whenever the administration get caos and we need to control several projects simultaneously, otherwise we just need a spreedsheat.



Tuesday, August 24, 2010

Open Office Base

Desde el punto de vista técnico OpenOffice Base es una herramienta informática de calidad. Aún así este aplicativo para creación de aplicaciones de base de datos relacionales de OpenOffice tiene sus ventajas y desventajas.
Entre las primeras podemos contar su parecido, podríamos decir competidor directo, en funcionalidad a MS Access. En OO Base se puede acceder a sus controles vía una interfaz llamada UNO, se pueden manejar los formularios de ingreso de datos con macros codificadas con Basic y se pueden crear tablas, consultas, formularios y reportes, se puede utilizar el lenguaje SQL para acceder a los datos, se le puede agregar el Sun Report Builder y darle un toque de más en lo que hace a impresión.
En cuanto a sus desventajas, podemos contar la necesidad de conocimientos avanzados a la hora de ir más allá de un simple aplicativo. Podemos encontrarnos con situaciones no posibles de resolver en el tema impresión, aunque cada vez se utiliza menos, en algunos sitios es tan usada como antes o más. Podemos encontrarnos con la ausencia de ayuda al estilo MS Office y la necesidad de recopilar toda esa información.
En breve, consultar antes de utilizar un servidor SQL, quizás su necesidad se resuelva más rápido.

From a technical viewpoint OpenOffice Base is a quality tool. Even so, this app to create applications with relational databases in a RAD-like method has its advantages and disadvantages.
Among the advantages we count with its similitude, we can say direct competitor, MS Access. In OO Base we can access controls via interface named UNO, it can be controlled forms with macros codified with Basic and we can create tables, forms and reports. SQL language can be used to access data, also it can upgrade with Sun Report Builder and make the best with reports.
About its disadvantages, we can talk about advanced knowledge when we can go beyond a simple app. We can find situation that can not be resolved when print is the task.  There is not help like MS Office so to find help leave us with extra time.
We can consult before decide to use a SQL server, perhaps your need can be resolved faster.



Wednesday, July 7, 2010

Backup online

El respaldo (backup) online de archivos es una opción interesante para administrar copias de seguridad de archivos en forma automática y desentenderse de la tediosa tarea de hacerlo a diario.
SugarSync y DropBox parecen ser las opciones indicadas para el respaldo de información en oficinas pequeñas y hogares, con planes de 2GB gratis y sincronización de archivos, el respaldo de la información pasa a ser un asunto de minutos.
Muy bueno.
Backup Computers systems files in an online basis is an interesting option to manage secutiry copies of files in automatic mode, and to ignore to do it daily.
SugarSync and DropBox seem to be the options indicated to do it for SOHO scenaries. With plans of  2GB+ and file syncronization, to backup information come to be a matter of minutes.
Very good.

Monday, May 3, 2010

Google Maps V3

Google Maps V3 es un sistema que permite insertar en su página, utilizando JavaScript, código para la geolocalización. Esta versión, que tiene mejoras para su uso en teléfonos celulares, permite su implementación en forma sencilla,  se necesita unicamente conocimiento de JavaScript y programación orientada a objetos.
El ejemplo proporcionado por Google, que permite localizarle geográficamente, se encuentra en  http://code.google.com/intl/es-AR/apis/maps/documentation/v3/examples/map-geolocation.html
Desde la página arriba mencionada se puede ver el sistema en acción.


Google Maps V3 is a system that allows you to insert into your page, using JavaScript, code for geolocation. This version, which has enhancements for use in mobile phones, allows simple implementation, requires only knowledge of JavaScript and object oriented programming.
The example provided by Google, which allows geographically locate is in http://code.google.com/intl/es-AR/apis/maps/documentation/v3/examples/map-geolocation.html
From the above page you can see the system in action.


Saturday, May 1, 2010

Apache Gerónimo

El Servidor Apache Gerónimo es un marco de trabajo similar al Entorno Empresario Java 2. Esto significa que cumple los requerimientos del Sun para con sus especificaciones.
Este sistema utiliza aplicaciones de código abierto que en forma conjunta cumplen con su cometido: un servidor compatible con J2EE. Para tal tarea utiliza Jetty and Tomcat, OpenEJB, Java Message Service (JMS) provider; ActiveMQ, Manejador de conexiones de base de datos; TranQL, soporte para transacciones, base de datos Derby y Axion, soporte a extensiones de manejo de Java (JMX): MX4J.
En resumen, un marco de trabajo para aplicaciones web basadas en Java y que soporta todas las extensiones más comunes, como los Java Beans.



The Apache Geronimo is a framework similar to Java Entrepreneur Environment 2. This means that it meets the requirements of the Sun to their specifications.
This system uses open source applications that jointly fulfill their mission: a J2EE compliant server. For this task uses Jetty and Tomcat, OpenEJB, Java Message Service (JMS) provider, ActiveMQ: Manager of database connections; TranQL: transaction support; database Axion and Derby; support to Java Management Extensions (JMX ): MX4J.
In summary, a framework for Java-based web applications and support for all common file extensions such as Java Beans.

Wednesday, April 28, 2010

Apache HTTP Server

Apache es un servidor de páginas web que utiliza el protocolo HTTP. Lider indiscutido en el mundo por su calidad y simpleza en la su instalación, configuración y ejecución.
Bajar el archivo autoinstalable y ejecutar, le resuelve la mitad de los problemas, salvo que sea una instalación experimental para su propio uso o de desarrollo en su máquina, en ese caso está todo hecho, el servidor se instala como servicio de Windows y solo se debe acceder al localhost en el navegador para testear cualquier página web de su autoría.
Para casos donde lo que necesite es un servidor con dirección IP fija asignada por su proveedor de servicios, solo deberá dirigirse al archivo httpd.conf, dentro de la carpeta CONF,  y agregarle una línea de texto y ya tiene el servidor web listo.
Para incluir el uso de scripts como PHP, deberá instalar este paquete y se modificará el archivo de configuración en forma automática con su instalación.
Existen en el mercado varias instalaciones o archivos que instalan todo en uno, en este caso hablamos del servidor, el motor de scripts (ej.PHP ) y la base de datos (generalmente MySQL). Se suele mencionar estos paquetes como LAMP cuando hablamos de Linux como sistema operativo o WAMP para Windows.
En resumen, una máquina al servicio de todos para introducirse en el mundo de los servidores web propios a precio y tiempo más que razonable.


Apache is a web server using the HTTP protocol. Undisputed leader in the world for quality and simplicity in installation, configuration and implementation.
Download and run the self-installing file, will solve half the problem. Even it is an experimental facility for its own use or development on your machine, you'll resolve a problem. Whbile the server is installed as a Windows service you only must enter localhost in the browser to test any website build in your own machine.
For cases where you need a server with fixed IP address assigned by your service provider, one must go to the httpd.conf file within the conf folder and add a line of text and the web server is already ready.
To include the use of scripts like PHP, you must install this package and modify the configuration file.
There are several distribution in the market that install all files in one. We speak of the server, the script engine (ej.PHP) and the database (usually MySQL). These packages are often mentioned as LAMP when talking about Linux as an operating system or WAMP for Windows.
In short, a machine serving everybody to enter to the world of the own web servers, with price and time more than reasonable.

Monday, April 19, 2010

RarZilla

Rarzilla te permite descomprimir los archivos con extensión .rar en sistemas Windows. Muy frecuentes en sitios como Rapidshare o Sourceforge.
No hay mucho que hacer con Rarzilla, se integra al menú del Explorer de Windows en la instalación, que solo se trata de ejecutar el archivo descargado, ejecutarlo y seleccionar si desea la barra de complemento Ask que trae. Una vez instalado, solo ubicar con el Explorador de Windows el archivo con extensión .rar, click derecho al mouse y seleccionar RarZilla para descomprimir el archivo.
Simple, muy útil y probado.


RarZilla lets you decompress files with .Rar extensions in Windows systems. Very common in sites like Rapidshare or Sourceforge.
Not much to do with RarZilla, it integrated itself with the Windows Explorer menu at installtion time, which is just run the downloaded file, run it, and select whether to add the Ask bar or not . Once installed, just locate the Windows Explorer file with .Rar extension, right click the mouse and select RarZilla to decompress the file.
Simple, useful and tested.

Tuesday, April 13, 2010

Inkscape

Inkscape es un avanzado editor de gráficos, que hace todo lo que el Paint de Windows no logra hacer. Viene con plantillas para hacer tarjetas de negocios hasta covers para CD/DVD.
Permite trabajar con capas al igual que el Gimp y tiene efectos básicos.  Las funciones clásicas de una herramienta de esta clase están presentes y vale una prueba, si no se necesita de efectos especiales avanzados es la herramienta que busca.


Inkscape is an advanced graphics editor that does everything even what Windows Paint can not do. It comes with templates for business cards up to covers for CD / DVD.
It let you work with layers like the Gimp and basic effects too. The classic features of a tool of this kind are present and worth a try, if you do not need advanced special effects is the tool you are looking for.

Wednesday, April 7, 2010

X-Chat 2

X-Chat 2 es un cliente IRC clonado del Unix para Windows. Este sistema esta compilado con VS.NET 2003 y corre en sistemas operativos Windows XP SP2 en adelante. Las funciones básicas y avanzadas del programa son suficientes y tiene sus efectos para no dejar de ser un digno competidor del mIRC.
Las características principales que promociona incluye traducción a 42 idiomas, castellano incluido, conecciones encriptadas usando openSSL, scripting con Perl, Ruby o Tcl, complementos binarios para Winamp, DNS y EXEC y los clásicos Temas y  otros que hacen a la interfaz gráfica del programa, que de por si cumple su función  a la perfección.
Buena opción para Windows o Linux con licencia GPL.


X-Chat 2 is a clone of Unix clients of IRC for Windows. This system is compiled with VS.NET 2003 and runs on operating systems like Windows XP SP2 onwards. The basic and advanced features of the program are sufficient and it has its effects by not stop being a worthy competitor of mIRC.
The main features touted include translation into 42 languages​​, including Spanish, encrypted connections using OpenSSL, scripting with Perl, Ruby and Tcl, binary complements for Winamp, DNS and EXEC as well as classic themes and other topics that make the graphical interface of the program one of the best, job that make perfectly .
Good option for Windows or Linux.

Monday, January 25, 2010

PostgreSQL

PostgreSQL es un sistema de manejo de bases de datos objeto-relacionales. Nació mucho antes que Linux y creció con Internet al igual que MySQL, siguió el mismo camino en lo que hace a versiones para diferentes S.O. y su versión para Windows, la 8.4.2.x, es la que estoy probando.
A simple vista excede a MS Access, lo más común para bases pequeñas y SQL Express también tiene sus faltas si comparamos todos los detalles que se pueden manejar en la base.
La instalación para la versión Windows es simple, solo se trata de bajar el archivo de instalación, y la misma queda como servicio, además en el proceso de instalación nos permite agregar paquetes como se les denomina en Linux, conocidos como Add-on/plug-ins en Windows, en este caso solo agregue el conector o driver JDBC para acceder la base desde Java. Se selecciona un password y se deja el puerto por defecto que el asistente de instalación nos propone y listo la instalación. En la carpeta PostgreSQL se encontraran varias entradas, el administrador, parar la base , ejecutar la base y otros.
Ejecutamos el pgAdmin III, un programa con interfase visual que al igual que el Flame Robin de Firebird o el Management Studio del SQL Server cumple la función muy grata de evitarnos los scripts y batchs comunes en los albores de este tipos de sistemas.
Con un dialecto propio, PostgresSQL permite crear una base rápidamente, no sin antes enseñarnos algunas diferencias como el tipo de datos "serie" para los auto-numéricos y un más que nutrido conjunto de tipos de datos que deja nada para envidar sus competidores y aumenta el número de aplicaciones que bien se pueden abstraer a su función y dejar la muy indeseable tarea de crear un tipo de datos, en especial aquellos relacionados a temas espaciales entre otros.

Monday, January 11, 2010

USB 3.0 SpeedBus

La nueva interface USB 3, que comenzará a incorporarse en este año, promete más que mejoras. Según las especificaciones del consorcio, con el agregado de Superspeed, se llegará a velocidades de transferencia de 4.8GB/S, suficiente para decir que los 480mb/s del USB 2.0 son prehistoria.
Los dispositivos diseñados para usar USB serán compatibles con los nuevos receptáculos. No se menciona largo de cable, por se estima en 3 mts. como sus antecesores.

USB 3 new innterface, starting this year to be in the market, promise better performance. According to specifications, with Superspeed, it will reach 4.8 GB/S transfer speed, enough to say that 480MB/S of the USB 2 are out of date.
Devices designed to use use USB 3 will be compatible with new devices. It is unknown cable lenght but it is estamted to be 3 mts like its  predecessor.

Friday, December 25, 2009

SQL Server Compact y Scimore: Programas sin servidor de base de datos para administrar

Scimore  y SQL Server Compact son dos herramientas que cumplen la función de sistema de bases de datos relacionales y a su vez permiten, la primera en su versión embebida, desarrollar sistemas en los cuales el almacén de datos se reduce a una librería o fichero DLL, lo que reduce en forma significativa el trabajo cuando se habla de simplificar las tareas del usuario final. La base embebida nos permite, agregando un par de referencias a nuestro programa, la posibilidad de contar con una base con lenguaje SQL incluido y dejar la tarea de administrar una base de datos, que de por sí no es tarea trivial, reducida a unas rutinas de control de errores.
Ambos sistemas cuentan con su administrador visual respectivo y permiten interactuar con las bases de datos en tiempo de diseño para comodidad del programador, herramientas que se convierten en un eficaz medio de control a la hora de la ejecución del sistema desarrollado.

Scimore and SQL Server Compact are tow tools that carry on with the task of being relational databases system and at the same time, the first in its embedded version, to be part of system that reduce the database to a little library file, something that reduce the work fo the end user. Embedded bases let us, by adding a reference to our programs, to count with a SQL enabled database that leave the database administrator job out of scenario and reduce the task to error control routines.
Both the system have a GUI to manage any design time task like create table, testing and other like those that let the programmer interact with the database in design time. These tools are to be a nice debugging system when we have to run  the program.

  

Monday, December 14, 2009

Google Closure Tools

El gigante Google ha abierto al público una nueva herramienta, esta vez para programadores: Closure. Se trata de un set de aplicaciones para trabajar con JavaScript, las mismas están enfocadas en hacer más eficiente el código para aplicaciones tipo RIA (Aplicación de Internet con gran cantidad de código) . Estas herramientas han permitido a Google ahorrar mucho ancho de banda a sus usuarios y fueron desarrolladas por su equipo de programadores en el 20% de tiempo libre que poseen para sus propios hobbies.
Una de las herramientas: el Compilador Closure, toma su código JavaScript y lo compila en un código más compacto, permitiendo a veces que una aplicación de 300kb se comprima a 40kb. El mismo compilador sirve para descomprimir dicha aplicación.
Para ahorrar espacio, el compilador usa una serie de trucos, como el de reducir el tamaño del nombre de las variables, truncándolos a una sola letra, muchas veces utilizado para describir las mismas y muy importante para documentar programas, el nombre extenso de las variables son un ancho de banda a reducir para un servicio como el que presta Google..
Closure Inspector puede trasladar el nombre original de la variable, dando así a los programadores la posibilidad de trabajar con código más entendible.
La librería Closure Library, consiste de acciones JavaScript utilizadas en forma frecuente, y es la librería estándar de Google. Contiene funciónes para trabajar con el DOM, animaciones, copiar y pegar, edición rica de texto y otras de difícil programación y por sobre todo debug y test. Muy conocido el tema por programadores Web y sus compatibilidades entre plataformas y navegadores.
Las herramientas Google se pueden acceder en code.google.com y desde allí unirse a una comunidad de usuarios y soporte.

Giant Google has opened to programmers a new tool: Closure. It is a set of apps to work with JavScript, these tools are aimed to work with JavaScript, specifically focusing on make more eficient RIA app code.
Thse tools have let Google users to save bandwidth galore and it were developed fro Google programmers in your free time.
One of this tools: the compiler Closure, take JavaScript code and compact it, sometimes from a 300kb  application it come down to 40kb, the same compiler decompress the code.
To save space this compiler uses a serie of tricks like shorten variables names, leting Google to save a lot of space.
Closure Inspector make the job to translate the name of the variable making pprogrammer work easiest.
Closure Library consist of frequentely used JavaScript functions and it is Google standard. It contain function to work with DOM, animations, copy and paste, rich text edition, and others task with high level fo diffculty at programming testing and debugging time. It is welll known when to make a app compatible among browsers is the task.
These Google tolls can be accessed in code.google.com, there it is also possible to join with a big community
of users and supportes.

Tuesday, December 1, 2009

Blogging

Existen varios sitios para hacer tu blog,  las opciones más conocidas son las de Blogger y WordPress, este último ganó el premio al mejor software open source en la categoría. WordPress puede ser instalado en su servidor, o se puede crear una cuenta en http://www.wordpress.com/ y mantener tu blog en el servidor de ellos, un ejemplo: bairesecret.wordpress.com . WordPress tiene un sistema de plantillas que incluye controles prearmados que le permiten incorporarlo a su blog sin tener que programar, también existen los temas intercambiables, administración integrada, permite multiples categorías de autores y artícluos, los recursos normales como trackbacks y también gracias a su arquitectura, capacidad de agregarle programas adicionales o plug-ins/add-ons.

There are several sites to blogging, well known options include Blogger and WordPress, the later won a prize in the category for being the best software for blogging. Wordpress can be installed in your server or it can also be used with an account in www.wordpress.com and so to mantain the blog in their server. Here you can see an example http://bairesecret.wordpress.com Wordpress has a templete system that includes premade controls that let you to add them to the blog without programming, there is also interchangeables themes, integrated administration, it lets multiple categories of authors and articles, normal resources like trackbacks and thank to its architecture: capability to add custom software o plug-ins.

Friday, November 13, 2009

UML

He tenido la oportunidad de utilizar el UMLet y no se puede negar que es la mejor herramienta freeware para el diseño UML.
Un simple diagrama de casos de uso (USE CASE), tiene dos elementos y tres conectores, UMLet no solo cuenta con ellos, sino que agrega conjuntos predefinidos de los mismos para ahorrar el trabajo.
Cualquier analista o desarrollador en la actualidad no debe programar una simple aplicación sin apelar al UML, estándar de facto para el trabajo en equipo y con posibilidad de abarcar varias áreas.
Especialmente para la programación orientada a objetos. El UMLet permite el diseño de cualquier tipo de diagramas: de clases, de secuencia, de componentes, etc.
Una buena herramienta en manos de un diseñador.

I have worked with UMLet and it can not be denied to be among the best open source tool for UML design.
A simple use case diagram has two elements and three conectors, UMLLet no just count with it but also with the entire set to save time.
Any analysit that want to develop today might appeal to UML, a standard for team work.
Specifically for OO programming, UMLet let design any type of diagram: classes, sequence, components, etc.
A good tool for a designer.

Friday, November 6, 2009

CSVed

Cualquier programador necesita trabajar, por única vez, con un archivo de texto separado por comas (CSV) y CSVed (http://csved.sjfrancke.nl/index.html) es una alternativa más que interesante. Este programa permite abrir un archivo de texto, sea CSV o TXT y hacer magia con el mismo.
Para comenzar, te permite trabajar con texto que este separado con cualquier tipo de signo, sea una coma o un corchete. Exportar a Excel, HTML, etc., y no es un punto más, es algo muy importante: tiene varias opciones de formatos. Permite trabajar con XML, fechas, registros de longitud fija y variable, columnas, filas, reparar archivos, etc.
Una muy buena herramienta.

Friday, October 9, 2009

Código Abierto: OmegaT y OpenOffice 3.1

Decidí hacerle a las herramientas de ayuda a la traducción de textos, conocidas como CAT (computer-assisted translation), y me encontré con varias, sus secretos y terminologías propias de la práctica, quizás desconocidas para muchos, pero nada del otro mundo más allá de formatos propios de fabricantes con historia en el oficio.
En este caso OmegaT, es la única que encontré, útil en Linux y Windows, está programada con Java, un lenguaje que no depende del S.O., este CAT, que no es traductor automático como lo es Google, tiene entre sus opciones más útiles, la traducción por segmentos, los glosarios que se pueden agregar (términos propios de cada práctica humana) y el corrector ortográfico.
Esta última caratcterística es la que deseo aclarar, el tutorial de OmegaT se basa en una versión antigua de OpenOffice, y cuando nos vemos con la 3.1, no podemos utilizar los mismos con la facilidad que deseamos, me refiero a que cada diccionario que OO 3.1 trae está en carpetas diferentes, y la solución práctica es buscar los archivos .dic dentro de la carpeta de OpenOffice, y copiar los diccionarios de diferentes idiomas en la misma carpeta, para lo cual, el procedimiento es simple:
-Crear una carpeta, nombrarla Dic o similar
-Localizar los diccionarios presentes en el sistema (archivos .dic y demás que se encuentran en una carpeta por idioma)
-Copiar todos los diciconarios (archivo .dic y demás ) a utilizar (digamos italiano y castellano) dentro de la carpeta creada en el paso anterior y seleccionar (copiar con otro nombre cuando les pregunte acerca de sobreescribir un archivo, ya que hay archivos de nombres similares en las carpetas de cada idioma)
-Abrir OmegaT, y seleccionar Spell Checking, se les abrirá una ventana, chechear el box que hay en la parte superior e instalar los diccionarios seleccionado la carpeta que los aloja.
Una vez seleccionada esa carpeta, en el proceso de traducción, deberán seleccionar la opción Spell Checking y seleccionar el diccionario adecuado al idioma a corregir.
Para bajar una copia del CAT OmegaT .

Tuesday, September 29, 2009

MySQL 5.1

Muy buen sistema de bases de datos relacionales, su gran presencia en la red haciendo equipo con Apache como servidor le valió varios galardones. Hoy instalé por quinta vez una versión de MySQL, la 5.1. Le agregue la aplicación de administración MySQL Administrator y no hace falta más para un buen administrador de bases de datos.
Las opciones superan las de un ambiente SOHO (oficina pequeña-oficina en el domicilio), pero no se asusten, la instalación por defecto, le deja un sistema apto para cualquier entorno, desde una pequeña oficina con necesidades de montar su propio servidor web como la de un sitio con millones de visitantes por día.
A esta altura ya no solo se conecta la base con el antiguo ODBC: existen conectores para programadores .NET y Java disponibles. Esto y un buen programador le pueden facilitar la tarea de conectar todos sus sistemas y documentación en formato Office sin mayores problemas, por lo tanto, con un poco de ingenio se puede hacerse de un simple sistema de apoyo a decisiones empresariales. Cuestión de conexiones.
La gran diferencia y que viene ya de versiones anteriores es innoDB y MyIsam, la primera es lo más, la última lo menos en lo que se refiere a BB.DD. relacionales. Con MyIsam no se podrán crear claves externas, con innoDB sí y mucho más. Pero no termina aquí la cuestión para los siempre interesados en saber más: soporta más de 10 tipos de almacenamientos en lo que a estructura de BB.DD se refiere.
Un gran legado de la comunidad del código abierto.

It is a very good RDBMS, its great percentage of deployment in the netowrk making team with Apache servers won several prizes.

Thursday, March 5, 2009

INTRODUCCION A XML

El éxito de XML se puede medir gracias a que desde su lanzamiento se han creado más de 450 nuevos estándares relacionados al XML. En todos los ámbitos del software existe el XML de una u otra manera.

¿ QUE ES XML ?

En su forma más simple, el XML es una set de comandos para describir datos estructurados en texto plano. Como el HTML, el XML es un lenguaje de marcas basado en etiquetas encerradas con corchetes de ángulo (angled brackets <>) y es también un subset del SGML. La naturaleza del XML hace que sea posible editar un documento con cualquier procesador de textos. Y a diferencia del HTML que tiene un set de etiquetas predefinidas, el XML es un metalenguaje que permite al usuario la creación del sus propias etiquetas. Esta habilidad es la que permite ser al XML un lenguaje extensible.A diferencia del HTML, que enfoca más en la presentación de los datos, el XML tiene su foco puesto en los datos y sus estructuras. Por dicha razón el XML es mucho más estricto en su sintaxis.
Cada etiqueta en XML deberá llevar su correspondiente etiqueta de cierre: .

W3C
Este es un consorcio de cerca a 500 miembros que se encarga de fijar estándares relacionados a Internet. Cada nuevo standard es revisado y modificado hasta llegar a la categoría de Recommendation, una vez alcanzada dicha categoría, no se puede modificar.


VENTAJAS DEL DISEÑO DEL XML
Las diez ventajas que los diseñadores se propusieron al crear el XML:



1.XML sera fácil de usar en Internet
2.XML deberá soportar una amplia variedad de aplicaciones
3.XML deberá ser compatible con SGML.
4.Se podrán escribir facilmente aplicaciones que procesen documentos XML.
5.El número de características opcionales deberán ser mínimas o cero.
6.Los documentos XML tendrán que ser fáciles de leer.
7.La especificación XML deberá estar lista rápidamente.
8.Los principios de la especificación deberá ser concisa y formal.
9.Los documentos XML serán fáciles de crear.





LA ATRACCION DE XML

El segundo logro de XML es que su utilidad no esta acotada a Internet.

EL FORMATO UNIVERSAL DE INTERCAMBIO DE DATOS
EL lenguaje se vuelve un método universal de intercambio de datos. Si los sistemas a integrar están en diferentes plataformas, el XML se vuelve imprescindible.

XML – PEGAMENTO INDUSTRIAL
Al ser un protocolo de datos basado en texto, su utilidad se incrementa en forma exponencial.

ESTRUCTURAS DE DATOS PARA NEGOCIOS
Cada negocio tiene sus estructuras de datos, las cuales modelan en negocio, estas estructuras de datos representan negocios.

MEZCLANDO DATOS
Si se presenta un entorno donde los datos se encuentran en formato binario, en diferentes directorios y las estructuras de datos no son idénticas, el transformar esos datos a XML es el camino perfecto.

SEPARACION DE CONTENIDO Y PRESENTACION
El estandard CSS se utiliza para separar la presentación del contenido. XML se utiliza para estructurar los datos y XSLT se utiliza para darle formato de presentación a esos datos.

LENGUAJES BASADOS EN XML
Existen un número creciente de lenguajes derivados de XML que se utilizan para aplicaciones específicas. SOAP es un ejemplo, el cual se utiliza para los Web Services.

PULICACIoN DE DOCUMENTOS Y ADMINISTRACION DE CONTENIDO
El uso de XML para administrar la información facilita tareas como la personalización de los contenidos de acuerdo a las preferencias del usuario. Se pueden utilizar cookies para almacenar las preferencias de los clientes, los cuales se leerán para filtrar luego el contenido de acuerdo a las preferencias. Este filtrado se puede realizar con XLST y XSL-FO , lo cual permite tener una sola fuente de contenido y despachar la misma no solo para diferentes usuarios sino también plataformas.

XML Y MENSAJERIA INSTANTANEA
Jabber es un ejemplo de mensajería instantánea que utiliza XML para dicha tarea.

XML COMO FORMATO DE ARCHIVO
Los archivos de configuración de .NET son un ejemplo. El suite de aplicaciones de oficina de SUN, OpenOffice, también contempla entre sus opciones XML.


XML EN INDUSTRIAS VERTICALES

Muchas ramas de la industria están creando vocabularios específicos a sus negocios para facilitar la integración de sus negocios

ARQUITECTURAS DISTRIBUIDAS

CLIENTE-SERVIDOR
El modelo inicial de la web, un cliente envía una página, el servidor responde.

3 CAPAS
Cliente, lógica, datos.

N CAPAS
Servicios web distribuidos.

EJEMPLOS DE ARQUITECURA
Ejemplos de arquitecturas que se pueden beneficiar del uso de XML en 3-capas o n-capas son:
1.sitios de contenido
2.intranets


SITIOS DE CONTENIDO
Se puede guardar el contenido del sitio en documentos XML, y manejar el estilo con XSLT, convertir el resultado a HTML y contar, de esta manera, con un método rápido de modificar el estilo de un sitio. Al mismo tiempo, al tener el contenido en XML, se puede manipular el tipo de contenido que se devuelve según la categoría del usuario.


INTRANETS
En intranets, el XML se utiliza para situaciones donde existen aplicaciones heredadas, en estos casos, al implementar sistemas de n-capas, el XML suele ser el lenguaje utilizado por sistemas tipo Middleware y de manejo de mensajes como MSQS.


DESARROLLO WEB ASP.NET

ASP.NET corre en un entorno especial: cuando un cliente pide una página, éste interpreta el código, lo compila y de ahí en más, cada cliente que pide la misma página, recibe la copia en binario de la primer compilación, de esta manera se logra una mayor performance que en sistemas CGI (ej..Perl).
Otro gran cambio en relación a sus predecesores, consiste en la capacidad del marco de trabajo .NET para trabajar con cualquier lenguaje en el servidor.
Por último, .NET trabaja con el concepto "code-behind", que consiste en separar la lógica de la presentación, cada página .aspx tiene su correspondiente .aspx.vb, o sea, una página en VB que contiene todo el código que construye la página.
Existen otros adelantos de .NET que no se incluyen por no ser específicos a XML.

EL ROL DE XML EN ASP.NET
XML forma parte en .NET en en gran número de soluciones.


SYSTEM.XML NAMESPACE
Se llama así al conjunto de clases que permiten tareas como las que se enumeran a continuación:
Crear y procesar documentos XML
Transformar documentos XML
Consultar documentos XML
Validar documentos XML
Manipular datos en sistemas de bases de datos relacionales


SERVICIOS WEB
Los servicios web son lógica programable que puede ser accedida desde cualquier parte en internet basándose en HTTP (post/get/soap) y XML.


MICROSOFT.DATA.SQLXML NAMESPACE
Permite el acceso a las caracteristicas extendidas y nativas de SQL Server 2000.


ADO.NET
Otro de los cambios en .NET es la separación de clases para acceder a registros, ADO.NET permite un acceso a datos que se llama "conectado", y la clase DataSet un acceso que se conoce como "desconectado". Estas clases se encuentran en el namespace System.Data. Se puede facilmente serializar un set de datos en XML y viceversa.

XCOPY
Con ADO.NET se produjo un cambio que permite la implementación de cualquier aplicación con solo usar el comando de DOS xcopy. No hay metadata del servidor, y los archivos .config están en XML


BIBLIOGRAFÍA
Introduction to XML Technologies, PerfectXML.
Traducción: Dario Columbich