Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Akai

#1
Bienvenidos a posiblemente uno de los how-to más dementes de elhacker.net

Créditos: No recuerdo quien se curró el script, pero era un tío majo en stackoverflow

Va, ahora, al asunto.

No me he parado a mirar si el tema está ya comentado por aquí, tampoco me voy a extender a explicar a fondo los entresijos del funcionamiento del método, pero con el script y el método que ahora comentaré, es posible guardar los videos en flash que se tengan cargados en chrome.

Desconozco si funciona cono otros exploradores.

Todo esto se debe hacer sin cerrar la pestaña donde tenemos cargado el video en el explorador

Código (bash) [Seleccionar]
!#/usr/bin/env bash

for flashpid in $(pgrep -f flashplayer.so); do
    cd "/proc/$flashpid/fd"
    for video in $(file * | grep '/tmp/Flash' | sed 's/\(^[0-9]*\).*/\1/g'); do
        echo "/proc/$flashpid/fd/$video"
    done
done


Supongamos que hemos cargado un único video en chrome, como hice yo hace unos minutos cuando se me ocurrió la idea de subir el método que llevo usando unos días.

Abrimos el Shell, lanzamos nuestro super script y obtenemos lo siguiente:

[akai@Arch-Akai ~]$ ./woot.sh
/proc/13266/fd/11

Tenemos un descriptor de fichero del tamaño del video que apunta a un archivo borrado de /tmp . Qué pena, no?

Pero nosotros somos más listos

[akai@Arch-Akai ~]$ cat /proc/13266/fd/11 >> 1.flv

Ábrase el fichero 1.flv con el reproductor deseado, disfrútese las veces que quiera del video que estabas viendo en youtube (en realidad todos sabemos que estabas en sitios más nefarios, pillín) en forma de contenido en flash, para cuando no te apetezca esperar, o estés sin internet.
#2
Estoy pensando en cambiar de móvil y por cuestiones de puntos (vodafone) y precio había considerado estas dos opciones:

(Esto es lo que considero que tiene uno mejor frente al otro)
HTC Wildifre: tiene mayor almacenamiento propio, cámara de 5 MP con flash

Samsung Galaxy 3: mejor pantalla (240x400 pixels), mejor procesador.

No tengo claro cual de los dos elegir, pero me estaba inclinando algo más hacia el Galaxy. ¿Qué opináis y por qué?

#3
Programación C/C++ / Duda con licencias de Qt
15 Noviembre 2010, 14:01 PM
No se si este es exactamente el lugar correcto para este post, pero debido a que no encontraba una sección donde pudiese encajar bien y que en Qt se trabaja con C++... Entraré en la cuestión:

Estaba pensando en realizar una pequeña aplicación con interfaz gráfico utilizando Qt 4.7 que es posible distribuya de alguna forma, pero no tengo previsto que a su vez se distribuya el código de la misma. Si no me equivoco, Qt prevé dos clases de licencia:

-Comercial: No tienes por qué distribuir el código de tus aplicacionesni modificaciones que hagas sobre el propio código de Qt. A su vez puedes distribuir tus aplicaciones según te plazca.
-LGPL 2.1 : Estás obligado a que cualquier aplicación que desarrolles  utilizando Qt, modificaciónes del código de Qt, o a su vez cualquier librería que crees con Qt y los programas/librerías derivados de ella los liberes bajo esta licencia de uso libre.

¿Me equivoco en algo? ¿Existe alguna otra opción que se pueda emplear para un programa de código cerrado utilizando Qt sin tener que recurrir a una licencia comercial?

Gracias de antemano a todo aquel que aporte algo de información al respecto.
#4
En una de las prácticas de una asignatura que curso en la facultad, estamos trabajando con un programa que convierte imágenes en formato PPM en RGB a blanco y negro ascii.

Compilando el programa, me surge el siguiente error:

-------------- Build: Debug in TaulaHashP ---------------

Compiling: image.cc
C:\Users\Akai\Facultat\2 EDA\Pràctiques\P2\TaulaHashP\image.cc: In copy constructor 'ImageColor::ImageColor(const ImageColor&)':
C:\Users\Akai\Facultat\2 EDA\Pràctiques\P2\TaulaHashP\image.cc:40: error: no match for call to '(const ImageColor) (int&, int&)'
C:\Users\Akai\Facultat\2 EDA\Pràctiques\P2\TaulaHashP\image.h:20: note: candidates are: Pixel& ImageColor::operator()(int, int) <near match>

El método que falla es el constructor de copia:

Código (cpp) [Seleccionar]
ImageColor::ImageColor(const ImageColor &der) {
   width=der.getWidth();
   height=der.getHeight();
   data = new Pixel[width*height];
   for(int i=0;i<height;i++){
       for(int j=0;j<width;j++){
           data[coord2index(i,j)]=der(i,j);
       }
   }
}


Concretamente en la linea:
Código (cpp) [Seleccionar]
data[coord2index(i,j)]=der(i,j);

Y la implementación de la sobrecarga de dicho operador

Código (cpp) [Seleccionar]
Pixel& ImageColor::operator()(int row ,int col) {
 return data[coord2index(row,col)];
}


Os dejo el código completo en pastebin:
http://pastebin.com/VSDB2hSS

¿Alguna idea de qué puede estar ocurriendo?

PD: uso code::blocks 10.05
#5
Programación C/C++ / Debugger para C++ en Windows
9 Noviembre 2010, 14:34 PM
Saludos a todos:

Llevo una temporada programando en C++ sobre Windows (con Code::Blocks) y hasta ahora me ha bastado con el debugger integrado en el IDE, pero debido a que estoy empezando un proyecto más grande que lo que he hecho hasta ahora, necesito algo más potente al respecto.

Por ahora únicamente he oido de WinDbg pero no lo he llegado a usar (y el incorporado en VS 2010, que tampoco he usado puesto que me he bastado con codeblocks como IDE para programar hasta ahora).

A parte de estos dos, existen otros debuggers de confianza para windows? Y pregunta a parte, ¿de los dos citados, cual es más potente / recomendable para usar?

PD: uso windows 7
PD2: a poder ser, que no se mencione la opción de programar sobre Linux, es algo que también he hecho durante una temporada, pero estoy algo cansado de eso.
#6
Desde hace unos días estoy experimentando en mi portátil que uno de los 3 puertos usb que tiene  (2 detrás-derecha, 1 derecha), concretamente el situado en el borde derecho, da problemas.

Si le conecto un ratón usb, no recibe todos los movimientos, no lo realiza de forma fluida, va a trozos... Y si es el caso de un adaptador de red inalámbrico usb, prácticamente congela el equipo.

Debido a que dicho puerto no lo uso demasiado (puesto que únicamente suelo conectar el ratón y lo hago en los de atrás por comodidad) no me había percatado de dicho malfuncionamiento.

Es posible (no lo recuerdo demasiado bien) que en algún momento mientras estaba algún dispositivo insertado se pudiese dar algún golpe (leve) hace un tiempo.

A primera vista no se aprecian daños en el puerto.

¿Qué puedo hacer? (A parte de llevarlo a la garantía, cosa que preferiría dejar como última opción debido a que es mi herramienta de trabajo diario)

PD: el portátil apenas tiene un año.
#7
Ultimamente he estado trasteando con un blog, pese a no ser precisamente ducho en desarrollo web o html y demás, y me surgió una duda a la cual no he podido encontrar demasiada información al respecto (o bien no he sabido como buscarla):

-Debido al abanico de gente con diferentes resoluciones que pueda entrar al blog, quería saber si es posible mediante algún script o código html seleccionar una imagen como fondo según la resolución de pantalla de la persona que entra al blog.

Gracias de antemano.
#8
Saludos a todos:

Resulta que estuve el otro día curioseando por la red en busca de un teclado para sustituir mi "viejo" G11. No estoy buscando un teclado para gaming puesto que dicha fase de mi vida la dejé atrás hace un tiempo. Buscaba algo más "profesional", a poder ser ergonómico y me encontré con el teclado dicho en el título



La pena es que no lo venden en España (se me ocurrió comprarlo en la página alemana de alternate o algo similar, pero antes quería más información).

¿Conoce alguien algún teclado / marca que venda teclados con un diseño similar y que no pase de los 100-120€? Descarté los que por ahora venden tanto Microsoft como Logitech en España. Son todos ergonómicos los que miré pero ninguna con esa característica de tener el teclado partido.

Gracias de antemano.
#9
Redes / Acceder a un PC desde otro/ un portátil
24 Octubre 2010, 21:58 PM
Por distintos motivos estaba pensando en reestructurar la distribución de periféricos, pantalla y alguna cosa más de mi sobremesa a mi portátil [usando doble monitor (comprobado que lo soporta)]. La cuestión es que para ciertas tareas voy a seguir necesitando que el sobremesa esté activo (es el equipo administrador de la red de la cual dependen otros ordenadores para imprimir). Al dejarlo sin monitor estuve pensando para que pudiese desempeñar la función de administrar la red en lo siguiente:

-Configurarlo para que encendiese sin pedir usuario: Si sólo se lo iba a usar para imprimir y poco más, en principio iría bien.

Pero luego pensé en si surgían problemas o necesitaba/quería utilizarlo. Digamos que me vendría de perlas el monitor de este ordenador y no puedo permitirme ahora mismo comprar otro, así que pensé en utilizar alguna clase de control remoto de este ordenador desde el portátil.

Mi idea era poder usar el sobremesa prácticamente como si lo estuviese usando físicamente (programas, descargas y transferir archivos de uno a otro) pero desde el portátil, bien estando en la red de casa (donde tengo físicamente el sobremesa) o bien estando yo en la facultad.


Estuve curioseando por internet pero no conseguí encontrar nada en claro que me convenciese al 100%, y me quedé con las siguientes dudas:

- ¿Qué procedimientos/programas debería usar para ello?
- ¿Sería suficiente con usar Hamachi (por ejemplo) + escritorio remoto de windows (ambos (portátil y sobremesa) tienen windows 7 proffesional)?
- ¿como configurar el sobremesa "servidor" para ello?

Espero haberme expresado correctamente y que se entienda lo que planteo.

Gracias de antemano.

PD: Ambos usan windows 7 proffesional, el sobremesa de 32 bits, el portátil de 64 bits.
PD2: Características del sobremesa-> core 2 duo 4500 2.20GHz, 2 GB de RAM, nvidia 9400
#10
[El código de los dos programas usados en este pequeño tutorial se encuentran al final del post [codi]]

Para muchos se que no estoy contando nada nuevo, pero el motivo de este post es sobretodo para gente que empieza a programar, especialmente para aquellos que creen necesitar agún tipo de pausa al ejecturar programas para ver resultados (system(pause), getchar, getch etc).

Para este problema se nos plantean, entre otras, dos soluciones:

  • Compilar/ejecutar el programa con Code::Blocks [cdbl]
  • Ejecutar el programa una vez compilado vía la consola de windows [cmdw]

Vía Code::Blocks [cdbl]

Code::Blocks es un IDE (entorno de desarrollo) con compilador (podemos elegir qué compilador usar),  open source, cross plataform y gratuito. Una de sus muchas ventajas, es que cuando compilamos y ejecutamos un programa en este IDE, el propio entorno retiene la ventana mostrando el return y el tiempo empleado en la ejecución del programa (tiempo total, no sólo de ejecución de instrucciones, cuenta también el tiempo que tardamos en introducir datos vía scanf, cin y demás instrucciones que nos soliciten que pulsemos algo).

Dado que esto no es un manual de como usar Code::Blocks, me centraré en la compilación y ejecución con este entorno. Supongamos que tenemos ya un programa creado en Code::Blocks:



El recuadro rojo señala donde debemos hacer click para compilar y/o ejecutar nuestro programa. En la siguiente imagen muestro como hacer lo mismo vía el menú "Build".



El resultado de ambas es la siguiente, donde vemos que el programa se ha ejecutado, nos ha dado unos resultados y Code::Blocks lo ha detenido.






Vía consola de windows [cmdw]

Otra solución reside en ejecutar los programas vía el cmd de Windows. A diferencia de si hiciésemos doble click en el programa ya compilado (que abriría una ventana y la cerraría inmediatamente después de su uso) ejecutarlo de esta forma permite visualizar los textos, resultados etc que el programa imprima por pantalla sin que desaparezca en un instante. Procedo a explicar como:

Asumamos que ya tenemos nuestro programa compilado y deseamos probarlo. Para ello, vamos al menú inicio y buscamos cmd:




Le damos a Enter y nos aparecerá una ventana similar a esta:




En principio la ruta en la que nos encontramos es la de nuestro usuario, pudiendonos mover de directorio con el comando cd y obtener el contenido de un directorio con el comando dir:




Una vez nos encontramos en el directorio de nuestro programa, procedemos a ejecutarlo de la siguiente forma:
nombre del programa.extensión argumento 1 argumento 2....

En este caso, el programa recibe un archivo txt como argumento:





y el resultado de la ejecución es:




Conclusión

Como habréis podido observar, es bastante sencillo ejecutar programas sin necesidad de instrucciones para detenerlos al finalizar, ahorrando instrucciones como system (pause), getchar, getch ( y por ende, NO necesitamos conio.h (como librería obsoleta)).

¿Comentarios, dudas, sugerencias, feedback en general?


[codi]

class_pila.cpp
Código (cpp) [Seleccionar]
#include <iostream>
#include <fstream>
using namespace std;

class pila{

struct node{
   int num;
   struct node *seg;
   };

node * cap;

public:
   pila();
   ~pila();
   void push(int num);
   int pop();
   int top() const;
   bool buidap() const;
   pila & operator << (const int num);
};


pila::pila(){
   cap=0;
}

pila::~pila(){
   while(cap){
   node *aux=cap;
   cap=cap->seg;
   delete aux;
   }
}

bool pila::buidap() const{
return (!cap);
}

int pila::top() const{
   if(!buidap())
       return cap->num;
   else return -666;
}

int pila::pop(){
   if(cap){
       node *aux=cap;
       cap=cap->seg;
       int numaux=aux->num;
       delete aux;
       return numaux;
   }
   else return -666;
}

void pila::push(int n){
   node *nou;
   nou=new node;
   nou->num=n;
   nou->seg=cap;
   cap=nou;

}

pila & pila::operator << (const int num){
push(num);
return *this;}

int main(){
   pila p1;
   int num;
   ifstream fitx;
   fitx.open("class_pila.txt");

   if(!fitx){
       cerr << "error al abrir el fichero" << endl;
       return -1;}

   while(fitx >> num){
   cout << num << endl;
   //p1.push(num);
   p1 << num;
   }

   if(!p1.buidap())
       cout << "pila con elementos" << endl;

   while(!p1.buidap()){
   cout << p1.pop() << endl;
   }

   if(p1.buidap())
       cout << "WARNING: pila vacia" << endl;

   fitx.close();
   return 0;
}


class_pila2.cpp
Código (cpp) [Seleccionar]
#include <iostream>
#include <fstream>
using namespace std;

class pila{

struct node{
   int num;
   struct node *seg;
   };

node * cap;

public:
   pila();
   ~pila();
   void push(int num);
   int pop();
   int top() const;
   bool buidap() const;
   pila & operator << (const int num);
};


pila::pila(){
   cap=0;
}

pila::~pila(){
   while(cap){
   node *aux=cap;
   cap=cap->seg;
   delete aux;
   }
}

bool pila::buidap() const{
return (!cap);
}

int pila::top() const{
   if(!buidap())
       return cap->num;
   else return -666;
}

int pila::pop(){
   if(cap){
       node *aux=cap;
       cap=cap->seg;
       int numaux=aux->num;
       delete aux;
       return numaux;
   }
   else return -666;
}

void pila::push(int n){
   node *nou;
   nou=new node;
   nou->num=n;
   nou->seg=cap;
   cap=nou;

}

pila & pila::operator << (const int num){
push(num);
return *this;}

int main(int argc, char **argv){
   pila p1;
   int num;
   ifstream fitx;
   fitx.open(argv[1]);

   if(!fitx){
       cerr << "error opertura fitxer" << endl;
       return -1;}

   while(fitx >> num){
   cout << num << endl;
   //p1.push(num);
   p1 << num;
   }

   if(!p1.buidap())
       cerr << "pila amb elements" << endl;

   while(!p1.buidap()){
   cout << p1.pop() << endl;
   }

   if(p1.buidap())
       cerr << "WARNING: pila buida" << endl;

   fitx.close();
   return 0;
}


contenido de class_pila.txt:
1
5
6
7
10
20
50

#11
Windows / Problemas de Arranque
22 Septiembre 2010, 22:23 PM
Estuve esta tarde tratando de instalar (dos veces, ambas fallidas al instalar el arranque) Debian en mi portátil. Como la instalación de Debian (pese a no completarse) machacó el arranque de windows 7 en ambas ocasiones, la primera metí el dvd, y fui a restaurar el arranque (simbolo del sistema, fixmbr y compañía y reinicio).

Esa vez, el comando bootrec /fixmbr no me funcionó correctamente, como si no encontrase la instalación de windows. En la pantalla anterior a poder cargar el símbolo del sistema, no me reconoció el disco duro así que realicé una reparación de inicio. Reinicié y volví a cargar el DVD para reparar y si me funcionó. Estuve un rato en windows, bajé otra versión de debian, instalé, y lo mismo.

Esta vez, no encuento solución alguna (y reparación de inicio no me soluciona ningún problema) En la ventana de opciones de recuperación del sistema, no me aparece ninguna instalación de windows, al igual que la vez anterior. Si ejecuto bootrec /fixboot en la consola, me devuelve el siguiente mensaje:

-El volumen no contiene un sistema de archivos reconocido. Asegúrese que todos los controladores del sistema de archivos necesarios están cargados y de que el volumen no está dañado.

Estuve pensando en cargar los controladores manualmente con la opción "Cargar controladores de la ventana de Opciones de recuperación del sistema, pero no se donde se encuentran.

Por lo que he podido comprobar la instalación de Windows 7 sigue ahí. Alguna solución?
#12
GNU/Linux / ¿Qué distribución elegir?
21 Septiembre 2010, 17:20 PM
Buenas tardes a todos:

Tras estar un tiempo sin usar linux por no necesitarlo después de una temporada (me valía Windows y codeclobks para programar en la facultad), estoy pensando en volver a instalar una distro de linux, pero no tengo claro cual. He usado a lo largo del tiempo las siguientes: Mandriva (hace un año que no la he vuelto a tocar), Ubuntu(la desinstalé antes del verano), y Mint (mismo que ubuntu, un par de meses antes.)

Tenía pensado volver a instalarlo en mi portátil (Fujitsu Esprimo Mobile V6535, 4 GB RAM, Intel T4300 2.1GHz) ya que es el ordenador que más utilizo para asuntos de la facultad y a parte, me vendrá bien para un par de asignaturas de Sistemas operativos.

Pero no tengo claro que distribución instalar. Estaba entre Kubuntu (aunque posiblemente me esperase a que salga el 10.10 que si no me equivoco lo hará en occtubre)y Mint (acepto sugerencias). ¿Algún consejo?

PD: en principio tenía pensado instalar una versión de 64 bits
#13
Software / Problemas con Opera
8 Julio 2010, 17:52 PM
Me decidí ayer a probar Opera como posible alternativa a Firefox. Pese a que el navegador parece funcionar bastante bien y demás, encontré un... problema.

En algunas páginas que requieren login, vease tuenti, o la intranet de la UPv (Universidad Politecnica de Valencia) en las cuales puedo entrar perfectamente desde firefox, por mucho que introduzca mi usuario y contraseña, ambas webs (en otras no me daba problemas) me devuelven al punto de partida, es decir, no autentifican, como si yo no hubiese introducido correctamente los datos o faltase alguno de estos, pero, sin que la página de un aviso de esto como si ocurre si yo introduzco mal la autentificación.

Ahora mi pregunta, es esto un fallo general de opera o un error de alguna configuración? O se trata que estas páginas no soportan opera / opera no soporta estas páginas?

PD: probé a borrar todo cookie antes de intentar loguear, me ocurría lo mismo, y seguí intentando varias veces sin resultado positivo alguno.

#14
Hace un tiempo que me compré un portátil puesto que me venía bien para la facultad, un fujitsu esprimo mobile v6535. Para lo que lo he estado usando hasta ahora (programar) no he necesitado tirar mucho de gráfica, sin embargo últimamente que me he metido un poco en temas de diseño gráfico, con esta gráfica "Mobile Intel® GMA 4500M" la verdad es que lo paso un poco mal, incluso los fps en juegos son tirando a bajos.

Estuve pensando en si existía alguna forma de mejorar en ese aspecto, pero no encontré nada la respecto salvo un acelerador para un portátil en concreto, nada más. Me gustaría, a poder ser, si alguien pudiera darme mas información al respecto y/o algún consejo.

PD: en mi sobremesa uso una nvidia 9400gt, la pega del sobremesa es que tiene la mitad de ram que el portátil (2GB, 4GB en el portátil). (A estas alturas, creo que los reyes del overclock del foro podrían calificar mi pc de "a pedales" xD)
#15
Desde hace unos días, no recuerdo exactamente cuantos, vengo experimentando en mi portátil que la caja de búsqueda del menú inicio no funciona, me explico:

El comportamiento normal de dicha caja de texto, sería que al introducir tu una serie de caracteres, buscara los programas y/o archivos que la contienen/están relacionados. Por ejemplo, si tuviésemos el Daemon tools instalado y escribiésemos Daemon, nos lo monstraría.

En el caso de mi portátil no. He probado a restaurar el indexado, desinstalar y volver a instalar la característica "Windows Search"(con un reinicio entre cada operación) pero no consigo hacer que vuelva a su comportamiento habitual.

Utilizo windows 7 professional 64 bits.
#16
Saludos a todos, el motivo de esta consulta es el siguiente:

Estoy llevando a cabo un pequeño proyecto en C relacionado con un algoritmo de busqueda de caminos, usando el algoritmo de dijkstra. Para ello encontré un par de librerias que lo implementan, pero ahora viene mi duda:

Se que en linux, usando GCC a la hora de compilar una libreria compilas el .c de esta con la opción -c del compilador, y una vez hecho, cuando compilas el programa, añades el .o generado previamente. Ahora bien, como puedo hacer esto esto usando code blocks en windows?

Todavía no he llegado a una fase en que necesite compilar el código, pero prefiero saberlo por adelantado. Muchas gracias.