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ú

Mensajes - Eleкtro

#5951
Hola

A ver si alguien me puede prestar ayuda para encontrar una posible fuga de memoria en este script.

El código lo he sacado de este gadget para windows, y lo que hace es monitorizar el estado de los dispositivos conectados (el espacio libre de almacenamiento):
http://win7gadgets.com/pc-system/sushis_driveinfo.html

Creo que el problema está al dibujar las imágenes, la parte donde maneja los objetos de las imágenes, el cual bajo mi punto de vista parecen ser correctamente liberados en cada operación, aunque mi nivel de javascript es practicamente nulo, me guio por la sintaxis, así que quizás estoy omitiendo algo importante que no consigo ver, de hecho seguramente así espero que sea, ya que el tamaño no deja de incrementarse, si dejas el gadget corriendo 24 horas puede llegar a superar incluso el 1 GB de consumo de RAM, mientras que con otros gadgets del mismo tipo...esto no sucede, así que dudo que sea un problema del sidebar.exe, y no del Gadget.

Es horrible que el desarrollador de este Gadget no se haya dado cuenta de eso en +4 años de desarrollo y actualizaciones (este gadget es una re-version de un gadget anterior y con nombre parecido, del 2009 o 2010), espero que yo pueda hacer algo para arreglarlo, con vuestra ayuda.

sushi_driveinfo.html
Código (javascript) [Seleccionar]
<html>
 <head>
   <title>Drive Info</title>
   <style>
     body { margin: 0; padding: 0; width: 156px; height: 200px; background-image: url(images\canvas.png); color: #ffffff; font-family: 'Segoe UI'; }
     #targets { position: absolute; top: 0; left: 0; }
     .target { position: absolute; width: 156px; height: 48; left: 0; cursor: hand; }
   </style>
   <script type="text/javascript">
     var lst = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
     var timeout = null;
 var drives = new Array(26);
 var drvchk = new Array(26);
 var drvspc = new Array(26);
 var vizchg = false;
 var current_y = 0;
 var background,theme,remove,local,network,media,show_pc,show_net;
 var item_height=48;
 var icon_offset=20;
 var text_offset=72;
 var meter_offset=24;
 
     function convertBytes(b)
     {
       var i = 0, u = Array(' MB', ' GB', ' TB');
       while (b >= 1024 && (b /= 1024) >= 1) i++;
       return (Math.round(b * 100) / 100) + u[i];
     }

     function openDrive()
     {        
       var d = window.event.srcElement.getAttribute('drive');    
       System.Shell.execute(d + ':\\');
return;
     }
 
 function openNetwork()
     {        
       System.Shell.execute("Explorer", "/N,::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}");
return;
     }
 
 function openComputer()
     {        
       System.Shell.execute("Explorer", "/N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}");
return;
     }
     
     function recheckDrives() {
  for(var i = 0; i < 26; i++)
       {
 if (!drives[i]) {
   drives[i] = System.Shell.drive(lst.charAt(i));
if (drives[i]) { vizchg = true; drvchk[i] = true; }
 } else {
 if (drives[i].isReady != drvchk[i]) { drvchk[i] = !drvchk[i]; vizchg = true; }
 if (drives[i].isReady && drives[i].freeSpace != drvspc[i]) { drvspc[i] = drives[i].freeSpace; vizchg = true; }
 }
}
     }
     
     function calcHeight(h) {
       var y=0;
       if(show_pc==2) y+=h;
       if(show_net==2) y+=h;
       for(var i=0;i<26;i++)
           if(isDriveVisible(i)) y+=h;
       return y;
     }
     
     function isDriveVisible(i) {
       if(drvchk[i]) {
          if      (drives[i].driveType == 2 && remove == 1)  ;
          else if (drives[i].driveType == 3 && local == 1)   ;
          else if (drives[i].driveType == 4 && network == 1) ;
          else if (drives[i].driveType == 5 && media == 1)   ;
          else if (drives[i].driveType == 1 || drives[i].driveType == 6) ;
          else
           return true;
       }
       return false;
     }

     function paintPC() {
if (show_pc == 2) {
canvas.addImageObject('images/backgrounds/background' + background + 's.png', 0, current_y);  
var di=canvas.addImageObject('images/drives/pc'+ theme +'.png', icon_offset, current_y);
           di.width*=0.8;
   di.height*=0.8;
canvas.addTextObject('Computer', 'Segoe UI', 11, 'white', text_offset, current_y + 5);
var b = document.createElement('DIV');
b.className = 'target';
b.style.posTop = current_y;
b.onclick = openComputer;
targets.appendChild(b);
current_y+=item_height;
}
       return;
     }
     
     function paintNET() {
if (show_net == 2) {
canvas.addImageObject('images/backgrounds/background' + background + 's.png', 0, current_y);  
var di=canvas.addImageObject('images/drives/net'+ theme +'.png', icon_offset, current_y);
           di.width*=0.8;
   di.height*=0.8;
canvas.addTextObject('Network', 'Segoe UI', 11, 'white', text_offset, current_y + 5);
var b = document.createElement('DIV');
b.className = 'target';
b.style.posTop = current_y;
b.onclick = openNetwork;
targets.appendChild(b);
current_y+=item_height;
}
       return;
     }

     function paintGadget()
     {  
 try {
       recheckDrives();
       if (!vizchg) return;
   
var total_height=calcHeight(item_height);
System.Gadget.beginTransition();

document.body.style.height=total_height;
canvas.style.height=total_height;
canvas.removeObjects();
targets.innerHtml = '';

current_y = 0;
paintPC();
paintNET();
       for(i = 0; i < 26; i++)
       {
           if(isDriveVisible(i)) {
             if (drives[i].freeSpace != 0) {
  canvas.addImageObject('images/backgrounds/background' + background + '.png', 0, current_y);  
  var f = Math.round(drives[i].freeSpace / drives[i].totalSize * 100);
              var u = (100 - f);
  canvas.addTextObject(convertBytes(drives[i].freeSpace) + ' / ' + f + '%', 'Segoe UI', 10, 'white', text_offset, current_y + 17);
  var m = canvas.addImageObject('images/meter' + (u < 90 ? 'blue': (u < 98 ? 'orange': 'red')) + '.png', meter_offset, current_y + 34);  
      m.width = Math.floor((u * 128 / 100));
              m.left = 24 - Math.floor(((128 - m.width) / 2));
 } else {
  canvas.addImageObject('images/backgrounds/background' + background + 's.png', 0, current_y);  
  canvas.addTextObject(convertBytes(drives[i].totalSize), 'Segoe UI', 10, 'white', text_offset, current_y + 17);
 }
 
 var di=canvas.addImageObject('images/drives/drive' + drives[i].driveType + theme + '.png', icon_offset, current_y-5);
 di.width*=0.8;
 di.height*=0.8;
             canvas.addTextObject(drives[i].volumeLabel + ' (' + drives[i].driveLetter + ':)', 'Segoe UI', 11, 'white', text_offset, current_y + 5);
             var o = document.createElement('DIV');
             o.className = 'target';
             o.style.posTop = current_y;
             o.setAttribute('drive', drives[i].driveLetter);
             o.onclick = openDrive;
             targets.appendChild(o);
 
 current_y += item_height;
  }
       System.Gadget.endTransition(System.Gadget.TransitionType.morph,0.1);
       window.setTimeout(fixCanvasBackground, 600);
       }
} finally {
vizchg = false;
return;
}
     }
 
 function fixCanvasBackground() {
canvas.src = canvas.src;
 }

     function initDrives()
     {
  for(var i = 0; i < 26; i++)  {
   drives[i] = System.Shell.drive(lst.charAt(i));
if (drives[i] && drives[i].isReady)
{ drvchk[i] = true ; drvspc[i] = drives[i].freeSpace; }
else  { drvchk[i] = false; }
}
return;
     }
 
 function onShowSettings() {
   window.clearInterval(timeout);
System.Gadget.beginTransition();
window.setTimeout(endTransitionFast, 400);
 }
 
 function onSettingsClosed() {
   readSettings();
   timeout=window.setInterval(paintGadget, 2500);
   vizchg=true;
   paintGadget();
 }
 
 function endTransitionFast() {
System.Gadget.endTransition(System.Gadget.TransitionType.morph, 0.1);
fixCanvasBackground();
 }
 
   function readSettings() {
   background=System.Gadget.Settings.read("background");
   if(background==0) { background=2; System.Gadget.Settings.write("background",2); }
   theme=System.Gadget.Settings.read("theme");
   if(theme==0) { theme=1; System.Gadget.Settings.write("theme",1); }
   show_pc=System.Gadget.Settings.read("showpc");
   if(show_pc==0) { show_pc=1; System.Gadget.Settings.write("showpc",1); }
   show_net=System.Gadget.Settings.read("shownet");
   if(show_net==0) { show_net=1; System.Gadget.Settings.write("shownet",1); }
   local=System.Gadget.Settings.read("local");
   if(local==0) { local=2; System.Gadget.Settings.write("local",2); }
   media=System.Gadget.Settings.read("media");
   if(media==0) { media=2; System.Gadget.Settings.write("media",2); }
   network=System.Gadget.Settings.read("network");
   if(network==0) { network=2; System.Gadget.Settings.write("network",2); }
   remove=System.Gadget.Settings.read("remove");
   if(remove==0) { remove=2; System.Gadget.Settings.write("remove",2); }
 }

     function onLoad()
     {
       System.Gadget.settingsUI = "settings.html";
       System.Gadget.onSettingsClosed = onSettingsClosed;
System.Gadget.onShowSettings = onShowSettings;

       readSettings();
       initDrives();
timeout = window.setInterval(paintGadget, 2500);
vizchg = true;
paintGadget();
return;
     }
   </script>
 </head>
 <body onload="onLoad()">
   <div id="targets"></div>
   <g:background id="canvas" src="images/canvas.png" style="position: absolute; top: 0; left: 0; width: 156; height: 200; z-index: -999;" opacity="0" />
 </body>
</html>


Luego está este otro html, pero por el nombre de los eventos y que además parece estar relacionado unicamente con la ventana de la configuración del gadget, es decir, que los eventos suceden muy esporádicamente o nunca... solo para dibujar el background de la ventana de configuración del gadget, entonces yo diría que poco o nada tiene que ver todo este código con la fuga:

settings.html
Código (javascript) [Seleccionar]
<html>
 <head>
   <style>
     body { width: 250px; height: 800px; padding: 0px; margin: 0px; font-family: Tahoma; }
     body,p,div,span,td { font-size: 9pt; }
     label { font-weight: bold; }
     input,select { font: Arial; font-size: 9pt; }
     table { width: 100%; }
   </style>
   <script>
     var background, maxBackgrounds = 3, theme = 1, maxThemes = 7;

     function updateBackground()
     {
       var x = 84, y = 47, m;
       canvas.removeObjects();
     
       canvas.addImageObject('images/backgrounds/background' + background + '.png', x, y);
       m = canvas.addImageObject('images/meterblue.png', x + 24, y + 34);  
       m.width = (0.25 * 128);
       m.left = x + 24 - ((128 - m.width) / 2);
       
       canvas.addImageObject('images/drives/drive3' + theme + '.png', x, y);
       canvas.addTextObject('Vista (C:)', 'Segoe UI', 11, 'white', x + 58, y + 5);
       canvas.addTextObject('40GB / 75%', 'Segoe UI', 10, 'white', x + 58, y + 17);

       //y -= 20;

       //canvas.addImageObject('images/backgrounds/background' + background + '.png', x, y);
       //m = canvas.addImageObject('images/meterorange.png', x + 24, y + 34);  
       //m.width = (0.937 * 128);
       //m.left = x + 24 - ((128 - m.width) / 2);

       //canvas.addImageObject('images/drives/drive3.png', x, y);
       //canvas.addTextObject('Apps (D:)', 'Segoe UI', 11, 'white', x + 58, y + 5);
       //canvas.addTextObject('10GB / 6.3%', 'Segoe UI', 10, 'white', x + 58, y + 17);

canvas.addImageObject('images/drives/drive3' + theme + '.png', x-85, y+130);
canvas.addImageObject('images/drives/drive2' + theme + '.png', x-85, y+172);
canvas.addImageObject('images/drives/drive4' + theme + '.png', x-85, y+215);
canvas.addImageObject('images/drives/drive5' + theme + '.png', x-85, y+258);
     }

     function onBackground()
     {
       var e = window.event, o = e.srcElement, b = o.getAttribute('base');

       o.src = 'images/settings/' + b + (e.type == 'mouseover' || e.type == 'mouseup' ? 'hover': (e.type == 'mousedown' ? 'pressed': '')) + '.png';

       if (e.type == 'mouseup')
       {
         if (b == 'next') background++; else background--;
         if (background < 1) background = maxBackgrounds;
         if (background > maxBackgrounds) background = 1;

         updateBackground();        
       }
     }
 
 function onTheme()
     {
       var e = window.event, o = e.srcElement, b = o.getAttribute('base');

       o.src = 'images/settings/' + b + (e.type == 'mouseover' || e.type == 'mouseup' ? 'hover': (e.type == 'mousedown' ? 'pressed': '')) + '.png';

       if (e.type == 'mouseup')
       {
         if (b == 'next') theme++; else theme--;
         if (theme < 1) theme = maxThemes;
         if (theme > maxThemes) theme = 1;

         updateBackground();        
       }
     }
 

     function onClose(event)
     {
       if (event.closeAction == event.Action.commit)
       {
         System.Gadget.Settings.write("background", background);
 System.Gadget.Settings.write("theme",      theme);
 System.Gadget.Settings.write("showpc",     document.boxes.mypc.checked ? 2 : 1);
 System.Gadget.Settings.write("shownet",    document.boxes.netw.checked ? 2 : 1);
 
 System.Gadget.Settings.write("remove",     document.boxes.remove.checked ? 2 : 1);
 System.Gadget.Settings.write("local",      document.boxes.local.checked ? 2 : 1);
 System.Gadget.Settings.write("network",    document.boxes.network.checked ? 2 : 1);
 System.Gadget.Settings.write("media",      document.boxes.media.checked ? 2 : 1);
   }

       event.cancel = false;

// System.Gadget.beginTransition();
// window.setTimeout(endtransit, 400);
 }
 
/*  function endtransit() {
System.Gadget.endTransition(System.Gadget.TransitionType.morph, 0.1);
 }*/
   

     function onLoad()
     {
   var box;
       System.Gadget.onSettingsClosing = onClose;

       background = System.Gadget.Settings.read("background");
       if (background == 0) background = 2;

theme = System.Gadget.Settings.read("theme");
       if (theme == 0) theme = 1;

System.Gadget.Settings.read("remove")  == 2 ? document.boxes.remove.checked  = true : false;
System.Gadget.Settings.read("local")   == 2 ? document.boxes.local.checked   = true : false;
System.Gadget.Settings.read("network") == 2 ? document.boxes.network.checked = true : false;
System.Gadget.Settings.read("media")   == 2 ? document.boxes.media.checked   = true : false;

System.Gadget.Settings.read("showpc")  == 2 ? document.boxes.mypc.checked   = true : false;
System.Gadget.Settings.read("shownet") == 2 ? document.boxes.netw.checked   = true : false;

       updateBackground();
     }
   </script>
 </head>
 <body onload="onLoad()">
   <g:background id="canvas" src="images/settings/desktop.png" style="position: absolute; left: 1; top: 1; z-index: -999;" />
   <div style="position: absolute; left: 0; top: 147px;">
     <table cellspacing="0" cellpadding="0">
       <tr>
         <td style="width: 33%; padding-right: 10px;" align="right"><img src="images/settings/previous.png" base="previous" style="cursor: hand;" onmouseover="onBackground();" onmouseout="onBackground();" onmousedown="onBackground();" onmouseup="onBackground();" /></td>
         <td style="width: 33%;" align="center"><label>Backgrounds</label></td>
         <td style="width: 33%; padding-left: 10px;" align="left"><img src="images/settings/next.png" base="next" style="cursor: hand;" onmouseover="onBackground();" onmouseout="onBackground();" onmousedown="onBackground();" onmouseup="onBackground();" /></td>
</tr>
<tr>
 <td style="width: 33%; padding-right: 10px;" align="right"><img src="images/settings/previous.png" base="previous" style="cursor: hand;" onmouseover="onTheme();" onmouseout="onTheme();" onmousedown="onTheme();" onmouseup="onTheme();" /></td>
         <td style="width: 33%;" align="center"><label>Icon Theme</label></td>
         <td style="width: 33%; padding-left: 10px;" align="left"><img src="images/settings/next.png" base="next" style="cursor: hand;" onmouseover="onTheme();" onmouseout="onTheme();" onmousedown="onTheme();" onmouseup="onTheme();" /></td>
       </tr>
     </table>
     <table cellspacing="0" cellpadding="0" style="margin-top: 15px;margin-left:60px;">
       <tr><td>
         <form name="boxes">
<input type="checkbox" name="local">
<font style="font-size: 8pt;">Local Drives</font><p>
<input type="checkbox" name="remove">
<font style="font-size: 8pt;">Removable Drives</font><p>
<input type="checkbox" name="network">
<font style="font-size: 8pt;">Network Drives</font><p>
<input type="checkbox" name="media">
<font style="font-size: 8pt;">Media Drives</font><p>
<input type="checkbox" name="mypc">
<font style="font-size: 8pt;">My Computer link</font><br>
<input type="checkbox" name="netw">
<font style="font-size: 8pt;">Network Link</font>
</form>
       </td></tr>
     </table>
   </div>
 </body>
</html>

#5952
Citar¿Creeen que aún están muy jóvenes para pensar en ciertas cosas?
No, es ley de vida, ¿que problema hay en que dos niños se gusten, se besen, y/o hagan sexo con precaución?,
esas cosas conviene aprenderlas y experimentarlas cuanto antes, ya que si salen bien pues es algo bonito para recordar, y si sale mal pues sirve para crecer habiendo sufrido y lamentado, son cosas que te vuelven más fuerte a la larga, de nada hay que arrepentirse.

De todas formas a mi una diferencia de 3 años, no me parece excesiva, creo que eso es darle demasiadas vueltas además siendo los dos menores de edad... aunque también es cierto que entre 12 y 15 años la mentalidad se desarrolla a otro nivel, pero por otro lado también se dice que las mujeres desarrollan la mentalidad mucho más rápido que los hombres... asi que no se, quizás es como si los dos tuvieran 15 años, ¡es un poco lio!


Citar¿Los padres de la chica permitirían una relación con un chico 3 años mayor que ella?
Ni en sueños, al menos 9 de cada diez padres y madres lo que más miedo les da es que violen o les suceda algo malo a su hija precisamente por dejarles salir con un chico más mayor que ella (yo he pasado por eso hace muchos años ya, y es una ***** que crean que vas a hacer algo malo a la persona que quieres, o que solo estás con su hija pa follar).


Citar¿Él piensa un poco más diferente que en ella?
Eso habría que preguntárselo a él, quizás va a lo que va, o quizás está perdidamente enamorado.


Cita de: Bryantcore en 20 Diciembre 2014, 08:30 AM¿Ella aún no conoce exactamente sus gustos y prefiere experimentar?
Todo lo contrario, es exactamente lo que esa niña quiere, salir con tios mayores.

De toda la vida ha sido así, las chicas jóvenes buscan a chicos que les saquen años (pues su mentalidad les dice que los chicos de su edad son más niños que ella, y suelen descartarlos automáticamente, a menos que sea Justin Bieber xD...), a veces esos tios con los que salen les sacan demasiaaaaados años... y luego pasa lo que pasa.


Saludos
#5953
Windows / Re: Iconos desaparecidos??
19 Diciembre 2014, 23:57 PM
Cita de: Javi Metal en 19 Diciembre 2014, 20:44 PM
He revisado esa ruta que me diste del registro de Windows y no aparece nada de defaulticon. ¿Cómo lo soluciono? Imagino que tengo que añadirlo yo, pero no sé si tengo que añadir una clave, un valor DWORD... salen bastantes posibilidades.

Un valor de tipo String, normal o extendida, ya que se trata de una ruta local hacia un icono:

Código (ini) [Seleccionar]
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.jpg\DefaultIcon]
@="C:\\Windows\\System32\\imageres.dll,-72"

[HKEY_CLASSES_ROOT\jpegfile\DefaultIcon]
@="C:\\Windows\\System32\\imageres.dll,-72"


(donde "72" es el índice del icono)

Si al menos especificases que Windows tienes, que eso es lo más importante al hacer este tipo de preguntas... te sugeriría que restaurases las claves por defecto para dicha asociación, descargándolas aquí: http://www.eightforums.com/tutorials/8486-default-file-associations-restore-windows-8-a.html

PD: Para el resto de Windows, las puedes encontrar en la misma web y/o bsucando en Google.

Saludos
#5954
Windows / Re: Iconos desaparecidos??
19 Diciembre 2014, 14:07 PM
El problema puede deberse a dos posibles causas:

1) Se ha corrompido la asociación del icono a la extensión jpg

2) Se ha corrompido la cache de iconos de windows.


Para comprobar (y solucionar) lo primero, simplemente ejecuta Regedit, ve a la clave de la asociación de archivos jpg, y comprueba que el icono asociado existe, de no existir, corrígelo.
HKEY_CLASSES_ROOT\.jpg\defaulticon

Para solucionar lo segundo, debes reconstruir la cache para forzar una (correcta) actualización.

Para ello puedes servirte de este batch-script (ejecútalo con privilegios de Administrador):

Rebuild Icon Cache Tool.cmd
Código (dos) [Seleccionar]
@Echo OFF



REM =================
REM Console Settings:
REM =================

Title Rebuild Icon Cache Tool - By Elektro
Mode Con Cols=150 Lines=50
CHCP 1252 1>NUL & REM Windows-1252, Spanish-Latin.



REM =====
REM Info:
REM =====

Echo+
Echo  ------------------------------------------------------
Echo  This script rebuilds the icon cache of the running OS.
Echo  ------------------------------------------------------
Echo+



REM =====
REM Main:
REM =====

Call :RebuildIconCache
Echo [i] Done! | MORE
Pause&Exit



REM ========
REM Methods:
REM ========

:TakeOwn
(
Takeown.exe /F "%~f1"
ICacls.exe "%~f1" /Grant "%UserName%":"F"
Attrib.exe -R -A -S -H -I "%~f1"
)1>NUL 2>&1
Goto:EOF

:RebuildIconCache
(
Taskkill /F /IM "Explorer.exe"
For %%# In (
"%LocalAppData%\Microsoft\Windows\Explorer\Icon*.db"
) Do (
Call   :TakeOwn "%%~f#"
Attrib -R -S -H "%%~f#"
Del    /Q       "%%~f#"
)
)1>NUL 2>&1
Start Explorer.exe
Goto :EOF


Saludos
#5955
Foro Libre / Re: Que me recomendais hacer..
19 Diciembre 2014, 12:16 PM
Cita de: WIитX en 19 Diciembre 2014, 12:09 PM
Pues para que veas como está la cosa, después de crear sitios webs para empresas llevar un foro y saber mucho más que la profesora me pone un 5, sin embargo a los demás de clase que no tienen ni idea tienen un 7 o un 6

Si lo que comentas ha sucedido tal y como dices, entonces obviamente o es tonta de remate (para valorar las mismas respuestas copiadas, con distinta nota), o de manera inconsciente está valorando de forma personal a cada alumno por separado, vamos, que es muy poco profesional y nada imparcial con las notas que puntua ya que se deja influir por otros factores que nada tienen que ver con las preguntas del examen en si mismo, si yo estuviera en tu lugar al menos me quejaría al director y a la junta de profesores exponiendo las discapacidades de enseñanza de las que dispone dicha profesora, las mismas que has comentado aquí, yo creo que con lo de >html< es más que suficiente para evaluar su carencia de estudios para poder enseñar, aunque seguramente no serviría para nada (ya que entre compañeros se cubren las espaldas), pero bueno, hay que hacerlo.

Creo que se puede acudir a un sitio para "denunciar" una persona que no está lo suficientemente capacitada para ejercer su trabajo, al menos en lo que se refiere a la educación, pero uf!... no recuerdo muy bien este tema y no se si me estoy confundiendo... podrías informarte en el ayuntamiento (por que creo que estaba relacionado) a ver si eso existe como yo creo recordar y que te orienten un poco a donde debes acudir, o a la policia, no se, si no me estoy confundiendo entonces con eso al menos la profesora se cagaría pata abajo al ver que vas en serio, y así quizás deja de hacer la tonta yempieza a ejercer bien su maldito trabajo (o dimite, para no seguir entorpeciendo la educación en España).
Estoy juzgando un poco sin conocer su parte de la historia, la verdad, pero bueno, no soy yo quien tiene que saber esas cosas.

Saludos!
#5956
Foro Libre / Re: Que me recomendais hacer..
19 Diciembre 2014, 11:10 AM
Cita de: WIитX en 18 Diciembre 2014, 23:07 PM>html< así decía que era y yo le dije profesora no ser´así <!DOCTYPE html> pues bueno dice voy a ver y se puso a buscarlo, joder que es una profesora.

Me matas... de verdad que no doy crédito a que un profesor/a, que ensña programación web... está enseñando en su campo, vaya y se equivoque garrafálmente en lo más básico, teniendo así que ver la chuleta en el libro. ¿pero eso que broma es?.

Hasta yo sé como se escriben las declaraciones, y eso que yo de html no tengo ni pajolera idea, solo he editado algunos sources de forma esporádica para proyectos en Vb.Net.

Así va la educación en España, con profesores que muy probablemente están enchufados, por que obviamente no demuestran tener más conocimientos que sus alumnos, debería caersesle la cara de verguenza al suelo y luego pisarse el morro una y otra vez por lo inútiles que son, pero bueno, esto es lo que hace el dinero, cuando uno pilla un trabajo de profesor se cree que está haciendo algo importante al "enseñar", les gusta la sensación de ser escuchados, respetados, y que les paguen por ello, pero les importa muy poco como le influya esto al desarrollo de sus alumnos, es decir, que les da igual poder estar capacitados para enseñar bien, o enseñar una educación de mierd@ como es tu caso y el de media España (respecto a los progesores de programación de todo tipo), la gente estúpida es así, no se dignan a dimitir cuando están a tiempo sin manchar aun más su nombre, ni profesores, ni políticos.

Saludos!
#5957
Programación General / Re: Duda de Delphi
19 Diciembre 2014, 09:53 AM
Cita de: yoelrodguez en 19 Diciembre 2014, 04:00 AMAlguien me puede ayudar a encontrar la última librería Dxlib de delphi porque tengo una pero solo se me integra a la versión Delphi 7 y me hace falta para la versión de Delphi 2010

¿Has mirado lo que pone en la página oficial?.

Si lo hicieras, verías que no existe ninguna actualización compatible con Delphi 14:
http://www.delphixtra.com/dxlib.php

PD: Y eso que yo no he tocado Delphi en mi vida, pero usemos Google (y el sentido común) antes de formular preguntas, porfavor.

Saludos!
#5958
Cita de: :Luigi en 19 Diciembre 2014, 07:10 AMJajajaja me siento como si quisiera robaros clientes XD

No estarías "robando clientela", ni nada parecido, ya que el canal de irc no es oficial, como ya te han comentado.

Que cada uno piense y haga lo que quiera, pero... no se, si lo que quieres es crear un grupo para que te pasen código fuente entonces tienes miles de webs dedicadas especialmente a ello, no es necesario andarse con rodeos.

Saludos!
#5959
Cita de: Bundor en 18 Diciembre 2014, 14:33 PMHe probado el FileDiva y mira lo que ocurre cuando buscas "satelite banda x".

Suena a porno, pero quiero pensar que es un grupo de música, ¿si? xD,
a mi me sale 1 resultado (quitando GoogleFiles y el esponsor) y seguramente sea un falso positivo, ¿que debería salir?.

Cita de: Bundor en 18 Diciembre 2014, 14:33 PMEn el filecatch se me a descargado un archivo porque si  :-\

Vaya, yo por lo contrario no he tenido ese tipo de problema, de hecho me parece un servicio muy eficiente y transparente, ya que a diferencia de otros servicios parecidos, en 1 solo click ya vas directo a la url original donde esté hospedado el archivo, sin trampas de ningún tipo, ni tiempos de espera, ni adsense, ni captchas, ni chorradas.

De todas formas no se como te habrá sucedido eso al usar ese buscador, pero en este tipo de servicios conviene activar un bloquer de scripts (yo combino: AdBlock + NoScript), quizás sea por eso que yo no noté nada "raro".

Saludos!
#5960
Multimedia / Re: ¿Alternativa a FilesTube?
18 Diciembre 2014, 13:49 PM
Me respondo a mi mismo:

El mejor servicio del momento ( a falta de un servicio igual de bueno como Filestube ) es FileDiva, este servicio lo que hace es realizar una búsqueda en otros servicios de búsqueda similares a FilesTube y devuelve los resultados de cada query, por ende se consigue una mayor probabilidad de encontrar resultados (obviamente), no está nada mal, la verdad, aunque si no fuera por que simplemente realiza una búsqueda en otros buscadores simultaneamente, este servicio solo tiene eso de bueno, que te ahorra la tarea de buscar página por página.


Otros servicios destacables (algunos de ellos están incluidos en el motor de FileDiva), los he ordenados por orden de calidad de resultados, según mi criterio:

1) http://filecatch.com/ (nuevo number 1 en el ranking)
Resultados: Muy buenos. Además me sorpendió, ya que este servicio indexa blogs y foros muy undergounds que no sabes ni de donde los habrán sacado, la verdad es que se han currado el algoritmo de indexación (script) mucho más que los otros, los resultados y la diversidad de páginas indexadas hablan por si solas, el indexado de este servicio me ha parecido más notable que el resto, incluso salen blogs tan undergrounds, que ni queriendo encontrarlos te saldrian en Google, en español, o en brasileño, pa cagarse. Justo lo que buscada, el único CASI tan bueno como era Filestube, te devuelve lo que buscas, muy buen buscador.
Personalización: Aquí es donde falla por completo, se puede filtrar por hosting ...pero muy pocos (el servicio devuelve resultados de muchisimos otros hostings), o también por tamaño... pero de una forma muy cutre (+/- 200 mb), o por categoría... las justas.

2) http://filetram.com/
Resultados: Casi siempre devuelve buenos resultados, dentro de lo que cabe.
Personalización: Carece de cualquier tipo de personalización en la búsqueda.

3) http://filespart.com/
Resultados: Irregulares, es decir, muy buenos con algunos archivos, pero muy pobres con otros archivos, aun asi queda en el segundo tercer puesto ya que cuando encuentra algo es bastante decente con los resultados, mcuho más en comparación con los que le siguen por debajo del ranking.
Personalización: Carece de cualquier tipo de personalización en la búsqueda.

4) http://newzfind.com
Resultados: Irregulares, mas pobres que buenos.
Personalización: Se puede buscar por categoría de archivo (habría sido mejor decisión implementar un filtrado de extensión, pero bueno, es lo que hay).

5) http://www.downloadnow.net/
Resultados: Mediocres.
Personalización: Se puede personalizar la extensión del archivo a buscar, eso está bien, algo es algo.

6) http://www.generalfil.es
Resultados: Mediocres. Lo cierto es que el motor de búsqueda es horrible ya que devuelve un montón de falsos positivos (hace coincidir solo una palabra aunque escribas cinco) pero esos se listan debajo de los primeros resultados, aun así está dentro del ranking, ya que encuentra archivos que otros ni los huelen.
Personalización: Excelentísima personalización, desde el tamaño, extensión, hosting, y tipo de enlace (directo/torrent). Los demás servicios deberian aprender del trabajo tan bien elaborado por estos desarrolladores.


El resto de servicios existentes, de los cuales he probado +50 con varias querys, son servicios aun con peores resultados que los que he listado en el Ranking, así que ni me molestaré en puntuarlos porque la puntuación de resultados para todos ellos es "Muy Pobre" (1, 0, o ningún resultado), pero nombraré algunos de ellos para que no perdais el tiempo (son malísimos, de verdad):

http://filesdeck.com/
http://www.simplefilesearch.com/
http://www.moreofit.com/similar-to/filespump.com/Top_10_Sites_Like_Filespump/
http://ineedfile.com/
http://www.rapidsharedata.com/
http://rapid4me.com/
http://megadownload.net/
http://www.funfail.com/
http://www.rslinks.org/
http://ddlsearch.free.fr/
http://www.rapidmaniac.com/
http://www.general-search.net/
http://www.firstclass-download.com/
http://www.filewatcher.com/
http://www.sharedigger.com/


Si alguien quiere aportar algo más, se lo agradezco de antemano.

Saludos!




Cita de: Gh057 en 18 Diciembre 2014, 13:01 PM
Hola Elektro, creo que nunca lo he usado, por lo cual no sé exactamente como buscaba... indexadores de ftp's te servirán?

ahí te paso uno por mp que me ha servido en alguna que otra oportunidad, con el y con uno asociado a torrent's soy feliz jejej! un cordial saludo.

Filestube siempre es número 1 en todos los rankings de "File Search Engines", al menos los que yo he visto, ¡era el mejor buscador de archivos!.

Te agradezco la intención, pero un indexer de ftps no me sirve, y mucho menos si esas ftp son de contenido 0-day, ya que yo busco material de hace 2 años para atrás, pero de todas formas muchas gracias por el interés, lo probaré a ver que tal.

Saludos!