sábado, 10 de septiembre de 2016

Instalando Adobe Flash 23 en Ubuntu Linux

Quien lo diría, Adobe se arrepintió y volvió a dar soporte para Linux. Recordarás hace tiempo que Adobe lo dejó estancado en la versión 11 y sólo recibía actualizaciones de seguridad.



sábado, 27 de agosto de 2016

Próxima Centauri b en Celestia

Como ya hace tiempo que no escribo algo este es el momento idóneo, el descubrimiento reciente de Proxima Centauri B, el exoplaneta más cercano a nosotros.

Dejo estas imágenes del simulador Celestia, los datos limitados y esto es lo que se tiene hasta ahora, no sabemos como sea el aspecto del planeta, aquí lo represento como un análogo de Venus.

El planeta Próxima Centauri B


En este caso se le da un parecido a  Venus, pero podría ser muy distinto.
Detrás se ven la pareja de estrellas Alpha Centauri
Se muestra una parte de la órbita y se ve nuestro Sol
La órbita de Centauri B según los datos obtenidos.
Falta obtener más.
Estos son los datos necesarios para crear el archivo, guardar el archivo en carpeta extras con extensión *.ssc:


" Proxima b" "Proxima"
{
Texture "venuslike.*"
NightTexture "venuslikenight.*"

Radius 7015.95 # 1.1 RT

EllipticalOrbit
{
Period 0.0306466 # 11.186 days
SemiMajorAxis 0.05
Eccentricity 0.35
}

UniformRotation
{
}
}


domingo, 3 de abril de 2016

Cómo abrir video WMV en Virtualdub



Cuando intentas abrir un archivo de Windows Media Player aparece el mensaje de error que necesita los codecs correctos y que los codecs de DirectShow no sirve.

Para solucionar esto simplemente descarga este codec directo del sitio de Microsoft y listo.

Pero solo funcionará para la versión de 32bits para Virtualdub, en la de 64 bits no.

jueves, 3 de marzo de 2016

Instalar nginx + php + mysql en Windows

Primero descargarmos nginx, en mi caso es la versión 1.9.12

Lo descomprimos en la unidad C.

Luego descargamos php, usare la versión 5.6.19

Descomprime el archivo de php dentro de la carpeta nginx.

Dentro de la carpeta php abre el archivo php.ini y borrar el punto y coma de las siguientes extensiones para activarlas:


  • extension_dir = “ext”
  • extension=php_bz2.dll
  • extension=php_gd2.dll
  • extension=php_imap.dll
  • extension=php_mbstring.dll
  • extension=php_mysql.dll
  • extension=php_mysqli.dll
  • extension=php_pdo_mysql.dll
  • extension=php_pdo_pgsql.dll
  • extension=php_pdo_sqlite.dll
  • extension=php_pgsql.dll



Vamos a la ruta  c:\nginx\conf para editar el archivo nginx.conf

Abrimos para editarlo y busca estas líneas, quita el signo de gato # para que quede así:

location ~ .php$ {
  root           html;
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_index  index.php;
  fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  include        fastcgi_params;
}

Crearemos un archivo por lotes para iniciar gnix, Iniciar.bat:

@ECHO OFF
c:\nginx\nginx.exe
c:\nginx\php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
ping 127.0.0.1 -n 1>NUL
echo Starting nginx
echo .
echo .
echo .
ping 127.0.0.1 >NUL
EXIT


Y para detener el servicio, Detener.bat

@ECHO OFF
taskkill /f /IM nginx.exe
taskkill /f /IM php-cgi.exe
EXIT


Servidor Nginx en Opera
Servidor Nginx en Opera


Abrimos el navegador en http://localhost para comprobar que funciona.

phpinfo uasndo Servidor Nginx
phpinfo usando servidor Ngibx en Opera


Para ver que php funciona crea una archivo llamado prueba.php con el siguietne código.

<?php
phpinfo();
?>


Instalando mysql


Descargamos el archivo zip para instalar mysql, usaré la versión 5.6.29 el archivo es pesado. Si quiere ahorrarte espacio borra las carpetas mysql-test, Embedded, sql-bench y las carpetas con nombre debug, y además también puedes borrar los archivos .pdb

Los descomprimos dentro de la carpeta de instalación ngnix, renombrandolo a mysql

El archivo my-default.ini lo copiamos en la misma carpeta cambiando el nombre a my.ini

Esta vacio, solamente con comentarios. Vamos a llenarlos con el siguiente contenido.


[client]
port = 3306
socket = c:/nginx/mysql/tmp/mysql.sock
default-character-set = utf8
character-sets-dir = share/charsets

[mysqld]
default-character-set = utf8
init-connect = "set names utf8"
skip-character-set-client-handshake
basedir = ../mysql
datadir = data

#log = off
general-log = off

bind-address = 127.0.0.1

port = 3306

lower-case-table-names = 2

port = 3306
socket = c:/nginx/mysql/tmp/mysql.sock
basedir = c:/nginx/mysql
datadir = c:/nginx/mysql/data
bind-address = localhost
enable-named-pipe
skip-external-locking

key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K

skip-innodb

#skip-networking

#enable-named-pipe

server-id = 1

#log-bin

#innodb_data_home_dir = data
#innodb_data_file_path = ibdata1:1M:autoextend
#innodb_log_group_home_dir = var/
#innodb_log_arch_dir = var/
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit=1
#innodb_lock_wait_timeout = 50

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
#safe-updates

[isamchk]
key_buffer = 8M
sort_buffer_size = 8M

[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout


Abrimos el Simbolo de Sistema com Administrador vamos a la ruta C:\nginx\mysql\bin\
y tecleamos:

mysqld --install-manual

Si te aparece error es porque no abriste Simbolo del Sistema como administrador. Si lo hiciste bien debes ver este mensaje: “Service successfully installed”

Ahora teclea:

net start mysql

Si todo salio ya lo tienes instalado, aun falta hacer unos ajustes con respecto a los usuarios cosa pero por ahora es todo.

Para detener el servicio es:

net stop mysql

Para retiralo como servicio es:

mysqld --remove


Ahora configuraremos el usuario root:

mysqladmin -u root password contraseña

Contreseña es la palabra que elegiste como contreña, ahora apra segurar el usuario.


mysql -u root -p

Te pedirá tu contraseña para loguearte. Tecleala y ya estarás en la consola de MySQL.


Si en algun momento necesitas cambiar la contraseña del usuario root teclea:

update mysql.user set password=CONTRASEÑA('nueva_contraseña') where user='root';

Para actualiazar los permisos (privilegios)y salir:

flush privileges; quit;

Obviamente debemos detener Mysql tecleando el comando dentro de la carpeta Unidad:\nginx\mysql\bin\ como Administrador


Por ahora es todo, luego añado como instalar phpmyadmin.

Intentando instalar Ruby on Rails en XAMPP

Esto fue un intento de instalar Ruby en XAMPP, lo que ves aqui no funcionará pero lo publico para que quede registrado mientras intento hallar una solución.

Esta es la forma para instalar Ruby on Rails en XAMPP.

Descargar e Instalar XAMPP

Descargar e Instalar RubyInstaller, en mi caso instalaré la versión 2.2.4. Ya que la 2.1 sus gemas no son compatible con las más recientes, especificamente la gema webconsole.


Instala Rubyinstaller en la ruta C:\xampp\railsinstaller

Al finalizar la instalación verifica que estén activadas las opciones para configurar GIT.
Establece la configuración tecleando tu nombre y un correo-e siguiendo las instrucciones.




Ahora checamos el archivo C:\xampp\RailsInstaller\Ruby2.2.0\bin\rails.bat para corregir un Bug que está en esta versión.

Verifica que la ruta para el ejecutable ruby, reemplazamos todas las líneas por este archivo:

@ECHO OFF
IF NOT "%~f0" == "~f0" GOTO :WinNT
@"C:\xampp\RailsInstaller\Ruby2.2.0\bin\ruby.exe" "C:/xampp/RailsInstaller/Ruby2.2.0/bin/rails" %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO :EOF
:WinNT
@"C:\xampp\RailsInstaller\Ruby2.2.0\bin\ruby.exe" "%~dpn0" %*

Si no lo haces te aparecerá el error "El archivo no puede encontrar la ruta especificada"

Crearemos un nuevo proyecto de Ruby. Abre la consola Ruby y teclea:

 rails new C:/xampp/htdocs/dev-ruby/redmine/

Agrega las siguientes líneas al final de archivo C:\xampp\config\httpd.conf que puedas abrirlo directamente en XAMPP.

Listen 3000
LoadModule rewrite_module modules/mod_rewrite.so
#################################
# RUBY SETUP
#################################
<VirtualHost *:3000>
ServerName rails
DocumentRoot "c:/xampp/htdocs/dev-ruby/redmine/public/"
<Directory "c:/xampp/htdocs/dev-ruby/redmine/">
Options ExecCGI FollowSymLinks
AllowOverride all
Allow from all
Order allow,deny
AddHandler cgi-script .cgi
AddHandler fastcgi-script .fcgi
</Directory>
</VirtualHost>
#################################
# RUBY SETUP
#################################


Reinicia los servicios Apache y SQL en XAMPP, en caso que marque error borra primera línea Listen 3000 que añadimos anteriormente.

cd C:/xampp/htdocs/dev-ruby/redmine

rails server

Intenta entrar en tu navegador mediante http://localhost:3000

Si ves el mensaje de error 403 Accesso Prohibido, entonces modifica el archivo httpd.conf y encuentra la siguiente sección:

  <Directory>
        AllowOverride none
        Require all denied
    </Directory>

Y cambiala por:

 <Directory>
       Options Indexes FollowSymLinks Includes ExecCGI
       AllowOverride none
       Require all granted
    </Directory>

Reinicia XAMPP.

Si ves el error 403, entonces tenemos que modificar el archivo C:\xampp\apache\conf\extra\httpd-xampp.conf y al final de archivo donde están estas líneas:


<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
        Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

Que quede así:

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
        Order deny, allow
Allow from all
Allow from ::1 127.0.0.0/8
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>




jueves, 25 de febrero de 2016

StarMaker en C#




Hace tiempo habia creado este programa en QT para Celestia, ahora lo vuelvo hacer codificandolo en C#.

Aqui esta disponible, por ahora no incluye la opción para crear planetas.

Es intesante estudiar y ver la diferencias en programacion usando C++ por medio de QT y C#.


domingo, 21 de febrero de 2016

Cómo configurar un repetidor Tor en Ubuntu

Para configurar un repetidor tor es necesario primero instalar tor:

$ sudo su
# echo "deb http://deb.torproject.org/torproject.org trusty main" >> /etc/apt/sources.list

En caso que tu distribución no sea la 14.04 reemplazar "trusty" por el nombre correspondiente de tu distribución.

Para saber cuál es puedes teclear el siguiente comando:

lsb_release -a

Ahora actualizaremos los repositorios.

sudo apt-get update

Añadiremos la llave:

apt-get install deb.torproject.org-keyring

Actualizaremos los repositorios de nuevo para confirmar la llave:

sudo apt-get update

Ejecutamos Tor

service tor start

Comprueba que Tor esté corriendo

 netstat -antp

Configuración


Editamos el archivo de configuración de Tor, haciendo un respaldo primero y luego la edición:

# cp /etc/tor/torrc /etc/tor/torrc.original
# pluma /etc/tor/torrc

Pluma es el editor de texto en MATE, reemplaza pluma si tu editor es otro: Nano, Gedit, mousepad, etc.

Añadimos al final del archivos las siguiente líneas:

SocksPort 0
Log notice file /var/log/tor/notices.log
Nickname Mirepetidor
ORPort 9001
DirPort 9030
Address ningno.ejemplo.com # esto es opcional
ContactInfo micorreo ARROBA gmail PUNTO com
RelayBandwidthRate 128 KB
RelayBandwidthBurst 192 KB
ExitPolicy reject *:*


SocksPort 0
Queremos que Tor actúe sólo como repetidor y que ignores las conexiones de aplicaciones locales.

Log notice file /var/log/tor/notices.log /var/log/tor/notices.log
Todos los mensajes de nivel de "aviso" deberán ir a /var/log/tor/notices.log. Checa los otro cinco niveles aquí.

Nickname Mirepetidor
Un nombre para nuestro servidor Tor. El repetidor podrá ser alcanzado en la bases de datos públicas por ese nombre.

ORPort 9001
Este es el puerto estándar para conexiones de red Tor entrantes.

DirPort 9030
Este es el puerto estándar para la distribución de información sobre el directorio público Tor.

Address ningunnombre.ejemplo.com #Opcional

Esto es opcional pero útil, Si tu repetidor tiene problemas participando en la red Tor durante el inicio intente proporcionar aquí el nombre de dominio completo o la dirección IP pública del equipo cliente/VM /VPS.

ContactInfo micorreo ARROBA gmail PUNTO com
Puedes poner una dirección real, sólo por si alguien quiere ponerse en contacto al revisar los datos de tu repetidor en un directorio público.

RelayBandwidthRate 128 KB
El ancho de banda permitido para el tráfico entrante. En este ejemplo es 128 kilobytes por segundo, es decir 8 x 128 = 1024kbps o 1Mbps. Tenga en cuenta que RelayBandwidthRate debe ser de al menos 20 kilobytes por segundo.

RelayBandwidthBurst 192 KB
Este es el ancho de banda permitido para ráfaga de tráfico entrante. En nuestro ejemplo es 50% más que el RelayBandwidthRate permitido.

ExitPolicy reject *: *
Este repetidor no permitirá salidas a la internet normal, es sólo parte de la red Tor. Si usted es el anfitrión del repetidor en su casa ese muy recomendable que no permita otras salidas. Esto es cierto incluso si estas usando Tor con VPS.

Ahora reiniciamos Tor:
service tor restart

Para ver lo que sucede mientras corre Tor:

tail -f /var/log/tor/notices.log

Al ver el archivo de log si ves que DirPort and ORPort son "reachables" entonces está funcionando. En caso que no, verifica los permisos de tu cortafuegos.

Monitoreando el Repetidor

Una forma de saber si nuestro repetidor está activo, es consultar el sitio Atlas buscando el nombre de nuestro repetidor.

Otra forma es instalando Arm, pero antes de esto necesitamos hacer unas modificaciones al archivo de configuración:

Busca estas líneas y borrar el signo de gato:

ControlPort 9051
HashedControlPassword ...

y al final de archivo añade:

DisableDebuggerAttachment 0

Ya no es necesario continuar trabajando desde el usuario root, salimos y creamos otra cuenta:

exit

Crearemos otra cuenta llamada debian-tor por razones de seguridad y lo corremos:

$ sudo -u debian-tor arm

Arm en Linux
Arm en Ubuntu
Ahora ya somos participantes de la red tor, es importante recordar que sólo somos un repetidor, no un nodo de salida, de la cuál otro se encargará. En otras palabras ningun servicio de internet o sitio web verá nuestra IP pública de nuestro repetidor, así nos evitaremos problemas.

Piensa que no podemos saber las intenciones de los clientes Tor ni podemos ser resposables de sus acciones. Los que tienen mas demanda son los nodos de salida pero eso se hace por medio un cambio mínimo en la configuración.

martes, 26 de enero de 2016

QT5.5 y Mysql




Para poder crear un program en QT5.5 que conecte con una base de datos es necesario hacer lo siguiente:


Descargar MySQL server 5.5, pero sólo instalaremos las librerias.

Necesitaremos el archivo mysql.dll que se encuentra en la carpeta C:\Program Files (x86)\MySQL\MySQL Server 5.5\lib

Lo copiamos a nuestra carpeta de nuestro proyecto QT para que nuestro archivo ejecutable funcione.

Este es un ejemplo simple para conectar a sql por medio de XAMPP.

Abre QT y compílalo.

Se adjunta la base de datos simple para importarlo a XAMPP.