Archive for the Computers Category

cleaned, new ssd and more ram…

O que é R ? (what’s R)?

| January 24th, 2018

Post in pt-br (Portuguese from Brazil)

Deparei ultimamente com um problema que precisava utilizar esse “R” … Como não conhecia aqui vai:

R é uma linguagem e ambiente para computação estatística e gráficos! Similar ao S (Bell Laboratories, AT&T, agora Lucent) por John Chambers.

R fornece uma grande variedade de estatísticas (modelagem linear e não-linear, testes estatísticos clássicos, análise de séries temporais, classificação, agrupamento, …) e técnicas gráficas e é altamente extensível.

Um dos pontos fortes de R é a facilidade com que se podem produzir parcelas de qualidade de publicação bem concebidas, incluindo símbolos matemáticos e fórmulas, quando necessário.

Porém, instalação é um pouco chatinha, especialmente se quer versão mais atualizada. Precisa compilar, com várias dependências.

Aqui vai um passo-a-passo de como instalar em Linux (ubuntu):

 

# Instalar todas dependencias
sudo apt-get install build-essential
sudo apt-get install fort77
sudo apt-get install xorg-dev
sudo apt-get install liblzma-dev  libblas-dev gfortran
sudo apt-get install gcc-multilib
sudo apt-get install gobjc++
sudo apt-get install aptitude
sudo aptitude install libreadline-dev
sudo aptitude install libcurl4-openssl-dev
sudo apt-get install default-jdk
sudo apt-get install texlive-latex-base
sudo apt-get install libcairo2-dev 
# Instalar r-base c/ ubuntu
sudo apt-get install r-base

# Instalar versão mais nova R (hoje 4.3.4)
wget https://cran.r-project.org/src/base/R-3/R-3.4.3.tar.gz 
./configure --prefix=/home/"SEU USER"/software/R/R-3.4.3 \
--with-x=yes --enable-R-shlib=yes --with-cairo=yes
make
# crie NEWS.pdf faz instalação dar problemas
touch doc/NEWS.pdf
make install

# Adicionar  PATH
export PATH=~/software/R/R-3.4.0/bin:$PATH
export RSTUDIO_WHICH_R=~/software/R/R-3.4.0/bin/R

# Instalar libjpeg62
sudo apt-get install libjpeg62
# se der problema use: 'sudo apt-get -f install' 

# faça download do Rstudio 
# (não é mandatório, instalei se quiser user studio)
wget https://download1.rstudio.org/rstudio-1.0.143-amd64.deb
sudo dpkg -i rstudio-1.0.143-amd64.deb

## para o rJava e ReporteRs tb instale 
sudo apt-get install libxml2-dev
sudo R CMD javareconf

## instale as fonts
sudo apt-get install t1-xfree86-nonfree ttf-xfree86-nonfree \
ttf-xfree86-nonfree-syriac xfonts-75dpi xfonts-100dpi

 

ASUS GT-AC5300

| November 16th, 2017

Latest purchase … ASUS GT-5300!
Still testing… But looks like it has an outstanding performance.

Thinkpad Butterfly

| June 9th, 2015

Finally found a Thinkpad 701c (nickaname: Butterfly)
Not working, but going to try to restore it…

IMG_6090

 

A function I create to access IBM DB2 like MysQL (ODBC based)

 

// IBM DB2 funcitons like MySQL (ODBC based)
// "Ighor Toth" <igtoth@gmail.com>
// Date: 08/05/2014

// usage:
// db2_connect(verbose,instance,username,password); 
// also reads conf if nothing declared db2.conf.inc.php
// db2_query(db2_connect_return,sql)
// db2_fetch_array(result);
// db2_fetch_object(result);
// db2_display_table(db2_connect_return,sql); // select only

$file['config']="db2.conf.inc.php";

function db2_connect(
                 $verbose = null,
                 $db2name = null,
                 $username = null,
                 $password = null
                    ){
    if(!isset($verbose)){
        $verbose = TRUE; // TRUE or FALSE, if not set TRUE
    }
    if(!isset($db2name)){ // NOT DECLARED 
        if(file_exists($file['config']))
            include($file['config']); // CHECK CONFIG FILE
        }
        if(!isset($db2name)){
            if ($verbose == TRUE){
                echo ("DB2 Instance not selected");
                exit();
            } else {
                exit();
            }
        }
    } else if(!isset($username)){
        echo ("DB2 Instance username not specified");
        exit();    
    } 
    $db2conn = odbc_connect($db2name, $username, $password);
    if(($verbose==TRUE)&&($db2conn==0)){
        echo("Connection to database failed.");
        $sqlerror = odbc_errormsg($db2conn);
        echo($sqlerror);
    }
    return($db2conn);
}

function db2_query($db2conn,$sql){
    $result = odbc_exec($db2conn, $sql);
    if ($result == 0){
        echo("QUERY = '$sql' FAILED.<br>\n");
        $sqlerror = odbc_errormsg($db2conn);
        echo($sqlerror);
    } else {
        // odbc_result_all prints all of the rows
        // for a result set ID as an HTML table
        return $result;
    }
}

function db2_fetch_array($result, $rownumber=null){
    $array = array();
    if (!($cols = odbc_fetch_into(
                           $result, 
                           $result_array, 
                           $rownumber
                           ))){
        return false;
    }
    for ($i = 1; $i <= $cols; $i++){
        $array[odbc_field_name($result, $i)] = $result_array[$i - 1];
    }
    return $array;
}

function db2_fetch_object($result){
    if(function_exists("db2_fetch_object")){
        return db2_fetch_object($result);
    }
    $rs = array();
    $rs_obj = false;
    if( odbc_fetch_into($result, $rs) ){
        foreach( $rs as $key=>$value ){
            $fkey = odbc_field_name($result, $key+1);
            $rs_obj->$fkey = trim($value);
        }
    }
    return $rs_obj;
}

function db2_display_table($db2conn,$sql){
    // select all rows from the table
    if(!isset($db2conn)||!isset($sql)){
        echo("ERROR db2_display_table: Function missing arguments");
        exit();
    }
    $check = explode(" ",$sql);
    if($check[0]!="SELECT"){
        echo("ERROR db2_display_table: Not SELECT SQL query");
    }
    if($db2conn != 0){
        // odbc_exec returns 0 if the statement fails;
        // otherwise it returns a result set ID
        $result = odbc_exec($db2conn, $sql);
        if($result == 0){
            echo("SELECT statement failed.");
            $sqlerror = odbc_errormsg($db2conn);
            echo($sqlerror);
        } else {
            // odbc_result_all prints all of the rows
            // for a result set ID as an HTML table
            odbc_result_all($result);
        }
    }
}

 

IBM Aptiva

| September 9th, 2013

New score… 1996 IBM Aptiva

1231602_332079303595216_698127662_n