Archive for the ‘Programación’ Category

Hato I

Saturday, August 21st, 2010

Hola

Este post es para platicarles un poco acerca de un proyecto que estaré siguiendo de cerca y que yo mismo eh empezado, siendo colaborado por Zion.

Es un proyecto que esperemos ayude a un sector que está siendo marginado por las grandes empresas y por el gobierno mismo: El sector Agrario. Me he dado cuenta por las actividades de algunas personas cercanas que en este mercado existe software y tecnología de automatización, pero la cual está enfocada a las grandes ganaderias, las cuales pueden pagar licencias de arriba de 600 dólares. ¿Qué pasa con los pequeños productores? ellos se ven afectados por esa falta de flujo económico, lo que les obliga a continuar con prácticas manuales y quizá rudimentarias (no tan efectivas). La idea es tratar de acercar un poco a esos pequeños productores con un uso eficiente de información que les pueda dar indicadores del como va su negocio, asímismo llevar un control más eficiente con respecto al que deberían llevar (en caso de hacerlo).

Que debemos hacer.

El objetivo es desarrollar un sistema fácil, que las personas les agrade al verlo, que entiendan el como se estructura, en vez de ser un proceso tedioso que muchas veces hace que el software fracase en su implementación. Por otro lado, una aplicación ligera, ya que el gruedo de las personas en el medio agricola no tienen un ordenador con muchos recursos disponibles. Una vez superado esos dos obstáculos podemos decir que el último es otrorgar algo realmente funcional, ya que por mucho las aplicaciones comerciales tienen un exceso de ?especificidad, siendo lenta la administración.

Por ahora he modificado la base de datos original, pasando de un simple M Access sin normalizar a un MySQL (probablemente después PostgreSQL) con un aceptable grado de normalización en las tablas, lo que ayudará a un mejor funcionamiento. Pararemos de un VB6 a un Java 6, dando muchas ventajas como la portabilidad y extensión de la tecnología (hasta que Oracle la cierre).

Ya existe una versión en Java, la cual está en Beta, y está soportada por MySQL, la cual estamos haciendo mejoras con respecto a su antecesora, tanto en diseño, en usabilidad, como en estructuración misma de los componentes de código.

El modelo que seguiremos, para apoyar la cultura libre será una licencia GPL, así podremos ayudar con un granito de arena a esa filosofía que ha hecho crecer a muchos profesionales, entre esos estoy yo.

El proyecto por ahora está en sourceforge, estén atentos a los cambios o mejoras que vayamos haciendo. La documentación, los fuentes, el modelo de base de datos, y todo aquello será subido poco a poco, así que no desesperar si no encuentran algo.

Programación de Sistemas

Tuesday, February 9th, 2010

#Hi, Hola
——————————————————————————————————————————————————————————————-

Today upload a new PDF file. I am in roads in the piratery (only books) for every all. I could not read all everything. The next book is for programmers. Explain how it works GNU/ Linux operating system and how to program for it.

The download is not aviable now

——————————————————————————————————————————————————————————————-
Hoy subiré un nuevo PDF. Estoy incursionando en la piratería (solo de libros) para todos. No he podido leer todos, EL siguiente libro es para programadores. Explica como funciona GNU/ Linux y como programar para éste.

La descargar no está disponible ahora

echo $SALUDOS;

Usando libconfig

Friday, January 22nd, 2010

#Hola a todos,

Hoy voy a comentarles acerca de una librería hecha en C y C++ para el tratamiento de archivos de configuración, tal como sería un archivo XML o properties.

A primera vista les puede parecer un tanto complicada la forma de crear sus archivos de configuración, pero en la programación es bastante cómoda y se torna fácil :P .

Un fragmento de lo que puede ser un archivo de configuración válido.

// An example configuration file that stores information about a store.

// Basic store information:
name = “Books, Movies & More”;

// Store inventory:
inventory =
{
books = ( { title  = “Treasure Island”;
author = “Robert Louis Stevenson”;
price  = 29.99;
qty    = 5; },
{ title  = “Snow Crash”;
author = “Neal Stephenson”;
price  = 9.99;
qty    = 8; }
);

O puede ser, como ya comenté, tipo properties, por ejemplo:

###########################################################
# Rodrigo Ramos Godínez                                                                                        #
# Archivo de configuración de ejemplo                                                                 #
# mail: crackduoro@gmail.com                                                                              #
###########################################################

version = “1.0″;

nombre = “Rodrigo”;
nick = “lyonn”;
apellido = “Ramos”;
edad = 21;

Es un ejemplo bastante sencillo el archivo de configuración, pero al final si buscan la forma de llave-valor les podrá resultar muy útil.

En programación podemos verificar que el archivo esté bien formado =P y eso es bastante bueno ya que nos evitará muchos dolores de cabeza posteriores.

Un ejemplito para dejar más claro como se obtendría primero que sea válido el archivo de configuración, después obtenemos dos llaves y las mandamos por pantalla.

#include <stdlib.h>
#include <stdio.h>
#include <libconfig.h>

int main(int argc, char *argv[]) {

config_t config;
config_setting_t *setting;
const char *str;

config_init(&config);
//Verificamos que el archivo de configuración se encuentre y que esté bien formado
if (!config_read_file(&config, “config_files/config.cfg”))
{
fprintf(stderr,”%s, %d -%s\n”, config_error_file(&config), config_error_line(&config), config_error_text(&config));
config_destroy(&config);
return (EXIT_FAILURE);
}
//Obtenemos el valor de la llave
if (config_lookup_string(&config, “nombre”, &str))
printf(“%s \n”, str);
else
fprintf(stderr, “No hay un nombre disponible”);
//Otro valor de una llave
if (config_lookup_string(&config, “apellido”, &str))
printf(“%s \n”, str);
else
fprintf(stderr, “No hay apellido disponible”);

return (EXIT_SUCCESS);
}

Bien, ahora solo falta compilar…Hay de dos formas posibles, la primera es que la librería config esté en /usr/lib o especificar el path completo, ambos como flags (-l, -I,) a gcc.

Ejemplo 1:

gcc $SOURCE -o $OUTPUT  -lconfig

Ejemplo 2:

gcc $SOURCE -o $OUTPUT  -I./usr/local/lib/libconfig.so.9

Y pues a ya está, a usarlo como mejor vaya con sus necesidades.

Para descargar, ver más documentación de la lib (API), etc pueden consultar la siguiente liga

Espero que les sirva en algún momento de la vida esta información, muy reducida, pero está….

echo $SALUDOS;

QT 4 Tutorial

Friday, January 15th, 2010

#hola

[Ya está arriba el documento]

Esta vez encontré un pdf bastante claro y bueno para todos aquellos que quieran empezar a desarrollar en QT en cualquier plataforma de desarrollo, como Windos, Mac Os o GNU/ Linux. Viene mucho código para practicar e ir desarrollando la habilidad de escribir código por nosotros mismos.

No es la última versión de QT, pero si ayudará mucho para comprender el como funciona (se programa en C++) para posteriores cambios, aunque no creo que sean de sintaxis, sino incorporación y deprecación de clases, etc.

Aun no puedo subir el documento por mi salida a internet, pero hoy mismo en la noche estará ya arriba el documento.

Saludos y espero disfruten este estupendo documento