Ésta vez con algo de información sobre características de los pintores...
Fuente:
http://culturainquieta.com/es/pintura/item/5576-como-identificar-varios-pintores-famosos-simpaticas-pistas.html
Leer más...
Este Blog fue creado el 31 de Marzo de 2011, para administrar diferentes enlaces de informacion, tecnologia, noticias, ocio, etc... Espero que les guste. Las Heras, Mendoza, Argentina. Drakeware
miércoles, 21 de enero de 2015
martes, 1 de julio de 2014
[ SEGURIDAD ] Privilegios recomendables de directorios en linux para servidores
Presuming that a 'web application' runs on a server (like apache, nginx, etc) and is written in some dynamic scripting language (like PHP, Ruby, etc), you have a misunderstanding in who the 'user' is.
The user is not the person who is logged into your application - that, and their role in the application (admin, etc) is completely irrelevant to the scenario. The user is the linux system user that the process runs under. The code of your website is run as only one user - it may be the user of your webserver (which isn't really a good thing), or it may be a user specific to your site (which is much better).
On linux, users belong to groups - we can add a user to another group and assign privileges to that group.
A good setup will have your server run as one user (let's call this user 'webserver') and your dynamic scripting language run (e.g. via FastCGI) as its own user (one user per site - let's call our first user 'site1').
To serve your files, the webserver needs access to them, and the scripting language needs access to them. That means: 'site1' and 'webserver' need to be able to read your files. Only one of them, however can 'own' the files. The owner is the 'user' (in user, group, other). We also need our scripting language to be able to write to the directory (and read the files it has written). The user 'site1' therefore, needs read and write permissions. Since we want group and other permissions to be as restrictive as possible, our 'owner' will be 'site1', and the corresponding user permissions will be read and write.
Since we cannot specify the permissions for our webserver as another 'user', we will add 'webserver' to the 'site1' group (you could of course, create a different group with both 'site1' and 'webserver' in it. All members of this group will be given the same permissions. The most lax permissions (of the user, group, other set) will be applied to any given user to determine their permissions.
It is worth noting that a good setup should not require files to have execute permissions for a dynamic language. The files are not directly run, but rather are read into an interpreter - only read permissions are needed to run a typical script (one that doesn't write anything).
The 'execute' permission on directories has a different meaning - it permits traversal without being able to read the contents. In order to be able to read a file in a directory, a user must have 'execute' permissions on EVERY directory above it.
For a web application, every file must have read permissions by its owner - otherwise, it is a fairly pointless file. Whether a user or an admin uploads files (via your web application) the 'owner' (i.e. the dynamic language) needs write permissions. An efficient setup will try to serve static files directly via the web server, as dynamic languages tend to be slow at reading in large files and echoing out the contents. The web server therefore needs read access to your static files.
Therefore, the minimal file permissions may be:
- A file in a directory where user uploaded static files (images/swf/js files) will reside: 640
- A file in a directory where admin uploaded static files (images/swf/js files) will reside: 640
- A file in a directory where libraries used in the application reside: 400 (or 440)
- A file in a directory where executable/browsable server side scripts will reside: 400 (or 440)
- A file in a directory where the already existing files (txt or xml) will be edited by code on server side: 640 or 600
- (depends on whether the web server will display these, unmodified at times)
While, the minimal directory permissions may be:
- A directory where user uploaded static files (images/swf/js files) will reside: 750
- A directory where admin uploaded static files (images/swf/js files) will reside: 750
- A directory where libraries used in the application reside: 500 (or 550) [should be 510 at least]
- A directory where executable/browsable server side scripts will reside: 500 (or 550) [should be 510 at least]
- A directory where the already existing files (txt or xml) will be edited by code on server side: 750 or 700
- (depends on whether the web server will serve files from here, unmodified at times)
Once again - your web server must have 'execute' permissions on every directory above the one it needs access to - so even if the web server won't serve files from a given directory, we should grant it execute permissions.
It is fairly common to give the web server read access to most of the files (so change those 500 to 550). Default 'somewhat secure' permissions are commonly 755 for directories and 644 for files - no execute permissions, everyone can read, and only the user can write - you will note that the vast majority of files on a linux system have these permissions.
Keep in mind that the 'other' permissions refer to any system user who is not the owner or in the group (i.e. all remaining system users). Keeping your 'other' permissions restrictive is good, because these users are an unknown - you haven't explicitly given them permission. The other permissions are often the easiest to take advantage of on a compromised system (e.g. one of the reasons why /tmp is a common target).
In the context of the above, I don't think your last two questions are that relevant. Set your directory permissions to 550 (and file permissions to 440), and then grant the user write permissions for whatever directories your application will be writing to (i.e. directory: 750; file: 640).
(You will obviously need write permissions to upload the files - but if you wish, you can remove those afterwards - arguably though, if someone is writing to a directory which only the owner can write to - your account has been compromised - which is one of the reasons for keeping restrictive permissions).
fuente: http://serverfault.com/questions/345833/what-are-perfect-unix-permissions-for-usual-web-project-directories
Leer más...
jueves, 15 de mayo de 2014
Tratamiento de Imágenes con openCV (Muy recomendable)
Increible base de datos relacionada con la libreria openCV, para el tratamiento de imagenes, desde reconocimiento OCR, superposición de objetos, hasta detector de intrusos a traves de webcam...
LINK: http://opencv-code.com/ Leer más...
LINK: http://opencv-code.com/ Leer más...
viernes, 25 de abril de 2014
Reemplazo de texto masivo en varios ficheros con Perl
El comando para reemplazar un texto en varios ficheros es el siguiente
perl -p -i -e "s[texto_viejo][texto_nuevo]g" *.txt
Se utilizan expresiones regulares para que matcheen, en este caso son simples textos como "texto_viejo" y "texto_nuevo". Se pueden utilizar backslashes para caracteres especiales...
Es un comando MUY util Leer más...
perl -p -i -e "s[texto_viejo][texto_nuevo]g" *.txt
Se utilizan expresiones regulares para que matcheen, en este caso son simples textos como "texto_viejo" y "texto_nuevo". Se pueden utilizar backslashes para caracteres especiales...
Es un comando MUY util Leer más...
Usar conexión USB como router de Internet en beaglebone (BBB)
Routeo de BBB hacia Internet mediante PC (USB)
En la beaglebone configurar la ruta y los dns:
# route add default gw 192.168.7.1
# echo "nameserver 8.8.8.8" > /etc/resolv.conf
En la pc donde tenemos conectada la beaglebone:
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -A POSTROUTING -t nat -j MASQUERADE
Testeamos conexión con ping:
root@beaglebone:~# ping yahoo.ca
PING yahoo.ca (68.180.206.184) 56(84) bytes of data.
64 bytes from w2.rc.vip.sp1.yahoo.com (68.180.206.184): icmp_req=1 ttl=54 time=201 ms
64 bytes from w2.rc.vip.sp1.yahoo.com (68.180.206.184): icmp_req=2 ttl=54 time=93.8 ms
64 bytes from w2.rc.vip.sp1.yahoo.com (68.180.206.184): icmp_req=3 ttl=54 time=88.9 ms
Eso es todo...
REMOTE HOST IDENTIFICATION HAS CHANGED
Recién, acababa de instalar una version de debian Wheezy en una beaglebone black, y al intentar conectarme por ssh me salió el siguiente mensaje:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:9
RSA host key for barrina.usr.xc.systemadmin.es has changed and you have requested strict checking.
Host key verification failed.
lost connection
Googleando encontré que esto sucede porque la identificación que posee ese equipo sobre nosotros ha cambiado, por algún motivo como reinstalación, desconfiguración, Y HASTA HACK!.
Al conectarse le enviamos nuestro key y al ser distinto nos rechaza. Lo que debemos hacer es, borrar la información local que tenemos sobre el host con
$ssh-keygen -R 192.168.1.20
/root/.ssh/known_hosts updated.
Original contents retained as /root/.ssh/known_hosts.old
Y luego volver a generar el key entre las máquinas con una conexión del tipo:
Leer más...
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:9
RSA host key for barrina.usr.xc.systemadmin.es has changed and you have requested strict checking.
Host key verification failed.
lost connection
Googleando encontré que esto sucede porque la identificación que posee ese equipo sobre nosotros ha cambiado, por algún motivo como reinstalación, desconfiguración, Y HASTA HACK!.
Al conectarse le enviamos nuestro key y al ser distinto nos rechaza. Lo que debemos hacer es, borrar la información local que tenemos sobre el host con
$ssh-keygen -R 192.168.1.20
/root/.ssh/known_hosts updated.
Original contents retained as /root/.ssh/known_hosts.old
Y luego volver a generar el key entre las máquinas con una conexión del tipo:
$ ssh -l noc 192.168.1.20The authenticity of host '192.168.1.20 (192.168.1.20)' can't be established.RSA key fingerprint is 3f:3d:a0:bb:59:24:35:6d:e5:a0:1a:3f:9c:86:81:90.Are you sure you want to continue connecting (yes/no)? yes
Con esto quedaría resuelto el problema
lunes, 21 de abril de 2014
Renombre masivo de ficheros con SH
Buenas...
Les adjunto un script que encontré por la web que me resulto muy útil...
Es un script en la shell SH de linux (/bin/sh) que a través de un bucle recorre un sinfin de ficheros en el directorio actual que matchean con la expresion dada y cambia el string fuente por el destino...
Miren...
Espero que les sirva... Saludos! Leer más...
Les adjunto un script que encontré por la web que me resulto muy útil...
Es un script en la shell SH de linux (/bin/sh) que a través de un bucle recorre un sinfin de ficheros en el directorio actual que matchean con la expresion dada y cambia el string fuente por el destino...
Miren...
#!/bin/sh # HEADERS
for i in *.sh; do # Lista ficheros que matcheen con *.sh
j=`echo $i | sed 's/sh/png/'` # (Str) Reemplaza ".sh" por ".png"
mv $i $j # Renombra fichero por texto indicado
done # finalizando el bucle for
Espero que les sirva... Saludos! Leer más...
martes, 4 de octubre de 2011
Regreso y traigo mi Script. Wallpapper Changer v1.0
Buenas maximas a todos, aca volviendo despues de varios meses a mi blog, he decidido revivirlo un poco, y para hacerlo, traigo mi script, es un cambiador de Wallpaper. Contiene un config.cfg donde por ahora solo estarán implementados dos datos, la carpeta de los Wallpapers, y un intervalo de tiempo entre cada wallpaper... Son 3 archivos, les copio el codigo, espero que los entiendan, comente el codigo para que les sea a los principiantes (aunque me considero uno) entender el codigo... Y al final les dejo para descargar los ficheros. Cualquier duda al mail :)
WallChangerIndex.sh
WallChanger.sh
Si entendieron el codigo, el programa principal es "WallChanger.sh" es el encargado de buscar la carpeta, con los Wallpapers, elegir al azar y cambiarlo cada un cierto tiempo. Se preguntaran porque cree "WallChangerIndex.sh" Ese para mi es el proceso inicial del programa, busca si esta ejecutado "WallChanger.sh" y si lo esta lo cierra, y/o cierra todo proceso con ese nombre, y lo vuelve a abrir, si no lo esta, lo abre por primera vez. ¿Porqué? Lo hice para cuando hay un Wall que no te gusta, o lo queres cambiar, entonces, al ejecutar este file, es como que inicia TODO de nuevo, cierra el WallChanger.sh anterior y lo vuelve a abrir, buscando otro Wall, se entiende? Es mas, yo para ejecutar el programa, abro directamente ese archivo, o mejor, como tengo hecho, en los procesos iniciales, al arrancar ubuntu. Entonces se maneja solo el programa, y cuando no me gusta un wall, lo cambio con "WallChangerIndex.sh" Tambien quisiera aclarar que yo lo tengo al acceso directo en el escritorio "COMO APLICACION" no como "APLICACION EN TERMINAL" asi no molesta la ventana del terminal...
Para ser mi primer minisoft creo que va bien, con el tiempo lo iré modificando, y agregando cosas, espero que les guste, y les sirva, si les interesaria aportar con ideas, sugerencias, reportar bugs, manden al mail => maati.ga*rcia=@ gmail.com" (SIN EL ESPACIO, NI EL ASTERISCO, NI EL SIGNO DE IGUALDAD, PARA EVITAR SPAM)
WallChangerIndex.sh
#!/bin/bashmydir=$(cd $(dirname "$0"); pwd)#directorio del script
#analizamos procesosEXISTE=`ps -ef | grep "WallChanger.sh" | grep -v "grep" | awk '{print $2}'`
PINDEX="$mydir/WallChanger.sh"
#comprobamos existenciaif [ "$EXISTE" != "" ]; then kill -9 `ps -ef | grep -i "WallChanger.sh" | awk {'print $2'}`
sh $PINDEX #re-ejecutamos #echo "El proceso existe. El ID del proceso es: $EXISTE"else #ejecutamos directamente sh $PINDEX #echo "El proceso no existe."fi
#Cualquier duda, sugerencia, reporte de errores a maati.garcia@gmail.com#Gracias
WallChanger.sh
#!/bin/bashmydir=$(cd $(dirname "$0"); pwd)#directorio del script#leemos el archivo de configuracionCONFIGFILE="$mydir/config.cfg"while read linedoconfig.cfg
date1=`echo $line | cut -d '=' -f1` date2=`echo $line | cut -d '=' -f2` if [ "$date1" = "FOLDER" ]; then CARPETA=$date2 elif [ "$date1" = "SLEEP" ]; then TIEMPO=$date2 fidone < $CONFIGFILE#Bucle de cambio de imagenwhile [ 1 ]; do set — * pixdir=$CARPETA newbkgrnd="$(ls $pixdir | shuf -n1)" gconftool-2 -t string -s /desktop/gnome/background/picture_filename "$pixdir$newbkgrnd" gconftool-2 -t string -s /desktop/gnome/background/picture_options zoom #Intervalo de cambio sleep $TIEMPOdone#Cualquier duda, sugerencia, reporte de errores a maati.garcia@gmail.com#Gracias
FOLDER=/home/mtx/Imágenes/Wallpapers/02Wallpapers/
SLEEP=10m
Si entendieron el codigo, el programa principal es "WallChanger.sh" es el encargado de buscar la carpeta, con los Wallpapers, elegir al azar y cambiarlo cada un cierto tiempo. Se preguntaran porque cree "WallChangerIndex.sh" Ese para mi es el proceso inicial del programa, busca si esta ejecutado "WallChanger.sh" y si lo esta lo cierra, y/o cierra todo proceso con ese nombre, y lo vuelve a abrir, si no lo esta, lo abre por primera vez. ¿Porqué? Lo hice para cuando hay un Wall que no te gusta, o lo queres cambiar, entonces, al ejecutar este file, es como que inicia TODO de nuevo, cierra el WallChanger.sh anterior y lo vuelve a abrir, buscando otro Wall, se entiende? Es mas, yo para ejecutar el programa, abro directamente ese archivo, o mejor, como tengo hecho, en los procesos iniciales, al arrancar ubuntu. Entonces se maneja solo el programa, y cuando no me gusta un wall, lo cambio con "WallChangerIndex.sh" Tambien quisiera aclarar que yo lo tengo al acceso directo en el escritorio "COMO APLICACION" no como "APLICACION EN TERMINAL" asi no molesta la ventana del terminal...
Para ser mi primer minisoft creo que va bien, con el tiempo lo iré modificando, y agregando cosas, espero que les guste, y les sirva, si les interesaria aportar con ideas, sugerencias, reportar bugs, manden al mail => maati.ga*rcia=@ gmail.com" (SIN EL ESPACIO, NI EL ASTERISCO, NI EL SIGNO DE IGUALDAD, PARA EVITAR SPAM)
>> DESCARGA << https://rapidshare.com/files/702124151/WallChanger.tar.gz
Leer más...
martes, 10 de mayo de 2011
martes, 3 de mayo de 2011
Mi escritorio terminado !
Bueno creo que termine de editar mi apariencia linuxera... Me gusta como quedo, solo me queda editar el menu de abajo, pero es lo de menos, el resto quedo piola... Paso a nombrar los paquetes que utilice para llegar a este aspecto...
SO: Ubuntu 10.10 - Maverick Meerkat
Kernel: 2.6.35-25-generic
Entorno de Escritorio: Gnome 2.32.0
Dock: Avant Window Navigator
Tema: A New-Hope
Iconos: AwOken
Iconos del Dock: AwOken
Menu: Comun de Gnome (proximamente instalare C-A-M )
WIdgets : Screenlets 0.1.2
Transparencia : la logre con el editor de configuracion (gconf) (Aplicaciones > Herramientas del Sistema > Editor de configuracion) ya que no poseo placa de video, solamente la integrada... Aunque sigo luchando para lograr la transparencia en las ventanas como el verdadero Theme "A New Hope"
Panel : les adjunto el *.png que hice yo, abajo del screenshot
Espero que les haya gustado...
pd: la macetita de marihuana la riego pero todavia no crece, recien empece ayer, jajajja
SCREENSHOT
PANEL CASERO :P
Leer más...
Mi escritorio !
Hace unas dos horas que estoy probando utilidades para este sofisticado S.O. Y asi ha quedado hasta ahora, solo me quedan unos detalles... Por hoy termine, mña terminare y mencionare que paquetes instalé. Espero que les guste!
Leer más...
Leer más...
sábado, 9 de abril de 2011
RECUPERAR DPKG
Instalando paquetes, actualizando, haciendo la mia, toque algo y me salto un error con /var/lib/dpkg, en realidad con el fichero lock, e intente borrarlo (cosa que antes podia tranquilamente y seguia con mi progreso de instalacion), esta vez, no pude, y no tuve peor idea que borrar el directorio /var/lib/dpkg... Y en vez de mejorar empeore TODO... bueeno, buscando y buscando, aca les traigo la solucion, espero que les sirva...
Antes que nada, un poco de cultura linux... :
El programa dpkg es la base del sistema de gestión de paquetes de Debian GNU/Linux. Fue creado por Ian Jackson en 1993. Se utiliza para instalar, quitar, y proporcionar información sobre los paquetes .deb. (Informacion sacada de Wikipedia)Bueno lo primero que vamos a hacer es crear el directorio dpkg
#mkdir /var/lib/dpkg luego :
#touch /var/lib/dpkg/lock
#chmod 740 /var/lib/dpkg/lock
El comando "touch" es normalmente utilizado para actualizar los privilegios de acceso de los archivos y sus fechas de modificación, pero también puede crear un "archivo" nuevo.
Luego, abrimos nautilus, o por comandos en terminal, realicen estos pasos aparte...( Lo que esta en parentesis son los comandos en el terminal) sino hagan todo con nautilus
1) Naveguen hasta /var/backups y listen los archivos (cd /var/backups;ls)2) Analicen los archivos dpkg.status.<<numero>>.gz en el directorio /var/backups.3) Copiar a /var/lib/dpkg/ (Por ejemplo: cp dpkg.status.5.gz /var/lib/dpkg/) busquen el que tiene el numero mas grande4) Cambiar al directorio /var/lib/dpkg (cd /var/lib/dpkg)5) Descomprimir el archivo .gz, (gunzip dpkg.status.5.gz) lo cual genera el archivo dpkg.status.5.6) Renombrar dpkg.status.5 como status (mv dpkg.status.5 status).
Ahora si hagan lo siguiente :
#apt-get install --reinstall dpkgSi esto no les funciona, hagan
#apt-get updateY lo mas seguro es que les actualice la lista de repositorios, y podran asi instalar nuevamente paquetes, lo cual tras el "moco" que me mande no se podia hacer NADA... Espero que les sirva... Saludos !
POST TOTALMENTE MIO !
Leer más...
miércoles, 6 de abril de 2011
Antena WiFi casera
Les dejo unos links, para construir antenas wifi caseras, leanlas estan muy buenas...
LINKS :
- Omnidireccional con cubierta de PVC
- Recopilación: varios tutoriales para varios tipos de antenas
- Direccional con CDs
- Antena con latas y sistema automático de cálculos
- Direccional con dispositivo WiFi USB
- Más de 50 ejemplos de antenas con WiFi USB
- Parabólica con cazuela y antena de un AP
- Antena WiFi con los materiales del hogar
Si Linux fuera el SO más usado del mundo
He comprendido a un individuo que dijo tener problemas al pasar de Windows a Linux. Sentí lo mismo al experimentar con Windows. Creí que debía probar Windows desde que todos mis amigos comenzaron a contarme cuán genial era.
Fui al sitio de Microsoft para descargarlo, pero no estaba disponible. Estaba enojado porque perdí mi tiempo tratando de buscar un link de descarga, así que decidí preguntarle a mi amigo y él me dijo donde comprarlo.
Me subí a mi carro y conduje hasta el mall, en donde encontré una tienda que vendía software. Le pregunte al vendedor por un SO Windows y él me preguntó qué versión quería.
- “Quiero la distribución más completa”, dije orgullosamente.
- “599 euros, por favor pase al cajero”, él dijo, poniendo la caja en una bolsa.
Juro que me salí de la tienda en ese instante.
Uno de mis amigos me dio una copia de Windows XP pero me dijo que no le dijera a nadie. Pensé que era un poco extraño, porque yo copio mi distribución de Linux todo el tiempo para dársela a mis amigos. Como sea…
Tomé el CD, lo puse en la bandeja de CD’s, reinicie la computadora y esperé a que el Live CD iniciara.
Eso no funcionó . El CD sólo me preguntaba que si quería instalarlo. Le llamé a mi amigo por teléfono y me dijo que Windows XP no se podía iniciar desde el CD.
OK, decidí que lo instalaría. Seguí las instrucciones de la pantalla, pero me puse nervioso porque no me preguntó si tenía otros sistemas operativos instalados. Se que en cada Linux que instalo, siempre me pregunta por crear nuevas particiones o cosas por el estilo. Le volví a llamar a mi amigo y él me dijo que Windows XP elimina cualquier otro sistema operativo previamente instalado. Bien, OK, regresé a Linux y respaldé todos mis datos antes de regresar a instalar mi copia de Windows.
La instalación fue bastante simple, a excepción de la parte en que me preguntó acerca del numero de serie, que era una combinación de letras y números. Ahora mi amigo estaba enojado de que lo llamara todo el tiempo, mejor vino a mi casa y escribió su numero.
Él me repitió que no debería decirle de esto a ningún alma viviente. Él fue y reinició la computadora para iniciarla por primera vez.
Me quedé en shock cuando me permitió cambiar la configuración del sistema sin preguntarme por mi contraseña. Mi amigo juró que escuchó mi voz de nuevo en el teléfono. Él me dijo que el acceso de root fue dado desde el inicio. Encontré como crear otro usuario sin acceso a root e inicié sesión. Entonces me encuentro con que si quería cambiar algo, en vez de preguntar por la contraseña, necesitaba salirme y volver a entrar como administrador (que es el nombre que aquí le dan a root). Con esto, me di cuenta de que había demasiada gente que iniciaba sesión como administrador y me empezaron a dar nervios.
OK, hora de trabajar. Fui a inicio > programas, para abrir una aplicación de hoja de cálculo, pero no pude encontrar nada. Mi amigo me contó que Windows no tiene ninguna aplicación de esas por defecto y que necesitaba descargarla de Internet.
Bien, pensé, es la distribución básica de Windows. Me dirijí a añadir/remover programas en el panel de control, justo como en Linux, pero aquí no había programas para añadir. Sólo me permitía remover programas. No pude encontrar ningún botón o menú que me permitiera instalar aplicaciones. Esto es extraño!
Telefoneé a mi amigo otra vez, y él me dijo que yo necesitaba encontrar mis propias aplicaciones para instalar, así que después de googlear, encontré a openoffice.org para descargar e instalar. Ahora por fin podría terminar mi trabajo con la hoja de cálculo.
Te diré la verdad, no me divertí del todo. No comprendo bien esta tecnología. Porque hay un disco A, y después un disco C, donde esta el B? Esa sería una distribución básica. No encontré aplicaciones para incrementar mi productividad y tuve que gastar mi tiempo para encontrarlas. Mi amigo me dijo que necesitaba una aplicación de antivirus que tampoco venía con la distribución.
No entiendo como es un virus de computadora. Cómo un objeto inanimado podía contraer una infección?
Encontré a esta distribución de Windows muy difícil de usar. Tal vez pueda ser buena para gente que entiende de computadoras, pero para mi, no gracias. Me devuelvo a mi Linux.
martes, 5 de abril de 2011
Script en bash para descargar canciones de goear
http://dl.dropbox.com/u/9725304/Scripts/goear.sh
Le dan permisos de ejecución:
$ sudo chmod +x goear.sh
Y lo ejecutas:
./goear.sh Capturas :
espero que les sirva saludos CRACKS ! Leer más...
Le dan permisos de ejecución:
$ sudo chmod +x goear.sh
Y lo ejecutas:
./goear.sh Capturas :
espero que les sirva saludos CRACKS ! Leer más...
sábado, 2 de abril de 2011
VOLVEREMOS !!!
2 de Abril ! Un nuevo aniversario de una fecha complicada... Realmente no se por donde empezar, tengo tanta impotencia, bronca, "nazismo" encima, que yo se que mas de uno debe pensar igual, en agarrar cualquier arma, ir corriendo re bersequeado a malvinas, o como sea, y matar a cualquiera que se cruze, dejar ese lugar limpio, sacar esos piratas, darle de comer a los peses y tiburones del mar carne inglesa ! Es mas, ni los tiraria al mar, los van a contagiar de alguna enfermedad, esa carne enferma que tienen... Disculpen mi sarcarsmo, pero me da bronca, mucha bronca, soy muy patriotico, muy nacionalista, y por el celeste y blanco dejare la vida donde sea, asi tengamos una politica deplorable, la cual detesto, y ni me interesa... Tantos militares, haciendo destrozos, haciendose los vagos en el año 76, y en el 82 no pusieron ni media postura...
Desaparecieron mas de 30mil personas en nuestro pais por aquel gobierno de facto, y vinieron los ingleses y que hicieron ? Disfrutaron como mataban gente sin experiencia aca ? Esos militares "de factos" eran argentinos ? Que pasó ? No se, ya fue, nada se puede hacer, yo lo lamento por la gente que vive en Malvinas, pero algun dia, todos nos vamos a levantar extremadamente revolucionarios, y el Papa, el Vaticano, el presidente de cualquier pais, el presidente del mundo (si es que haya) no las va a chupar, y vamos a ir a luchar a Malvinas : PORQUE LAS MALVINAS ERAN SON Y SERAN SIEMPRE ARGENTINAS !!!!
Esperennos nomas !
INGLATERRA LA CONCHA DE TU MADRE !!!!
viernes, 1 de abril de 2011
JDownload corriendo en Ubuntu
Hay formas y formas de descargar un paquete en Ubuntu, por el Centro de Software, por Synaptic, todo esto requiere agregar los repositorios al sources.list si es de que no estan en los repositorios de Linux, por el terminal, como sea, sino tambien descargar un fichero desde la pagina del cual queremos bajar el archivo...
Una vez instale JDownloader, y me acuerdo que hice muchas cosas para instalarlo, y dsp lo desinstale, y hoy les voy a mostrar como descargar en un paso el JDownloader, y que el terminal haga todo el resto... Todo se maneja a traves de un shell script los pasos son :
- wget tiene que estar instalado en el sistema! (Sino descargar por Synaptic)
- Descargar el fichero jd.sh
- Una vez descargado el fichero, navegan en el terminal hasta donde lo descargaron con cd
- escriban chmod +x jd.sh (para otorgar privilegios)
- escriban start jd.sh ó sh jd.sh
Luego veran al terminal descargar y actualizar el JDownloader, a mi en una parte se me re colgo la pc, pero luego volvi a ejecutar el shell script con sh jd.sh, y arranco el JDownloader lo mas normal !
Espero que les haya servido, saludos !
Agregar link “Leer más” en Blogger
Lo primero que debemos hacer es modificar la plantilla, “Plantilla -> “Edición de HTML”, como siempre antes de realizar cualquier cambio realiza una copia de seguridad. Debes “Expandir plantillas de artilugios” y localizar el texto siguiente: <div class=’post-body’>
Una vez localizado incluye debajo el siguiente código:
<b:if cond='data:blog.pageType == "item"'>
<style>.fullpost{display:inline;}</style>
<p><data:post.body/></p>
<b:else/>
<style>.fullpost{display:none;}</style>
El resultado final debería ser el siguiente:<a expr:href='data:post.url'>Leer más...</a> </b:if>
En rojo está lo que hemos añadido. Ahora sólo tienes que guardar la plantilla.<div class='post-body'> <b:if cond='data:blog.pageType == "item"'> <style>.fullpost{display:inline;}</style> <p><data:post.body/></p> <b:else/> <style>.fullpost{display:none;}</style> <p><data:post.body/></p> <a expr:href='data:post.url'>Leer más...</a> </b:if> <div style='clear: both;'/> <!-- clear for photos floats --> </div>
Para dividir los posts hay que añadir una etiqueta en las entradas que define cuál quieres que sea el extracto de la entrada que se muestre antes del “Leer más”.
Para ello sólo tienes que escribir el texto inicial y el resto encerrarlo dentro de:
<span class="fullpost"> <---Segunda parte del texto ---> </span>De manera que, si en el área de creación de entradas de Blogger escribieras lo siguiente: Texto inicial <span class="fullpost"> Texto secundario </span>
En tu blog aparecería lo siguiente:
Texto inicial
Leer más…
Y al pinchar aparecería, “Texto Inicial” seguido de “Texto secundario”.
Incluir la etiqueta automáticamente.
Existe también la posibilidad de, que por defecto y para no tener ni que acordarte ni que escribirlo una y otra vez, hacer que la etiqueta aparezca automáticamente cada vez que quieras crear una entrada.
Simplemente vas a “Opciones -> Formato” y en en el cuadro de texto de “Plantillas de entrada” añades <span class=”fullpost”> </span> y guardas los cambios. Ahora cada vez que abras el editor aparecerá automáticamente la etiqueta.
Un "Hola Mundo" con C de Linux
Vamos a hacer nuestro primer programa con C de Linux. Un simple "Hola Mundo". En este tutorial verás, más o menos desde cero, como escribir el programa, cómo compilarlo y cómo ejecutarlo para ver el resultado. De esto a hacer un juego del Quake para linux sólo hay un pequeño paso.
Abrir una shell de linux
Una vez que hemos entrado en sesión en linux, introduciendo nuestro nombre de usuario y clave, abrimos una shell de linux. Suele haber un icono en el escritorio o en la barra de herramientas que nos permite abrirla. La shell es una ventana de texto en la que podemos escribir comandos de linux y ver los resultados. Esta shell es la que usaremos para hacer nuestro programa. En unix siempre se ha llamado shell, creo que en linux la llaman bash.
Por supuesto, todo esto es suponiendo un linux moderno que entra en un entorno de ventanas. Si nuestro linux es modo texto, al entrar en sesión entramos directamente en una shell.
Crear un directorio de trabajo
La shell se abre por defecto en el directorio raíz asignado a nuestro usuario. Vamos a crear un subdirectorio para nuestro programa y meternos en él. El subdirectorio se crea con mkdir y nos metemos en él con cd.
$ mkdir MI_PROGRAMA
$ cd MI_PROGRAMA
Escribir nuestro programa. El editor vi.
Podemos escribir nuestro programa con cualquier editor que conozcamos. El editor estandard para los sistemas unix es el vi. Ahora linux suele venir con versiones mejoradas del vi, como son el vim o el gvim. También suele venir con otros editores, como el xemacs. Puesto que el vi es el estandard que viene con todas las distribuciones de unix, es el que vamos a usar.
La extensión de un programa en c es ".c". Editamos un fichero nuevo HolaMundo.c para escribir en él. El comando es
$ vi HolaMundo.c
Las mayúsculas y minúsculas son importantes, Podemos poner lo que queramos, pero siempre igual a partir de ahora. El editor vi se escribe con minúsculas.
El editar con el vi la shell cambia de aspecto y se llena de "gurruñitos" en la primera columna (muchos de estos ~). Ese es nuestro fichero, que de momento está vacío.
El editor vi tiene dos modos de trabajo: en modo de comandos y en modo de inserción.
En el modo de comandos, cualquier tecla que apretemos se interpreta como un comando, no se escribe. Es decir, si pulso la x, en vez de escribirse una x, lo que se hace es borrar un caracter (es el comando asignado a la x).
En el modo de inserción, los caracteres sí se escriben. Si pulso la misma x de antes, ahora se escribe una x.
Por defecto el vi entra en el modo de comandos. Para pasar al modo de inserción y poder escribir, pulsamos la i (de insertar). Esto nos pone en el modo de inserción y podemos empezar a escribir nuestro programa en c. Puede ser como el siguiente
#include <stdio.h>
int main()
{
printf ("Hola mundo.\n");
return 0;
}
Si nos equivocamos al escribir, pulsamos la tecla de borrado. Si el error es más gordo, debemos pasar al modo de comandos para corregirlo. Pasamos al modo de comandos pulsando la tecla <escape>. Nos movemos a los caracteres erroneos con las flechas (si no funcionan, debemos usar + para bajar de linea, - para subir una linea, <espacio> para avanzar a la derecha y b para retroceder a la izquierda). Una vez encima del caracter que queremos borrar, pulsamos la x. Para insertar caracteres, ponemos el cursor en el sitio en el que queremos insertar y pulsamos la i que nos mete nuevamente en el modo de inserción y podemos seguir escribiendo.
Una vez terminado el programa, pulsamos <escape> para pasar al modo de comandos y escribimos :wq (un : una w y una q). Esto hace que se salve el fichero y salgamos del editor vi
El editor vi parece complejo de usar, y de hecho lo es cuando se empieza con él. Sin embargo es de los editores más potentes y cómodos que he encontrado cuando se conoce y te acostumbras a él. Ahora programo en windows con los editores típicos de los entornos de desarrollo de windows y echo de menos algunos comandos de vi, además de que el ratón me hace hacer determinadas operaciones más lentamente de lo que puedo hacerlas en vi simplemente pulsando teclas.
Compilamos nuestro programa
Para compilar nuestro programa usamos el comando (compilador) gcc. Si nuestro programa fuera de C++ deberíamos usar el g++
$ gcc HolaMundo.c
Esto compila el programa y produce un ejecutable, si no hay errores, que se llama a.out
Ese nombre no es bonito y tampoco es bonito que mi HolaMundo se llame a.out, que mi juego de marcianos se llame a.out y mi hoja de calculo se llame a.out. Tampoco es bonito tener que cambiarle el nombre al ejecutable después de compilar. Afortunadamente gcc tiene opciones para poder darle al ejecutable el nombre que queramos. La opción es -o NombreQueYoQuiera. Borramos el a.out con el comando rm y volvemos a compilar con la opción -o que sí es bonita.
$ rm a.out
$ gcc HolaMundo.c -o HolaMundo
Ya deberíamos tener el ejecutable HolaMundo
A diferencia de windows, los ejecutables no tienen que terminar en .exe. Linux marca los ejecutables con un atributo del fichero (similar a los atributos de escritura o sólo lectura), y le da igual la extensión que tengan.
Ejecutamos nuestro programa
Suponemos que para ejecutar nuestro programa basta con poner su nombre
$ HolaMundo
¡Lástima! ¡No funciona!. El motivo es que por seguridad, linux sólo busca ejecutables en determinados directorios. Esos directorios son los que se indican en la variable de entorno PATH. Ni el directorio de nuestro proyecto ni el directorio actual de trabajo están en esa variable (ni deben estar si atendemos a la seguridad). Para ejecutar nuestro programa hay que poner delante el path donde se encuentra. Este path puede ser absoluto o relativo al directorio actual. Vale cualquiera de los siguientes:
$ /home/chuidiang/MI_PROGRAMA/HolaMundo
$ ./HolaMundo
Ya está. Cualquiera de estos dos comandos debería ejecutar nuestro programa y mostrarnos el tan deseado "Hola mundo." (Por supuesto, el /home/chuidiang es dónde está mi directorio como usuario chuidiang. Tú tendrás que poner el tuyo.)
El siguiente paso (opcional de momento, pero obligatorio cuando hagamos cosas más complejas) será entrar en el debugger.
Leer más...
Suscribirse a:
Entradas (Atom)





