Nube

sábado, 28 de junio de 2008

Bae Seul Gi- Tomboy

viernes, 27 de junio de 2008

Avísame!!

He integrado un avísame en la web para los interesados olvidadizos que deseen que les avise en la próxima apertura, el día 15 de Julio. La cuenta atrás ha comenzado.


Errores insalvables en Ícaro

La semana ha sido bastante movidita y más si nos centramos en ayer.
Ícaro sufrió un error crítico y tras día y medio de intentar restaurar el el servidor/mundo Ícaro he tenido que desistir. Es imposible restaurar algo cuando las copias de seguridad se han ido a tomar por c*** junto con las originales.

En fin, resignación, ya he tomado cartas en el asunto y como de los errores se aprende esto ya no va a volver a ocurrirme en la vida. (Al menos eso espero)
De ahora en adelante pondré en marcha un nuevo sistema multicopia de diferentes ubicaciones para evitar que vuelva a pasarme.



Hasta pronto Ícaro

Finaliza el mundo Evoba

Cerca de 200 especies se han registrado en la primera pre-alpha de Evoba, cosa nada desdeñable para un novato como yo. Mucho ha llovido desde entonces y grato ha resultado empaparme del conocimiento adquirido.
¡¡Un placer haber jugado con vosotros!!
¡¡Y sobre todo gracias por hacerme saber sus sugerencias!!


Victoria Tecnológica
TABANO
Victoria por Dominación
TABANO


¡¡¡¡¡Congratulations Tabano!!!!!

Nuevo diseño Evobas

Hoy he "terminado" el boceto sobre el que se basa la web principal de Evobas.

Me hacía falta una web para englobar al resto de mundos y aunque en la actualidad no exista ninguno operativo para un futuro será imprescindible organizar todo desde la página principal
Así que he decidido que el tutorial del juego así como el foro, el acerca de, contactar y más adelante el visitador/selector de mundos se encontrarán únicamente en la principal.

Al ser muchísimos los cambios entre versiones he tenido que dejar el tutorial en construcción...


jueves, 26 de junio de 2008

Amaral - Estrella de Mar - Acústico

Crear una tarea programa en el cron de sistemas UNIX

En sistemas tipo UNIX, como Linux, FreeBSD o Darwin (Mac OS X), es posible utilizar tareas cron para realizar tareas periódicas. Pasar el antivirus, realizar copias de seguridad, optimizar bases de datos ... etc ... etc ...

Qué hacer

Nota: La sintaxis puede diferir según la versión de cron en su sistema.

  1. Inicie una sesión shell como root y escriba el siguiente comando para iniciar un editor tipo VI:
    crontab -u root -e
  2. Pulse 'i' para insertar texto.
  3. Una tarea cron requiere cinco entradas indicando la fecha y hora, y el nombre y ruta del programa a ejecutar. Utilice un espacio o una tabulación entre cada entrada:

    minuto(0-59) hora(0-23) día_del_mes(1-31) mes(1-12) día_de_la_semana (0-7) (parámetro opcional que indica la ruta del interprete del script a ejecutar) /ruta/elscript.loquesea

    Puede utilizar el asterisco "*" como carácter comodín. Así "0 10 * * * /ruta/script.sh" equivale a "0 10 1-31 1-12 0-7 /ruta/script.sh". En este caso, el script se ejecutará a las diez de la mañana todos los días.

    Por ejemplo, para realizar un escaneado con Sophos Anti-Virus en el que se borren los elementos infectados de forma automática a las 8 de la noche en Linux (en Darwin no es necesario indicar la ruta a sweep), utilice:
    0 20 * * * /usr/local/bin/sweep /directorio/subdirectorio -remove

    Es posible utilizar nombres, en inglés, para indicar el mes o el día de la semana. Para el domingo puede utilizar Sunday, 0 ó 7.
  4. Una vez especificada la tarea, pulse 'Esc' para dejar el modo de inserción.
  5. Pulse 'ZZ' ('z' mayúsculas dos veces). Se mostrará un mensaje del tipo:
    /crontab.zUcAAFwPVp: 1 lines, 24 characters
    crontab: installing new crontab

La tarea ya se ha guardado y se enviará un mensaje de confirmación a root.

Para más información sobre cron o crontab, lea las páginas man correspondientes. Por ejemplo, para ver las páginas man de crontab:

man crontab


Fuente: www.esp.shopos.com

Realizar copia de seguridad de archivos web

Para realizar copias de seguridad, en linux, de nuestros archivos web cada cierto tiempo, deberemos de crear una tarea en el cron. Si no sabes como crearla pásate por aquí.

Yo suelo utilizar php para realizar dichas tareas:


//ruta archivo de salida
$C_FILE_ARCHIVO = "/ruta/backups/file_backup_".date("y_m_d_H_i_s").".tar.bz2";

//archivo o directorio a comprimir
$C_FILE_COMPRIME="eldirectoriodemiweb.com/";

//instrucción de guardado
system('tar -c "'.$C_FILE_COMPRIME.'" | bzip2 > "'.$C_FILE_ARCHIVO.'"');


Cualquier duda preguntarla.

martes, 24 de junio de 2008

Pincelando Evobas

Visto que no he logrado encontrar un colaborador grafista para Evobas, he decidido encarar al toro por los cuernos.

Si partimos de que mi talento para el dibujo se encuentra muy verde, cualquier cosa es posible.
Día a día voy aprendiendo e intento defenderme con los diseños que no es poco.

El estilo que voy a seguir todavía no lo tengo muy claro.
Lo mejor será mostrar un pequeño collage de bocetos.


Crear un archivo .htaccess o .loquesea en windows

Bueno, hace tiempo me ví en la tesitura de crear un archivo .htaccess en un entorno windows y encontré dos posibles soluciones:

1º- Descargarme un archivo que ya contenga el punto delante .htaccess y renombrarlo. Descargar .htaccess

2º- Renombrar un archivo mediante la consola de windows.

Pasito a pasito:
2.1- Crea un archivo en blanco .txt y llévalo a c:/ (llámalo mismamente nuevo.txt)
2.2-Ve a Inicio (abajo a la izquierda en XP) luego clicka en Ejecutar... , escribe cmd y se abrirá la consola de windows.
2.3- Para asegurarnos que estamos en c:/ escribimos en la consola cd c:\ (si no lo estamos nos llevará)
2.4- Renombramos el archivo escribiendo rename nuevo.txt .htaccess

Eureka!!

lunes, 23 de junio de 2008

Detector de "LadyBoys"

¿Qué tal funciona tu detector de maromos?

80%

Created by Bangkok Diaries - a Bangkok blog



Fiu he acertado el 80% confundiéndome solamente en dos mujeres por maromos.
Más vale prevenir que curar :X

Tutorial para dibujar un dragón con cuernos

Marchando otro tutorial de como dibujar dragones, en este caso de un dragón cornudo.


Tutrial dibujar un dragón cornudo


Paso 1
Vamos a construir la cabeza del dragón con 4 partes básicas, la mejilla o mandíbula, la cuenca del ojo, el hocico y el cuello. Dibujamos estas formas básicas en un "burbujeo" para tener un punto de vista general del dibujo.

Paso 2
A continuación, dibujando a partir de las "burbujas", creamos la mandíbula diviendo en dos la "burbuja" correspondiente. Dibujamos el montículo ocular y añadimos las fosas nasales.

Paso 3
Dibujamos el cuello del dragón, definimos el rostro aportándole detalle, añadimos pliegues a la piel y "hundimos" los ojos en el cráneo.

Paso 4
Por último añadimos los detalles que hacen único al dragón. En esta ocasión vamos a dibujarle cuernos de carnero, dos orejas y escamas desde la cresta al vientre.



Tutorial Original : Neon Dragon
Traducción : Roberto Herrero


Respeta el C@pyright

Os recuerdo que ya he subido otros tutoriales anteriormente :
- Plantilla para dibujar un lobo
- Plantilla para dibujar un lobo 2
- Plantilla para dibujar un dragón
- Plantilla para dibujar un dragón II

viernes, 20 de junio de 2008

Kil Gun - shake

La verdad es que no entiendo porque estas canciones no se convierten en hits en España.

IVY "OH NUL BAM IL"

domingo, 8 de junio de 2008

Sôber - La Nube

jueves, 5 de junio de 2008

Crear DSN desde vb 6.0 en tiempo de ejecución

Largo ha sido el camino transitado hasta encontrar la solución a uno de mis grandes dilemas.
Ahora que ya he conseguido hacerlo, lo comparto con el mundo.

El crear DSN's de forma dinámica en tiempo de ejecución nos permite configurar y utilizar las conexiones de los controles y data reports sin miedo a futuros cambios.

El código lo he organizado en un módulo.





''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''' Autor: Roberto Herrero '''''''''''''''''''''''''''''''
''' Fecha: 05/Junio/2008 '''''''''''''''''''''''''''''''
''' http://blog-indomita.blogspot.com/ '''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''' Origen : Brian Plano Abad '''''''''''''''''''''''''''''''
''' Fecha: 20/Dic/2006 (18 Diciembre 2006) '''''''''''''''''''''''''''''''
''' bplano@ solingest.com '''''''''''''''''''''''''''''''
''' http://www.elguille.info/colabora/vb2006/jesus_Ejemplo_Report_Manager2.htm
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


Option Explicit

'Constantes
Private Const ODBC_ADD_DSN = 1 ' Nuevo DSN
Private Const ODBC_CONFIG_DSN = 2 ' Modificar DSN
Private Const ODBC_REMOVE_DSN = 3 ' Eliminar DSN
Private Const ODBC_ADD_SYS_DSN = 4 ' Nuevo DSN de sistema
Private Const ODBC_CONFIG_SYS_DSN = 5 ' Modificar DSN de sistema
Private Const ODBC_REMOVE_SYS_DSN = 6 ' Eliminar DSN de sistema
Private Const vbAPINull As Long = 0 ' Null Pointer
Private Const SQL_SUCCESS As Long = 0
Private Const SQL_FETCH_NEXT As Long = 1

'Declaración de funciones de API
Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" (ByVal hwndParent As Long, ByVal fRequest As Long, ByVal lpszDriver As String, ByVal lpszAttributes As String) As Long
Private Declare Function SQLDataSources Lib "ODBC32.DLL" (ByVal henv As Long, ByVal fDirection As Integer, ByVal szDSN As String, ByVal cbDSNMax As Integer, pcbDSN As Integer, ByVal szDescription As String, ByVal cbDescriptionMax As Integer, pcbDescription As Integer) As Integer
Private Declare Function SQLAllocEnv Lib "ODBC32.DLL" (Env As Long) As Integer

'Constantes
'ruta hasta el servidor (ip/nombre/ruta)
Private Const C_Server = "localhost"
'usuario
Private Const C_User = "usuario"
'contraseña
Private Const C_Pass = "contraseña"
'base de datos
Private Const C_BD = "nombre base de datos"
'puerto
Private Const C_Port = 3306
'Nombre ODBC de MySql
'(si no tienes ninguno instalado http://dev.mysql.com/downloads/connector/odbc/5.1.html)
Public Const C_MYSQL_ODBC = "MySQL ODBC 5.1 Driver"



'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''' FUNCIONES
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'Crea el DSN para las conexiones
'(utiliza las constantes por defecto para conectarse a un servidor MySql)
'Si deseas personalizarlo o dinamizarlo deberás utilizar el resto de funciones
Public Function IniciaDSN(sDSNname As String) As Boolean
'Comprobamos si existe
If ExisteDSN(sDSNname) = True Then
'Si existe lo eliminamos previamente.
If BorrarDSN(sDSNname, C_MYSQL_ODBC) = False Then
IniciaDSN = False
Exit Function
End If
End If

'Creamos el nuevo DSN.
IniciaDSN = MySQLCrearDSN(sDSNname)
End Function


'Crea un DSN del sistema.
Public Function CrearDSN(sDSN As String, sDriver As String, sAtributos As String, Optional sHwnd As Long = vbAPINull) As Boolean
'Creamos el DSN (En vez de vbAPINull, empleamos el hwnd del formulario)
CrearDSN = CBool(SQLConfigDataSource(sHwnd, ODBC_ADD_SYS_DSN, sDriver, sAtributos))
End Function


'Crea un DSN MySQL con los atributos bien seteados.
Public Function MySQLCrearDSN(sDSN As String, _
Optional sServer As String = C_Server, Optional sBD As String = C_BD, _
Optional sUser As String = C_User, Optional sPass As String = C_Pass, _
Optional sPort As Integer = C_Port) As Boolean

Dim sDriver As String
Dim sAtributos As String

sDriver = C_MYSQL_ODBC
sAtributos = "DSN=" & sDSN & Chr(0)
sAtributos = sAtributos & "SERVER=" & sServer & Chr(0)

sAtributos = sAtributos & "PORT=" & sPort & Chr(0)

sAtributos = sAtributos & "DATABASE=" & sBD & Chr(0)

sAtributos = sAtributos & "USER=" & sUser & Chr(0)

sAtributos = sAtributos & "PASSWORD=" & sPass & Chr(0)

sAtributos = sAtributos & "OPTION=3" & Chr(0)

'Si queremos resetear la conexión de datos, debemos borrarlo antes
If ExisteDSN(sDSN) Then
Call BorrarDSN(sDSN, sDriver)
End If

MySQLCrearDSN = CrearDSN(sDSN, sDriver, sAtributos)

End Function


'Elimina un DSN del sistema.
Public Function BorrarDSN(sDSN As String, sDriver As String, Optional sHwnd As Long = vbAPINull) As Boolean
Dim sAtributos As String
' Borramos el DSN (En vez de vbAPINull, empleamos el hwnd del formulario)
If ExisteDSN(sDSN) Then
sAtributos = "DSN=" & sDSN & Chr(0)
BorrarDSN = CBool(SQLConfigDataSource(sHwnd, ODBC_REMOVE_SYS_DSN, sDriver, sAtributos))
Else
MsgBox ExIdioma("ModDSN_Contr1")
BorrarDSN = False
End If
End Function


'Comprueba si existe un DSN en el sistema.
Public Function ExisteDSN(sDSN As String) As Boolean
Dim I As Integer, j As Integer
Dim sDSNItem As String * 1024
Dim sDRVItem As String * 1024
Dim sDSNActual As String
Dim sDRV As String
Dim iDSNLen As Integer
Dim iDRVLen As Integer
Dim lHenv As Long 'controlador del entorno
Dim DSNLISTA(100)
ExisteDSN = False
For j = 1 To 52
DSNLISTA(j) = ""
Next j

j = 1
If SQLAllocEnv(lHenv) <> -1 Then
Do Until I <> SQL_SUCCESS
sDSNItem = Space(1024)
sDRVItem = Space(1024)
I = SQLDataSources(lHenv, SQL_FETCH_NEXT, sDSNItem, 1024, iDSNLen, sDRVItem, 1024, iDRVLen)
sDSNActual = VBA.Left(sDSNItem, iDSNLen)
sDRV = VBA.Left(sDRVItem, iDRVLen)
If sDSN <> Space(iDSNLen) Then
DSNLISTA(j) = sDSN
If UCase(sDSN) = UCase(sDSNActual) Then
ExisteDSN = True
Exit Do
End If
End If
Loop
End If
End Function


martes, 3 de junio de 2008

El lado oscuro del deseo

Película india ... llena de topicazos y cancioncillas. Demasiado tarde para mi.


Puntos a favor
- Las escenas torridas se encuentran trabajadas.

Puntos en contra
- Diálogos penosos.
- Traducción penosa.
- Topicazo tras topicazo típico de esas películas que emiten por las tardes en la tele.



Batalla en el Cielo

Película, al parecer, de bajo presupuesto bastante subidita de tono con desnudos explícitos.
Es mexicana.


Puntos a favor
- Las escenas son bastante "crudas", muy "naturales".
- Se pasan el día dándole.

Puntos en contra
- Diálogos en mexicano, cuesta entender tanta palabrería barriobajera.
- La trama no tiene mucho misterio.
- No entiendo porque tienen que enfocarle toda la "almeja" a la co-protagonista cuando alcanza el climax la película, con lo bien que estaba quedando la escena.




Isi Disi 2 Alto Voltaje

Parida tras parida y lo peor de todo es que el 95% carece de sentido

Puntos a favor
- Sale Kira Miró.

Puntos en contra
- Creo que es la única película en la que Kira Miró no se desnuda.
- Penosa y cutre hasta la médula.


No es país para viejos

En fin, perro ladrador poco mordedor.


Puntos a favor
- Algunas escenas se encuentran muy elaboradas.
- Algunos diálogos son pasables.


Hoy voy a destripar la película con los puntos en contra así que si te hace ilusión verla no sigas leyendo.

Puntos en contra
- Los personajes tan pronto son muy listos como tan pronto soy idiotas.
- Te pasas la película esperando a que el policía haga algo, cuando termina te preguntas que cojones pintaba.
- La película carece de sentido total, el argumento es una mera distracción para pegar tiros y matar gente sin ton ni son, de hecho se cargan al "protagonista" simplemente para que el asesino mate a su mujer.


lunes, 2 de junio de 2008

Liniers Macanudo