Sábado 21 de abril de 2018

Algoritmo de Clasificación con scikit-learn

Continuando con los artículos sobre Inteligencia Artificial con Python.

La serie de artículos sobre Scikit-Learn han sido:

  1. Árbol de decisión hecho con Python (esté tendrá una segunda parte).
  2. Una red neuronal para aprendizaje supervisado usando scikit-learn.
  3. Funciones de activación para un perceptron.
El ejercicio que se explicará será el de algoritmo de clasificación usando scikit-learn por medio del ejemplo de la resolución de la tabla de la verdad de un Or exclusivo (XOR).

Scikit-learn es una librería de Machine Learning para Python que soporta algoritmos de clasificación, regresión y clustering (wikipedia).

A continuación el notebook de jupyter:


Se creará una red neuronal para clasificación

Se usará la tabla de la verdad de XOR
xySalida
000
011
101
110

Para instalar scikit-learn se usa pip
pip3 install scikit-learn
In [4]:
##Se importa Numpy, MLPCCLassifier y KNeighborsClassifier
import numpy as np
from sklearn.neural_network import MLPClassifier
from sklearn.neighbors import KNeighborsClassifier
In [5]:
#un Arreglo con la tabla de la verdad
# 0 0
# 0 1
# 1 0
# 1 1
xs = np.array([
0, 0,
0, 1,
1, 0,
1, 1
]).reshape(4, 2)
xs
Out[5]:
array([[0, 0],
[0, 1],
[1, 0],
[1, 1]])
In [6]:
#Se muestra un arreglo con el resultado de hacer un XOR
ys = np.array([0, 1, 1, 0]).reshape(4,)
ys
Out[6]:
array([0, 1, 1, 0])
In [7]:
#Se crea el clasificador con la función de activación relu,con 10k iteraciones y tiene capaz ocultas 4,2
model = MLPClassifier(activation='tanh', max_iter=10000, hidden_layer_sizes=(4,2))
model
Out[7]:
MLPClassifier(activation='tanh', alpha=0.0001, batch_size='auto', beta_1=0.9,
beta_2=0.999, early_stopping=False, epsilon=1e-08,
hidden_layer_sizes=(4, 2), learning_rate='constant',
learning_rate_init=0.001, max_iter=10000, momentum=0.9,
nesterovs_momentum=True, power_t=0.5, random_state=None,
shuffle=True, solver='adam', tol=0.0001, validation_fraction=0.1,
verbose=False, warm_start=False)
In [8]:
#Se entrena la red neuronal pasando los arreglos de entrada y de salida
model.fit(xs, ys)
Out[8]:
MLPClassifier(activation='tanh', alpha=0.0001, batch_size='auto', beta_1=0.9,
beta_2=0.999, early_stopping=False, epsilon=1e-08,
hidden_layer_sizes=(4, 2), learning_rate='constant',
learning_rate_init=0.001, max_iter=10000, momentum=0.9,
nesterovs_momentum=True, power_t=0.5, random_state=None,
shuffle=True, solver='adam', tol=0.0001, validation_fraction=0.1,
verbose=False, warm_start=False)
In [9]:
print('prediccion:', model.predict(xs)) # salida 0110
prediccion: [0 1 1 0]
In [10]:
print('Se espera:', np.array([0, 1, 1, 0]))
Se espera: [0 1 1 0]

Otro ejercicio

EntradaSalida
0010
1111
1011
0110
100?
In [11]:
#Se importa de numpy array
from numpy import array
In [12]:
#Datos de entrada y de salida
datos_entrada = array([[0, 0, 1], [1, 1, 1], [1, 0, 1], [0, 1, 1]]).reshape(4, 3)
datos_salida = array([[0, 1, 1, 0]]).reshape(4, )
print(datos_entrada)
print ("-"*4)
print(datos_salida)
[[0 0 1]
[1 1 1]
[1 0 1]
[0 1 1]]
----
[0 1 1 0]
In [13]:
#En este caso se usa KNeighborsClassifier con 2 capaz
KNC = KNeighborsClassifier(n_neighbors= 2)
In [14]:
KNC.fit(datos_entrada,datos_salida)
Out[14]:
KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
metric_params=None, n_jobs=1, n_neighbors=2, p=2,
weights='uniform')
In [15]:
#Se predice el valor de 1,0,0 que da como resultado el mismo del artículo anterior.
print(KNC.predict([[1, 0,0]]))
[1]
In [16]:
#Se crea la red de nuevo pero ahora con PLPCCLassifier.
#Se crea el clasificador con la función de activación relu,con 10k iteraciones y tiene capaz ocultas 4,2
KNC = MLPClassifier(activation='tanh', max_iter=10000, hidden_layer_sizes=(4,2))
In [17]:
#Se entrena la red neuronal pasando los arreglos de entrada y de salida
KNC.fit(datos_entrada, datos_salida)
Out[17]:
MLPClassifier(activation='tanh', alpha=0.0001, batch_size='auto', beta_1=0.9,
beta_2=0.999, early_stopping=False, epsilon=1e-08,
hidden_layer_sizes=(4, 2), learning_rate='constant',
learning_rate_init=0.001, max_iter=10000, momentum=0.9,
nesterovs_momentum=True, power_t=0.5, random_state=None,
shuffle=True, solver='adam', tol=0.0001, validation_fraction=0.1,
verbose=False, warm_start=False)
In [18]:
#Se predice el valor de 1,0,0 que da como resultado el mismo del artículo anterior.
print(KNC.predict([[1, 0,0]]))
[1]


En el siguiente artículo se explicará otro ejemplo de Árbol de decisión usando scikit-learn.

Jueves 19 de abril de 2018

WebScraping (extracción de datos) de wikipedia con Pandas

Continuando con la serie de artículos sobre Pandas, en este artículo se muestra un proceso de extracción de datos web de la página que contiene información sobre  los Estados de Venezuela de Wikipedia.

En los procesos anteriores de WebScraping se trabajaba practicamente a mano para indentificar  las secciones del código html donde se encuentra la información útil, para el caso con Pandas este abstrae ese proceso.

A continuación se muestra una captura de pantalla de la página donde se quiere extraer la información:


La información que maneja la página son los estados con sus capitales, densidad poblacional, superficie, año de admisión, población, densidad, región y código ISO, la parte de la bandera ni del mapa no se muestra por que son imágenes y no se obtiene información útil de ellas.

A continuación todo el proceso de extracción de información de la página:

In [1]:
#Se importa pandas como pd
import pandas as pd
#Se lee los datos de wikipedia de los estados de venezuela, este devuelve una lista
estados= pd.read_html('https://es.wikipedia.org/wiki/Estados_de_Venezuela')
estados
Out[1]:
[    0                                                  1
0 NaN Este artículo o sección necesita referencias q...,
0
0 Estados Federales de Venezuela
1 Bolívar Amazonas Apure Zulia Táchira Barinas M...,
0 1 2 3 \
0 Bandera Entidad federal Capital Código ISO
1 NaN Amazonas Puerto Ayacucho VE-Z
2 NaN Anzoátegui Barcelona VE-B
3 NaN Apure San Fernando de Apure VE-C
4 NaN Aragua Maracay VE-D
5 NaN Barinas Barinas VE-E
6 NaN Bolívar Ciudad Bolívar VE-F
7 NaN Carabobo Valencia VE-G
8 NaN Cojedes San Carlos VE-H
9 NaN Delta Amacuro Tucupita VE-Y
10 NaN Distrito Capital Caracas VE-A
11 NaN Falcón Coro VE-I
12 NaN Guárico San Juan de Los Morros VE-J
13 NaN Lara Barquisimeto VE-K
14 NaN Mérida Mérida VE-L
15 NaN Miranda Los Teques VE-M
16 NaN Monagas Maturín VE-N
17 NaN Nueva Esparta La Asunción VE-O
18 NaN Portuguesa Guanare VE-P
19 NaN Sucre Cumaná VE-R
20 NaN Táchira San Cristóbal VE-S
21 NaN Trujillo Trujillo VE-T
22 NaN Vargas La Guaira VE-X
23 NaN Yaracuy San Felipe VE-U
24 NaN Zulia Maracaibo VE-V
25 NaN Dependencias Federales Gran Roque VE-W

4 5 \
0 Año de admisión Población (2011)[2]​
1 1992 &&&&&&&&&0161844.&&&&&0161 844
2 1909 &&&&&&&&02179838.&&&&&02 179 838
3 1864 &&&&&&&&&0501404.&&&&&0501 404
4 1909 &&&&&&&&01819630.&&&&&01 819 630
5 1937 &&&&&&&&&0853949.&&&&&0853 949
6 1901 &&&&&&&&02069064.&&&&&02 069 064
7 1865 &&&&&&&&02342665.&&&&&02 342 665
8 1864 &&&&&&&&&0367020.&&&&&0367 020
9 1992 &&&&&&&&&0180363.&&&&&0180 363
10 1999 &&&&&&&&04033186.&&&&&04 033 186
11 1872 &&&&&&&&01064615.&&&&&01 064 615
12 1864 &&&&&&&&&0746174.&&&&&0746 174
13 1909 &&&&&&&&01892439.&&&&&01 892 439
14 1909 &&&&&&&&&0903955.&&&&&0903 955
15 1909 &&&&&&&&03112851.&&&&&03 112 851
16 1909 &&&&&&&&&0938185.&&&&&0938 185
17 1909 &&&&&&&&&0525139.&&&&&0525 139
18 1909 &&&&&&&&&0897104.&&&&&0897 104
19 1909 &&&&&&&&&0892990.&&&&&0892 990
20 1899 &&&&&&&&01277241.&&&&&01 277 241
21 1864 &&&&&&&&&0901239.&&&&&0901 239
22 1998 &&&&&&&&&0419928.&&&&&0419 928
23 1899 &&&&&&&&&0645688.&&&&&0645 688
24 1864 &&&&&&&&04694856.&&&&&04 694 856
25 1938 &&&&&&&&&&&02155.&&&&&02155

6 7 \
0 Superficie (km²) Densidad (hab/km²)
1 &&&&&&&&&0177617.&&&&&0177 617 &&&&&&&&&&&&&&00.9900000,99
2 &&&&&&&&&&043300.&&&&&043 300 &&&&&&&&&&&&&033.90000033,9
3 &&&&&&&&&&076500.&&&&&076 500 &&&&&&&&&&&&&&06.&&&&&06,0
4 &&&&&&&&&&&07014.&&&&&07014 &&&&&&&&&&&&0235.600000235,6
5 &&&&&&&&&&035200.&&&&&035 200 &&&&&&&&&&&&&023.20000023,2
6 &&&&&&&&&0240528.&&&&&0240 528 &&&&&&&&&&&&&&07.8700007,87
7 &&&&&&&&&&&04650.&&&&&04650 &&&&&&&&&&&&0713.&10000713,01
8 &&&&&&&&&&014800.&&&&&014 800 &&&&&&&&&&&&&021.80000021,8
9 &&&&&&&&&&040200.&&&&&040 200 &&&&&&&&&&&&&&04.6500004,65
10 &&&&&&&&&&&&0433.&&&&&0433 &&&&&&&&&&&07246.4000007246,4
11 &&&&&&&&&&024800.&&&&&024 800 &&&&&&&&&&&&&036.40000036,4
12 &&&&&&&&&&064986.&&&&&064 986 &&&&&&&&&&&&&011.50000011,5
13 &&&&&&&&&&019800.&&&&&019 800 &&&&&&&&&&&&&089.60000089,6
14 &&&&&&&&&&011300.&&&&&011 300 &&&&&&&&&&&&&092.80000092,8
15 &&&&&&&&&&&07950.&&&&&07950 &&&&&&&&&&&&0336.500000336,5
16 &&&&&&&&&&028900.&&&&&028 900 &&&&&&&&&&&&&031.30000031,3
17 &&&&&&&&&&&01150.&&&&&01150 &&&&&&&&&&&&0480.&10000480,01
18 &&&&&&&&&&015200.&&&&&015 200 &&&&&&&&&&&&&057.70000057,7
19 &&&&&&&&&&011800.&&&&&011 800 &&&&&&&&&&&&&076.&&&&&076,0
20 &&&&&&&&&&011100.&&&&&011 100 &&&&&&&&&&&&0105.300000105,3
21 &&&&&&&&&&&07400.&&&&&07400 &&&&&&&&&&&&&092.80000092,8
22 &&&&&&&&&&&01497.&&&&&01497 &&&&&&&&&&&&0235.800000235,8
23 &&&&&&&&&&&07100.&&&&&07100 &&&&&&&&&&&&&084.60000084,6
24 &&&&&&&&&&063100.&&&&&063 100 &&&&&&&&&&&&&073.70000073,7
25 &&&&&&&&&&&&0120.&&&&&0120 &&&&&&&&&&&&&018.&&&&&018,0

8 9
0 Región Mapa
1 Guayana NaN
2 Nor - Oriental NaN
3 Llanos NaN
4 Central NaN
5 Andina NaN
6 Guayana NaN
7 Central NaN
8 Central NaN
9 Guayana NaN
10 Capital NaN
11 Centro-Occidental NaN
12 Llanos NaN
13 Centro-Occidental NaN
14 Andina NaN
15 Capital NaN
16 Nor - Oriental NaN
17 Insular NaN
18 Centro-Occidental NaN
19 Nor - Oriental NaN
20 Andina NaN
21 Andina NaN
22 Capital NaN
23 Centro-Occidental NaN
24 Zuliana NaN
25 Insular NaN ]
In [2]:
#Tipo de los estados
type(estados)
Out[2]:
list
In [3]:
#Tipo del primer elemento es un dataframe
type(estados[0])
Out[3]:
pandas.core.frame.DataFrame
In [4]:
#Se listan del dataframe estados y capitales (elementos 1 y 2 del dataframe, y se recorre)
for i in range(1,26):
print(estados[2][1][i],estados[2][2][i])
Amazonas Puerto Ayacucho
Anzoátegui Barcelona
Apure San Fernando de Apure
Aragua Maracay
Barinas Barinas
Bolívar Ciudad Bolívar
Carabobo Valencia
Cojedes San Carlos
Delta Amacuro Tucupita
Distrito Capital Caracas
Falcón Coro
Guárico San Juan de Los Morros
Lara Barquisimeto
Mérida Mérida
Miranda Los Teques
Monagas Maturín
Nueva Esparta La Asunción
Portuguesa Guanare
Sucre Cumaná
Táchira San Cristóbal
Trujillo Trujillo
Vargas La Guaira
Yaracuy San Felipe
Zulia Maracaibo
Dependencias Federales Gran Roque
In [5]:
#Ahora se crea una lista de diccionarios donde estará la información de cada estado
lista = []
for i in range(1,26):
lista.append({'Estado':estados[2][1][i],
'Capital': estados[2][2][i],
'codigo_iso': estados[2][3][i],
u'año_admision': estados[2][4][i],
'Poblacion': int(estados[2][5][i].split(".")[0].split("&")[-1]),
'Superficie': int(estados[2][6][i].split(".")[0].split("&")[-1]),
'Densidad': float(estados[2][7][i].split(",")[0].split("&")[-1]),
'Region': estados[2][8][i]
})

print(lista)
[{'Region': 'Guayana', 'Densidad': 0.99, 'Superficie': 177617, 'Estado': 'Amazonas', 'codigo_iso': 'VE-Z', 'Poblacion': 161844, 'Capital': 'Puerto Ayacucho', 'año_admision': '1992'}, {'Region': 'Nor - Oriental', 'Densidad': 33.90000033, 'Superficie': 43300, 'Estado': 'Anzoátegui', 'codigo_iso': 'VE-B', 'Poblacion': 2179838, 'Capital': 'Barcelona', 'año_admision': '1909'}, {'Region': 'Llanos', 'Densidad': 6.0, 'Superficie': 76500, 'Estado': 'Apure', 'codigo_iso': 'VE-C', 'Poblacion': 501404, 'Capital': 'San Fernando de Apure', 'año_admision': '1864'}, {'Region': 'Central', 'Densidad': 235.600000235, 'Superficie': 7014, 'Estado': 'Aragua', 'codigo_iso': 'VE-D', 'Poblacion': 1819630, 'Capital': 'Maracay', 'año_admision': '1909'}, {'Region': 'Andina', 'Densidad': 23.20000023, 'Superficie': 35200, 'Estado': 'Barinas', 'codigo_iso': 'VE-E', 'Poblacion': 853949, 'Capital': 'Barinas', 'año_admision': '1937'}, {'Region': 'Guayana', 'Densidad': 7.8700007, 'Superficie': 240528, 'Estado': 'Bolívar', 'codigo_iso': 'VE-F', 'Poblacion': 2069064, 'Capital': 'Ciudad Bolívar', 'año_admision': '1901'}, {'Region': 'Central', 'Densidad': 10000713.0, 'Superficie': 4650, 'Estado': 'Carabobo', 'codigo_iso': 'VE-G', 'Poblacion': 2342665, 'Capital': 'Valencia', 'año_admision': '1865'}, {'Region': 'Central', 'Densidad': 21.80000021, 'Superficie': 14800, 'Estado': 'Cojedes', 'codigo_iso': 'VE-H', 'Poblacion': 367020, 'Capital': 'San Carlos', 'año_admision': '1864'}, {'Region': 'Guayana', 'Densidad': 4.6500004, 'Superficie': 40200, 'Estado': 'Delta Amacuro', 'codigo_iso': 'VE-Y', 'Poblacion': 180363, 'Capital': 'Tucupita', 'año_admision': '1992'}, {'Region': 'Capital', 'Densidad': 7246.4000007246, 'Superficie': 433, 'Estado': 'Distrito Capital', 'codigo_iso': 'VE-A', 'Poblacion': 4033186, 'Capital': 'Caracas', 'año_admision': '1999'}, {'Region': 'Centro-Occidental', 'Densidad': 36.40000036, 'Superficie': 24800, 'Estado': 'Falcón', 'codigo_iso': 'VE-I', 'Poblacion': 1064615, 'Capital': 'Coro', 'año_admision': '1872'}, {'Region': 'Llanos', 'Densidad': 11.50000011, 'Superficie': 64986, 'Estado': 'Guárico', 'codigo_iso': 'VE-J', 'Poblacion': 746174, 'Capital': 'San Juan de Los Morros', 'año_admision': '1864'}, {'Region': 'Centro-Occidental', 'Densidad': 89.60000089, 'Superficie': 19800, 'Estado': 'Lara', 'codigo_iso': 'VE-K', 'Poblacion': 1892439, 'Capital': 'Barquisimeto', 'año_admision': '1909'}, {'Region': 'Andina', 'Densidad': 92.80000092, 'Superficie': 11300, 'Estado': 'Mérida', 'codigo_iso': 'VE-L', 'Poblacion': 903955, 'Capital': 'Mérida', 'año_admision': '1909'}, {'Region': 'Capital', 'Densidad': 336.500000336, 'Superficie': 7950, 'Estado': 'Miranda', 'codigo_iso': 'VE-M', 'Poblacion': 3112851, 'Capital': 'Los Teques', 'año_admision': '1909'}, {'Region': 'Nor - Oriental', 'Densidad': 31.30000031, 'Superficie': 28900, 'Estado': 'Monagas', 'codigo_iso': 'VE-N', 'Poblacion': 938185, 'Capital': 'Maturín', 'año_admision': '1909'}, {'Region': 'Insular', 'Densidad': 10000480.0, 'Superficie': 1150, 'Estado': 'Nueva Esparta', 'codigo_iso': 'VE-O', 'Poblacion': 525139, 'Capital': 'La Asunción', 'año_admision': '1909'}, {'Region': 'Centro-Occidental', 'Densidad': 57.70000057, 'Superficie': 15200, 'Estado': 'Portuguesa', 'codigo_iso': 'VE-P', 'Poblacion': 897104, 'Capital': 'Guanare', 'año_admision': '1909'}, {'Region': 'Nor - Oriental', 'Densidad': 76.0, 'Superficie': 11800, 'Estado': 'Sucre', 'codigo_iso': 'VE-R', 'Poblacion': 892990, 'Capital': 'Cumaná', 'año_admision': '1909'}, {'Region': 'Andina', 'Densidad': 105.300000105, 'Superficie': 11100, 'Estado': 'Táchira', 'codigo_iso': 'VE-S', 'Poblacion': 1277241, 'Capital': 'San Cristóbal', 'año_admision': '1899'}, {'Region': 'Andina', 'Densidad': 92.80000092, 'Superficie': 7400, 'Estado': 'Trujillo', 'codigo_iso': 'VE-T', 'Poblacion': 901239, 'Capital': 'Trujillo', 'año_admision': '1864'}, {'Region': 'Capital', 'Densidad': 235.800000235, 'Superficie': 1497, 'Estado': 'Vargas', 'codigo_iso': 'VE-X', 'Poblacion': 419928, 'Capital': 'La Guaira', 'año_admision': '1998'}, {'Region': 'Centro-Occidental', 'Densidad': 84.60000084, 'Superficie': 7100, 'Estado': 'Yaracuy', 'codigo_iso': 'VE-U', 'Poblacion': 645688, 'Capital': 'San Felipe', 'año_admision': '1899'}, {'Region': 'Zuliana', 'Densidad': 73.70000073, 'Superficie': 63100, 'Estado': 'Zulia', 'codigo_iso': 'VE-V', 'Poblacion': 4694856, 'Capital': 'Maracaibo', 'año_admision': '1864'}, {'Region': 'Insular', 'Densidad': 18.0, 'Superficie': 120, 'Estado': 'Dependencias Federales', 'codigo_iso': 'VE-W', 'Poblacion': 2155, 'Capital': 'Gran Roque', 'año_admision': '1938'}]
In [6]:
#Luego se crea un dataframe de la lista de diccionarios
df = pd.DataFrame(lista)
df
Out[6]:

Capital Densidad Estado Poblacion Region Superficie año_admision codigo_iso
0 Puerto Ayacucho 9.900000e-01 Amazonas 161844 Guayana 177617 1992 VE-Z
1 Barcelona 3.390000e+01 Anzoátegui 2179838 Nor - Oriental 43300 1909 VE-B
2 San Fernando de Apure 6.000000e+00 Apure 501404 Llanos 76500 1864 VE-C
3 Maracay 2.356000e+02 Aragua 1819630 Central 7014 1909 VE-D
4 Barinas 2.320000e+01 Barinas 853949 Andina 35200 1937 VE-E
5 Ciudad Bolívar 7.870001e+00 Bolívar 2069064 Guayana 240528 1901 VE-F
6 Valencia 1.000071e+07 Carabobo 2342665 Central 4650 1865 VE-G
7 San Carlos 2.180000e+01 Cojedes 367020 Central 14800 1864 VE-H
8 Tucupita 4.650000e+00 Delta Amacuro 180363 Guayana 40200 1992 VE-Y
9 Caracas 7.246400e+03 Distrito Capital 4033186 Capital 433 1999 VE-A
10 Coro 3.640000e+01 Falcón 1064615 Centro-Occidental 24800 1872 VE-I
11 San Juan de Los Morros 1.150000e+01 Guárico 746174 Llanos 64986 1864 VE-J
12 Barquisimeto 8.960000e+01 Lara 1892439 Centro-Occidental 19800 1909 VE-K
13 Mérida 9.280000e+01 Mérida 903955 Andina 11300 1909 VE-L
14 Los Teques 3.365000e+02 Miranda 3112851 Capital 7950 1909 VE-M
15 Maturín 3.130000e+01 Monagas 938185 Nor - Oriental 28900 1909 VE-N
16 La Asunción 1.000048e+07 Nueva Esparta 525139 Insular 1150 1909 VE-O
17 Guanare 5.770000e+01 Portuguesa 897104 Centro-Occidental 15200 1909 VE-P
18 Cumaná 7.600000e+01 Sucre 892990 Nor - Oriental 11800 1909 VE-R
19 San Cristóbal 1.053000e+02 Táchira 1277241 Andina 11100 1899 VE-S
20 Trujillo 9.280000e+01 Trujillo 901239 Andina 7400 1864 VE-T
21 La Guaira 2.358000e+02 Vargas 419928 Capital 1497 1998 VE-X
22 San Felipe 8.460000e+01 Yaracuy 645688 Centro-Occidental 7100 1899 VE-U
23 Maracaibo 7.370000e+01 Zulia 4694856 Zuliana 63100 1864 VE-V
24 Gran Roque 1.800000e+01 Dependencias Federales 2155 Insular 120 1938 VE-W
In [7]:
#Si se quiere la información de Carabobo
mascara = df["Estado"] == "Carabobo"
df[mascara]
Out[7]:

Capital Densidad Estado Poblacion Region Superficie año_admision codigo_iso
6 Valencia 10000713.0 Carabobo 2342665 Central 4650 1865 VE-G
In [8]:
#Otra forma de traer la información de Carabobo
df.iloc[6]
Out[8]:
Capital            Valencia
Densidad 1.00007e+07
Estado Carabobo
Poblacion 2342665
Region Central
Superficie 4650
año_admision 1865
codigo_iso VE-G
Name: 6, dtype: object
In [9]:
#Para obtener la capital del estado
df.iloc[6]["Capital"]
Out[9]:
'Valencia'
In [ ]:
 
El proceso de eliminar la basura dentro del texto de algunos campos no se muestra, pero se usa en la construcción del diccionario.

Lunes 16 de abril de 2018

PDF Scraping para Pandas usando tabula-py

Hace un tiempo quería hacer pruebas de extracción de datos de PDF que publica la Administración Pública en Venezuela, ya que el concepto de Datos Abiertos no está muy claro por acá, lo más que se logra son documentos en PDF donde pegan gráficas y tablas como capturas de pantalla.

Artículos sobre webscraping.

Por cierto, existe un evento del día de los datos abiertos. Ese día fue el 3 de Marzo en este año. si le dan clic al mapa, aparece la lista de eventos de ese día por países.


Este artículo se basa en un artículo en inglés publicado en Medium sobre tabula-py.

Para el caso de Venezuela, no aparece en la lista de eventos de la fecha del 3 de Marzo.


Alianza para el gobierno Abierto.


Iniciativas de sitios de Datos Abiertos.


Que tal que pueda hacer un scraping y de una usar Pandas (Introducción a pandas) para Ciencia de Datos.

Existe una librería para Python llamada tabula-py, en el github de tabula-py se encuentra un archivo llamado data.pdf, ese será el archivo pdf que se va a extraer la información.


Para usar tabula-py se puede instalar vía pip:

pip install tabula-py

A continuación se muestra en jupyter como usar tabula-py:

In [1]:
#Se importa read_pdf de tabula
from tabula import read_pdf
In [2]:
#Se lee el archivo data.pdf y se muestra el encabezado del dataframe
df = read_pdf('./Data/data.pdf')
df.head()
Out[2]:
Unnamed: 0 mpg cyl disp hp drat wt qsec vs am gear carb
0 Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
1 Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
2 Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
3 Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
4 Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
In [3]:
#También se puede mostrar los datos en formato json
js = read_pdf('./Data/data.pdf',output_format='json')
In [4]:
#También se puede guardar un archivo en JSON, CSV,TSV
from tabula import convert_into
convert_into('./Data/data.pdf',"./Data/data.json",output_format='json')
#!cat ./Data/data.json
In [5]:
convert_into('./Data/data.pdf',"./Data/data.tsv",output_format='tsv')
#!cat ./Data/data.tsv
In [6]:
convert_into('./Data/data.pdf',"./Data/data.csv",output_format='csv')
#!cat ./Data/data.csv


A continuación se muestra la figura del editor que muestra data.csv:


Ahora se muestra el contenido del archivo data.tsv:



Al tener los datos en un dataframe se puede realizar toda la analítica de datos que se puede hacer con Pandas.


Lunes 02 de abril de 2018

Xavier Araque

Xavier Araque
Rendergraf

I’m back

 

Y finalmente he vuelto.

Luego de un momento crítico de la vida, no morir en un quirofano y luego recuperarme.

Por un tiempo estuve dedidaco a mi familia, mi trabajo. viajamos, aprendimos e incluso retirarnos por un otiempo de las actividades en apoyo al SL.

Hoy estamos aquí, en otra etapa de la vida pero con el mismo anímo.

Gracias a quienes etuvieron pendiente.

Martes 27 de marzo de 2018

Jesus Palencia

Lista de sitios para ver o descargar animé

Como el titulo lo indica esta es una pequeña lista (sin ningún orden en especifico) de sitios para ver o descargar animé, los enlaces en negrita utilizan HTTPS, espero les guste. Actualizado el 27/03/18 animeflv animeyt jkanime skanime animehdpro animeidonline … Sigue leyendo

Lunes 12 de marzo de 2018

Jesus Palencia

Ejecutar macOS Sierra 10.12 en VirtualBox 5.2 o superior

Para los fanáticos del sistema operativo de la manzana pero que por una razón u otra no poseen un equipo Apple les traigo un sencillo procedimiento para ejecutar macOS Sierra en VirtualBox.Para lo que no conocen VirtualBox es un software … Sigue leyendo

Domingo 11 de marzo de 2018

Jesus Palencia

Como emular la consola NES y donde bajar sus roms

Antes de ir con los emuladores y sus roms hablemos un poco de historia: “La Nintendo Entertainment System (conocida también como NES, Nintendo NES o N. E. S.)​ es una videoconsola de ocho bits perteneciente a la tercera generación en … Sigue leyendo

Sábado 10 de marzo de 2018

Héctor Colina

Unir el contenido de varias celdas en Libreoffice agregando texto personalizado

Hace poco estaba haciendo un informe en Libreoffice y necesité “colocar” el valor de varias celdas en una única celda pero agregando texto adicional, por ejemplo:

  • Celda B4= 20
  • Celda B5= 25
  • Celda B6 = B5-B6
  • Celda B7 = B6/100

Luego, en la celda B7, quería que apareciese algo como:

  • =B6 y representa el B7%

Es decir, quería que se mostrase el resultado de las operaciones realizadas en las celdas B6 (el resultado de la sustracción de las celdas B5 y B6), que agregase la cadena de texto “y representa el “, el resultado de la peración realizada en la celda B7 y el texto “%”

Esto en Libreoffice se puede hacer sin ningún problema, para ello, el contenido de la celda B7 debería contener algo como

=B6 &" y representa el " &B7 &"%"

Es importante recalcar:

  • Se empieza mostrando el contenido de la celda B6
  • Se deja un espacio y se utiliza el símbolo & para indicar que concatenaremos un valor
  • Se utilizan comillas ” para colocar cualquier cadena de texto arbitraria a utilizar, en nuestro caso y representa”
  • Se utilizaron varias símbolos de ampersand para agregar varias cadenas de texto
  • Valores de celdas adicionales son mostrados simplemente uniéndoles al símbolo de &

Espero que les útil este post

Jueves 08 de marzo de 2018

Mujeres en la tecnologías de la Información

Hoy 8 de marzo se celebra el día internacional de la mujer, y les quería comentar sobre las mujeres en la tecnología de la información. A pesar de que muchas personas piensan que está dominado por hombres (aunque actualmente las estadísticas dicen que hay mas hombres trabajando en IT que mujeres). En realidad varios de los grandes aportes realizados a la informática ha sido posible gracias al arduo trabajo de muchas mujeres.

Lista de mujeres influyentes en la informática

De hecho, los algoritmos, compiladores, el término bug, redes wifi, entre otros. Ha sido posible gracias a los estudios e investigación de mujeres, así que te comparto una pequeña lista de las mas famosas.

  • Ada Lovelace: desarrolló el primer algoritmo en 1843 y se le considera la creadora el primer lenguaje de programación, así que podemos llamarla como la madre de la programación.
  • Grace Hopper: aunque se le conoce erróneamente como creadora del término bug para describir fallas en una computadora. Su mayor aporte fue el desarrollo el primer compilador y creadora del lenguaje de programación COBOL, utilizado ampliamente en los bancos hoy en día.
  • Margaret Hamilton: conocida por sus contribuciones al software de control de vuelo de los Apollo, el programa que permitió llevar el hombre a la Luna.
  • Hedy Lamarr: además de ser ser actriz es considerada coautora de la tecnología para la comunicación inalámbrica, que derivo en lo que actualmente conocemos como WIFI.
  • Mitchell Baker: una de las fundadoras y actual jefe del consejo ejecutivo de Mozilla Foundation, la fundación detrás de Firefox. Ha impulsado movimientos para la web abierta y es una persona influyente en Internet.
  • Sophie Wilson: diseñó el primer procesador ARM, actualmente es la principal arquitectura utiliza para dispositivos móviles como celulares, tablets, etc.
  • Rózsa Péter: creo la teoría de funciones recursivas, un método de solución de problemas muy utilizado en la informática y la única.
  • Sara Sharp: ex-contribuyente del kernel Linux, fue la desarrollador del primer driver de USB 3.0 por allá en el 2009.
  • Frances E. Allen: primer mujer en ganar el premio Turing, con investigaciones en paralelismo y optimización de cómputo.
  • Evelyn Berezin: creadora del primer procesador de texto, del primer sistema de reservas de aerolíneas y se le conoce como fundadora de la primera computadora de oficina.

También puedes chequear esta imagen de La Vanguardia para conocer aún mas del tema.

Mujeres influyentes en la informática

Mujeres influyentes en la informática

¿Consideras que faltó alguna? Comparte cual faltó y explica sus contribuciones.

La entrada Mujeres en la tecnologías de la Información se publicó primero en El blog de Skatox.

Lunes 26 de febrero de 2018

Instalar Open edX Ginkgo 2 en Debian 9

Este articulo explica como instalar la plataforma Open edX Ginkgo 2 Rev.1 usando el instalador de Bitnami en Debian 9 Stretch en modo de pruebas local en su PC.

Las metas específicas a lograr con este articulo es la siguiente:

  • Descripción general del proyecto.
  • Instalar y configurar Open edX Ginkgo 2.
  • Instalar un curso demostrativo de ejemplo.
  • Conocer los detalles de la instalación de Open edX.
  • Gestionar la plataforma Open edX.
  • Ajustar las configuraciones de la plataforma Open edX.
  • Acceder a la plataforma Open edX vía Web.
  • Auditar el registro de eventos de la plataforma Open edX.

Introducción

Figura 1 - Logotipo de Open edX

Figura 1 – Logotipo de Open edX

Acerca de Open edX

edX es un proveedor masivo de cursos en línea abiertos (MOOC) y plataforma de aprendizaje en línea. Este hospeda cursos en línea de nivel universitario en una amplia gama de disciplinas para una audiencia mundial. Open edX se ha desarrollado como software de código abierto y puesto a disposición de otras instituciones de aprendizaje superior que quieren hacer ofertas similares.

Puede obtener más información sobre Open edX en http://open.edx.org/

Stack de Bitnami para Open edX

Figura 2 - Open edX con Bitnami

Figura 2 – Open edX con Bitnami

El Stack de Bitnami para Open edX, es un instalador que simplifica enormemente instalación de Open edX y dependencias de tiempo de ejecución. Incluye listo para funcionar versiones de Apache, Elasticsearch, Erlang, Java, Memcached, Mysql, MongoDB, Node, RabbitMQ, Erlang, Python y Ruby on Rails. Este stack es distribuido de forma gratuita bajo la licencia Affero GPL.

Componentes del Stack

El Stack de Bitnami para Open edX incluye las siguientes versiones de software:

  • Open edX Ginkgo 2
  • Apache 2.4.29
  • Elasticsearch 0.90.11
  • Erlang 20.1
  • Java 1.8.0_151
  • Memcached 1.5.4
  • MongoDB 2.6.12
  • Mysql 5.6.38
  • Node.js 6.12.2
  • Python 2.7.14
  • RabbitMQ 3.7.2
  • Rails 4.2.8
  • Ruby 2.3.6
  • RubyGems 2.6.14

¿Qué componentes están incluidos en el Stack de Bitnami para Open edX?

Hay tres componentes principales incluidos en el Open edX con tecnología de Bitnami:

  • edX Platform: pieza central de la arquitectura Open edX. Contiene el Learning Management System (LMS) y el Course Management System (CMS), llamado Studio.
  • XQueue: el cual es una aplicación desplegada de forma independiente, que define una interfaz para que el LMS se comunique con los servicios de gradadores externos.
  • Forum: el cual es una aplicación desplegada de forma independiente, utilizado por el LMS a través de API para integrar las discusiones en la experiencia del curso de los alumnos.

Hay otros componentes incluidos en el Stack, los cuales requieren los servicios de Open edX como RabbitMQ, MongoDB, MySQL, Memcached, Apache o Elasticsearch.

Más detalles de la arquitectura de componentes consulte el articulo Open edX Developer’s Guide documentation de la Wiki del proyecto Open edX Architecture.

Instalación del Stack

Figura 3 - Open edX Ginkgo

Figura 3 – Open edX Ginkgo

Se instalará Open edX Ginkgo 2 usando el instalador para Linux del Stack de Bitnami en Debian 9 Stretch.

Requerimientos del Stack

Para instalar el Stack de Bitnami para Open edX usted necesita cumplir con los siguientes requerimientos:

  • Intel x86 o procesador compatible.
  • Mínimo de 6144 MB RAM.
  • Mínimo de 25 GB espacio en disco duro.
  • Soporte al protocolo TCP/IP.
  • Sistema operativo Linux compatible con arquitecturas x86 o x64.

Instalando

Luego de descargar el programa de instalación aquí, usted debe otorgar permisos de ejecución del instalador vía consola, con el siguiente comando:

$ chmod +x bitnami-edx-ginkgo.2-1-linux-x64-installer.run

Luego puede iniciar el proceso de instalación, ejecutando el siguiente comando:

$ ./bitnami-edx-ginkgo.2-1-linux-x64-installer.run

Este mostrará una ventana como la siguiente:

Figura 4 - Iniciar el instalador del Stack de Bitnami para Open edX

Figura 4 – Iniciar el instalador del Stack de Bitnami para Open edX

 

Figura 5 - Seleccionar que componentes va instalar

Figura 5 – Seleccionar que componentes va instalar

 

Figura 6 - Indicar en que ruta instalar el Open edX

Figura 6 – Indicar en que ruta instalar el Open edX

 

Figura 7 - Crear cuenta de usuario administrador

Figura 7 – Crear cuenta de usuario administrador

ADVERTENCIA: Este usuario y contraseña debe anotarlo por que serán utilizado para labores administrativas vía consola o Web.

Figura 8 - Configurar el puerto del servidor RabbitMQ

Figura 8 – Configurar el puerto del servidor RabbitMQ

 

Figura 9 - Definir el nombre del host

Figura 9 – Definir el nombre del host

 

Figura 10 - Configurar ajustes de SMTP

Figura 10 – Configurar ajustes de SMTP

 

Figura 11 - Deshabilitar despliegue en la nube

Figura 11 – Deshabilitar despliegue en la nube

 

Figura 12 - Listo para iniciar la instalación

Figura 12 – Listo para iniciar la instalación

NOTA: Al iniciar el proceso puede tardar mucho, en mi caso duro un total de 7 horas todo el proceso de instalación, claro esta, esto puede variar de la cantidad de memoria y velocidad del procesador de su PC.

Figura 13 - Instalando - Preparando para instalar

Figura 13 – Instalando – Preparando para instalar

 

Figura 14 - Instalando - Desempacando archivos

Figura 14 – Instalando – Desempacando archivos

 

Figura 15 - Instalando base de datos MySQL

Figura 15 – Instalando base de datos MySQL

 

Figura 16 - Instalando - iniciando los servicios

Figura 16 – Instalando – iniciando los servicios

 

Figura 17 - Instalando - Failed to load module

Figura 17 – Instalando – Failed to load module “canberra-gtk-module”

ADVERTENCIA: Si el proceso de instalación muestre un mensaje como Failed to load module “canberra-gtk-module”, es debido a que debe instalar una dependencias necesarias para el correcto funcionamiento luego de culminar la instalación, ejecutando el siguiente comando:

$ sudo apt install libcanberra-gtk-module libcanberra-gtk3-module

 

Figura 18 - Instalando - ejecutando scripts de migración XQueue

Figura 18 – Instalando – ejecutando scripts de migración XQueue

 

Figura 19 - Instalando - generando archivos assets de la plataforma edX

Figura 19 – Instalando – generando archivos assets de la plataforma edX

 

Figura 20 - Ejecutando scripts de plataforma edX

Figura 20 – Ejecutando scripts de plataforma edX

 

Figura 21 - Completado instalación e inicie el servicio Open edX

Figura 21 – Completado instalación e inicie el servicio Open edX

Luego de finalizar la instalación, iniciará el panel de control del Stack de Bitnami, como se presente a continuación:

Figura 22 - Panel de control de Bitnami para edX versión Ginkgo 2

Figura 22 – Panel de control de Bitnami para edX versión Ginkgo 2

Detalles de instalación

A continuación se describe algunos detalles de los directorios de instalación realizada previamente:

Directorio principal de instalación

~/edx-ginkgo.2-1/

Script del panel de control de Bitnami

~/edx-ginkgo.2-1/manager-linux-x64.run

Directorio del servicio Apache 2 HTTP server

~/edx-ginkgo.2-1/apache2/

Directorio del servicio ElasticSearch

~/edx-ginkgo.2-1/elasticsearch/

Ejecutable de Erlang

~/edx-ginkgo.2-1/erlang/bin/erl

Ejecutable de Git

~/edx-ginkgo.2-1/git/bin/git

Directorio principal de Java

~/edx-ginkgo.2-1/java/

Ejecutable de Java

~/edx-ginkgo.2-1/java/bin/java

Ejecutable de memcached

~/edx-ginkgo.2-1/memcached/bin/memcached

Directorio principal de MongoDB

~/edx-ginkgo.2-1/mongodb/

Ejecutable de MongoDB

~/edx-ginkgo.2-1/mongodb/bin/mongod

Directorio principal de MySQL

~/edx-ginkgo.2-1/mysql/

Ejecutable del servidor MySQL

~/edx-ginkgo.2-1/mysql/bin/mysql

Directorio principal de NodeJS

~/edx-ginkgo.2-1/nodejs/

Ejecutable de NodeJS

~/edx-ginkgo.2-1/nodejs/bin/node

Ejecutable de NPM

~/edx-ginkgo.2-1/nodejs/bin/npm

Directorio principal de Perl

~/edx-ginkgo.2-1/perl/

Ejecutable de Perl

~/edx-ginkgo.2-1/perl/bin/perl

Directorio principal de Python

~/edx-ginkgo.2-1/python/bin/python

Ejecutable de Python

~/edx-ginkgo.2-1/python/bin/python

Entorno virtual Python “edxapp”

~/edx-ginkgo.2-1/apps/edx/venvs/edxapp/

Directorio principal de RabbitMQ

~/edx-ginkgo.2-1/rabbitmq/

Directorio principal de Postgresql

~/edx-ginkgo.2-1/postgresql/

Ejecutable de Postgresql

~/edx-ginkgo.2-1/postgresql/bin/pg_config

Directorio principal de Ruby

~/edx-ginkgo.2-1/ruby/

Ejecutable del script Gem

~/edx-ginkgo.2-1/ruby/bin/gem

Ejecutable de Ruby

~/edx-ginkgo.2-1/ruby/bin/ruby

Ejecutable de Sqlite3

~/edx-ginkgo.2-1/sqlite/bin/sqlite3

Gestión de la plataforma Open edX

Para gestionar la plataforma Open edX, disponen un panel de configuración disponible del Stack de Bitnami, ejecute el siguiente comando:

$ ~/edx-ginkgo.2-1/manager-linux-x64.run &

Al ejecutar el comando debe mostrar en panel de control del Stack de Bitnami como la siguiente pantalla:

Figura 23 - Panel de control de Bitnami edX versión Ginkgo 2

Figura 23 – Panel de control de Bitnami edX versión Ginkgo 2

Pestaña Welcome, esta muestra la bienvenida al panel de control del Stack Bitnami.

Figura 24 - Pestaña Manage Servers del Panel de control Bitnami

Figura 24 – Pestaña Manage Servers del Panel de control Bitnami

Pestaña Manage Servers, esta muestra el listado de servicios del lado izquierdo, del lado derecho están los botones Start, Stop, Restart  y Configure; los cuales sirven para gestionar cada servicio por separado. En la parte interior están los botones Start All, Stop All y Restart All; los cuales sirven para gestionar todos servicios por completo al mismo tiempo.

Figura 25 - Pestaña Servers Events del Panel de control Bitnami

Figura 25 – Pestaña Servers Events del Panel de control Bitnami

Pestaña Servers Events, esta muestra los detalles de eventos de errores o notificaciones de cada servicio al Iniciar, Detener o Reiniciar cada servicio.

Acceder a la plataforma Open edX

Luego de culminar la instalación tiene disponibles varios recursos Web disponibles los cuales se describen a continuación:

Homepage de Bitnami

Abra el navegador en la siguiente dirección URL http://127.0.0.1:8080/bitnami/index.html, en esta dirección Web lucirá como la siguiente captura de pantalla:

Figura 26 - Homepage de Bitnami

Figura 26 – Homepage de Bitnami

Este recurso Web es para ofrecerle información de la instalación disponible.

Open edX LMS

Abra el navegador en la siguiente dirección URL  http://localhost:8080/courses/, en esta dirección Web lucirá como la siguiente captura de pantalla:

Figura 27 - Plataforma LMS Open edX

Figura 27 – Plataforma LMS Open edX

Este recurso Web es una aplicación Web LMS, el cual es usada por los usuarios potenciales de cursos o usuarios participantes de cursos actualmente.

Consejo: Para acceder a esta aplicación puede usar el usuario y la contraseña definido en el proceso de instalación ilustrado anteriormente en la Figura 7.

edX Demostration Course

Abra el navegador en la siguiente dirección URL: http://localhost:8080/courses/course-v1:edX+DemoX+Demo_Course/, en esta dirección Web lucirá como la siguiente captura de pantalla:

Figura 28 - Curso de demostración edX

Figura 28 – Curso de demostración edX

Este recurso Web es el curso de demostración edX, el cual se indico que se creara durante el proceso de instalación, este se usa con la aplicación Web LMS.

Nota: Usted puede acceder al curso de demostración edX debido a que indico su creación en el proceso de instalación ilustrado anteriormente en la Figura 5.

Open edX Studio (CMS)

Abra el navegador en la siguiente dirección URL: http://127.0.1.1:18010/, en esta dirección Web lucirá como la siguiente captura de pantalla:

Figura 29 - Open edX Studio (CMS)

Figura 29 – Open edX Studio (CMS)

Este recurso Web es una aplicación Web CMS destinada para la creación de contenidos MOOC, el cual es usada por los usuarios instructores de cursos o creadores de los mismos.

Consejo: Para acceder a esta aplicación puede usar el usuario y la contraseña definido en el proceso de instalación ilustrado anteriormente en la Figura 7.

Open edX Django Admin

Abra el navegador en la siguiente dirección URL: http://127.0.0.1:8080/admin/, en esta dirección Web lucirá como la siguiente captura de pantalla:

Figura 30 - Open edX Django Admin

Figura 30 – Open edX Django Admin

Este recurso Web es para administrar la plataforma Open Edx, como esta en gran medida esta desarrollada con el Framework Django entonces muchas de las configuraciones de Open Edx se pueden realizar a través de esta interfaz administrativa Web de Django.

Consejo: Para acceder a esta aplicación puede usar el usuario y la contraseña definido en el proceso de instalación ilustrado anteriormente en la Figura 7.

Configuración

Para ajustar las configuraciones de cada uno de los diversos servicios de la plataforma Open edX, usted debe modificar sus archivos de configuraciones y vuelva a iniciar de nuevo los servicios, a continuación se listan cada archivo y su ubicación por servicios:

Configuración principal para el servidor HTTP

~/edx-ginkgo.2-1/apache2/conf/httpd.conf

Configuración Virtual Host general del servidor HTTP

~/edx-ginkgo.2-1/apps/edx/conf/httpd-vhosts.conf

Configuración Virtual Host de aplicación Open edX Studio (CMS)

~/edx-ginkgo.2-1/apps/edx/conf/httpd-cms.conf

Configuración Virtual Host de aplicación Open edX LMS

~/edx-ginkgo.2-1/apps/edx/conf/httpd-lms.conf

Configuración principal para el servidor ElasticSearch

~/edx-ginkgo.2-1/elasticsearch/config/elasticsearch.yml

Configuración principal para el servidor MongoDB

~/edx-ginkgo.2-1/mongodb/mongodb.conf

Configuración principal para el servidor MySQL

~/edx-ginkgo.2-1/mysql/my.cnf

Configuración principal para el servidor RabbitMQ

~/edx-ginkgo.2-1/rabbitmq/etc/rabbitmq/rabbitmq.config

Configuración principal de variables para RabbitMQ

~/edx-ginkgo.2-1/rabbitmq/etc/rabbitmq/rabbitmq-env.conf

Configuración de autenticación de Open edX Studio (CMS)

~/edx-ginkgo.2-1/apps/edx/conf/cms.auth.json

Configuración para la aplicación Open edX Studio (CMS)

~/edx-ginkgo.2-1/apps/edx/conf/cms.env.json

Configuración de autenticación de la aplicación Open edX LMS

~/edx-ginkgo.2-1/apps/edx/conf/lms.auth.json

Configuración para la aplicación Open edX LMS

~/edx-ginkgo.2-1/apps/edx/conf/lms.env.json

Registro de eventos (archivo log)

Para depurar posibles errores o auditar notificaciones de la plataforma Open edX, la cual incluye varios servicios en Stack de instalación, a continuación se describen cada registro de evento por servicios:

Archivo de registro acceso en el servidor HTTP

Para auditar los accesos al servidor HTTP, puede consultar el archivo log, con el siguiente comando:

$ tail -f ~/edx-ginkgo.2-1/apache2/logs/access_log

Archivo de registro de errores en el servidor HTTP

Para depurar posibles errores o notificaciones del servidor HTTP, puede consultar el archivo log, con el siguiente comando:

$ tail -f ~/edx-ginkgo.2-1/apache2/logs/error_log

Archivo de registro en el servidor RabbitMQ

Para depurar posibles errores o notificaciones del servidor RabbitMQ, puede consultar el archivo log, con el siguiente comando:

$ tail -f ~/edx-ginkgo.2-1/rabbitmq/var/log/rabbitmq/rabbitmq@localhost.log

Archivo de registro en el servidor MongoDB

Para depurar posibles errores del servidor MongoDB, puede consultar el archivo log, con el siguiente comando:

$ tail -f ~/edx-ginkgo.2-1/mongodb/log/mongodb.log

Archivo de registro en el servidor MySQL

Para depurar posibles errores o notificaciones del servidor MySQL, puede consultar el archivo log, con el siguiente comando:

$ tail -f ~/edx-ginkgo.2-1/mysql/data/mysqld.log

Archivo de registro de la aplicación Open edX Studio (CMS)

Para depurar posibles errores o notificaciones de la aplicación Open edX Studio (CMS), puede consultar el archivo log, con el siguiente comando:

$ tail -f ~/edx-ginkgo.2-1/apps/edx/var/log/cms/edx.log

Archivo de registro de la aplicación Open edX LMS

Para depurar posibles errores o notificaciones de la aplicación Open edX LMS, puede consultar el archivo log, con el siguiente comando:

$ tail -f ~/edx-ginkgo.2-1/apps/edx/var/log/lms/edx.log

Conclusiones

De esta forma usted ha aprendido a:

  • Instalar la plataforma Open edX.
  • Conocer los detalles de la instalación de Open edX desde el sistema de archivo.
  • Gestionar la plataforma Open edX desde el panel de control Bitnami.
  • Ajustar las configuraciones de la plataforma Open edX.
  • Acceder a la plataforma Open edX vía Web.
  • Auditar el registro de eventos de la plataforma Open edX.

Espero en próximas entradas sobre Open edX tocar sobre temas como múltiples sitios para diversos clientes y como personalizar la apariencia de esos sitios a las marcas de cada cliente usuario de la plataforma Open edX.

Referencias

¡Haz tu donativo!

Si te gusto este articulo, por favor, ayúdame a seguir escribiendo este tipo de articulo, haciendo donativos en Dólares vía el servicio Paypal haciendo clic aquí o en la siguiente imagen.


PayPal - The safer, easier way to pay online!


También puede realizar su donativo con Bitcoin (BTC) en escaneando el siguiente código QR:

¡Ayúdame a continuar Blog de lcaballero.wordpress.com!

O usando en la siguiente dirección:

bitcoin:13uZUXXqLP3Ct3ksWHXnDqSrbMbhDV9hGz

Anuncios

Miércoles 21 de febrero de 2018

Linus Said (Parodia de Lukas Graham por SuSE)

Todos los años SuSE realiza una parodia musical de una canción con letra adapta al código abierto. Su mas reciente parodia es Linus Said, copiando la canción de Lukas Graham. Las letras hablan sobre Linus Torvalds, la creación de Linux, el auge, etcétera.

Así que simplemente observen este excelente video musical para los amantes del open source y la música geek 😉

¿Qué tal les pareció?

La entrada Linus Said (Parodia de Lukas Graham por SuSE) se publicó primero en El blog de Skatox.

Jueves 08 de febrero de 2018

Héctor Colina

Running npm scripts continuously

Do you need runs npm apps in background?

Try forever a cli tool for runs npm script continuously.

Installing forever

npm install forever -g

Running forever

forever start your_app.js ---------> start your app

forever list ----------------------> show running apps with ids

forever stop your_app_id ----------> stop your app id

More information can be found in official forever page

That is all!

Enjoy this tip!

Martes 06 de febrero de 2018

Instalar Packet Tracer en Debian 32 y 64 bits

Está Escrito:
Te amo, oh Jehová, fortaleza mía. Jehová, roca mía y castillo mío, y mi libertador; Dios mío, fortaleza mía, en él confiaré; Mi escudo, y la fuerza de mi salvación, mi alto refugio.(Salmos 18:1-2)
 
Packet Tracer es la herramienta de aprendizaje y simulación de redes interactiva para los instructores y alumnos de Cisco CCNA. Esta herramienta les permite a los usuarios crear topologías de red, configurar dispositivos, insertar paquetes y simular una red con múltiples representaciones visuales...
   ...(saber más sobre Packet Tracer).

Hoy os voy a contar como se puede instalar Packet Tracer en Debian. Lo he probado en Squeeze 32bits, y en Wheezy 32 y 64 bits. Supongo que también servirá en Squeeze 64bits.

DESCARGAMOS PACKET TRACER 

De momento solo podemos descargar la versión de 32 bits pero se puede usar también en 64 bits. Podemos descargar la versión binaria que uso en este manual desde aquí o aquí. Si tienes problemas puedes probar a descargar otra versión desde aquí.

https://www.netacad.com/es/courses/packet-tracer-download/


COMENZAMOS LA INSTALACIÓN DE PACKET TRACER

Lanzamos una consola logueados como administrador, y vamos al directorio donde hemos descargado el archivo binario de Cisco Packet Tracer, en mi caso en "/home/imanol/Downloads".

# cd /home/imanol/Downloads

Comprobamos que tenemos Packet Tracer en este directorio :

# ls PacketTracer*-deb.bin
PacketTracer533_i386_no_tutorials_installer-deb.bin
Damos permisos de ejecución :

# chmod +x PacketTracer*-deb.bin
Lanzamos el instalador de Packet Tracer.


# ./PacketTracer*-deb.bin

32 bits

Podemos ver el mensaje de bienvenida :
Welcome to Cisco Packet Tracer 5.3.3 Installation
Read the following End User License Agreement "EULA" carefully. You must accept the terms of this EULA to install and use Cisco Packet Tracer 5.3.3.
Pulsamos ENTER para continuar. Nos muestra la licencia, que podemos pasar más rápido con la barra espaciadora, y al final para aceptar la licencia escribimos "Y" y pulsamos ENTER.
Comienza la instalación, si finaliza sin errores ya tenemos Packet Tracer instalado.

64 bits

Cuando veamos el mensaje de bienvenida...
Welcome to Packet Tracer 5.3.3 Installation
Read the following End User License Agreement “EULA” carefully. You must accept the terms of this EULA to install and use Packet Tracer 5.3.3.
Press the Enter key to read the EULA.
...abortamos el instalador de Packet Tracer pulsando simultáneamente "CONTROL" + "C". Como resultado de abortar la instalación hemos conseguido que el instalador nos deje el paquete deb de Packet Tracer en los temporales del sistema. Si nos equivocamos y no abortamos nos mostrará un error diciendo que no se puede instalar porque no corresponde la arquitectura. En este caso no dejará el paquete deb en temporales, así que vuelve a lanzar el instalador de Packet Tracer.
En mi caso tengo el paquete deb en "/tmp/selfextract.tnLtuc/PacketTracer-5.3_3.i386.deb". Para poder comprobar donde lo tienes puedes usar ls :
# ls /tmp/selfextract.*/PacketTracer*i386.deb
/tmp/selfextract.tnLtuc/PacketTracer-5.3_3.i386.deb
Vamos al directorio que contenga Paket Tracer, en mi caso "/tmp/selfextract.tnLtuc".
# cd /tmp/selfextract.tnLtuc

Instalamos librerías necesarias para poder ejecutar aplicaciones de 32 bits en amd64 :
# apt-get install ia32-lib
Instalamos Packet Tracer :
# dpkg -i --force-architecture PacketTracer*i386.deb


INSTALAMOS EL IDIOMA ESPAÑOL

Por defecto Packet Tracer viene en ingles, así que para trabajar más cómodos vamos a instalar el idioma en Español. Lo descargamos desde aquí o aquí.

En una consola de administrador, vamos al directorio donde lo hemos descargado, en mi caso al directorio "/home/imanol/Downloads".

# cd /home/imanol/Downloads

Comprobamos que la traducción está en este directorio :

# ls spanish*
spanish_PT_v2.ptl
Y lo copiamos a "/usr/local/PacketTracer5/LANGUAGES/".

# cp spanish_PT_v2.ptl /usr/local/PacketTracer5/LANGUAGES/


LANZAMOS PACKET TRACER

Lo podemos lanzar desde el menú, en "Aplicaciones/Internet/Cisco Packet Tracer".

También puedes lanzarlo en una consola de usuario :

$ /usr/local/PacketTracer5/packettracer

Como es la primera vez que lanzamos Packet Tracer nos pregunta si queremos guardar los archivos en el directorio PacketTracer5 de nuestro usuario. Pincho en "Yes".

Y como podemos ver ya lo tenemos instalado, pero en ingles.
 


CAMBIAMOS EL IDIOMA

Abrimos las preferencias de Packet Tracer pulsando simultáneamente CTRL+R o en el menú "Options/Preferences".

Seleccionamos el idioma spanish y pinchamos abajo en "Change Language".

Nos avisa que el idioma cambiará la próxima vez que iniciemos Packet Tracer.


Ahora cerramos y volvemos a lanzar Packet Tracer y ya tenemos Packet Tracer 5.3 en Español. La traducción todavía es incompleta pero está la gran mayoría.


Espero que os sea útil.


Referencia :

Tomado de : fundamentos-redes
Interfaces y Escenario del Packet Tracer
1._Interfaces_y_Escenario_del_Packet_Tracer.png

Para una mejor comprensión y detalle dividí las diferentes interfaces. En cada una van a encontrar el detalle y uso de cada item. Comencemos.
A) Interfaz Standard
2._Interfaz_standar.png


1) Nuevo / Abrir / Guardar / Imprimir / Asistente para actividades.
2) Copiar / Pegar / Deshacer.
3) Aumentar Zoom / Tamaño original / Reducir Zoom.
4) Dibujar figuras (cuadrados, círculos y líneas).
5) Panel de Dispositivos Personalizados: Sirve para agregar o quitar dispositivos personalizados.

B) Herramientas

3._Herramientas.png 1) Puntero. Sirve para seleccionar cualquier item o área en el escenario.

2) Sirve para mover el escenario.

3) Sirve para hacer anotaciones en el escenario.


4) Borrar del escenario un item.

5) Muestra las tablas del dispositivo (enrutamiento, NAT, ARP, MAC, etc.).


6) Inyecta tráfico simple (ping) de dispositivo a dispositivo.

7) Inyecta tráfico complejo (IP destino, TTL, intervalos, HTTP, Telnet, SNMP).




C) Dispositivos
4._Dispositivos.png


1) Routers: Muestra en el panel 9) los modelos de routers disponibles.
2) Switchs: Muestra en el panel 9) los modelos de switchs disponibles.
3) Hubs: Muestra en el panel 9) los modelos de hubs disponibles.
4) Dispositivos Wireless: Muestra en el panel 9) los modelos de dispositivos Wireless disponibles.
5) Medios: Muestra en el panel 9) los medios (serial, fibra, consola, etc) disponibles.
6) Dispositivos Finales: Muestra en el panel 9) los dispositivos finales (impresora, host, server, etc.) disponibles.
7) Emulación WAN: Muestra en el panel 9) las diferentes emulaciones WAN (DSL, módem, cable, etc.) disponibles.
8) Dispositivos Personalizados: Muestra en el panel 9) los diferentes dispositivos personalizados disponibles.
9) Panel de Dispositivos Seleccionados: Muestra los dispositivos disponibles según nuestra selección para utilizar en la topología. Se hace click en el dispositivo que deseamos utilizar y luego click en la parte del escenario que queremos ubicar nuestro dispositivo.

D) Tráfico
5._Trafico.png

1) Crea escenarios para las diferentes PDU.
2) Muestra los resultados de las diferentes PDU.
3) Abre una ventana que muestra las transacciones de diferentes PDU en tiempo real. 

Miércoles 24 de enero de 2018

La importancia del diseño web de un proyecto

El diseño web constituye la imagen que vamos a dar de nuestro proyecto online. La presencia que desvelamos es el primer contacto del cliente con nosotros. Resaltar nuestros puntos fuertes y hacer un espacio atractivo no es algo sencillo pero en cambio sí un concepto en el que nos tenemos que esforzar. ¿Sabes cuáles son las ventajas de hacerte con boceto interesante.

Cuando organizamos un proyecto web en el que hemos depositado toda nuestra confianza, todos esos puntos en los que invirtamos tiempo y dinero nos servirán en un momento futuro. Sin embargo, cuando tenemos la página delante de nosotros son muchas las dudas que aparecen por nuestra cabeza.Laptop Hands

Estudiar el diseño que vamos a dejar ver en nuestra página es una de las tareas más entretenidas que existen. No todas las estructuras valen para un mismo proyecto por eso, dar con aquella que nos llena resulta cada vez más complicado. ¿Serías capaz de conseguir el modelo mas parecido a tu proyecto a colocar línea?

¿Cómo puedo resaltar el diseño de mi página web?

Hoy en día existen todo tipo de programas que nos ayudan a tener un diseño web que gusta a todos los usuarios. Las plantillas WordPress constituyen una serie de ventajas que debemos siempre tener muy en cuenta. Por lo general esta distribución cuenta con modelos singulares que logran un proyecto único para nuestra empresa. La cantidad de vertientes programadas que tiene, nos ahorra cantidad de trabajo a nosotros los desarrolladores, la mano de obra.

Cuando hemos ideado un proyecto en línea y tenemos las pautas en nuestra cabeza es fundamental que pensemos también en la base del usuario. No es lo mismo que diseñemos una plataforma a ciegas que, como consumidores, nos pongamos también delante de la pantalla para implementar las mejoras.

La temática de nuestra web es algo que debemos tener muy en cuenta antes de pensar en la idea del proyecto. Dependiendo de aquello que vayamos a vender o promocionar en nuestro espacio en línea podremos hacernos con un tipo u otro de plantilla que sea más acorde con lo que queremos ofertar.

Si estamos pensando en un sistema de  localizador de coches es fundamental que el tema de vehículos y modelos de conducción lo tengamos más que esclarecido. Solo de esta forma podremos haber unificado la idea de la plantilla con lo que queremos ofrecer al usuario desde el primer momento en que entra en nuestra página web.

¿Existen temáticas adaptadas a una plantilla?

Si nos ajustamos lo suficiente, cualquier temática o producto que queramos vender en un momento determinado se puede organizar en la plantilla que tienes en mente. Para una página de uber iniciar sesión nos bastará con un sistema sencillo que nos refleje cuáles son las aplicaciones que consiguen esto o dónde podemos descargarlas con mayor facilidad.

Un proyecto web debe reunir una serie de cualidades que lo hagan atractivo a los ojos que lo están descubriendo pero también interesante de trabajar para la persona que se puso a idearlo. La temática es la base de cualquier idea que tengamos en la cabeza. Siempre que nos metamos en una plataforma para dejar un producto al cliente somos nosotros los primeros que tenemos que confiar en este.

Para un espacio que vende teléfonos móviles (por ejemplo esta página web) debemos estar al tanto de los temas (themes) sencillos y que tienen la imagen como la base principal de su concepto. Siempre que estemos ante un proyecto de productos que salen a la venta debemos apostar por un ejemplar a modo de catálogo dónde veamos todos los modelos de una tirada y podamos, en base a la fotografía y las características que tenga el artículo, escoger el que más nos ha gustado.

Las plantillas de wordpress nos sacan de muchos apuros. Antes teníamos que programar todo desde cero y si fallábamos en cualquier parte del código debíamos repetir todo de nuevo. Pero todo esto ha cambiado bastante y debemos darle las gracias a los CMS por haberlo hecho posible.

La entrada La importancia del diseño web de un proyecto se publicó primero en El blog de Skatox.

Martes 09 de enero de 2018

Carlos Colmenarez

Carlos Colmenarez
LINUX – El Blog de Zero

Darktable, la alternativa gratuita a Lightroom, ya está disponible en versión Windows

Darktable, la alternativa gratuita a Lightroom, ya está disponible en versión Windows

Darktable es uno de los programas de revelado RAW y edición fotográfica que quiere competir con el clásico Lightroom con la ventaja de ser totalmente gratuito. Pues bien, ahora se ha revelado la versión 2.4.0 que, por fin, se ofrece también en versión para equipos con sistema operativo Windows.

Hasta ahora el programa sólo estaba disponible para MacOS y Linux pero ahora llega para el SO de Microsoft (aunque con algunas limitaciones), con lo que abre su posible campo de acción en un ámbito bastante movido en los últimos tiempos, sobre todo después de que las últimas novedades de Lightroom hayan cambiado las reglas de juego pasando al pago por suscripción y la necesidad de usar la nube para trabajar con las fotos.

Darktable Windows

Por otro lado (y como era de esperar), la nueva versión de Darktable, que ya está disponible para su descarga desde este enlace, llega con novedades implementadas y errores corregidos. Entre ellas podemos destacar un nuevo módulo para la eliminación de la neblina, cambios en los módulos Deshacer y Balance de color, eliminación del límite de 51200 ISO para el tratamiento de las fotos y nuevos perfiles para tratar el ruido y, como suele ser habitual, soporte para un mayor número de archivos de nuevas cámaras.

Más información | Darktable

Visto en | Xatakafoto

Domingo 07 de enero de 2018

Jóvenes integrarán granjas de minería de la criptomoneda Petro

Está Escrito:
(Jesucristo) El respondió y dijo: Escrito está: No sólo de pan vivirá el hombre, sino de toda palabra que sale de la boca de Dios.(Mateo 4:4)
Tomado de : Aporrea
El presidente de la República Bolivariana de Venezuela, Nicolás Maduro, informó el pasado 27 de diciembre que a través del Plan Chamba Juvenil, jóvenes conocedores de criptomoneda serán incorporados a desarrollar granjas de minería de esta herramienta en el país.

"Vamos a llamarlos a ellos, a un equipo especial de criptomoneda, para montar granjas de minería de criptomoneda en todos los estados y municipios del país", expresó el jefe de Estado tras recibir un balance de este plan juvenil que han registrado a un total 860.811 jóvenes, de los que ya se encuentran en tareas productivas 300.000.

Inscríbete aquí: https://registro.blockchain.gob.ve/web/

La granjas de minería de una criptomoneda, están constituidas por computadores interconectados, a través de software especializados que se encargan del funcionamiento de este instrumento. Estos espacios son manejados por especialistas en la materia con el fin de contribuir con la garantizar y la confiabilidad del sistema.

El Petro fue creado el pasado mes de diciembre por el mandatario nacional, con el objetivo de avanzar a nuevas formas de financiamiento internacional y de romper el cerco financiero impuesto por el Gobierno de los Estados Unidos, que arreció el pasado año contra Venezuela.

Con esta herramienta, Venezuela implantó la primera criptomoneda en el mundo respaldada por las reservas de petróleo, gas, oro, diamantes y demás minerales naturales de un país. El 27 de diciembre, Maduro firmó el decreto que declara como sustento material de la criptomoneda Petro al campo número 1 del Bloque Ayacucho de la Faja Petrolífera del Orinoco.

Miércoles 13 de diciembre de 2017

ubuntu-ve: Ubuntu-ve LoCo Team ¡¡ ReAprobado hasta 2019!!

Jueves 16 de noviembre de 2017

Conoce como funciona Proxmox y como usarlo

Está Escrito:
Picture
Hermanos, yo mismo no pretendo haberlo ya alcanzado; pero una cosa hago: olvidando ciertamente lo que queda atrás y extendiéndome a lo que está delante, prosigo a la meta, al premio del supremo llamamiento de Dios en Cristo Jesús.

Tomado de : 911-ubuntu.weebly

¿Qué es PROXMOX?

PROXMOX VE “Virtual Environment” es una potente plataforma de virtualización de nivel empresarial 100% libre y sin límites en su uso.

PROXMOX VE ofrece beneficios similares a los productos para virtualización como VMware vSphere, Windows Hyper-V, Citrix XenServer, entre otros.

​ Siendo PROXMOX libre sin costo, lo puede instalar en cualquier cantidad de “Servidores físicos”, sin límite en uso de Procesadores y Sockets, Puentes de comunicación, o integración de NAS o SAN ya sea a través de Fibra Canal, iSCSI Over Ethernet o NFS.

En esta documentación vamos a presentar la versión PROXMOX 4.4 (12 de Abril 2017)

"Proxmox VE" en su sitio oficial pone a su disposición una imagen ISO para generar el instalador en un CD o USB/Memory.   La instalación se efectúa en un equipo vacío y en 15 minutos tiene preparado un servidor (Nodo) para colocar máquinas virtuales o integrarlo a un "Cluster".
Este tipo de instalación se conoce como "Bare-metal" lo cual significa que la instalación agrega todo lo necesario al equipo y lo configura para su disponibilidad en un ambiente productivo.


​¿Porque PROXMOX es libre y sin costo?

En resumen esta solución trabaja con “Debian OS + KVM virtualization + Container-based Virtualization”, toda la base es Libre y esto hace posible que el producto final sea libre.  El modelo de negocio de PROXMOX se basa en capacitación, certificaciones y soporte.

Principales características de PROXMOX

  • Administrador Web HTML5.   PROXMOX proporciona un interfaz Web para configurar los servidores físicos, cluster, máquinas virtuales, políticas de backups, restauración de backups, snapshots.  No es necesario instalar aplicaciones clientes en su máquina para administrar y siendo HTML5 le permite conectarse y gestionar el entorno virtualizado desde su Smartphone Android, Iphone, tablet's, entre otros.
  • Virtualización para la mayoría de Sistemas Operativos, en sus versiones 32/64bits:  Linux en todas sus versiones, Microsoft Windows 10 / 2016 / 2012 / 7 / 8/ 2003 / xp, Solaris, AIX, entre otros.
  • KVM (Máquina virtual basada en el núcleo) es una solución para implementar virtualización sobre Linux.  Puede funcionar en hardware x86/x86_64 y es necesario que el microprocesador tenga soporte de virtualización Intel "VT" y en AMD "SVM".​
  • Container-based Virtualization (LXC), es una alternativa para ejecutar máquina "Linux" en espacios separados.  A diferencia de la virtualización este funciona como un módulo agregado al servidor físico y hace uso directo del hardware (también conocido como Paravirtualización).
  • Backup & Restore de "Máquinas Virtuales".  En Proxmox el efectuar estas tareas es muy sencillo y se administra a través de su interfaz Web.  Puede efectuar un backup de forma inmediata o dejarlo programado.  La restauración es simple, solo debe de seleccionar el backup a restaurar y listo.
  • Snapshot Live.  le permite hacer copias instantáneas de "Máquinas Virtuales" incluyendo el contenido de la RAM, su configuración y el estado de los discos virtuales.  Usted puede retroceder en tiempo la "Maquina Virtual" restaurando spanshot's.
  • "Migración en caliente".  En la gráfica izquierda se muestra un pequeño cluster formado por 3 nodos y poblado con “Máquinas virtuales”.  Con fondo rojo se muestra un nodo con sobrecarga.  La administración de los nodos es centralizada a través de un interfaz Web, permitiéndole movilizar “Máquinas virtuales” entre cada “Servidor Físico (NODO)” sin tener que apagar la “Máquina Virtual”.​
  • "Cluster Alta disponibilidad".  Esta característica le permite definir reglas de “Alta disponibilidad” en el cluster, por ejemplo:  Si uno de los “Servidores Físicos (NODO)” esta sobrecargado, este transfiere automáticamente a otro “Servidor Físico (NODO)” con menos carga la “Máquina Virtual”.  Este ejemplo es una regla de "balanceo de carga entre nodos".
  • Administración centralizada.  En un "Cluster Proxmox" se debe definir una de los Nodos como "Orquestador" con el objetivo de centralizar el trabajo, sin embargo cada nodo cuenta con su propio administrador Web.
  • Cluster no SPOF (Single Point Of Failure).  Cada nodo "Servidor físico Proxmox" cuenta con su propio interfaz Web permitiendo  acceso a la administración de las "Máquinas Virtuales".  Si el nodo "Orquestador" llega a fallar, cada nodo tiene replicado la información del "Orquestador" y desde cualquiera de los nodos puede tomar control del cluster.
  • Puentes de red.  Proxmox administra las tarjetas físicas a través de "Bridges" que comparte a las "Máquinas Virtuales".  Es muy sencillo asociar 1 o varias tarjetas a un "Bridge" haciendo un balanceo automático del tráfico de datos.
  • NAS & SAN.  Es muy fácil el uso de NAS o SAN ya sea a través de Fibra Canal, iSCSI Over Ethernet o NFS. Proxmox no le limita.
  • Autenticación.  Puede configurar la autenticación de acceso al área de "Administración a los Nodos" a través de cuentas propias con Proxmox o utilizando LDAP/Active Directory.
  • Firewall.   Proxmox VE Firewall proporciona una manera fácil de proteger su infraestructura en un entorno virtualizado. Puede definir reglas de firewall para todas las máquinas virtuales o definir reglas precisas a una máquina virtual.

¿Porqué utilizar Proxmox?

La mayoría de productos de Virtualización Empresarial tienen un alto costo y su modelo de licenciamiento lo basan en la cantidad de equipos instalados, Procesadores, Socket's, entre otros.  Con Proxmox usted es libre de usarlo y sin limites.  Actualmente PROXMOX se mantiene en constante mejora y a través de sus actualizaciones le permite hacer uso de lo nuevo en su programación sin tener que pagar por ello.  Es como levantarse en un día de navidad y encontrar regalos!.

¿Cómo funciona Proxmox?

Proxmox, le permite instalar en múltiples equipos y los únicos requisitos que le pide es tener un "Procesador que cuente con VT o SVM" y que la máquina esté vacía.  El implanta Debian como sistema operativo y configura KVM para trabajar con el recurso físico.
Cada máquina con Proxmox se convierte en un NODO y puede trabajar de forma independiente o puede estar agrupado en un Cluster.  El beneficio de definir un Cluster es tener la administración centralizada, poder mover máquinas entre cada nodo, activar "Alta Disponibilidad" y aprovechar todo el recurso de los equipos físicos para la virtualización.
Para hacer uso de "Alta Disponibilidad" y "Mover Máquinas Virtuales sin apagarlas" es necesario definir un "dispositivo de almacenamiento de tipo NAS o SAN" por ejemplo OpenMediaVault o FreeNAS.  También puede utilizar ECM, NetAPP, DELL Equallogic, entre otros.

​​Container-based Virtualization (LXC)

" ​​Container-based Virtualization (LXC)" pone a su disposición un grupo de servidores "Linux" preconfigurados y listos para funcionar.  En el caso de LXC hace uso de "Paravirtualización", funcionando como un módulo agregado al servidor físico, haciendo uso directo del hardware.  Más información puede encontrarlo en este link...

¿Que nos permite el Administración Web PROXMOX?

  • Agregar "Máquinas Virtuales" y gestionarlas.  Por ejemplo, puede apagar, reiniciar, agregar hardware virtual, entre otros.
  • Mover máquinas entre cada nodo o activar "Alta Disponibilidad".
  • Conectarse directamente al interfaz gráfico o consola de la "Máquina Virtual" a través de una conexión segura VNC "HTML5 WebSockets and Canvas  --  NoVNC".
  • Programar Backups, restaurar backups o generar Snapshot.
  • Ver de forma gráfica la información de las "Máquinas Virtuales" como el tráfico de red, consumo de procesador, consumo de memoria, entre otros.
  • Subir medias en formato ISO para instalar sistemas operativos en las "Máquinas Virtuales".
  • Cambiar la configuración de los nodos.
  • Definir reglas en "Proxmox Firewall VE" para todas las "Máquinas Virtuales" o para una es especial.
  • El Administrador Web PROXMOX es HTML5 por lo cual le será posible conectarse y trabajar desde su Smartphone Android, Iphone, tablet's entre otros.

PROXMOX más allá de la virtualización (Alta disponibilidad)

Veamos el siguiente ejemplo que muestra un típico entorno virtualizado de tipo empresarial.
  • En la gráfica superior se muestra un pequeño cluster formado con 2 máquinas.  En la parte superior de la gráfica hay un switch que está dedicado a los usuarios de la red para acceder a las “Máquinas Virtuales” y los servicios que presten.  En la parte de abajo, un segundo switch esta asignado a los recursos de "Almacenamiento en red" donde se alojan los "Discos Virtuales" de las “Máquinas Virtuales”.
  • La gráfica anterior describe un escenario "SAN - iSCSI" que es una solución para medianas y grandes infraestructuras. 
  • Básicamente iSCSI es un método de conexión dedicado a “Dispositivos de Almacenamiento” a través de una red TCP/IP asignado exclusivamente para este fin.  Las “Máquinas Virtuales” almacenan sus “Discos Virtuales” en el “Dispositivo de almacenamiento de red” a través de iSCSI, de esta forma la carga de lectura/escritura de las “Máquinas Virtuales” no usan la red normal de uso de nuestro usuarios.

Domingo 12 de noviembre de 2017

César Mata Moya

César Mata Moya
PingüiniTux

Compilar warzone2100 2.3.9 en Ubuntu 16.04 para equipos que no soportan OpenGL >= 2.0

Instalar Paquetes

apt-get install build-essential automake flex bison libpopt-dev libpng12-dev libsdl1.2-dev libopenal-dev  libphysfs-dev libtheora-dev libglc-dev zip bisonc++ libtool libglew1.13 libminiupnpc10 libqt4-script libqt4-xml libqtcore4 libqtdbus4 libvorbisfile3 qtcore4-l10n

cd /var/tmp/

Descargar Fuentes

https://sourceforge.net/projects/warzone2100/files/archives/unsupported/Warzone2100-2.3/2.3.9/warzone2100-2.3.9.tar.gz/download
http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.2.tar.gz

En /var/tmp/
tar -xvzf warzone2100-2.3.9.tar.gz
mkdir /var/tmp/warzone2100-2.3.9/lib/vorbis

tar -xvzf libvorbis-1.3.2.tar.gz
cd /var/tmp/libvorbis-1.3.2/

./configure --libdir=/var/tmp/warzone2100-2.3.9/lib/vorbis/lib --includedir=/var/tmp/warzone2100-2.3.9/lib/vorbis/include --disable-shared --oldincludedir=/var/tmp/warzone2100-2.3.9/lib/vorbis/lib

make -j 2
make install

cd /var/tmp/warzone2100-2.3.9/

OGGVORBIS_CFLAGS="-I/var/tmp/warzone2100-2.3.9/lib/vorbis/include/" LDFLAGS="/var/tmp/warzone2100-2.3.9/lib/vorbis/lib/*.a" CFLAGS="-I/var/tmp/warzone2100-2.3.9/lib/vorbis/include/" OGGVORBIS_LIBS="/var/tmp/warzone2100-2.3.9/lib/vorbis/lib/*.a"  ./configure --prefix=/opt/warzone2100-2.3.9

OGGVORBIS_CFLAGS="-I/var/tmp/warzone2100-2.3.9/lib/vorbis/include/" LDFLAGS="/var/tmp/warzone2100-2.3.9/lib/vorbis/lib/*.a" CFLAGS="-I/var/tmp/warzone2100-2.3.9/lib/vorbis/include/" OGGVORBIS_LIBS="/var/tmp/warzone2100-2.3.9/lib/vorbis/lib/*.a"  make -j 2

make -Cpo install

Referencias:

http://developer.wz2100.net/wiki/CompileGuideLinux
http://developer.wz2100.net/wiki/CompileGuideLinux?version=38

Lunes 30 de octubre de 2017

César Mata Moya

César Mata Moya
PingüiniTux

Instalación de OCSInventory 2.3.1 en Debian Jessie 8.9 con Mysql 5.5 - Apache 2.4 - PHP5-FPM

PAQUETES

apt-get install mysql-server apache2 php5-fpm php5-gd libphp-pclzip libxml-simple-perl libdbi-perl libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl libio-compress-perl make build-essential  php5-curl php5-mysql

PHP5-FPM

Editar /etc/php5/fpm/pool.d/www.conf

listen = 127.0.0.1:9000
pm = ondemand
pm.max_children = 200

Editar /etc/apache2/sites-available/000-default.conf
Añadir antes de </VirtualHost>:

    <FilesMatch \.php$>
            SetHandler proxy:fcgi://127.0.0.1:9000
    </FilesMatch>

Editar /etc/apache2/sites-available/default-ssl.conf
Añadir antes de </VirtualHost>:

    <FilesMatch \.php$>
            SetHandler proxy:fcgi://127.0.0.1:9000
    </FilesMatch>

Reiniciar php5fpm:
/etc/init.d/php5-fpm restartActivar las configuraciones de Apache
a2enmod proxy_fcgi
a2enmod cgi
a2ensite default-ssl
a2enmod ssl
service apache2 restart
MYSQL

Configurar MySQL
mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'ocs'@'localhost' IDENTIFIED BY 'ocs' WITH GRANT OPTION;
exit
CPAN - PERL

Actualizar CPAN
perl -MCPAN -e shell
install CPAN
reload CPAN
exit
Instalar módulos de CPAN
cpan -i XML::Entities
cpan -i YAML
cpan -i Archive::Zip

OCSINVENTORY

Descomprimir OCSNG_UNIX_SERVER-2.3.1.tar.gz
tar -xvzf OCSNG_UNIX_SERVER-2.3.1.tar.gz
cd OCSNG_UNIX_SERVER-2.3.1
./setup.sh
Seleccionar todas las opciones por defecto
Ignorar *** Warning: PERL module Apache2::SOAP is not installed !
Editar /etc/apache2/conf-available/ocsinventory-reports.conf
Añadir después de <Directory /var/lib/ocsinventory-reports/download> las líneas:
Options Indexes FollowSymLinks
AllowOverride Options
a2enconf z-ocsinventory-server
a2enconf ocsinventory-reports
service apache2 restart
Acceder a la aplicación:
http://ip/ocsreports
Colocar los valores por defecto:
Usuario: ocs
Contraseña: ocs
Base de Datos: ocsweb
Host: localhost

Lunes 16 de octubre de 2017

Héctor Colina

docker y odoo – I

Desde hace algún tiempo, he venido trabajando-investigando con docker, tiempo en el cual he solventado algunos pequeños escollos a medida que se me han ido presentando.

Estos posts, de la serie docker, relatarán dichas peripecias.

En esta oportunidad, necesitaba ingresar como root dentro de un contenedor de docker sobre el cual funcionaba odoo; luego de leer la documentación [1], di con la instrucción precisa:

docker exec -u root -it odoo /bin/bash

La explicación de este comando es:

  • docker exec= ejecuta un comando docker dentro de una instancia determinada
  • -u root = usuario que ejecutará el comando, es importante notar que acá puede utilizarse tanto el nombre del usuario como uid del mismo
  • -it = esto es la unión de dos parámetros, -i -t, los cuales indican, respectivamente, ejecutar el comando de forma interactiva (-i) y crear una pseudo tty (-t) para “enganchar” un comando en específico. Es importante recordar que un contenedor es una máquina y que para acceder a la misma necesitamos “engancharnos”, esto es crear un pseudo dispositivo sobre el cual se anexará un comando
  • odoo = en esta secuencia es el nombre del contenedor sobre el cual se ejecutará la acción
  • /bin/bash = acá significa que esta es la orden a ejecutar

En resumidas, el comando dice

Crea un consola bash dentro del contenedor de nombre odoo y en la misma ingresa al usuario root

Espero les sea de ayuda

[1] https://docs.docker.com/engine/reference/commandline/exec/#options

Sábado 14 de octubre de 2017

ubuntu-ve: Ubuntu 17.10 (Artful Aardvark)

Sábado 07 de octubre de 2017

Richzendy Contreras

Richzendy Contreras
Gnu y Linux – Richzendy.org

Aplicaciones Web Progresivas

Martes 05 de septiembre de 2017

Jorge Ortega

Jorge Ortega
Joenco

Activando las Tecnologías de asistencia en el escritorio Mate en Canaima5.0

Hola amigos!, seguro me estaban extrañando, bueno espero que un poquito, he estado ocupado con algunos desarrollos en python3 y flask. En esta entrada revisaremos como activar las tecnologías de asistencia para que nuestro lector de pantalla orca funcione correctamente en el escritorio Mate.

Estos son los pasos a seguir para activar las tecnologías de asistencia, teniendo en cuenta que debemos tener instalado en nuestro equipo Canaima5.0 con el escritorio Mate. Los pasos serán explicados de forma que una persona ciega pueda ejecutarlos sin ayuda visual, así que manos al teclado:

  1. Abrir el menú principal presionando las teclas alternar+F1.
  2. Presionamos 4 veces la tecla de dirección arriba, lo que nos lleva a “Sistema”.
  3. Luego estando en “Sistema”, presionamos una vez la tecla derecha, esto nos ubica en “Preferencias”, ahora presionamos de nuevo la tecla derecha y la tecla de arriba 2 veces, lo que nos ubica en “Personal”
  4. Ya colocados en “Personal” presionamos una vez la tecla a la derecha y una hacia arriba que nos deja en “Tecnologías de asistencia”.
  5. Estando en “tecnologías de asistencia” pulsamos la tecla enter, lo que nos abrirá una ventana.
  6. En esta ventana abierta, presionamos una vez la tecla tabular, que nos lleva a “Activar las tecnologías de asistencia” que es una casilla de verificación que deberemos marcar, pulsando la barra espaciadora.
  7. Ya habiendo activado la casilla de “Activar las tecnologías de asistencia”, presionamos 4 veces el tabulador, para llegar al botón de “Cerrar”, aquí presionamos enter.
  8. Reiniciamos el equipo con control+alternar+F1 y presionando Mayusculas+tabular 2 veces para que nos lleve al botón “Reiniciar” y pulsamos enter

Listo, solo queda activar el lector de pantalla orca cuando reinicie el equipo, en caso que no sepas como activar el Orca solo presiona alternar+F2, escribe “orca” sin las comillas y presiona enter, el lector debería activarse.

La verdad se ha hecho un excelente trabajo con la accesibilidad en Canaima5.0 con el escritorio “Mate”, Felicidades a todo el equipo!. Como comentario constructivo, espero que los desarrolladores de Canaima (que se que tienen mucho trabajo), solo activen las “Tecnologías de asistencia” de forma predeterminada en las nuevas actualizaciones, para no estar haciendo todas estas maromas, que al final solo frustra a los nuevos compañeros con discapacidad visual en el uso de esta distribución.

Para finalizar aquí está un resumen de los pasos con las teclas de dirección para llegar a la ventana de “Tecnologías de asistencia”:

Se abre el menú principal (alternar+F1), luego 4 veces la tecla arriba, 2 veces la tecla derecha, 2 a arriba, una a la derecha, una a arriba, luego enter. Se nos abre una ventana por lo que pulsamos una vez la tecla tabular, ahora presionamos la barra espaciadora, 4 veces el tabulador y por último la tecla enter. Ya nos toca reiniciar el equipo y activar el lector de pantalla.

Estos pasos los tomamos de una Mini Cayapa Canaima de Tecnologías Asistivas, realizada el 20 de Julio del 2017 en Caracas, con compañeros con discapacidad visual y desarrolladores de la distribución Venezolana Canaima.

Saludos y no duden en comentar, preguntar o dar sus sugerencias!!

Lunes 31 de julio de 2017

José Miguel Parrella Romero

José Miguel Parrella Romero
null pointer dereference

The story behind the open cloud ninja sloth

A couple years ago Sara was leading a project to figure out a way to convey the spirit of an open cloud to our internal audiences. A recurrent element in our journey has been the need to communicate visually not only the growing portfolio but also the multi-faceted open source strategy in the cloud, recognizing the many nuances and complexities of it.

Over the years we’ve crafted many vehicles to do so, from the simple ones like this spheniscidae, the hexagon, or the many logo slides to the complex like the portfolio, choice or approach ones. But we were missing simpler elements, particularly ones with a story that you can tell at a bus stop. I kept telling Sara to think as an open cloud enthusiast picking which temporary tattoo to apply. So working with the internal community the team came up with the open cloud ninja sloth:

As you can notice, the sloth came with the addition of an icon highlighting the “open” nature of the cloud, and our designer was quick to notice the hidden heart as well. Since then, the sloth and the open cloud icon have been spotted from stickers to challenge coins, but I was never expecting to find an Aussie wearing an open cloud ninja sloth t-shirt in Las Vegas (arguably, Vegas would be the one place where you could expect that)

Funnily enough, I didn’t know where he got his t-shirt from (Ignite Australia), and he didn’t know where the sloth came from. So I shared with him the story of the open cloud ninja sloth. The cloud with a heart that is literally open and the ninja sloth committed to that open cloud which might surprise you… even if slooooow.

I learned a ton from the journey of the open cloud ninja sloth and can’t stop encouraging teams to work on their icon and spirit animals even if they don’t have a product or a brand to push and even if they excel at any other type of visual expression.

At the very least it invites a question at a bus stop, or an impromptu storytelling session in Vegas.

With a hat tip to Ken, Ale and David, thanking Caroline for always reminding me when someone asks for the story and wishing Sara all the best in her new role!


Miércoles 26 de julio de 2017

Instalación de phpPgAdmin en Debian Jessie

Introducción

Hace un tiempo publique como instalar un servidor de base de datos PostgreSQL en Debian Wheezy, en esa oportunidad explicaba como instalar y configurar el servicio del servidor PostgreSQL desde la linea de comando, ahora le ofrezco como administrar gráficamente este servicio de base de datos para usando una herramienta gráfica y Web llamada phpPgAdmin.

phpPgAdmin

Instalación

Para este caso se instalara phpPgAdmin en Debian GNU/Linux Jessie con el servidor y un cliente de lineas de comando PostgreSQL de la versión 9.1, ejecutando el siguiente comando:

$ sudo apt-get install phppgadmin php5-pgsql

Configuración

Una vez realizado esto, ya el programa esta instalado y tienen un muy practico y además elegante frontend para administrar su servidor de Postgresql, recuerden que por defecto no podrán iniciar sesión en el servidor desde phpPgAdmin como root, postgres u otro usuario de este tipo, si lo desean deben realizar un cambio en el archivo:

$ sudo nano /etc/phppgadmin/config.inc.php

El archivo config.inc.php este archivo lo pueden encontrar en /etc/phppgadmin/ deben cambiar la siguiente línea:

$conf['extra_login_security'] = true;

por esta linea:

$conf['extra_login_security'] = false;

Una vez hecho ese cambio puede ejecutar su instalación.

Ejecución

Acceda a la siguiente dirección URL http://127.0.0.1/phppgadmin/

Bienvenido a phpPgAdmin

Bienvenido a phpPgAdmin

Para acceder a administrar sus base de datos usted allí debe colocar el nombre de usuario y contraseña de PostgreSQL, entonces le mostrar una pantalla principal de gestión de base de datos Web de phpPgAdmin.

Configuraciones generales de phpPgAdmin

Configuraciones generales y Bases de datos desde phpPgAdmin

De esta forma puede administrar sus bases de datos de forma gráfica y a través de la Web usando el navegador de su preferencia.

Ver también

Le recomiendo consultar el siguiente enlace para complementar el conocimiento adquirido en esta entrada en mi blog.

Referencia

¡Haz tu donativo!

Si te gusto este articulo, por favor, ayúdame a seguir escribiendo este tipo de articulo, haciendo donativos en Dolares vía el servicio Paypal haciendo clic aquí o en la siguiente imagen.


PayPal - The safer, easier way to pay online!


También puede realizar su donativo con Bitcoin (BTC) en escaneando el siguiente código QR:

¡Ayúdame a continuar Blog de lcaballero.wordpress.com!

O usando en la siguiente dirección:

bitcoin:13uZUXXqLP3Ct3ksWHXnDqSrbMbhDV9hGz

Instalar Odoo 9 en Windows 8

Este articulo explica como instalar un servidor local Odoo 9 en Windows 8 en modo de pruebas local en su PC.

Introducción

Logotipo de Odoo 9

Logotipo de Odoo 9

Odoo (conocido hasta la versión 7 como OpenERP y anteriormente hasta la versión 4 como TinyERP) es mas que un sistema de ERP integrado de código abierto actualmente producido por la empresa belga Odoo S.A. El fabricante declara su producto como una alternativa de código abierto a SAP ERP y Microsoft Dynamics.

Instalador para Windows

También conocido Instalador empaquetado, Odoo ofrece una forma simple de empezar a usarlo bajo la plataforma como:

Este instalador le permite una mayor flexibilidad en el alojamiento y despliegue del sistema y un mayor control sobre dónde se almacenan los datos. La carga de mantenimiento se transfiere al usuario.

Adecuado para realizar pruebas de Odoo, desarrollando módulos para su negocio y puede ser usado para el uso de entornos de producción de su negocio a largo plazo con unos trabajos adicionales en las configuraciones de despliegue y mantenimiento.

Instalando

Luego de descargar el archivo de instalación aquí haga doble clic sobre el archivo para lanzar el asistente de instalación:

Seleccionar idioma del instalador

Seleccionar idioma del instalador

 

Bienvenida al instalador de Odoo 9

Bienvenida al instalador de Odoo 9

 

Aceptar los términos de licencia de Odoo 9

Aceptar los términos de licencia de Odoo 9

 

Seleccionar que componentes del Odoo 9 debe instalar

Seleccionar componentes de Odoo 9 a instalar

 

Definir las credenciales de usuario y base de datos de la aplicación Odoo 9

Definir las credenciales de usuario y base de datos de la aplicación Odoo 9

 

Definir ruta de instalación de Odoo 9

Definir ruta de instalación de Odoo 9

 

Ejecutando la instalación de Odoo 9

Ejecutando la instalación de Odoo 9

 

Instalando motor de base de datos de Odoo 9

Instalando motor de base de datos de Odoo 9

 

Instalación de Odoo 9 completa

Instalación de Odoo 9 completa

 

Iniciando el servicio de Odoo 9

Iniciando el servicio de Odoo 9

Luego continue en una ventana del navegador en la dirección http://127.0.0.1:8069

Recrear la Base de datos de Odoo

Por primera vez, verá gestor de bases de datos para crear su primera base de datos. Esto se realiza por que Odoo le permite tener varias aplicaciones en un mismo servidor.

Creando BD de aplicación Odoo

Creando Base de Datos para aplicación Odoo

Esta pantalla aparecerá la primera vez que instale Odoo o luego que decida crear una nueva base de datos para una nueva aplicación Odoo. Para posterior acceso al este modulo consulte la dirección URL: http://127.0.0.1:8069/web/database/manager

Habilitando módulos disponibles de Odoo

Luego que defina su bases de datos para la aplicación Odoo, debe habilitar los módulos disponibles para mi aplicación Odoo

Habilitando módulos disponibles para mi aplicación Odoo

Habilitando módulos disponibles para mi aplicación Odoo

De esta forma ya tiene instalado y configurado inicialmente el servidor Odoo con una aplicación web de Odoo, solo quedara realizar configuraciones básicas de la aplicación, creación la empresa, sus empleados, sus usuarios y demás procedimientos propios de cada modulo habilitado en esta aplicación para poder empezar a usar Odoo.

Detener servidor Odoo

Para detener el servidor Odoo use el Panel de control de Servicios de Windows para Reiniciar/Iniciar/Detener del servicio Odoo.

Diríjase al Menú Inicio –> ingrese Servicios –> busque Odoo Server –> Seleccione linea y haga clic en los botones Reiniciar / Iniciar / Detener de arriba.

Referencias

¡Haz tu donativo!

Si te gusto este articulo, por favor, ayúdame a seguir escribiendo este tipo de articulo, haciendo donativos en Dolares vía el servicio Paypal haciendo clic aquí o en la siguiente imagen.


PayPal - The safer, easier way to pay online!


También puede realizar su donativo con Bitcoin (BTC) en escaneando el siguiente código QR:

¡Ayúdame a continuar Blog de lcaballero.wordpress.com!

O usando en la siguiente dirección:

bitcoin:13uZUXXqLP3Ct3ksWHXnDqSrbMbhDV9hGz

Viernes 07 de julio de 2017

José Miguel Parrella Romero

José Miguel Parrella Romero
null pointer dereference

Behind the whys

This post is inspired in equal parts by Ashley’s fantastic post on why she joined Microsoft and Keith’s one on why he left Microsoft. Both tell great stories about open source at Microsoft. Here’s my take on them.

There’s no shortage of stories when it comes to open source in this place. Later this summer, it’ll be 7 years since I joined Microsoft, every single day of which I’ve spent working passionately in the open source space.

I joined Microsoft as an expat living in Ecuador when the local GM asked me to lead open source strategy for a handful of emerging markets in the region. At that time, I had spent 8 years of my career focusing on open source, from community to product. Canaima had been in market for a year and I was actively applying the learnings from years involved in policymaking efforts in Venezuela where I had the opportunity to join congressional workshops and debate with Microsoft reps that would then become my colleagues.

Suffice to say that what was front and center in every conversation I had wasn’t associated with Microsoft back then, and that my decision to join Microsoft didn’t come without repercussions.

I was immediately dismissed from the board of a local free software group and countless networks and contacts closed, a few still to date. My dad gifted me a copy of this book shortly after a local newspaper ran an interview with me about open source which he disagreed with (he insists I’m reading too much into the gift) And like many others, I was also thrown into the world of Office and Windows, products I hadn’t used since I was a teenager.

There are increasingly more posts (like Ashley’s) that brilliantly explain why would someone come in those conditions, and I won’t bother you with mine because hindsight is 20/20, but let me say that as terrible as all of that might sound, it was also a true calling – a calling for transformation. And after all this time responding to that call, I realize how thankful I am for being able to say my entire career at Microsoft has been focused on open source.

On one of my first trips to Redmond, I got to meet a handful of others in my role around the globe, and we were starting to cross-pollinate that community with the high-profile hires Microsoft had then. Just a few years later I had an opportunity to come to Redmond and help lead that community – a community that is still heavily influenced by Ramji’s and Hilf’s contributions to the space.

While in LATAM I had an opportunity to drive impact in disruptive ways: from supporting a Postgres conference (5 years before we had this) to coaching Microsoft Student Partners in rolling out a Linux distro. In my first few years in Redmond, I worked on projects from deprecating taxonomy and helping write priority memos so it was unequivocally clear how we wanted to work with open source, to curating and sharing global best practices and defining field strategy, all things I did with Mark Hill while I was his CTO.

Of course, those were testing years. I would equate some of my experiences to trying to change a belt in a running engine. It didn’t take long to realize we needed a new engine, and I had the opportunity to write a spec for it in an internal forum called ThinkWeek. When the paper got a Certificate of Excellence (long story short, way too many Skypers voted for it) I realized that the pieces had arrived and we were being offered a chance to build it. John said it best in his ChefConf keynote: it was a mix of opportunity, changing demographics and strategy shifts.

And although open source is visible across the company, it’s much harder to hide it in Azure, a product that I had first interacted with in 2008 (when Miguel de Icaza ran an open source panel at PDC08) and that I had mostly ignored in my first years at Microsoft (arguably because it was called Windows Azure then) but that in my eyes provided a clear vehicle for that open source transformation I joined for.

And so that’s how I ended up in the cloud whirlwind a few years ago, focusing on the open source portfolio across Linux, Java, Node.js, DevOps and containers, helping define and land our approach to open source and supporting our work with the ecosystem at large, lurking behind papers and decks in partnership with amazing people like John, Julia, Joseph, Gebi, Mark or folks around the globe like Caroline, Frederic, Alex, Rafael, Olga or Tito.

The first time I traveled to Redmond I met a dozen of open source enthusiasts from around the world (it might have been Gianugo’s first day, too) and fast forward to today where I get to share with 700 of my colleagues in a Yammer group dedicated to open source in the cloud. My colleague Stuart volunteers to help employees that want to take the LFCS certification: that’s another 700. Our team lives and breathes open source in a way that lets us share market intelligence with customers, partners and the community at large.

Later this month at our yearly readiness conference we will have a dedicated open source track. At the Inspire conference, we’ll award the Open Source Partner of the Year award for the third year in a row. And there’s no shortage of industry chatter on this transformation – for which we’re thankful and we learn every day.

But it’d be very easy to get lost in what’s new and what’s different and not realize why it’s meaningful. Stories like Ashley’s give us not only a fresh perspective but the energy to run the engines. And stories like Keith’s and others who have pursued a different career at Microsoft or elsewhere after being part of this open source journey (like Alessandro, Sara, Ahmet or Nik) motivate us to do it right.

When college interns and high schoolers alike reach out to shadow and spend time learning about open source in a place like this, that’s meaningful. When a customer in France interrupt your presentation to ask for your take on a particular corner of the open source world so they can make investment decisions, well, that’s simply awesome.

And that’s why stories like these inspire all of us doing open source at Microsoft. Welcome, good luck, keep being awesome, stay in touch, whatever that is: here’s to more open source stories!


Lunes 26 de junio de 2017

¿Realmente te conoce? –AdsBlock

Este post nace a través de este enlace Dataselfie, conociendo al Algoritmo de Facebook y su Machine Learning. en el que hablan de como funciona el proceso de la publicidad que te sale en facebook,  a través del tiempo ya has dibujado tu perfil en facebook sea por búsqueda o por likes todo lo que hagas dentro de esa red social te va a salir, luego que ya saben que es lo que te gusta te empiezan a mandar publicidad acorde a ella, nunca se habían realizado esa pregunta ¿Por que me sale esto?. si quieren conocer que facebook sabe mas que ustedes tranquilamente, pueden abrir  este enlace Preferencias Ads en Facebook

El cual con la sesión abierta de facebook, desglosan en Intereses, y veras todo tus gusto, lo que por alguna razón buscaste o le diste por omisión. Ahí te conocerás realmente que es lo que te gusta.

Ya que donaste los datos, que puedo hacer.

Lo mas sensato es darse de baja de una red social donde juegan con tu información. si quieres seguir usándolo lo mas lógico seria usar AdsBlock  que lo puedes instalar en firefox y chrome, no vas a ver mas publicidad pero igual en cualquier momento que abras un enlace vas a empezar a crear nuevamente tu perfil.

Hace años 10 años una persona que respeto me compartió este video sigue vigente creemos que los servicios que usamos son gratis realmente.
https://www.youtube.com/watch?v=6bYLRGS3vFs

 

 

 

 

 

 

 

 

 

Domingo 25 de junio de 2017

Activar/desactivar registro de usuarios en WordPress

Registro WordPress

La solución es de forma inmediata, dentro del Escritorio (al que accedas administración del WordPress), le vas hacer click en  a Ajustes, Generales y activas o desactiva el checkbox de: Cualquiera puede registrarse. depende para lo que requieras.

Si lo que tienes  problema con usuarios que se registran y en realidad son robots o personas spammers, usa el plugin que mencione anteriormente  http://blog.julioh.com.ve/?p=476 en el cual se hace ocultar la url de wp-admin  otra forma es usando .httpass dentro de los directorios y bloqueando su acceso, o en su momentos podrías saber cual es tu ip para indicarle desde donde te conectas por ejemplo algo así.


order allow,deny
deny from 8.8.8.8
deny from 8.8.8.9
allow from all

Sábado 24 de junio de 2017

Seguridad en WordPress , Garantizar el acceso a wp-admin

WordPress por ser un CMS mas usado pues tienes vulnerabilidades y necesitamos blindarlo en seguridad y que mejor usando plugins para que no tengas una mala experiencia.

Esta es una de esas en la cual la ruta  ../wp-admin/ la remplazas para evitar acceso a ella.

En el caso el plugin WPS Hide Login no vas a eliminar /wp-login.php o /wp-admin , pero si lo va remplazar para no sea visible y colocaremos una url que solo sabremos nosotros.

Lo buscamos  WPS Hide Login en plugins  haz clic en Instalar y posteriormente en Activar.

En el plugin accede a Ajustes, Generales y establece la palabra de paso que sustituirá al clásico:

wp-admin por no-vasaentrar guardas los cambios y pruebas.

Configuración del plugin

Cuando intentas acceder a  http://tu-dominio.com/wp-admin
Te dará un 404 not found

De igual forma  también para  /wp-login.php no existen.

 

Prueba de acceso incorrecta

Si por el contrario pones la url de tu dominio con la palabra de paso establecida:

http://tu-dominio.com/?no-vasaentrar

Te va a salir tu panel para acceder, que se busca con esto, evitar ataques de diccionario, evitar suscripciones y proteger tu CMS de la mejor manera.

si por casualidad no te acuerdas de la url, puedes borrar el plugin en la carpeta wp-content y vuelve a la ruta original

 

Sábado 17 de junio de 2017

Richzendy Contreras

Richzendy Contreras
Gnu y Linux – Richzendy.org

Comunidad WordPress Venezuela en Telegram

Domingo 14 de mayo de 2017

José Miguel Parrella Romero

José Miguel Parrella Romero
null pointer dereference

Why I’m writing about hackers and parenting in Spanish

Earlier this month I went live with a self-published e-book in Spanish titled Cómo criar un hacker: how to raise a hacker.

This book is aimed at parents who are not IT professionals but wish to understand the hacker ethos and a key set of things they can do to build that ethos that is more than just teaching kids to code.

Sure, in the book I say it’s OK if your child isn’t interested in coding, I mention 2600 and Club Mate and I quote ESR profusely (largely for his authority on this topic, and not because I validate or agree with every position of his) but I hope all of that isn’t controversial because it isn’t at the core of the motivations for the book.

Instead, I challenge the inconsistent and unjustified battle against screens, I highlight the relevance of open source and I stake a claim for hackers on note taking and humor as a tool for building character and I do this all under the assumption that digital natives (whatever that means) aren’t set for excellence in a generation where every world leader is also a digital native: only hackers are.

Since this is a short book on parenting, I evidently don’t go into building actual infosec skills at any significant depth. I don’t even discuss the tactics of screen management, covered eloquently and empathetically in books like Screenwise.

In fact, it was by reading reviews on similar work that I found a huge gap in Spanish-speaking markets on this and decided to start there (plus, self-publishing in English would probably have taken me longer as I’m not a native English speaker)

I’m ultimately neither a family counselor, not an expert on parenting. I was just raised a hacker by folks who didn’t even know what that was. Feedback is always welcome. (Cómo criar un hacker is available on Amazon and Smashwords)


Viernes 14 de abril de 2017

ubuntu-ve: FLISoL 2017

Viernes 07 de abril de 2017

Richzendy Contreras

Richzendy Contreras
Gnu y Linux – Richzendy.org

Invitación al FLISOL San Cristóbal 2017

Sábado 25 de marzo de 2017

Git log para obtener commits de una branch específica

Tengo un repositorio en el que estoy trabajando en unas 4 branches diferentes. Y hoy retomando el trabajo en una, quería solamente mostrar el log de los commits hechos en dicha branch. ¿Cómo se hace?.

Viernes 10 de febrero de 2017

Silvio Perez: Ansible … :)

Domingo 08 de enero de 2017

David Moreno

David Moreno
dm's blog

Thanks Debian

I sent this email to debian-private a few days ago, on the 10th anniversary of my Debian account creation:

Date: Fri, 14 Aug 2015 19:37:20 +0200
From: David Moreno 
To: debian-private@lists.debian.org
Subject: Retiring from Debian
User-Agent: Mutt/1.5.23 (2014-03-12)

[-- PGP output follows (current time: Sun 23 Aug 2015 06:18:36 PM CEST) --]
gpg: Signature made Fri 14 Aug 2015 07:37:20 PM CEST using RSA key ID 4DADEC2F
gpg: Good signature from "David Moreno "
gpg:                 aka "David Moreno "
gpg:                 aka "David Moreno (1984-08-08) "
[-- End of PGP output --]

[-- The following data is signed --]

Hi,

Ten years ago today (2005-08-14) my account was created:

https://nm.debian.org/public/person/damog

Today, I don't feel like Debian represents me and neither do I represent the
project anymore.

I had tried over the last couple of years to retake my involvement but lack of
motivation and time always got on the way, so the right thing to do for me is
to officially retire and gtfo.

I certainly learned a bunch from dozens of Debian people over these many years,
and I'm nothing but grateful with all of them; I will for sure carry the project
close to my heart — as I carry it with the Debian swirl I still have tattooed
on my back ;)

http://damog.net/blog/2005/06/29/debian-tattoo/

I have three packages left that have not been updated in forever and you can
consider orphaned now: gcolor2, libperl6-say-perl and libxml-treepp-perl.

With all best wishes,
David Moreno.
http://damog.net/


[-- End of signed data --]

I received a couple of questions about my decision here. I basically don’t feel like Debian represents my interests and neither do I represent the project – this doesn’t mean I don’t believe in free software, to the contrary. I think some of the best software advancements we’ve made as society are thanks to it. I don’t necessarily believe on how the project has evolved itself, whether that has been the right way, to regain relevancy and dominance, and if it’s remained primarily a way to feed dogmatism versus pragmatism. This is the perfect example of a tragic consequence. I was very happy to learn that the current Debian Conference being held in Germany got the highest attendance ever, hopefully that can be utilized in a significant and useful way.

Regardless, my contributions to Debian were never noteworthy so it’s also not that big of a deal. I just need to close cycles myself and move forward, and the ten year anniversary looked like a significant mark for that.

Poke me in case you wanna discuss some more. I’ll always be happy to. Specially over beer :)

Peace.

Martes 27 de diciembre de 2016

Valencia Software Libre: Donaciones de VaSlibre Navidad 2016

Martes 13 de diciembre de 2016

Veracidad noticias internacionales Bolivar y bitcoin

Leyendo este artículo (https://www.cryptocoinsnews.com/venezuela-demonetizes-100bs-banknotes-india-like-panic-awaits/), hay puntos que no comparto, y es donde digo que para defender una opinión hay que ser lo mas imparcial posible, de lo contrario se pone a tela de juicio la credibilidad. Por ejemplo:

  1. Indican que en Septiembre, medio cartón de huevos costaba 150$ (a 10Bs el $USD, lo que indica que usan tasa de cambio según conveniencia (en este caso para que se vea mayor), ignoro si esta es la tasa que le cobran a los extranjeros cuando pasan sus tarjetas en Venezuela. Cuando conviene usan la tasa paralela.
  2. También reflejan que el paralelo llegó a 4.400. Según la gráfica que muestran (http://www.venezuelaecon.com/) fué así, en caso de ser afirmativo… ponen el ejemplo con el dato mas drástico y momentaneo, me estoy enterando que llegó a ese punto.
  3. Desinforman diciendo que minar bitcoins es ilegal, cosa que no comparto, no ha habido pronunciamiento oficial de parte del gobierno sobre si bitcoin es una moneda o no (tiene propiedades únicas respecto a lo que se considera moneda), aparte que tendrían que legislar sobre cada punto… minar, aceptar pagos con bitcoins (u otra criptomoneda), transferencia, etc.

Lunes 12 de diciembre de 2016

Carlos Colmenarez

Carlos Colmenarez
LINUX – El Blog de Zero

21 gestores de ventanas para GNU/Linux

Listado de 20 gestores o administradores de ventanas para GNU/Linux, como Mutter, Metacity (Gnome), Kwin (KDE), XFWM (XFCE), Openbox y muchos otros.

Los gestores de ventanas (también llamados administradores de ventanas) son la parte del software que se encarga de mostrar una interfaz gráfica al usuario, con la que se pueda comunicar con el sistema de forma sencilla.

Muy comúnmente, son también llamados entornos gráficos o entornos de escritorio, aunque en realidad éstos (por ejemplo, KDE, Gnome, XFCE…) son un conjunto más amplio de software, entre los que se encuentran los mencionados gestores de ventanas.

En Windows sólo disponemos de un gestor de ventanas, DWM (Vista/7), mientras que en GNU/Linux podemos elegir el gestor de ventanas que más se adapte a nuestras necesidades (interfaz gráfica más atractiva, menor consumo de recursos, etc…).

Metacity

Metacity es el gestor de ventanas actualmente utilizado por el proyecto Gnome. Se trata de una interfaz sencilla pero muy agradable.

Previamente, el proyecto Gnome utilizaba otros gestores de ventanas más configurables (como Sawfish o Enlightenment) pero se optó por sacrificar esas funcionalidades por una interfaz más amigable, sencilla y usable.

Se utiliza en cantidad de distribuciones, algunas de ellas tan famosas como Ubuntu o Fedora, que tienen a disposición diversos themes.

URL | Metacity

Mutter

Mutter es el nuevo gestor de ventanas que incorporará el proyecto Gnome.

En GnomeShell puedes encontrar más información sobre esta evolución de Metacity, que tiene muy buena pinta.

URL | GnomeShell

KWin

KWin es el administrador de ventanas del famoso KDE, que junto a Gnome, son los dos entornos de escritorio más utilizados en la actualidad.

Un interfaz de usuario más complejo que el anterior, con muchos aspectos visuales configurables y gran cantidad de temas disponibles. Se puede encontrar en muchas distribuciones, como por ejemplo, OpenSUSE, Kubuntu o Xandros.

URL | Kwin

XFWM

XFWM es el gestor de ventanas de XFCE, quizás el tercer escritorio de Linux más utilizado. Es usado en distribuciones como Xubuntu.

En el logo de XFCE se ve siempre un pequeño ratón. Esto tiene su explicación, puesto que XFCE es un entorno que le da mucha importancia a este dispositivo, puesto que muchos de sus menús, utilidades u opciones, pueden realizarse íntegramente con el ratón.

URL | XFWM4

Enlightenment

Enlightenment, también conocido como E por el entorno de escritorio E16 o el reciente E17, es un gestor de ventanas como su propio nombre indica, muy ligero.

Sin embargo, a pesar de los efectos, el administrador de ventanas no renuncia a uno de sus puntos principales, no recargar el sistema innecesariamente.

Se puede encontrar por defecto en distribuciones como Elive o OpenGEU.

URL | Enlightenment

Blackbox

Blackbox es un gestor de ventanas minimalista, en el que el objetivo principal es aprovechar al máximo los recursos del sistema.

Esto lo hace especialmente útil para equipos antiguos o escasos de hardware, ya que consume apenas un 2% de RAM en comparación con entornos comunes como KDE o Gnome.

URL | Blackbox

IceWM

IceWM es uno de los administradores de ventanas alternativos por excelencia desde hace mucho tiempo. Su interfaz gráfico imitaba la apariencia de la barra de Windows para facilitar el uso a usuarios nóveles.

El netbook Asus EEE-PC tiene un modo en el que utiliza este gestor de ventanas.

URL | IceWM

UltimateWM

UWM (no confundir con UltrixWM (1985)) es un reciente gestor de ventanas asociado a un proyecto llamado UDE.

La filosofía de este administrador es ligeramente diferente a otros, donde se eliminan las tradicionales barras de estado o similares y se provee de un menu de celdas hexagonales, donde aparecen las opciones relevantes.

URL | UDE Project

Fluxbox

Fluxbox es un administrador de ventanas muy ligero, basado en el gestor Blackbox. Sin embargo, y a pesar de ello, tiene muchas opciones de personalización que lo hacen muy interesante.

Suele ser utilizado por multitud de distribuciones que necesitan un entorno ligero y rápido, como por ejemplo Damn Small Linux o Fluxbuntu.

URL | Fluxbox

JWM

El gestor de ventanas JWM se incorpora como un sistema rápido de administración de ventanas para distribuciones como Puppy Linux.

Molinux, la distribución oficial de la Junta de Comunidades de Castilla-La Mancha, tiene una versión llamada Molinux zero, una mini-distribución de Linux en español, basada en Puppy Linux, que permite funcionar hasta en los sistemas más antiguos.

URL | JWM

Openbox

Openbox comenzó como un gestor de ventanas basado en Blackbox, pero recientemente fue reescrito desde cero. Muy aceptado con la aceptación del entorno de escritorio LXDE.

Una de sus características más interesantes es que puede iniciar sesión muy rápidamente, en apenas unos segundos, aún en equipos modestos. Para ello prescinde de menús o sistemas visuales, pero aportando un menú contextual altamente configurable.

Es utilizado en distribuciones como Lubuntu, gOS o CrunchBang.

URL | Openbox

FVWM

FVWM es uno de los padres de muchos de los gestores de ventanas de este artículo, como por ejemplo AfterStep, WindowMaker, Enlightenment o XFWM.

Una de las distros que adoptan FVWM como gestor de ventanas por defecto es SymphonyOS, mediante su entorno de escritorio Mezzo.

URL | FVWM

VTWM

Virtual Tabbed WM es un gestor de ventanas sencillo bastante veterano, pero que supo resistir hasta la actualidad, guardando el formato de entonces.

Utiliza los estilos tan asociados a sistemas antiguos (TomWM), pero que tanto gustan a algunos.

URL | VTWM

AfterStep

AfterStep nació con la idea de imitar el formato de las estaciones de trabajo NextStep, obteniendo un buen resultado.

Una apariencia simple pero justa, para manejar de forma gráfica las tareas del sistema.

URL | AfterStep

WindowMaker

WindowMaker «retomó» el proyecto de AfterStep, renovándolo y convirtiéndolo en un gestor de ventanas muy similar, sencillo pero potente, emulando el entorno NeXT y adheriendose al proyecto GNUStep, el cuál ha terminado por apoyar Étoilé.

WindowMaker aún continua siendo una buena opción para algunos usuarios a los que le gusta su capacidad de personalización.

URL | WindowMaker

Matchbox

Matchbox es el administrador de ventanas incluído en la distribución Linux por defecto en el proyecto OLPC (Un portátil por niño) o en móviles como el Nokia 770.

Esta diseñado para sistemas portátiles, mínimos, como PDAs, móviles o portatiles muy limitados. También cabe recalcar que está especialmente indicado para mostrar una sóla ventana simultáneamente y así dar prioridad a las tareas principales y ahorrar recursos.

URL | Matchbox Project

WindowLab

WindowLab nació en 2001 como un clon similar al aspecto gráfico de la Amiga.

Con el tiempo, fue adaptándose a los requisitos de los usuarios y permitiendo todo tipo de personalización gráfica, entre otras opciones.

URL | WindowLab

Ion

Ion, también denominado Ion3, nace de un experimento en el que se intenta reducir al máximo el tiempo que el usuario pasa cambiando, buscando o redimensionando ventanas.

El gestor de ventanas muestra las ventanas abiertas en un mosaico de ventanas en serie, fijas, las cuales no es necesario manipular.

URL | Ion Project

DWM & WMII

DynamicWM es un administrador de ventanas simple, basado en texto y muy ligero. De forma muy similar, también tenemos wmii, otro gestor de ventanas similar del mismo autor.

DWM ha sido utilizado para muchos forks, como xmonad -gestor de ventanas escrito en Haskell- o Awesome -llamado así por la famosa frase de Barney Stinson (de la serie Como conocí a vuestra Madre).

URL | DWM | WMII

RatPoison

RatPoison es un administrador de ventanas que, como dice su nombre, es veneno para ratones, por lo que el ratón de tu ordenador de poco te va a servir en este gestor.

Esta directamente diseñado para personas que prefieren utilizar el teclado y no gustan de usar dispositivos apuntadores como ratones o trackballs. RatPoison fue relevado por StumpWM, su sucesor.

URL | Ratpoison

HaZe

Basado en MLVWM, que a su vez está basado en FVWM, HaZe se define como un sistema real en blanco y negro.

Se trata de un gestor de ventanas minimalista, muy rústico y de alto contraste.

URL | HaZe

 articulo visto en : emezeta

 

 

Miércoles 07 de diciembre de 2016

Jorge Ortega

Jorge Ortega
Joenco

Configurando parámetros de accesibilidad en Debian

Cómo están amigos? espero que excelente! aquí les vengo con un interesante artículo sobre cómo configurar algunos parámetros de accesibilidad después de instalar Debian, para que nuestro equipo este casi perfecto!

Estas son las que yo realizo cada vez que hago una instalación nueva de Debian, vamos a ello:

    • Activar un sonido en el grub

Solo debemos agregar o descomentar en el archivo /etc/default/grub lo siguiente:
GRUB_INIT_TUNE="480 440 1"
y luego ejecutamos update-grub para actualizar los cambios, si quieres colocar un tono diferente puedes leer el articulo Colocando un tono al grup.

    • Accesibilidad en aplicaciones QT.

Tenemos que instalar la biblioteca qt-at-spi:
apt-get install qt-at-spi
y la variable de entorno QT_ACCESSIBILITY la establecemos en 1, escribiendo al final del archivo /etc/profile lo siguiente:
export QT_ACCESSIBILITY=1

    • Accesibilidad en aplicaciones de 32 Bits en equipos de 64 Bits

Para poder hacer accesible aplicaciones de 32 Bits debemos hacer lo siguiente desde un terminal cómo superusuario:
dpkg --add-architecture i386
luego actualizamos:
apt-get update
e instalamos lo siguiente para hacer accesible los paquetes de 32 bits:
apt-get install libatk-adaptor:i386 libatk-adaptor

    • Accesibilidad en Java

Hay que instalar el paquete libatk-wrapper-java:
apt-get install libatk-wrapper-java
se debe activar la accesibilidad en OpenJDK manualmente, descomentando, en el archivo /etc/java-6-openjdk/accessibility.properties para Debian 7 (Wheezy) o /etc/java-7-openjdk/accessibility.properties en Debian 8 (Jessie), la siguiente línea:
assistive_technologies=org.GNOME.Accessibility.AtkWrapper

    • Mostrar los íconos en el escritorio

Para mostrar los iconos en el escritorio sigue este articulo: Mostrar los íconos en el escritorio en Debian 7 o superior.

    • Accesibilidad en el GDM

Para que orca nos verbalice en el GDM, cuando nos pide iniciar sesión (esto en debian jessie) presionamos las teclas alternar+supra+S.
También se puede activar ejecutando cómo root lo siguiente:

    • para Squeeze:

/bin/sh -c "gconftool-2 --type bool --set /desktop/gnome/applications/at/screen_reader_enabled true" Debian-gdm

    • O en Wheezy y posteriores así:

/bin/sh -c "eval $(dbus-launch) ; export DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID ; GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.a11y.applications screen-reader-enabled true" Debian-gdm || true
Con estas configuraciones tendremos un sistema accesible y funcional, les recomiendo leer el wiki de debian sobre accesibilidad en español y si tienen preguntas, dudas o sugerencias pueden dejarlas en los comentarios!

Saludos y nos encontramos pronto …

Lunes 21 de noviembre de 2016

Valencia Software Libre: Publicados premios de Observatorio Tecnologico de PortalProgramas

Domingo 06 de noviembre de 2016

Remover dangling commits

Escribo este artículo, porque es otra de esas cosas que olvido y siempre termino buscando repetidas veces (aunque tenga en guardado en mi zsh los 10.000 últimos comandos ejecutados). Voy a escribir brevemente sobre los dangling blobs o dangling commits.

Viernes 28 de octubre de 2016

César Sevilla

César Sevilla
Linux

1er Festival Universitario de Tecnologías Libres

banner2-1024x512A petición del público traemos para todos ustedes a través de la Unidad Territorial – Fundacite Zulia (UTZ) el “Festival Universitario de Tecnologías Libres”, el mismo tiene como objetivo: Impulsar el crecimiento y desarrollo del Software Libre y Código Abierto dentro del ámbito Educativo Institucional en la Región Occidental, para lograr la independencia Científica–Tecnológica del software, apoyándose en los Decretos Nacionales y leyes que ampara el estado venezolano.

Este Festival, se llevará a cabo en el Auditorio de la Universidad José Gregorio Hernández los días viernes 11/11/16 de 8:00 am / 12:00 m – 2:00 pm / 5:00pm y el sábado 12/11/16 de 9:00 am / 12:00 m.

El día Viernes realizaremos 5 Charlas técnicas y para el día Sábado realizaremos 2 charlas y una Jornada de Instalación de Sistemas Operativos Libres y/o Herramientas Libres.

Es importante resaltar que contaremos con varios representantes a nivel nacional, entre ellos Representante de la Cámara Venezolana de la industria Tecnológica, del Laboratorio Vivencial, de la Comunidad de Ubuntu-ve, y de diferentes organizaciones con el propósito de presentar los diferentes proyectos tecnológicos hechos con herramientas libres.

Si deseas participar en dicha actividad recuerda que debes registrarte a través del siguiente enlace: https://www.eventbrite.es/e/entradas-festival-universitario-de-tecnologias-libres-2016-27283438499

Si deseas obtener mayor información, puedes contactarme a través del correo csevilla@fundacite-zulia.gob.ve

Miércoles 14 de septiembre de 2016

Cómo cargar el driver de VirtualBox

Si por algún motivo (Por ejemplo que Genymotion te dice que no consigue VirtualBox) y necesitas reiniciar el driver de Virtualbox, ten en cuenta que en versiones recientes de Debian y Ubuntu el script que realizaba esto cambió de ruta, por lo que si antes hacías esto:

/etc/init.d/vboxdrv.sh setup

Ahora debes cargar el módulo de la siguiente manera:

/usr/lib/virtualbox/vboxdrv.sh setup

Lunes 29 de agosto de 2016

David Moreno

David Moreno
dm's blog

Webhook Setup with Facebook::Messenger::Bot

The documentation for the Facebook Messenger API points out how to setup your initial bot webhook. I just committed a quick patch that would make it very easy to setup a quick script to get it done using the unreleased and still in progress Perl’s Facebook::Messenger::Bot:

use Facebook::Messenger::Bot;

use constant VERIFY_TOKEN => 'imsosecret';

my $bot = Facebook::Messenger::Bot->new(); # no config specified!
$bot->expect_verify_token( VERIFY_TOKEN );
$bot->spin();

This should get you sorted. What endpoint would that be, though? Well that depends on how you’re giving Facebook access to your Plack’s .psgi application.

Jueves 25 de agosto de 2016

Liquify de Darktable, deformación directa a tu RAW

Si hay algo cierto es que cuando editas fotografías, tratas de capturar a la persona tal y como es, pero en un mundo tan saturado de “perfección” los clientes siempre piden un poco de retoque; a veces no es por inseguridad de la persona, sino por mera estética. Lo cierto es que la herramienta de IWarp de Gimp se había convertido en mi mejor amiga a la hora de mover cosas, pero como siempre, darktable sigue agregando cosas increíbles para que mi flujo de trabajo tanto de revelado como de post-producción sea hecho completamente dentro de la app.

Liquify (o Licuar) es uno de los nuevos módulos que se encuentra en Darktable y ofrece una forma versátil de mover pixeles aplicando estilos libres de distorsión a distintas partes de la imagen. Hay tres herramientas para lograrlo, puntos, líneas y curvas; todos basados en nodos. Por ahora, hay un límite de 100 nodos por instancia, pero en serio… ¿Quién usa mas de 100 nodos por instancia? Antes de probarlo, toma en consideración que el módulo consume una cantidad considerable de recursos.

Para crear el nodo solo da click en la zona que quieres afectar. Una vez hecho el click, aparecerá un circulo que podrás controlar de 3 formas: Arrastrando el punto central para re-ubicación, arrastrando el punto al borde externo de la circunferencia para agrandar/disminuir el tamaño de la zona afectada, y arrastrando la flecha interna para determinar la dirección y tamaño de la deformación. Puedes utilizar nodos simples (un solo nodo) o nodos compuestos, que crearán una deformación siguiendo el patron de puntos afectados.


This post has a nicer formatting that can be seen at it's original source at tatica.org , so feel free to hit the link and read better version!

Domingo 21 de agosto de 2016

César Sevilla

César Sevilla
Linux

Problemas con Revolution Slider (Abort Class-pclzip.php : Missing Zlib)

Si eres una persona que te gusta utilizar WordPress y te llega a salir este pequeño detalle (Abort Class-pclzip.php : Missing Zlib) cuando estás importante un Slider de Revolution Slider, no te preocupes, la solución es la siguiente:

  1. Debes editar el archivo que se encuentra dentro de la carpeta wp-admin/includes/: sudo nano /carpetadondeseencuentresusitio/wp-admin/includes/class-pclzip.php
  2. Encontrar la linea if (!function_exists(‘gzopen’)) y reemplazar gzopen por gzopen64.

Con ese pequeño cambio podrás seguir utilizando sin ningún problema el plugin.

Ahora, ¿Porqué da ese error?, en las últimas versiones de Ubuntu gzopen (función de PHP que nos permite abrir un archivo comprimido en .gz), solo está incluido para arquitectura de 64bits, es por esta razón que es necesario reemplazar gzopen por gzopen64 para que podamos importar todos esos archivos que se encuentran comprimido a través de este tipo de formato.

Happy Hacking!

David Moreno

David Moreno
dm's blog

WIP: Perl bindings for Facebook Messenger

A couple of weeks ago I started looking into wrapping the Facebook Messenger API into Perl. Since all the calls are extremely simple using a REST API, I thought it could be easier and simpler even, to provide a small framework to hook bots using PSGI/Plack.

So I started putting some things together and with a very simple interface you could do a lot:

use strict;
use warnings;
use Facebook::Messenger::Bot;

my $bot = Facebook::Messenger::Bot->new({
    access_token   => '...',
    app_secret     => '...',
    verify_token   => '...'
});

$bot->register_hook_for('message', sub {
    my $bot = shift;
    my $message = shift;

    my $res = $bot->deliver({
        recipient => $message->sender,
        message => { text => "You said: " . $message->text() }
    });
    ...
});

$bot->spin();

You can hook a script like that as a .psgi file and plug it in to whatever you want.

Once you have some more decent user flow and whatnot, you can build something like:



…using a simple script like this one.

The work is not finished and not yet CPAN-ready but I’m posting this in case someone wants to join me in this mini-project or have suggestions, the work in progress is here.

Thanks!

Lunes 15 de agosto de 2016

César Sevilla

César Sevilla
Linux

Scratch, un Software interesante

Hola a todos, después de tanto tiempo me he permitido escribir este artículo como propósito de compartir una experiencia vivida hace poco a través de un programa de formación presentado por www.zuliatec.com llamado Procodi www.procodi.com, programa de formación para niños donde les brinda desde muy temprana edad herramientas que les permiten a ellos desarrollar habilidades y destreza en las áreas de desarrollo, diseño gráfico, Electrónica Digital, Robótica, Medios digitales y música digital.

Scratch (Cómo lo dice su misma página web), está diseñado especialmente para edades entre los 8 y 16 años, pero es usado por personas de todas las edades. Millones de personas están creando proyectos en Scratch en una amplia variedad de entornos, incluyendo hogares, escuelas, museos, bibliotecas y centros comunitarios.

También cita: La capacidad de codificar programas de computador es una parte importante de la alfabetización en la sociedad actual. Cuando las personas aprenden a programar en Scratch, aprenden estrategias importantes para la solución de problemas, diseño de proyectos, y la comunicación de ideas.

Dado a que es muy provechoso esta herramienta tanto para niños como para los adultos me dedico a explicarle de una manera sencilla como hacer funcionar el programa desde GNU/Linux de manera OffLine.

Si usas Gnome o derivado es necesario tener instalado una librería que tiene como nombre Gnome-Keyring y si usas KDE debes tener instalado Kde-Wallet.

Para este ejemplo explico como hacer funcionado Scratch para Linux Mint y que puede servir para S.O derivados para Debian.

  1. Descarga primero desde la web oficial de Scratch https://scratch.mit.edu/scratch2download/ los archivos para instalar Adobe Air y Scratch para Linux, también está disponible para Windows y para Mac.
  2. Luego instalar gnome-keyring: sudo aptitude install gnome-keyring
  3. Agregar dos enlaces simbólicos a la carpeta /usr/lib/ de la siguiente manera: sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0 && sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0
  4. Luego te posiciones desde la consola donde se encuentre el instalador de Adobe Air, y desde allí ejecutar lo siguiente: chmod +x AdobeAIRInstaller.bin && ./AdobeAIRInstaller.bin
  5. Sigue todos los pasos que te indique el instalador y ten un poco de paciencia.
  6. Ya instalado el Adobe Air, buscamos gráficamente el archivo Scratch-448.air y lo abrimos con Adobe AIR application Instaler. También hay que tener un poco de paciencia, pero al terminar te generará un enlace en tu escritorio donde podrás acceder al sistema las veces que desees.

Con lo ante expuesto ya podemos utilizar Scratch OffLine, pero recuerda que si entraste en la web oficial del proyecto pudiste haber notado que también lo podemos utilizar en linea.

Happy Hacking.

Martes 09 de agosto de 2016

Aprendizaje del FlocktoFedora para Diversidad

No puedo expresar la alegría de tener un equipo de personas tan maravillosas, quienes a pesar de las 12h de diferencia, han logrado mantenerme informada sobre todo lo que sucede al rededor de nuestro trabajo de Diversidad en Fedora durante el Flock. Interminables logs de IRC y Telegram han hecho esto posible. Así que acá está mi lista de pensamientos, tareas e ideas sobre las coas logradas en el Flock de Polonia.

Primeros Pasos

Buzón de Diversidad

Estoy bastante impactada con la gran cantidad de casos que mi equipo de Diversidad ha obtenido durante el Flock. Tenemos personas que, a pesar de ser fantásticas para el proyecto, necesitan un poco de guía sobre como tratar a sus compañeros con mas respeto. Es hora de educar a las personas sobre como mantener un ambiente mas amigable y acogedor, sin tantas criticas a las personas nuevas, o a aquellas personas que simplemente no tienen tanto tiempo para colaborar.

Luego de realizar una encuesta personal, más del 80% de las personas que tienen dificultades encontrando un ambiente armónico en Fedora no quieren hablar en voz alta, ni quieren decir sus nombres, y casi 2/3 de ellos ni siquiera quieren reportar el caso ya que piensan que no son relevantes. SI SON RELEVANTES.

A principios de año se comentó la idea de que necesitamos un Buzón de Diversidad lo cual me reforzó Amita luego de conversar con los amigos en el Flock, para que las personas se sientan con la confianza suficiente de conversar con nosotros sin tener que poner sus nombres públicamente. Tenemos casos en otras comunidades donde por el simple hecho de hablar en voz alta han sufrido mucho mas, y transformar un problema pequeño en grande no es nuestra meta.

Este buzón debería ser capaz de registrar información personal o permitir entradas anónimas, así como adjuntar registros o pruebas del problema, para que podamos estudiarlo y buscar la mejor solución. Puedes ayudarnos? por favor, contácteme ASAP para que podamos sacar este buzón!

Programas de Inclusión

Tuvimos un excelente programa inicial con el FWD organizado el mes pasado, y a pesar de que comenzamos pequeño, lo hicimos con mucha energía. Fui parte de una jornada de Diseño online en Perú y me uní a los esfuerzos locales de las reuniones de WordPress en mi ciudad, Amita organizó un excelente FWD en India, Jona hizo un fantástico trabajo con su grupo de chicas en Albania y Christos se nos unió con un excelente panel en el FWD de Grecia. La asistencia fue fantástica, mejor de lo esperado!

Mientras mas comencemos a aprender sobre los colaboradores, podremos crear mejores programas para ayudar a cada grupo de minoría. FWD demostró ser una excelente iniciativa pero queremos mas, y para eso necesitamos el elemento mas importante, colaboradores. A pesar de que hagamos nuestro mejor esfuerzo en conocer cada minoría, aquellos que las experimentan de primera mano son quienes nos ayudarán a aprender a comprender mejor a cada colaborador de forma particular en nuestro proyecto. Nuestra idea es no solo tener reuniones anuales, pero también tener tantas reuniones en línea como sea posible para que nuestras barreras desaparezcan. Te interesa organizar alguna de estas reuniones?

Nuestra meta es organizar al menos una reunion mensual donde no solo podamos construir una mejor comunidad Fedora, pero también expandir los conocimientos que tenemos sobre cada miembro de nuestra comunidad.

Próximos Pasos

Encuesta de Diversidad

Una de las primeras ideas que tuvimos para el team de Diversidad fue la (no tan famosa) encuesta, que nos ayudaría a comprender mejor como esta construida nuestra comunidad. A pesar de que tenemos infinidad de nombres en nuestra FAS, conocemos muy poco sobre nuestros colaboradores. Es imperativo seguir presionando para que esta idea se convierta en realidad.

Puedes ver el estado actual de nuestra encuesta revisando al final de los registros de nuestras reuniones de Diversidad en Polonia en este pad.

Reportes Anuales

Cada año tenemos estadísticas sobre cuantos tickets fueron resueltos, cuantos nuevos embajadores tenemos y cuantas badges fueron otorgadas, pero necesitamos estadísticas sobre nuestros esfuerzos de diversidad e inclusión.

Con reportes anuales que nos ayuden a comparar y aprender, podremos ver si nuestros esfuerzos están generando una comunidad mas acogedora, y nos está ayudando a combatir el bullying y el acoso, permitiéndonos mejorar.

Qué sigue?

Queremos escuchar tus ideas! No seas penos@!

[contact-form]

This post has a nicer formatting that can be seen at it's original source at tatica.org , so feel free to hit the link and read better version!

Viernes 05 de agosto de 2016

Jorge Ortega

Jorge Ortega
Joenco

Activar la accesibilidad en el escritorio Mate en Debian

¡Saludos amigos!, feliz comienzo de vacaciones deseando que las disfruten lo mejor posible, yo seguiré trabajando ya que mis vacaciones ya las disfrute, pero dejemos de dar tantas vueltas y revisemos cómo podemos activar la accesibilidad en el escritorio Mate cuando lo instalamos en Debian Jessie teniendo otro entorno cómo Gnome que es mi caso, ya que al parecer esta no se activa. La información aquí detallada la puedes conseguir en inglés en el articulo “Mate Desktop Installation and Accessibility”, por si desean revisar, además que hacen algunas recomendaciones para dejar mucho más accesible este escritorio.
 
Comencemos por instalar el escritorio, abriendo un terminal como superusuario(root) y escribiendo:
aptitude install mate-desktop-environment-extras
con el comando anterior instalaremos todo el entorno Mate y algunos extras.
 
Cuando termine de instalar y antes de reiniciar, desde la misma terminal/consola, vamos a crear un archivo en /etc/profile.d/ con extensión .sh, el cual yo llame accesibilidadmate.sh, aquí los pasos:
 
1. Escribimos en terminal:
nano /etc/profile.d/accesibilidadmate.sh
eso nos abrirá un archivo vacío, en el cual agregamos las siguientes líneas:
 
#!/bin/bash
export GTK_MODULES=gail:atk-bridge
 
2. guardamos presionando “control+O”, presionamos enter para que lo guarde con el nombre que habíamos colocado y cerramos con “control+X”, este archivo exporta el modulo GTK requerido para que el escritorio Mate, así cómo otros sean accesibles
 
3. Ahora le damos permisos de ejecución, por lo que escribimos en el terminal:
chmod 755 /etc/profile.d/accesibilidadmate.sh
 
4. Nos toca reiniciar, así que desde la misma terminal/consola escribimos:
reboot
 
5. Antes de iniciar sesión, cuando nos pida colocar la contraseña presionamos 2 veces la tecla tabular, luego pulsamos la barra espaciadora y elegimos el escritorio Mate, al elegir el escritorio ya podremos iniciar sesión.
 
6. Ya dentro del escritorio abrimos un terminal, pulsando alternar + F2 y escribiendo “mate-terminal”, cuando se abra el terminal/consola nos logueamos cómo superusuario(root) y activamos las tecnologías de asistencia colocando:
 
gsettings set org.mate.interface accessibility true
gsettings set org.gnome.desktop.a11y.applications screen-reader-enabled true
 
Si aún no tenemos accesibilidad, sólo nos toca reiniciar y listo, ya podremos usar el escritorio sin problemas!
 
Todas estas configuraciones las tuve que hacer ya que cómo tenia instalado el entorno Gnome previamente, al parecer al instalar Mate este último no tenia accesibilidad, es decir, el lector de pantalla orca se activa pero no verbaliza nada del escritorio, ni los menús, ni las aplicaciones, ni nada.
 
Y ya sabes, si te ha gustado la entrada o te parece interesante puedes compartirla para que otros se enteren cómo activar la accesibilidad en el escritorio Mate. Además si tienes alguna duda o sugerencia puedes dejarla en los comentarios, con gusto te respondo!.

Miércoles 03 de agosto de 2016

Diversidad en el Flock Krakow (Polonia)

Hay algo que todos amamos, una buena charla con amigos, y eso fue el Panel de Diversidad en el Flock Krakow. En un Panel realmente interesante lleno de no solo personas increíbles, pero experimentadas, discutimos como podemos mejorar nuestros esfuerzos para lograr que todos se sientan cómodos y animarlos a hacer lo que les gusta sin que tengan que preocuparse por lo que la gente piense.

Tengo que darle un agradecimiento especial a mi equipo de Diversidad, Justin, Amita, Jona, Bee y Silvia; quienes hicieron posible que asistiera a pensar de las dificultades; no puedo expresar lo agradecida que estoy por el esfuerzo de todos! Ahora, entremos en tema: (mis disculpas si no coloco los nombres al lado de las ideas expuestas, el video no era lo suficientemente bueno para identificarlos a todos)

Escuchar

Es fácil llenarse la cabeza con los últimos paquetes que necesitan ser armados, sobre los últimos .po que deben ser traducidos, o sobre ese bendito px que sigue interfiriendo en el diseño; debemos tomarnos un momento para levantar la cabeza y ver las personas que trabajan con nosotros. Nuestra comunidad está llena de toneladas de personas con cualidades que hacen que el proyecto crezca cada día, sin embargo, a veces consideramos que esto es un trabajo de tiempo completo en vez de un trabajo colaborativo. El momento en que dejamos de escuchar a nuestros colaboradores que necesitan guía, nuestros números bajaran ya que no seremos capaces de  generar una nueva generación de relevo.

Difundir

Siéntete orgulloso de trabajar con otros en vez de solo buscar tus propias recompensas. La comunidad ES tu familia, y deberías tratarla como tal. no seremos capaces de incluir mas personas a nuestras líneas a menos de que hablemos de ello, siente orgullo sobre tu comunidad y deja de darle importancia al que dirán. Es fácil olvidad que todos comenzamos como novatos preguntando cosas tontas, es fácil olvidar que NOSOTROS somos quienes tenemos la responsabilidad de mostrar que hay una tarea para todos en la comunidad. Es momento de que difundamos que nos sentimos orgullosos por nuestros compañeros en el proyecto. Una gran idea es tener una persona del equipo de Diversidad como representante en cada Team, para así poder hacer que todos se sientan incluidos. No es un secreto que conocemos mas a las personas que están dentro de nuestro mismo equipo, y no conocemos mucho a el resto de personas que están en el proyecto… es un gran proyecto. Al tener un miembro de Diversidad en cada Equipo podremos reducir la brecha entre nosotros y las personas que necesiten de nuestra ayuda.

Incentivar

Yo creo que nuestros procesos son inclusivos, si no, muchos de nosotros no estaríamos aquí en primer lugar, sin embargo, si creo que tenemos algunos miembros activos que son una debilidad. Una de nuestras debilidades es que no sacamos la cabeza de lo que estamos haciendo, y no tomamos un momento para ver lo que nos rodea. Hay un MONTÓN de personas dispuestas a colaborar, sin embargo, TODOS tenemos que trabajar como mentores (sin importar si eso te agrega un +1 de karma). Con tantos badges, estadísticas y similares, de cierta forma estamos olvidando el porque somos una comunidad, no es solo para hacer cosas fantásticas con software, pero también para divertirnos. Una vez comprendamos que el número de colaboradores felices es tan importante (o mas) que el número de badges que tenemos o nuestras estadísticas en el track, seremos capaces de tener una comunidad mas saludable y acogedora.

Apoyar

No es un secreto que hay personas que se sienten incómodas y otras personas que disfrutan de esto, siempre hay un troll y un peleón. Necesitamos crear una red de soporte con la que podamos ayudar a las personas a sentirse protegidas y seguras, y también un lugar donde podamos enseñarles a lidiar con estas situaciones. No debemos construir una pared al rededor de nuestros colaboradores, debemos enseñarlos a forjar herramientas que los preparen para defenderse ante cualquier ataque. Creo que podemos ser un instrumento para enseñarle a las personas como vivir felices en este mundo.

Me gustaría agradecer a Matthew, Christoph, Marina, Laura, Kohane, Kushal y todos aquellos a quienes no les reconocí las voces mientras colaboraban en el panel; esto demuestra que hay un interés real en construir una mejor comunidad para nuestros usuarios, y no solo construir buen software.


This post has a nicer formatting that can be seen at it's original source at tatica.org , so feel free to hit the link and read better version!

Lunes 02 de mayo de 2016

Cómo actualizar el huso horario en Linux

time zone map

El 1° de mayo, el huso horario cambiará en Venezuela a UTC-4, por lo que debes actualizar el paquete tzdata en Linux para estar preparado para este cambio. Para hacer esto solo debes hacer lo siguiente:

Debian/Ubuntu

aptitude update
aptitude safe-upgrade tzdata

Red Hat

yum check-update
yum update tzdata

Para verificar que se la actualización tiene el cambio del huso horario se puede ejecutar la siguiente orden:

zdump -v /usr/share/zoneinfo/right/America/Caracas  | grep 2016

/usr/share/zoneinfo/right/America/Caracas  Sun May  1 06:59:59 2016 UT = Sun May  1 02:29:59 2016 VET isdst=0 gmtoff=-16200
/usr/share/zoneinfo/right/America/Caracas  Sun May  1 07:00:00 2016 UT = Sun May  1 03:00:00 2016 VET isdst=0 gmtoff=-14400

Referencia: How to check if the Time Zone database

Domingo 01 de mayo de 2016

Alberto Capella

Alberto Capella
alberkman Blog

Cambio de Huso Horario en Venezuela V3

Faltan pocas horas para el cambio de huso horario en Venezuela, y hace poco me preguntaban: ¿Tengo PfSense como firewall, qué hago al respecto?

Por defecto, PfSense viene sin el compilador, así que no es posible generar el archivo de zona en el mismo equipo.

La solución es muy sencilla, teniendo actualizado el paquete tzdata en algún servidor (o en tu estación de trabajo) con GNU/Linux, solo debes copiar el archivo de zona “Caracas” (ubicado en el directorio /usr/share/zoneinfo/America/ de tu sistema Debian) al directorio “/usr/share/zoneinfo/America/” en el servidor PfSense.

Para validar, solo deben ejecutar zdump -v America/Caracas | grep 2016 en una consola dentro del servidor PfSense; o ir al menú “Diagnostics” opción “Command Prompt” del dashboard y colocar el comando anterior.

Saludos.

Viernes 29 de abril de 2016

Alberto Capella

Alberto Capella
alberkman Blog

Cambio de Huso Horario en Venezuela V2

Prácticamente en menos de 48 horas el país cambiará nuevamente de Huso Horario, y como cosa rara, he visto personas tratando el tema de una manera “brillante” (joke).

Para hacer el cambio (de Huso Horario) en sistemas GNU/Linux solo hay una vía; actualizar el paquete tzdata al release 2016d; que ya incluye el cambio automático para Venezuela.

Ahora bien, que debes hacer si tienes Debian como Sistema Operativo ?

  1. Verificar que en el archivo de repositorios (/etc/apt/source.list) tengas el repositorio updates (si no lo tienes, debes agregarlo); tal como:
    deb http://ftp.br.debian.org/debian wheezy-updates main
    o
    deb http://ftp.br.debian.org/debian jessie-updates main
  2. Actualizar la lista de paquetes con el comando: apt-get update
  3. Instalar la actualización de el paquete tzdata con el comando: apt-get install tzdata
  4. Probar la actualización del paquete, con el comando: zdump -v America/Caracas | grep 2016

En Sistemas RHEL/CentOS/Etc, la actualización de este paquete se encuentra en el apartado updates en el archivo <distro>.repo que se encuentra en el directorio /etc/yum.repos.d/

Preguntas y Respuestas:

  • ¿Puedo utilizar el protocolo NTP para actualizar el huso horario? Resp: NO, para esto debes actualizar el paquete tzdata al release 2016d. El protocolo NTP sirve para actualizar la hora, NO el huso horario.
  • ¿No puedo sincronizar la hora usando NTP, puedo “setear” de forma manual la hora al sistema? Resp: , siempre y cuando actualices el paquete tzdata al realease 2016d; si no actualizas el tzdata, tu sistema podrá tener la hora teóricamente correcta, pero el sistema seguirá estando en el huso horario UTC -0430, por lo tanto, legalmente y técnicamente no tendrás la hora correcta.

Saludos.

Sábado 16 de abril de 2016

Alberto Capella

Alberto Capella
alberkman Blog

Cambio de Huso Horario en Venezuela

Hola, debido al cambio de huso horario que entrará en vigencia en el país a partir del 1 de mayo, me tome la libertad de reportar el caso en Debian y crear (disponibles desde  acá) los binarios deb y rpm con el último release de tzdata (Time Zone Data v. 2016d Released 2016-04-17); esta versión ya incluye el cambio en el huso horario Venezolano.

Solo deben descargar el paquete de acuerdo a su distro e instalarlo usando dpkg -i <paquete.deb> o rpm -iUvh <paquete.rpm>.

Para comprobar el cambio solo deben ejecutar lo siguiente:

$ zdump -v America/Caracas | grep 2016

America/Caracas Sun May 1 06:59:59 2016 UT = Sun May 1 02:29:59 2016 VET isdst=0 gmtoff=-16200
America/Caracas Sun May 1 07:00:00 2016 UT = Sun May 1 03:00:00 2016 VET isdst=0 gmtoff=-14400

Si tienen una instalación de PstgreSQL, basta con lanzar este par de querys:

SELECT TIMESTAMP ‘2016-04-30 07:00:00’ AT TIME ZONE ‘UTC’;

SELECT TIMESTAMP ‘2016-05-01 07:00:00’ AT TIME ZONE ‘UTC’;

El resultado será algo parecido al anterior.

 

Saludos.

Martes 12 de abril de 2016

Valencia Software Libre: Flisol 2016 - Valencia | Carabobo

Domingo 20 de marzo de 2016

Silvio Perez: Creating a simple puppet manifest