Ignorante

16/01/2012

La Caída

Archivado en: Tecnología — ignorante @ 0:38
Tags: ,

Se me ocurrió comparar la evolución del PBI per capita de la Argentina con respecto a países vecinos. La tendencia es preocupante. Cada vez estamos peor.

PBI per capita Argentina / Uruguay y Argentina / Chile

PBI per capita Argentina / Uruguay y Argentina / Chile

Cuanto más arriba la línea mayor es la diferencia del PBI per cápita a favor de Argentina, cuanto más se acerca a 1 es que son iguales y si la línea está por debajo de 1 es que el otro país tiene mayor PBI per cápita.

En el gráfico se ve cómo Chile y Uruguay nos fueron alcanzando y en los últimos 10 años nos pasaron. En los 70 triplicábamos a Chile y en los 90 más que lo duplicábamos.

PBI per capita Argentina / Colombia y Argentina / Perú

PBI per capita Argentina / Colombia y Argentina / Perú

Comparando con Colombia y Perú, se ve la misma tendencia, en los 90 los quintuplicábamos y ahora no llegamos a duplicarlos.

PBI per cápita Argentina / Brasil y Argentina / México

PBI per capita Argentina / Brasil y Argentina / México

Brasil y México también nos superaron en estos últimos años, aunque el segundo muestra un leve retroceso (Argentina está creciendo más rápido). Sin embargo en los 80 y los 90 estábamos mucho más arriba.

PBI per capita Argentina / Ecuador

PBI per capita Argentina / Ecuador

Con Ecuador pasa algo parecido, una leve recuperación en los últimos años, pero hasta no hace mucho teníamos una ventaja enorme que hemos casi perdido.

PBI per capita Argentina / Paraguay, Argentina / Bolivia

PBI per capita Argentina / Paraguay, Argentina / Bolivia

Paraguay y Bolivia son todavía países pobres en comparación a Argentina, al menos en cuanto al PBI per capita, pero así y todo en los últimos años recortaron bastante distancia respecto a los años 90.

PBI per capita Argentina / Vietnam

PBI per capita Argentina / Vietnam

Yéndonos un poco más lejos, podemos ver que otros países se vienen desarrollando mucho más que nosotros. En los 80 estábamos 80 veces mejor que Vietnam. La distancia se redujo enormemente.

PBI per capita Argentina / Estonia

PBI per capita Argentina / Estonia

Estonia es un país nuevo, pero además de ser los creadores de Skype en 10 años nos superaron ampliamente y aunque últimamente hemos crecido, no les pudimos recortar el terreno perdido.

La fuente de todos estos datos es WolframAlpha.

05/01/2012

En Argentina Los Televisores Son Más Caros Que En África

Archivado en: lcd,samsung,Tecnología — ignorante @ 18:11
Tags: , ,

Como muy bien señalan en los diarios:

los televisores en Argentina son los más caros del mundo. Aún más caros que en África.

Un SAMSUNG LED TV UA32D4003 cuesta 3.699 rands sudafricanos, es decir 452,56 dólares estadounidenses. El “mismo” en Argentina está $3.999 pesos, es decir 925,69 dólares estadounidenses.

SAMSUNG LED TV 32, USD 452,56 (en África)

SAMSUNG LED TV 32, USD 452,56 (en África)

SAMSUNG LED TV 32, USD 925,69 (en Argentina)

SAMSUNG LED TV 32, USD 925,69 (en Argentina)

El TV de 32 pulgadas más barato que se puede conseguir en ese minorista, es de 578,47 dólares (2.499 pesos). Todavía bastante más caro que en África. Pero hay que tener en cuenta que el modelo africano es todavía mejor porque por ejemplo tiene sonido dolby y el otro sólo estéreo.

31/12/2011

Publica Tu Blog en Google Currents

Archivado en: internet — ignorante @ 18:34
Tags: ,

¿Tenés un blog? Podés publicarlo junto con otros “content feeds” de tu autoría en Google Currents.

https://www.google.com/producer

Accediendo a esa dirección, ingresás los datos de tu blog, básicamente su nombre, la URL de “feed” RSS y opcionalmente un ícono y una descripción.

Tiene muchas opciones de personalización y te muestra cómo se verá tu blog en distintos dispositivos (iPad, tablets, iPhone, Android).

Además se puede, por ejemplo, ingresar tu canal de Youtube o tu cuenta de flickr, para que todo eso se muestre automáticamente junto a tu blog cuando los actualices.

Google Currents todavía no está oficialmente disponible fuera de EE.UU. pero se puede instalar perfectamente buscando el apk en Google.

Unity: Búsqueda Integrada de Videos, Libros, Torrents, Tweets…

Archivado en: descargas,linux,software,Tecnología,ubuntu — ignorante @ 0:04
Tags: ,
Youtube integrado a Unity

Youtube integrado a Unity

Unity, la interfaz de usuario de Ubuntu desde hace tiempo, incorpora el concepto de “lens” (lente) como una forma de buscar elementos. Por ejemplo hay un lente para buscar aplicaciones, otro para archivos y carpetas, otro para música.

Se puede instalar más. Por ejemplo el de la imagen es el lente de Youtube. Permite buscar videos en Youtube. Y no es el único, hay lentes para buscar torrents, otro para Google Docs, otro para Google Books y algunos más. Se integran al “Dash”, que es la ventana que se abre presionando la tecla del logo.

Si te interesa probar alguno de ellos, las instrucciones de instalación estás recopiladas en esta página de Ask Ubuntu.

En el caso del lens de Youtube, permite buscar por palabras y filtrar por categorías. Al elegir el video lo abre en el navegador.

Cualquiera que sepa y quiera puede hacer o ayudar a mejorar un lens.

27/12/2011

Notebook al Precio de una Netbook

Archivado en: computacion,hardware,Tecnología — ignorante @ 20:04
Tags:

Notebook a USD 455

Notebook a USD 455

Netbook a USD 463

Netbook a USD 463

Los precios son sacados de acá y de acá.

A pesar de tener un pantalla más grande, el doble de memoria, bluetooth incorporado y un procesador mucho más potente la notebook es ocho dólares más barata. Está claro quienes pierden con esta situación, pero ¿quiénes ganan?

24/12/2011

Comparación de Precios de Netbooks: Argentina, Chile, EE.UU.

Archivado en: hardware,Tecnología — ignorante @ 0:41
Tags: , , ,
Netbooks en Argentina

Netbooks en Argentina

Netbooks en Argentina (comercio independiente)

Netbooks en Argentina (comercio independiente)

En Argentina al cambio de hoy (1 dólar = 4,31 pesos), la netbook más barata se puede conseguir por USD 463,81. Es industria argentina. Es casi seguro que no hay nada por debajo de los 400 dólares aún aplicando un descuento del 15% con alguna promoción.

Precios de Netbooks en EE.UU

Precios de Netbooks en EE.UU

En EE.UU. tenemos varias netbooks debajo de los USD 400. Incluso bastante debajo de los USD 300.

Precios de Netbooks en Chile

Precios de Netbooks en Chile

Al cambio de hoy (1 dólar = 519 pesos chilenos), vemos que en Chile se pueden comprar varias netbooks por menos de USD 400, los precios que aparecen listados equivalen a USD 269, 317, 327, 365 y 384 respectivamente.
En Argentina la netbook más barata es un 72% más cara que en los otros dos países.

Únicamente un mercado oligopólico puede explicar cómo es que no hay nadie capaz de acaparar el mercado vendiendo netbooks a 300 dólares. Las empresas que fabrican netbooks en Argentina, aún con ventajas impositivas venden casi al mismo precio que las importadas, porque no tienen competencia y está claro que no compiten entre ellas. Prefieren vender menos, pero con mayores márgenes.

30/11/2011

SportsTracker 5.3.0

SportsTracker 5.3.0

SportsTracker 5.3.0

SportsTracker es una aplicación muy completa para registrar las actividades deportivas y hacer un seguimiento. Permite crear diagramas y sacar estadísticas.

Descargar SportTracker 5.3.0 Para Windows

Descargar SportTracker 5.3.0 Para Windows

29/11/2011

Formato de Números y Fechas con Spring Web MVC

Archivado en: computacion,Java,Programación,software,Tecnología — ignorante @ 20:00
Tags: , ,

import java.math.BigDecimal;
import java.util.Date;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Past;
import javax.validation.constraints.Digits;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.Size;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.format.annotation.NumberFormat;

// ...
    @DateTimeFormat(pattern = "dd/MM/yyyy")
    private Date control;

    @NumberFormat(style = NumberFormat.Style.NUMBER)
    @Digits(integer = 5, fraction = 5)
    private BigDecimal distantVisualAcuity;

    @Max(100)
    @Min(10)
    @NumberFormat(style = NumberFormat.Style.NUMBER)
    private BigDecimal totalInterpupilaryDistance;

    @NotNull
    @Past
    @DateTimeFormat(pattern = "dd/MM/yyyy")
    private Date date;

Spring Web MVC convierte los datos ingresados por el usuario al tipo de dato del Bean que respalda el formulario. No es necesario escribir una sola línea de código para convertir la enorme mayoría de los valores que se ingresan. Basta con usar algunas annotations muy sencillas. En el caso de números se puede establecer, por ejemplo, la cantidad de dígitos enteros y fraccionarios, sin tener que recurrir a una máscara de entrada.

Para poder usar la annotation DateTimeFormat hay que incorporar joda-time como dependencia.

La conversión funciona tanto para el ingreso de texto como para el formateo a la hora de editar el formulario.

Las annotations así usadas son además documentación del sistema. Cualquier persona que vea cómo está anotada la variable sabe el tipo de valores de entrada que admite sin tener que mirar otra cosa.

25/11/2011

Por Qué Usar Spring Web MVC Framework

Archivado en: computacion,Java,Programación,software,Tecnología — ignorante @ 8:00
Tags: ,

1.- Porque la asignación de qué método se ejecuta cuando se carga una URL se puede hacer con una annotation en forma directa y simple.

@Controller
public class User {
    @RequestMapping("/admin/user")
    public String listUsers(Model model) {
        model.addAttribute("users", this.userService.listAll());
        return "userList";
    }
}

Con sólo usar la annotation  @RequestMapping Spring sabe que cuando se ingrese la URL /admin/user hay que ejecutar el método listUsers de la clase User.

2.- Porque los controllers no son más que un objeto cualquiera que lleva una annotation.
En el ejemplo, la clase User no tiene nada en particular. No implementa ninguna interfaz ni hereda de ninguna clase en particular. Sólo se requiere anotarla con @Controller.

3.- Porque todas las validaciones se pueden hacer con annotations usando Bean Validation (JSR 303).

@ScriptAssert(
    lang = "Groovy",
    script = "_this.password.equals(_this.password2)",
    message="{password.confirm}")
public class UserDTO extends PersonDTO {

    @NotEmpty
    @Size(min=5,max=20)
    private String login;

    @Size(max=40)
    private String password;

    @Size(max=40)
    private String password2;
}

En este ejemplo, la clase UserDTO es el respaldo del formulario de alta de usuarios. En el caso del campo login, se valida que esté presente y que sea de entre 5 y 20 caracteres. El caso de la password, que sea como máximo de 40 y para verificar que coincidan ambas contraseñas ingresadas, se usa la annotation @ScriptAssert que permite realizar validaciones más complejas ejecutando código mediante un lenguaje de scripting (en este caso Groovy) sin tener que recurrir a codificar un validador propio.

Cuando el script fuera muy complejo se puede directamente invocar un método del objeto anotado de esta forma:

@ScriptAssert.List({
    @ScriptAssert(lang = "Groovy",
        script = "_this.checkQuery()",
        message = "{report.enterQuery}"),
    @ScriptAssert(lang = "Groovy",
        script = "_this.checkParameterCount()",
        message = "{report.paramCount}")})
public class ReportDTO extends EntityDTO {

    /* ... resto del código de la clase ... */

 public boolean checkParameterCount() {
        return this.parameters.size() == this.getExpectedParameters();
    }

    public boolean checkQuery() {
        return this.query != -1 || (this.sql != null && this.sql.length() > 10);
    }
}

Así se puede escribir en el mismo objeto que respalda el formulario uno o varios métodos que realicen validaciones y se los invoca desde la annotation usando un lenguaje de scripting directamente. En el ejemplo se ve cómo ejecutar varias validaciones cada una con su propio mensaje de error y su script.

4.- Porque permite manejar distintos tipos de request (GET, POST, PUT, DELETE, HEAD y OPTIONS) en forma individual o todos juntos.


// ...

    @RequestMapping(value = "/admin/report/edit", method = RequestMethod.GET)
    public ModelAndView editReportForm(
            @RequestParam(required = true, value = "id") int id) {
// ...
    @RequestMapping(value = "/admin/report/edit", method = RequestMethod.POST)
    public String editReport(
            @ModelAttribute("reportDto") @Valid ReportDTO report,
            BindingResult result,
            SessionStatus status) {
// ...

En el ejemplo, la misma URL, /admin/report/edit, es manejada por diferentes métodos del controller según que annotation se use. Típicamente en el GET se devolvería el formulario de edición con los datos cargados y en el POST se haría la edición según las modificaciones ingresadas por el usuario.

24/11/2011

Launch4j: Crear Ejecutable de Windows para una Aplicación Java

Archivado en: computacion,Java,linux,Programación,software,Tecnología,ubuntu,windows — ignorante @ 19:00
Tags: ,
Launch4j

Launch4j

Para simplificar la ejecución en Windows de un programa hecho en Java, launch4j permite transformar un archivo JAR en un archivo EXE con un enorme grado de flexibilidad.

No hace falta ni siquiera tener Windows; se puede generar el archivo EXE desde otro sistema operativo como Ubuntu. Simplemente hay que bajar la versión de launch4j correspondiente al sistema operativo que estemos usando.

Hay que tener en cuenta que si se está usando la versión de Ubuntu de 64 bits hay que instalar la biblioteca libc de 32 bits. En Ubuntu 11.10 (Oneiric Ocelot) el paquete es libc6:i386 y se puede instalar desde Synaptic o con este comando:

sudo apt-get install libc6:i386

El resultado es muy bueno. Se genera un archivo ejecutable nativo de Windows que funciona en todas las versiones de ese sistema y detecta solo si está instalada la máquina virtual Java en la PC del usuario.

Ejemplos de ejecutables generados con esta herramienta:

Página siguiente »

Theme: Rubric. Blog de WordPress.com.

Seguir

Get every new post delivered to your Inbox.