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 - WHK

#136
Hola, actualmente para buscar valores en la memoria y modificarlos utilizaba la herramienta scanmem y quiero hacer una gui que haga lo mismo pero sin utilizar el binario :)

Se que suena raro pero en la práctica estoy utilizando ARM y es muy dificil encontrar un binario compatible debido a los sistemas de protección del dispositivo pero tengo acceso desde el terminal a leer y escribir los archivos /proc/pid/maps.

Se que en ese lugar se aloja la memoria de cada aplicación y me gustaría hacer una app gráfica capaz de leer y escribir los valores de memoria. Solo necesito manipular enteros de 32 bits.

Alguien me da una mano sobre la estructura de estos archivos y donde buscar estos valores?
#137
Java / Cómo crear una suma curva?
20 Abril 2015, 22:33 PM
Hola, suena extraño pero en la práctica es lo mas común, la idea es que tengo el 0 como valor inicial y debo llegar al 300 de manera curva de mayor a menor, por ejemplo comenzando con 0, 10, 20, 30, 40 y luego 45, 50, 55, 60 y luego 63, 66, 69 y luego 70, 71, 72, 73 y así pero sin pasar a decimales.

Cómo puedo crear esta curva y como puedo personalizar la curva? ya que me gustaría definir por ejemplo que mi texto en una pantalla comienza haciendo un zoom muy rápido y cuando llegue a su tamaño original (mitad de pantalla) comience a bajar la velocidad y mantenerse hasta finalizar, es como en la presentación de una película o juego como cuando un logo aparece rápido y luego se calma mientras hay una imagen de fondo en movimiento, me gustaría aplicar esto mismo pero manualmente en java en una superficie GLES para la presentación de marcas antes de la ejecución principal de las ventanas de navegación de la aplicación.

Cómo hago esto de manera matemática sin utilizar apis y extras? teniendo en cuenta que tengo un integer llamado tick el cual va desde el valor cero hacia adelante aumentando su número por cada frame.

Intenté algo así:

Float text_size = tick + 0f;
text_size = text_size - ((tick + tick) / 5f);


Pero no resultó, pensé que por cada tick iba a aumentar en un punto el tamaño del texto y al pasar los tickets estos restaba una curva de 0.1, 0.2, 0.3 haciendo que la velocidad disminuyera pero por algún motivo no me resultó y aunque me hubiera resultado la curva sería demasiado pareja y tampoco e sla idea.

Alguien tiene alguna idea?
#138
Hola, tengo una pantalla de inicio donde se muestra un color de color celeste con letras blancas pero al inicio la pantallla es negra y va en progreso hacia el celeste y luego al finalizar vuelve a negro de forma progresiva y así unas tres pantallas.

El tema es que si tengo el color #000000, como puedo calcular el valor progresivo hacia #00A2C1 ? teniendo en cuenta que la cantidad de frames o pasos desde el primer color hacia el segundo puede ser en valor flotante de 1 a 100 por ejemplo dependiendo de la velocidad de fps del dispositivo móvil, por ejemplo en un dispositivo el progreso puede ser: 0, 0.5, 1, 1.5, etc o en otro 0, 0.1, 0.2, 0.3, etc.
#139
Hola, me gustaría tener un usuario en mi sistema linux (que puede ser con ubuntu o centos) el cual pueda tener acceso vía ssh unicamente a la ejecución de una aplicación, algo así como la película de las guerras de las galáxias via telnet pero en mi caso quiero prestar un servicio no http sino via terminal desde internet.

El software lo tengo y es un script en php el cual recibe comandos y muestra resultados.

Lo que hice para intentar hacer esto es crear un usuario nuevo en el servidor remoto:
# useradd --create-home -d /home/feedsh -s /home/feedsh/feedsh.sh feedsh

mi script feedsh.sh lo unico que hace es llamar al script en php y luego finalizar:
#!/bin/bash
php feedsh.php
exit


Asi que luego de poner los scripts en sh y php le hago un chown feedsh:feedsh . -R y le doy permisos de ejecución con chmos +x feedsh.sh y listo.

El tema es que no quiero correr riesgos de que alguna persona pueda ejecutar comandos arbitrarios o tenga acceso a hacer otra cosa que no sea solamente ejecutar ese script. Como lo hice es suficiente? o debo considerar otras cosas?
#140
Hola, quisiera comenzar este post para debatir un poco sobre el producto vacío ya que me ha tocado leer un poco sobre esto y lo que he aprendido es que el factorial de 0 y 1 es 1 pero lógicamente el factorial de 0 debería ser 0 aunque matemáticamente es lo contrario.

La pregunta principal es... porqué el factorial de 0 es 0?, hay una formula matemática que indica que es posible obtener el valor factorial de un numero a n a través de una fórmula:


Tal como se indica acá: http://es.wikipedia.org/wiki/Factorial

El tema es que según esa fórmula está correct pero lógicamente no ya que  0 objetos no puede caber una vez en 0 puestos, la respuesta sería 0.

Por ejemplo, digamos que tenemos 0 personas y 0 puestos de trabajos y queremos saber todas las combinaciones posibles para que cada persona tenga un puesto de trabajo sin repetirse... la respuesta lógica debería ser 0 combinaciones porque no hay personas ni puestos de trabajos, digamos que computacionalmente tenemos personas = null y trabajos = null, entonces no puede dar un resultado igual a 1 combinación.

Entonces, aparte de poder ser comprobado matemáticamente, porqué se produce ese uno?

0! = 0x = 1???

Otra pregunta, porqué el producto vacío es 1? xD , para mi un producto vacio es nulo, es mas, mi lógica me dice que el valor cero no existe, para mi los números enteros son: -5,-4,-3,-2,-1,null,1,2,3,4,5 por lo cual null al ser un valor neutro en ves de cero pasaría a no tener un valor ni ecuación (no estoy diciendo que el cero como dígito no exista ya que se puede utilizar en unidades).

Por ejejmplo null + 1. Si decimos que el producto vacio es 1 entonces 0 + 1 = 2? que pasa con las matemáticas?
#141
GNU/Linux / Problemas para automontar disco
4 Abril 2015, 21:02 PM
Hola, estou utilizando ubuntu 14 y tengo un disco duro Toshiva interno sata y ahi tengo todos mis archivos, el problema es que cuando el sistema inicia el disco no se automonta. Intenté utilizar la herramienta de discos donde dice "Automontar disco automaticamente" pero al reiniciar no se monta, es mas, me dice si quiero continuar o montar manualmente, por otro lado con nautilus cuando hago click sobre el disco se monta sin ningún problema :-/

Si dejo la opción de montaje automático no se monta y debo hacer click sobre el icono del disco en nautilus para que se monte pero si le saco esa opción y le dejo puesta la opción de montar al inicio falla.



Otra pregunta... porque por defecto gnu linux no monta todos los discos disponibles al inicio? no sería lo mas lógico?
#142
Hola, tengo una duda... como se creaban los juegos de snes? , esta pregunta se me vino a la mente cuando se me ocurrió en un futuro dedicarme a crear roms de snes para emularlos en android y poder tener una plataforma de 16 bits totalmente estable y funcional. El tema es que estuve averiguando si existía algún sdk oficial de nintendo y me di cuenta que no existe D: ... entonces... como los fabricantes de juegos hacian los juegos?

Una idea se me ocurreo que en algún momento cuando una empresa quiso crear juegos fue hablar con nintendo para que estos les dieran un sdk con su respectiva documentación y algún hardware para hacer las pruebas... o talves utilizaban emuladores como nosotros, no lo se.

De todas maneras si alguna ves existió algún lenguaje y hubieron instrucciones sobre como hacer oficialmente un juego... donde están esos documentos y herramientas? he buscado y no he encontrado nada, ni si quiera un solo video, con suerte he encontrado tarjetas para programar en snes y herramientas en linux para crear y editar roms, pero nada es oficial... por lo cual... como lo hacian entonces midway, aclaim, capcom, etc?
#143
GNU/Linux / Dificultades para utilizar Snort
27 Marzo 2015, 13:38 PM
Hola, pues eso, que se me ha ocurrido probar snort y poder crear mis propias regl de seguridad en mis servidores web, pero he tenido varias complicaciones que se las describiré ahora ya que me h costado solucionarlas.

Lo primero que hago sin conocimientos previos de instalación de snort es ir al sitio web oficial:
https://snort.org/

Ahora me fijo en la descarga que dice tener diferentes verisones para diferentes distribuciones mas el código fuente... en mi caso uso CentOS para mis servidores, especificamente centOS 6, pero la descarga de snort solo está disponible para CentOS 7, y bueno, no quiero instalar una versión obsoleta de snort o antigua ya que si lo voy a comenzar a usar no quiero tener que migrar todo denuevo en el corto plazo asi que... me dije... tengo dos opciones, o formateo todos los servidores e instalo centos 7 o lo instalo desde el código fuente, y bueno, preferí instalar centos 7 ya que no me gusta la idea de tener que estar migrando cuando algo queda obsoleto o sin soporte (pero ojo, aun no formateo nada, aun sigo usando centos 6).

Asi que con estas conclusiones instalé en mi pc vmware e instalé centos 6 y centos 7 para hacer las pruebas correspondientes.

En centos 7 no tuve ningún problema con la instalación, tuve que instalar daq y luego snort y mucho ojo, porque instalar snort a traves de las instrucciones oficiales arroja un problema conocido, por ejemplo donde dice:
yum install https://snort.org/downloads/snort/snort-2.9.7.2-1.centos7.x86_64.rpm

Arroja un error de unas dependencias raras o paquete corrupto, lo que si funciona es descargarlo con wget y luego instalar con yum install *.rpm

En fin, pero eso no es problema. Intalé las reglas corretamente sin utilizar pulledpork (porque prefiero hacerlo manualmente con un cron y wget).


Primer problema

El primer problema lo tuve al intentar crear una regla en expresión regular para solicitudes peligrosas via http_uri:

alert tcp any any -> $HOME_NET any ( \
        msg:"SQLI"; \
        content:"/"; http_raw_uri; pcre:"/union(.*)select/"; \
        classtype:web-application-attack; \
        sid:3000007; \
        rev:1; \
)


Y hecho a correr snort:
# snort -i eno16777736 -u snort -g snort -c /etc/snort/snort.conf

y  reviso el log:
# tail -f /var/log/snort/alert

Ahora hago la famosa solicitud peligrosa:
http://192.168.120.137/?test='; union select 1,2,3,4,5 -- +

Y el log de alertas no arroja nada :-\

Pero bueno, de todas maneras tiene un sin fin de reglas muy buenas aunque entiendo que snort no cuenta con buenas reglas de prevención contra ataques vía http como un xsrf, xss, sqli, etc, asi que de todas maneras quise instalarlo en mis semás servidores pero quise intentar hacer la instalación en centos 6 para no tener que formatear todos mis servidores y hacerlo de manera progresiva, asi que hice la prueba en el servidor virtual con centos 6.

Ya me di cuenta que snort oficialmente está disponible unicamente para centos 7 asi que de todas maneras hice el mismo proceso que centos 7 y me arrojó mil y un problemas de dependencias, especificamente porque necesitaba librerias mas actualizadas que las que proporciona centos 6, asi que decidí hacer la instalación manualmente desde el código fuente, asi que descargé el tag zg de libdnet, daq y snort e instalé todo en ese mismo orden. Lamentablemente libdnet es una dependencia critica para snort y es la que da mas problemas tanto de compatibilidad como de disponibilidad ya que solo está en googlecode y googlecode cerrará sus puertas pronto (asi que me bajé una copia de respaldo).


Segundo problema

Hasta acá todo bien, config... make, make install y ya... ahora voy a ejecutar snort y me arroja un error que falta libdnet D: asi que vuelvo a compilar libdnet y ahi funciona :D y voy a buscar el directorio directorio /etc/snort y no existe D: asi que no puedo instalar las reglas y no se si creando el directorio /etc/snort sea suficiente ya que me faltarian los archivos de configuracion y quien sabe que otras cosas mas.

El tema es que no puedo llevar a un servidor en producción un snort a medio instalar, en el camino se me han presentado muchos otros problemas que ya he solucionado como problemas de versión y link de la famosa libreria libdnet (que ya estoy comenzando a odiar) pero ya lo tengo bajo control.


El tema es el siguiente...

1. Como hago una regla para que me filtre una solicitud uri en expresión regular? ya que actualmente uso un script en php para mi web con muchas reglas y basta con procesarlas con preg_match() y $_SERVER["REQUEST_URI"] mas $_GET[] pero en snort parece un poco mas complicado y tengo otras reglas que arrojan error de sintaxis, etc.

2. Como hago la instalación de la última versión de snort en centos 6?

De verdad que hacer la instalación en centos 6 no me quita el sueño porque de todas maneras en algun momento voy a tener que migrar a centos 7 pero sin reglas no hay filtros y sin filtros no hay snort :(
#144
Hola, pues que tengo un pc de escritorio con esa placa madre, el tema es que estoy utilizando ubuntu 14 y no me acompañan los drivers.

Lo que se es que el sistema está usando el software y no el hardware para acelerar por lo cual entiendo que el driver debe tener uno genérico y además me dice que tengo un chip xeon por lo cual claramente deduzco que le falta el driver.

He buscado en muchos lados y todos dicen que es un modelo un tanto nuevo por lo cual es dificil encontrar drivers compatibles en ubuntu.

Me dan una mano?
#145
Foro Libre / como comenzar a generar bitcoins?
17 Marzo 2015, 01:28 AM
Hola tengo una pregunta, leyendo varios tutoriales de bitcoins he leido que necesitas encontrar bloques o hashses y por cada hash que encuentras te dan un incentivo en bitcoin, el tema es... como puedo calcular esos hashses? de que dependen?

A lo que me refiero es en que lugar puedo comparar si mi hash es verdadero? hay algún servicio? que tipo de hashses son? hexadecimales? sha1? debo enviar los hashses a algún lado? aun no comprendo muy bien todo eso o cual es el flujo desde que quiero buscar un hash hasta que se transforma en bitcoin.

Me gustaría probar y utilizar mi computadora para entender bien el proceso porque se que con mi pc actual no puedo hacer mucho, pero quiero entenderlo para crear robots y de alguna manera repartirlos entre varias computadoras o equipos móviles e ir viendo como va todo eso.
#146
Una ves escuché que Samsung no hacia softwares ni drivers para linux especialmente para sus celulares y tablets, averigüé y claramente no existía ningún software compatible y en muchos foros reclaman por ello.

Por lo cual, como exceptico intenté hacer la prueba y entré al chat oficial de Samsung que se encuentra justo bajo la descarga de Samsung Kies (el único software oficial capaz de realizar respaldos y administrar el contenido de un celular samsung) y este fue el resultado:

CitarUsted esta actualmente en la posición:

Conectando con un ejecutivo, un momento por favor...
Catalina Olivos
Buenas tardes, gracias por contactar al Centro de Soporte Samsung Electronics Chile vía Chat, mi nombre es Catalina Olivos, agente de soporte técnico.
17:45:36

Catalina Olivos
Ésta sesión es válida solamente para clientes y/o productos (comercializados oficialmente) en Chile y Bolivia. ¿Con quién tengo el gusto de hablar?
17:45:48

Eric
Hola usted habla con eric
17:47:43

Eric
soy de Chile
17:47:45

Eric
Hola, buenas tardes, una pregunta, tengo tres celulares, un samsung galaxy s4, un s2 y un core, si android es linux, porque el celular no es compatible con un pc con linux?
17:48:08

Eric
yo uso ubuntu y kies es compatible unicamente con windows, yo pague por mi equipo y no tengo ningun tipo de soporte para ninguno de mis pc el cual uno usa debian y el otro ubuntu.
17:48:13

Eric
Cuando compré estos celulares nunca me dijeron que debia tener unicamente windows y pagar una licencia solo para poder tener acceso a mis archivos y datos sms
17:48:22

Eric
de hecho ahora para poder usar kies y respaldar algunas cosas tube que pedir prestado un pc con windows licenciado
17:48:57

Eric
solamente debo usar windows para poder tener un celular samsung? o tengo alguna alternativa?
17:49:28

Catalina Olivos
comprendo
17:49:28

Catalina Olivos
lamentablemente la compatibilidad no se garantiza
17:49:50

Eric
cuando compre mis equipos nadie me dijo eso
17:50:05

Catalina Olivos
si el vendedor no indico todo lo que comenta no nos podemos hacer responsable por ello
17:50:07

Catalina Olivos
nosotros solo somos soporte técnico
17:50:16

Eric
una pregunta
17:50:21

Eric
el vendedor esta obligado a decir que el celular no es compayible con la mayoria de los computadores de escritorio o sea solo con windows? o pueden omitir informacion como esta"
17:50:51

Eric
porque o si no hago valer mi garantia
17:50:56

Eric
o sea si me compro un vehiculo minimo deben decirme que no funciona con gasolina sino con algo raro que anda a saber donde encontrarlo
17:51:34

Eric
si me venden un vehiculo es minimo saber que funciona con que tipo de gasolina
17:51:46

Catalina Olivos
desconozco el área de ventas
17:51:50

Eric
ahora
17:51:52

Catalina Olivos
no tenemos información de que deben indicar ellos
17:52:03

Eric
en alguna parte del sitio web oficial de samsung y del producto galaxy, aparece que el equipo no es compatible con otros sistemas?
17:52:11

Eric
por lo menos samsung advierte de esto en algun lado?
17:52:56

Eric
algun enlace, algo en el contrato de ranatia, boleta, en palabra, algo?
17:53:16

Eric
Catalina Olivos
dentro de la descarga Kies aparece con quienes es compatible
17:53:49

Eric
ya pero no me voy a poner a descargar kies cuando estoy comprando el celular
17:54:04

Catalina Olivos
lamentablemente es una función de Kies
17:54:23

Catalina Olivos
porque es el programa quien no es compatible
17:54:32

Catalina Olivos
no el equipo
17:54:36

Catalina Olivos
por lo tanto en su definición como programa aparece
17:54:45

Eric
disculpeme pero me siento un tanto (no quiero decir estafado) desepcionado saber que cuando compro algo esto va a funcionar unicamente comprando otras cosas puntuales que nunca se indicó,
17:55:09

Eric
perdon pero kies es el unico software oficial para hacer un respaldo en un pc
17:55:22

Eric
por ultimo si el software fuera compatible con mas sistemas se entiende
17:55:31

Eric
pero solamente es compatible con un sistema el cual es de pago
17:55:40

Eric
o sea no me pueden obligar a utilizar una marca de televisor para ver un programa de tv
17:55:58

Eric
con quien puedo hacer el reclamo?
17:56:03

Catalina Olivos
es compatible con Windows 7, 8, 8.1 yXP
17:56:08

Eric
o sea windows
17:56:15

Eric
perdon, en chile no todos usamos windows
17:56:22

Eric
en chile tambien usamos debian, ubuntu, kubuntu, slax y mas de 100 distribuciones linux
17:56:44

Catalina Olivos
para Mac tambien es compatible
17:56:57

Eric
pero eso es peor, no solo tengo que pagar la licencia del sistema operativo sino un equipo mac
17:57:16

Eric
yo compre mi pc con ubuntu, mi pareja y mi hijo tambien
17:57:31

Eric
en mi universidad usan todos linux
17:57:38

Eric
en el trabajo de mi padre tambien
17:57:43

Eric
si usted conoce unicamente windows es su problema pero no es lo unico que existe
17:58:03

Eric
y7 actualmente tengo un equipo sin soporte
17:58:15

Eric
el cual jamas me dijeron que no lo tendria
17:58:21

Eric
sabe, en cualquier otro celular con android pongo el usb en modo datos y listo
17:58:46

Eric
no hay problema
17:58:48

Eric
en samsung la unica manera de transferir archivos es por kies
17:58:57

Eric
sabia usted eso?
17:58:59

Eric
ahora me entiende mejor?
17:59:08

Catalina Olivos
estimado conozco el programa
18:01:12

Catalina Olivos
no se puede realizar un reclamo por lo que usted me indica
18:01:24

Catalina Olivos
ya escalé el caso
18:01:32

Catalina Olivos
y me indicaron que siempre ha diso igual
18:01:41

Catalina Olivos
no hay soporte para su sistema operativo
18:01:53

Catalina Olivos
Estimado cliente, le recordamos que nuestro horario de atención es hasta las 19:00 horas. Cualquier duda adicional favor contactarnos el día de mañana desde las 09:00 horas. Nuestro sistema desconecta
18:02:49

Eric
Alo?
18:03:10

No se siente muy agradable cuando te cierran la puerta en la cara o te cuelgan el telefono mientras hablas y menos todavía cuando estas haciendo un reclamo (aunque con telefonica estoy acostumbrado).
#147
GNU/Linux / Problemas formateando microsd de 64gb
14 Febrero 2015, 00:40 AM
Hola, tengo una micro sd de 64gb e intenté formatearlo en ext4 para utilizarlo en mi celular con Android, ya que al ser ext4 la velocidad es mucho mejor que si estubiese en fat32 o ntfs, el tema es que intento utilizar la herramienta de discos de ubuntu y al finalizar me sale este mensaje:

CitarCannot mount /dev/sdc1 at /var/run/udisks2/block-format-tos-WyAHHu: Invalid argument (udisks-error-quark, 0)

Suponiendo que fue problema al montar pero no al formatear intenté sacarlo y volverlo a poner y me sale:

CitarError mounting /dev/sdc1 at /media/whk/SD64: Command-line `mount -t "ext4" -o "uhelper=udisks2,nodev,nosuid" "/dev/sdc1" "/media/whk/SD64"' exited with non-zero exit status 32: mount: wrong fs type, bad option, bad superblock on /dev/sdc1,
      missing codepage or helper program, or other error
      In some cases useful info is found in syslog - try
      dmesg | tail  or so

busqué en internet y salía en un lado que viera un log y me aparece esto:
no valid journal superblock found
EXT4-fs (sdc1): error loading journal


Lo intenté como 3 veces y nada, intenté con una memoria de 8gb para descartar que fuese mi equipo y funcionó super bien, por lo cual estoy comenzando a sospechar que hay un problema con la memoria.

Que puedo hacer para saber exactamente que sucede con la memoria sd? cuando la pongo en android me la reconoce pero al insertar archivos estos quedan con un nombre extraño y al abrirlos aparecen textos codificados desconocidos.

Edito:

Intenté checkear el disco y me salió esto:
whk@machine:~$ sudo fsck -f /dev/sdc1
fsck de util-linux 2.20.1
e2fsck 1.42.9 (4-Feb-2014)
Superbloque has an inválido fichero de transacciones (nodo-i 8).
Borrar<s>? si
*** ext3 journal has been deleted - filesystem is now ext2 only ***

Superbloque has_fichero de transacciones flag is clear, but a fichero de transacciones inode is present.
Borrar<s>? si
Paso 1: Verificando nodos-i, bloques y tamaños
El nodo-i del fichero de transacciones no está en uso, pero contiene información.  Borrar<s>? si
Paso 2: Verificando la estructura de directorios
Paso 3: Revisando la conectividad de directorios
Paso 4: Revisando las cuentas de referencia
Paso 5: Revisando el resumen de información de grupos
Diferencias del mapa de bits del bloque:  -(1056800--1081343) -(1581088--1605631)
-(2105376--2129919) -(2629664--2654207) -(3153952--3178495) -(3678240--3702783)
-(4202528--4227071) -(4726816--4751359) -(5251104--5275647) -(5775392--5799935)
-(6299680--6324223) -(6823968--6848511) -(7348256--7372799) -(7872544--7929855)
-(8396832--8421375) -(8921120--8945663) -(9445408--9469951) -(9969696--9994239)
-(10493984--10518527) -(11018272--11042815)
Arreglar<s>? si
La cuenta de bloques libres es incorrecta para el grupo #241 (0, contados=32768).
Arreglar<s>? si
La cuenta de bloques libres es incorrecta (16080645, contados=16113413).
Arreglar<s>? si
Recreate fichero de transacciones<s>? si
Creando el fichero de transacciones (32768 bloques):  Hecho.

*** el fichero de transacciones se ha creado de nuevo ***
*** el sistema de ficheros vuelve a ser ext3 ***

/dev/sdc1: ***** EL SISTEMA DE FICHEROS FUE MODIFICADO *****
/dev/sdc1: 11/4096000 files (0.0% non-contiguous), 303099/16383744 blocks
whk@machine:~$


Suponiendo que se intentó reparar lo expulsé, lo saqué y lo puse nuevamente y nuevamente el mismo problema :-/

Intenté formatearlo en FAT32 y ahi funciona pero para grabar y leer es super lento y eso que la sd es cat 10, lo otro raro es que la sd en linux dice que es de 67GB en ves de 64 :-/
#148
GNU/Linux / teclado y mouse usb no funcionan
7 Febrero 2015, 05:00 AM
Hola, hoy me sucedió algo raro con un pc, el mouse y el teclado dejaron de funcionar pero escribo lsusb y si aparecen ambos en la lista, que puede ser? como puedo ir verificando porque no estan funcionando? algún log?, el teclado ps2 funciona de lo mas bien pero el usb dejó de funcionar de un rato para otro después de que se pegó el inicio de ubuntu y tuvieron que forzar el reinicio.
#149
Hola, he estado levantando un servidor para algunos clientes y he estado revisando sobre lo que necesito para dejar funcionando los correos tanto desde un cliente de correos como desde php, por el momento tengo instalado postfix y dovecot y nada mas y php anda de lujo (aunque todo cae al spam).

Lo que necesito es un poco de ayuda en cuanto a lo que es correos ya que no soy muy diestro en el tema, lo que si hice correctamente es instalar todos los demás servicios, mysql, httpd, php5, virtualhost, userdir, hice respaldos, migré archivos, les di sus permisos correspondientes a cada uno, los separé por usuario en el sistema, etc.

Estoy utilizando Centos 6.6.

Me han hablado muy bien de zimbra pero la verdad es que cada ves que veo a alguien intentando instalarlo y configurarlo siento que es todo un rompedero de cabeza (no tengo el certificado ssl), por eso opté por postfix y dovecot y lo instalé conforme a lo que conocía y funciona pero como voy agregando las cuentas nuevas?, tengo 3 dominios que apuntan al mismo servidor y un dominio principal que te da el proveedor de hosting asi que dejé configurado ese dominio, pero ahora necesito crear cuentas de correo para los tres dominios por separado y prevenir que se puedan enviar correos de forma anónima y esas cosas.

Alguna idea sobre donde encuentro información o alguien que me oriente un poco?
#150
Hola, se me ha venido algo a la mente mientras programaba una aplicación que tiene relación con los tiempos...

Digamos por ejemplo que una persona debe realizar una acción durante 1 hora exacta a contar de las 9 am, a que hora termina?, algunos dirán a las 10 am pero no es así, digamos que la misma persona debe hacer otra acción a las 10 am, entonces es imposible que a las 10 am tenga que estar finalizando la primera tarea y comenzando la segunda, por lo cual la persona termina realizando la acción a las 09:59:59 9999 y de esa manera informáticamente la persona termina de hacer su primera acción a esa hora cosa que a las 10:00:00 0000 comience la segunda tarea. Lógico no?

Ahora, la verdadera pregunta filosófica sobre el tiempo es... en base al mismo ejemplo anterior :

1: ¿Cuanto tiempo es la mitad de 1 minuto?, no son 30 segundos :p, es mas, yo diría que la mitad de un segundo es un número infinito, ¿se pude calcular?.

Por otra parte, el tiempo transcurre y es real por lo cual dentro de 1 debemos pasar por su mitad, por lo cual:

2: ¿se puede deducir que los calculos de numeros infinitos son ficticios?

Digamos que vivimos en un pais donde no se conocen los tiempos como nosotros con dias, minutos, horas etc, digamos que en este pais un minuto equivale a 60 segundos y no a 59.9999 porque todos sabemos que el segundo 60 no existe asi como tampoco el minuto 60, entonces digamos que los segundos llegan de 0 a 60 sin decimal, luego del 60 vuelve a cero, eso quiere decir que cada segundo se contaría como un segundo y una infinita decima adicional, entonces la mitad sería 30 no? y en este ejemplo no hemos modificado el tiempo, solo hemos modificado la forma de calcular los tiempos y con esto podemos deducir la mitad exacta deun tiempo, pero en base al estandard que existe de tiempo es casi imposible saber cuanto es la mitad de un año o cuanto es la mitad de una semana o cuanto es la mitad de 1 minuto.

3: Si en el ejemplo anterior pudimos calcular la mitad de un tiempo, ¿porqué no podemos calcular la mitad de un tiempo natural donde los segundos no superan los 59?, ¿desde un punto de vista es imposible y desde otro es posibe?

4: Raro pero lógico no?, entonces ya no podemos decir voy y vuelvo en una hora sino 59 minutos con 59 segundos y una cantidad infinita de decimales xD, o sea que decir que vuelvo en una hora está matemáticamente incorrecto no?.
#151
Java / Mejores prácticas en Java
5 Enero 2015, 16:50 PM
Hola, he estado leyendo sobre mejores prácticas en java y he encontrado mucha información muy variada pero nada en concreto.

Específicamente lo que busco es saber el tipo de estilo de programación a utilizar, por ejemplo:

http://en.wikipedia.org/wiki/Indent_style

Por ejemplo en base a ese texto puedo decir que siempre he usado el estilo del kernel de linux pero... habrá algo en alguna parte que diga porque una forma de identar es mejor que otra y cual debería ser el mejor estandard para trabajar en ello?

Otra pregunta es por ejemplo esta que hice hace un tiempo:
http://stackoverflow.com/questions/27732707/best-practices-when-programming-conditional

El tema es que muchos dicen que depende de uno mismo pero cuando trabajas ya no depende de uno mismo, o sea, supongo que debe haber un orden y algún tipo de orden debe ser mejor que otro.

Viendo códigos de ejemplo directamente desde Oracle:
http://docs.oracle.com/javase/tutorial/jdbc/basics/processingsqlstatements.html

Vi que también utilizan un estilo casi igual al del kernel de linux, por lo que veo parece que es el estilo mas estandarizado.

En resumidas cuentas... habrá algún libro, tutorial o semi-standard que hable de todo esto? y que sea preferentemente para desarrolladores java y que sea hecho por alguien reconocido o que tenga el apoyo de alguien reconocido como para fijar un único estilo de ahora en adelante.

Gracias.
#152
Foro Libre / Feliz año!
1 Enero 2015, 05:36 AM
Feliz año nuevo a todos :D
#153
Hola, tengo este valor en hexadecimal:

CitarE8 03 00 00

Se que equivale a 1000 en número natural, pero me gustaría saber como llegar hasta este número.

Estuve leyendo y no se me da muy bien el manejo de bytes por eso me gustaría saber cuales son las conversiones ordinarias para poder llegar a este número, por ejemplo decir que es una cadena de carácteres en hexadecimal que hay que pasar a bytes y luego a decimal y luego a ascii... algo así, entonces yo podré traducir eso en lenguaje de programación utilizando funciones nativas.

Necesito convertir este valor hexadecimal en un valor normal y un valor normal a hexadecimal, necesito hacer esto en java, php y javascript :P , tampoco busco que alguien me lo haga todo, solo necesito entender como procesar estos datos para poder implementarlo donde sea.

La función original en java que tengo en mi poder es esta:
private long toNumeric(byte[] buffer, int size)
    {
        long value = 0;
        for (int i=0; i < size; i++)
        {
            value += ((long) buffer[i] & 0xffL) << (8 * i);
        }
        return value;
    }


La cual ya me puede convertir un array de bytes en numero natural, pero ahora necesito crear una función inversa donde le de un valor numérico y me retorne un string con la cadena en hexadecimal, y como dije antes, no busco que alguien me haga la función, pero si me gustaría entender como crearla para poder implementarla.

Muchas gracias :)
#154
Foro Libre / Redes Linkedin de Elhacker.NET
29 Octubre 2014, 17:29 PM

Hola, dejo este post para que todos los que sean profesionales o los que tengan un perfil en linkedin puedan compartirlo, podamos agregarnos, podamos validar nuestras aptitudes y poder optar a mejores trabajos.

Enjoy!
#155
hola, pues eso, que tengo un notebook con ubuntu 14.04 y estaba jugando con el archivo shadow, cuabdo bloqueé la pantalla despues ya no pude iniciar sesion porque decia que la contraseña era incorrecta.

intenté iniciar modo de recuperacion pero cuando selecciono la opcion de abrir terminal con root al momebto de escribir la contraseña dice segmentation fault, tampoco me inicia el modo grafico de recuperacion, tampoco entra el modo invitado, intenté editar el grub pero no soy muy habil con eso y el sistema no arrancaba, le puse single init bin bash con sus shalshses respectivoa pero nada.

Alguien sabe como lo puedo arreglar? no ando con ningun pendrive ni livecd como para haber editado el archivo a mano.

Gracias.
#156
Foro Libre / Busco un tema de música :3
21 Julio 2014, 16:22 PM
Hola a todos nuevamente :D

Como algunos ya saben, me gusta la música d elos 80's :P y bueno, hace mucho tiempo que ando buscando un tema y no se ni como se llama xD ni mucho menos el nombre del autor pero tengo algunas pistas para que me puedan ayudar a encontrarlo por favor.

El tema es un tema modificado xD o sea, el tema original se llama "you make me feel" de sylvester, y el tema que busco lo canta otra persona y es mas moderno, talves de los 90's porque tiene un ritmo dance (como electrónico) y lo daban antiguamente por la tv pero ya no lo dan :( , en el video aparece el que canta con un instrumento que parece cuerno y muestran a un hombre y a una mujer caminando hacia atras por toda una ciudad hasta que al final del videoclip se encuentran y comienzan a bailar :P

Alguien lo conoce por favor? :D se lo agradecería muchísimo :) yo ya lo busqué en youtube, googleé bastante y no pillo nada :(
#157
Hola :D hace mucho tiempo tenia un dvd con unos temas muy buenos de los años 70 y hecho de menos escuchar uno en particular en mi trabajo, el problema es que no me acuerdo como se llamaba para poderlo buscar.

Lo que si me acuerdo es que el dvd se llamaba "Disco Inferno" y todo el menú y los temas comenzaban con una lineas de colores y unas estrellas y unas trompetas de fondo en la música, uno de los temas que traia el dvd era este: https://www.youtube.com/watch?v=58vRP_QsGcE era exactamente el mismo pero con buena calidad...

El tema es que el tema que yo busco es de una mujer que canta con un vestido muy brillante y pareciera que canta una historia, no aparecen músicos ni nada, solo ella con la imagen de una bola de disco de fondo, es un tema bastante tranquilo y canta encima de un mini escenario con gente sentada a su alrededor.

Se que no son muchos detalles y que está bien difícil de encontrar pero me conformaría si alguien me ayuda a encontrar aunque sea la carátula del dvd para poder buscar el tracklist y encontrar el tema que busco por favor.

Gracias :)
#158
Foro Libre / Que pasó con avion de malasia?
24 Marzo 2014, 16:58 PM
Con respecto a este post:

http://foro.elhacker.net/foro_libre/duda_sobre_avion_de_malasia-t410826.0.html

¿Que crees que pasó con el avión de malasia?
#159
Hola, tengo una duda existencial:

Tengo una columna llamada "usuarios" con 5 columnas: id, nombres, apellidos, nombres_apellidos y apellidos_nombres.

Como se darán cuenta la idea principal es hacer que cuando se actualize el nombre o el apellido que de forma automática también se autocomplete el campo nombres_apellidos y apellidos_nombres los cuales son el resultado de la concatenación de la columna nombres y apellidos separados por un espacio en blanco.

O sea, por ejemplo si la columna nombre contiene "abc" y apellidos es "def" entonces la columna nombres_apellidos debería quedar "abc def" y apellidos nombres "def abc".

Lo hago de esta manera porque tengo muchos cientos de miles de registros y a futuro necesitaré hacer búsqueda de personas utilizando un like % sobre estas columnas para no tener que buscar en columnas separadas. Mucha gente buscará poniendo el nombre y el apellido o al revés: el apellido y el nombre y debe encontrar exactamente a la persona que busca y no aproximaciones.

Un amigo me dijo que era dificil porque si le hago un after update a la misma fila causaré un loop infinito porque se estará actualizando asi mismo y este gatillará nuevamente al mismo trigger.

Intenté hacer dos triggers uno cuando inserta y otro cuando actualiza de la siguiente manera:

Código (sql) [Seleccionar]
USE `tabla`;
DELIMITER $$
CREATE TRIGGER `usuarios_AINS` AFTER INSERT ON `usuarios` FOR EACH ROW
UPDATE `usuarios`
SET
    nombres_apellidos = CONCAT(TRIM(BOTH ' ' FROM nombres), ' ', TRIM(BOTH ' ' FROM apellidos)),
    apellidos_nombres = CONCAT(TRIM(BOTH ' ' FROM apellidos), ' ', TRIM(BOTH ' ' FROM nombres))
WHERE id = NEW.id

----------------------------------------------------

USE `tabla`;
DELIMITER $$
CREATE TRIGGER `usuarios_AUPD` AFTER UPDATE ON `usuarios` FOR EACH ROW
UPDATE `usuarios`
SET
    nombres_apellidos = CONCAT(TRIM(BOTH ' ' FROM nombres), ' ', TRIM(BOTH ' ' FROM apellidos)),
    apellidos_nombres = CONCAT(TRIM(BOTH ' ' FROM apellidos), ' ', TRIM(BOTH ' ' FROM nombres))
WHERE NEW.id = OLD.id


El problema es que cuando quiero actualizar la columna este me arroja un error diciendo que la tabla está ocupada con un procedure o trigger y que no se puede utilizar.

Es mi primera ves que hago un trigger (porque soy enemigo de los triggers xD) asi que me da la impresión de que yo no supe hacerlo bién.

Alguien me puede decir que alternativas tengo para hacer esto directamente desde mysql y mantener la integridad de mi tabla? ya que desde php tengo que hacer muchas condicionales sobre la clase que actualiza, registra, etc, verificar si se va a actualizar solo el nombre o solo el apellido para tomar el anterior etc para no hacer dos updates, en fin.

Gracias.
#160
estuve dandole una vuelta al tema de cuando usar sesiones y me di cuenta que para ningún caso es bueno :-/

Tanto en .NET como en PHP usar sesiones es como usar soluciones parches ya que en todos los casos es reemplazable por una manera opcional, por ejemplo en ves de llevar sesiones usar cookies y una librería de configuraciones, en .net aspx en ves de usar sesiones llevar la sesión local desde una librería de configuraciones nativa.

Transportar datos de una página a otra tampoco debería ser una buena alternativa ya que para eso existe la programación con archivos relacionados... o sea uno llama a todos y por ende todos los objetos se comparten entre archivos como sucede en una programación MVC.

Entonces... cuando es bueno utilizar sesiones teniendo en cuenta que no todos los servidores lo soportan por un tema de permisos en archivos temporales?

Siempre he evitado usar sesiones y jamas he tenido la necesidad de usarlas.., pero cuando si debo utilizarlas?
#161
Hacking / Leer mifare chip (rdfi) desde android
11 Noviembre 2013, 13:43 PM
Hola, desde que tengo mi galaxy s4 que me han picado los dedos por explotar las ventajas del nfc :D y mas aun cuando tengo conmigo una tarjeta de creditos tipo giftcard con chip rdfi xD

He estado haciendo pruebas, me he documentado, he logrado leer y escribir algunos chips rdfi normales sin cifrar con "NFC Taginfo" y "TagWriter", el tema es que aun no comprendo bien el tema de la tecnología mifare ya que al acercar mi tarjeta con creditos al celular este me dice que el tag es desconocido... por lo cual pienso en dos cosas:

1: Necesidad de software (Necesito crackear el id de tag agregando a la base de datos de de llaves de la aplicación).
2: Tecnología no compatible con mi hardware.

Por ahi he leido lo siguiente:
http://stackoverflow.com/questions/15020940/unlock-mifare-tag-with-android

Según dicen es imposible leer y clonar un chip mifare desde android por capacidades de hardware... el tema es que no se si mi celular es capaz de hacerlo o es el software que no comprendo como configurarlo para hacer un dump.

Entiendo que estos chips vienen con un cifrado y claramente con una contraseña de descifrado, pero me conformaría con lograr hacer el dump y poder escribirlo en un chip en blanco normal para duplicar mis creditos.

Ahora, si los datos están cifrados y al acercarlo a un totem se valida esto quiere decir que en algún momento estos datos se descifran pero tendría que tener acceso al aparato y dudo muchisimo que eso ocurra algún día.

Alguien tiene conocimiento sobre esto para que me pueda orientar un poco mientras sigo buscando?

En si la tarjeta es esta:
http://www.hostelandtours.com/upfiles/userfiles/image/File_201131154243.jpg
La norma que utiliza es la ISO 14443 sobre los chips mifare.

Por favor, no escribir el nombre de la tarjeta acá, no quiero que google me indexe por estar buscando como desbloquear esta tarjeta xD jajajajaja

Gracias.
#162
Hola a todos, estoy haciendo un código en javascript para traducir una página personal con un diccionario de palabras (no vale usar traductor de google) y todo funciona de lujo, está hecho en jQuery pero tengo un pequeño problema:

Traducir esto es fácil:

<span>Hola</span>

De la siguiente manera:

objeto = $('span'); objeto.text('Helo');

El problema viene cuando los textos están entremedio de otros controles, por ejemplo:

<div>Nombre: <input type="text" /></div>

Porque si le doy un .text() al div voy a eliminar el input de tipo HTML y si le hago un reemplazo solo al texto con .html().replace() voy a sobreescribir el input y probablemente pierda todos sus eventos del DOM.

La única solución que encuentro por ahora es hacer el reemplazo de todo, control y texto y tomar todos los eventos asociados a cada control y despues establecerlos nuevamente, el problema es que en ese momento puede que algún evento se gatille sin querer como por ejemplo un onload de una imagen.

A alguien se le ocurre alguna idea?
#163
.NET (C#, VB.NET, ASP) / Linq y querys dinámicas?
24 Septiembre 2013, 23:53 PM
Hola, estoy utilizando c# y Linq y quiero hacer una query dinamica de la siguiente manera pero no se como hacerlo:

Primero tengo una tabla en la db de columnas de cosas a obtener, digamos que tengo 4 filas con columna1, columna2, etc hasta columna4... ahora necesito hacer un select columna1, columna2, etc from cosas... o sea... necesito obtener una cantidad de columnas variable dependiendo de la cantidad de registros en la tabla columnas.

Alguien sabe como lo puedo hacer?

Gracias.
#164
Hola, se que suena fácil pero no lo es xD

Tengo un html principal y 2 iframes, el iframe A y el iframe B. Desde el iframe A tengo un formulario que quiero que se envíe hacia el iframe B, esto es posible desde html unicamente?

Se que desde html puedo hacer un target="_parent" para enviar hacia el html principal pero me va a cambiar la página, por eso necesito que se envíe hacia la página B.

Desde jquery es fácil porque creas un form dinámico y ya pero que pasa si tengo un input de tipo file? recordar que estos tipos de inputs son protegidos por el navegador y no se pueden modificar desde html4 asi que ya no podría crear una copia del formulario porque no podría llenar el input de tipo file y si lo clono se clonará sin el archivo seleccionado.

Lo he visto en algún momento pero no recuerdo donde, alguien sabe como puedo lograr esto?

saludos.
#165
Hola, he estado dando un vistazo a algunos fallos de seguridad en internet explorer 6 con windows xp, quiero hacer un recopilatorio para demostrar porque usar ie6 es inseguro, el tema es que necesito hacer estas pruebas en un equipo con windows xp de 32 con todas sus actualizaciones al dia utilizando la ultima version de internet explorer 6 sin antivirus.

Alguien conoce algunas fallas que sean ya conocidas que pueda ir probando en este ambiente? ya que la mayoría son para versiones desactualizadas.

Mientras tanto seguiré buscando.

Saludos.
#166
Desarrollo Web / Rewrite con Internet Services
27 Agosto 2013, 16:13 PM
Hola, alguien sabe como puedo hacer en internet services para que me carguen las paginas por defecto desde un directorio específico?

Por ejemplo la página está así:

/a/b/c/test.asp
/a/b/c/foo.asp

Quiero lograr que las personas entren por:
http://test.com/test.asp

Y no por:
http://test.com/a/b/c/test.asp

Se podrá hacer a traves del web.config? he buscado información al respecto y es poco lo que he logrado hacer.

Gracias.
#167
Hola, he tenido un lapsus mental y no recuerdo como hacer esto:

Necesito seleccionar todos los datos de una tabla siempre y cuando el id esté relacionado por lo menos con un dato en otra tabla.

Por ejemplo, seleccionar todas las casas de la tabla casa siempre y cuando haya por lo menos una persona con ese id de casa asociado en la tabla personas. Los datos no están relacionados por base de datos, es solo una columna llamada idCasa.

Hacer dos consultas no es una solución, intenté utilizar iner join sin resultados o un select count entre parentesis pero no me resultó tampoco. Son demasiados datos en la db asi que se demora un poco en hacer el count() a la tabla personas por cada casa, en total se demora cerca de 1 minuto en cargar un selector en html.

Este sistema no lo hice yo pero debo realizarle unos cambios y necesito trabajar sobre la estructura que ya está hecha, alguna idea?
#168
Recuerdo que hace muchos años vi un artículo donde mostraba como prevenir que apareciera el ícono de error de internet explorer 6 cuando javascript fallaba.

Recuerdo que se podía hacer desde un código en javascript pero no recuerdo como era, era algo asi como onerror return false no se que cosa mas.

No me sirve configurar ie6 porque no puedo hacer que todas las personas que lo usan lo hagan.

Por favor, no me pregunten si estoy programando para ie6 o no xD jajajajaja que es para un trabajo de mantenimiento y está bastante jodido todo esto x__x
#169
Hola, alguien sabe como configurar el servidor nativo de visual studio? porque por defecto corre en localhost y no se puede ver desde afuera y tengo una makina virtual con internet explorer 7 para ir viendo si es compatible el desarrollo o no, el problema es que no puedo conectar al proyecto porque solo corre en localhost.

Alguien sabe como hacer que el servidor corra en una ip pública? o aunque sea en lan?

No puedo usar internet services express por problemas puntuales.
Había pensado en un relay (bouncer) pero quiero buscar algo mas "oficial" y normal.

Saludos.
#170
Necesitaba ver de alguna manera como prevenir el uso del botón volver atrás para prevenir que un usuario de mi sistema WEB pudiera volver a llenar un mismo formulario expirado.

Para esto encontré varias soluciones pero ninguna 100% efectiva.

Una era hacer uso de cabeceras y caché haciendo que las paginas expiraran al momento pero esto provocaba que al usuario final le apareciera un mensaje de error del navegador diciendo que la página habia expirado, no era una solución muy elegante asi que decidí buscar alternativas en javascript.

Una solución era utilizar la función window.back:

previene = function(){ history.go(1); };
window.back = previene();


Con esto cada ves que presionaba el botón volver el usuario era redirigido nuevamente a la página final, pero de todas maneras cargaba la pagina anterior y se veia muy feo el intercambio de paginas, la idea era que simplemente no funcionara ese botón.

Por lo cual se me ocurrió utilizar window.stop:
previene = function(){ window.stop(); history.go(1); };
window.back = previene();


El problema era que igual no alcanzaba a detenerse y seguia mostrando la pagina anterior antes de redirigir al usuario. Por lo cual se me ocurrió utilizar HTML5 y sobreescribir el historial con la pagina actual, el problema es que no es soportado por Internet Explorer :(

Por ahi vi un código similar a este:
<body onunload="history(1)">

El problema era exactamente el mismo del anterior, de hecho con body no funcionaba en algunos navegadores como firefox, pero si a traves de unload de jquery:

$(windows).unload = function(){ window.stop(); history(1); return false; };

Pero, el mismo problema de siempre, no alcanzaba a detener la página anterior.

Buscando y buscando entontré una solución a medias pero efectiva:
http://es.softuses.com/6227 (répondre #8)

hacía que cada 50 milesimas de segundos cambiara la localización a traves de un hashtag haciendo que el historial quedara infinitamente sobre la misma pagina:

http://pagina.com/#500
http://pagina.com/#501
http://pagina.com/#502
...


El problema es que no era una solución muy elegante porque el usuario verá en la barra del navegador como cambia infinitamente la URL y si necesita escribir una dirección no podrá.

Asi que en base a este mismo concepto armé una solución mas elegante y funcional:

Código (javascript) [Seleccionar]
$(document).ready(function(){

window.onhashchange = function(){
if (typeof (window.stop) != 'undefined')
window.stop();
if (typeof (document.execCommand) != 'undefined')
document.execCommand('Stop');

if (document.location.hash.length < 10)
history.go(1);
};

/* Push 10 History */
document.location += "#";
for(i = 0; i < 10; i++)
document.location += "@";
});


De esta manera cuando carga el sitio por primera ves creará un hastag con 10 arrobas creando una pila de 10 historiales sobre si mismo, cuando la localización del hash cambia al presionar el botón volver atrás inmediatamente se avanza el historial hacia el ultimo arroba agregado, de esta manera cuando el usuario intente volver atras siempre quedará sobre si mismo y no habrá un pestañeo de pagina ni de cambios ya que solo son tags y la carga se detiene, no hay cambio en el DOM a excepción del hash y el que lo manipule.

Le puse 10 hash porque pensé que talves podía haber alguien muy rapido presionando atrás con un pc demasiado lento, puede que alcance a devolverse dos arrobas como mucho pero no 10.

A mi me funciona de lujo :D y lo genial es que funciona con cualquier navegador, espero que a alguien mas le sirva porque es un tema muy muy discutido en todos lados y ninguno de los que he visto ha sabido dar una solución como se debe.

saludos.
#171
Hola, tengo una pregunta...


Tengo tabla A y tabla B... la tabla A tiene varios items asociados a la tabla B, lo que necesito es eliminar todos los datos de la tabla B donde id_dato = 99 pero a su vez necesito que se eliminen todos los datos asociados de la tabla A solamente utilizando lenguaje SQL.

Había pensado en hacer un loop recorriendo cada valor de la tabla B e ir haciendo otro loop para ir eliminando los campos asociados de la tabla A, pero quiero saber si lo puedo optimizar a una sola consulta.

Los datos no están relacionados a traves del motor, solamente son índices libres para una mayor rapidéz.

Alguien tiene alguna idea de como hacerlo?
#172
Recuerdo que hace muchos años estaba de moda un javascript o css que hacia posible que cuando pasabas de una pagina a otra se mostraba como fade muy fluido pero solo funcionaba en internet explorer.

Alguien recuerda como se hacía? me gustaría buscar alternativas en css3 y html5 para que funcione en todos los navegadores modernos.

Por ahi vi un efecto similar en jquery pero solo hacía un fadeIn() al body en onload y fadeout al salir, el problema es que hay que esperar todo el fade con fondo blanco, en cambio este efecto que recuerdo era un fade entre la pagina anterior y la siguiente, podias ver las dos paginas al mismo tiempo mientras corría el fade.
#173
Yo programo en eclipse y hoy mas que nunca necesito soluciones para programar online ya que no siempre cuento con mi notebook en especial en mi trabajo.

Por eso busqué varias alternativas y muy buenas pero todas de pago hasta que encontré una muy buena, aun en fase beta pero con lo que tiene ya es genial.

Se trata de una versión oficial de Eclipse en versión online!
http://www.eclipse.org/orion/

Puedes programar, administrar tus archivos, trabajar con git, ejecutar parametros de npm (nodeJS) entre muchas otras cosas. También te dan un servidor público donde se prueban tus archivos.

Lo he probado con un código de 4000 lineas y ni si quiera se pne lento, la verdad es que está genial.

También te da la opción de descargar el software e instalarlo en tu servidor WEB y tener tu editor Eclipse online de manera privada.

Estoy averiguando cuanto espacio libre dan para tus proyectos, sería muy interesante, si dan por lo menos sus 5gb podría migrar mis respaldos de proyectos a ese sitio y continuar con su edición y actualización en repositorios como bitbucket gratis y desde cualquier parte del mundo desde un pc o un celular :D

Este proyecto es relativamente nuevo (2011) asi que no les vendria mal un vistazo.

Enjoy!
#174
Hoy por hoy está de moda programar en NodeJS, ¿porque?...

NodeJS es un lenguaje de programación Asyncrónica (en hilos o threads) orientado al javascript pero ejecutado desde el lado del servidor.

Este lenguaje de programación ha resultado tan revolucionario que han aparecido una cantidad enorme de productos libres que están asociados a este, desde hostings que duran solamente su ejecución en node como Heroku, bases de datos no SQL de alto rendimiento como MongoDB pero también han aparecido frameworks y softwares que nos hacen la vida mas fácil delo lado del navegador.

Uno de estos se llama LessCSS y se trata de una tecnología creada en javascript la cual interpreta hojas de estilo a lo puro SCSS (http://sass-lang.com/) pero sin tener que ser compilado por el lado del servidor.

Por ejemplo, nos descargamos el archivo javascript de CSSLess y lo incluimos en nuestro proyecto, ahora creamos una hoja de estilo con extensión .less y tendremos todo el poder de una hoja CSS pero dinámica con opción de crear funciones, variables y modelos.

Código (css) [Seleccionar]
// LESS

.rounded-corners (@radius: 5px) {
  -webkit-border-radius: @radius;
  -moz-border-radius: @radius;
  -ms-border-radius: @radius;
  -o-border-radius: @radius;
  border-radius: @radius;
}

#header {
  .rounded-corners;
}
#footer {
  .rounded-corners(10px);
}


Este código .less se puede compilar utilizando lessc desde el npm de nodeJS pero ahora podemos utilizarlo directamente desde el navegador utilizando esta librería en javascript.

El mismo código en CSS:

Código (css) [Seleccionar]
/* Compiled CSS */

#header {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}
#footer {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px;
}


Si a alguien le interesa esta maravilla digital puede pasar por su web oficial: http://less2css.org/

Saludos.
#175
Estoy haciendo un desarrollo en c# para paginas web ASP y actualmente estoy haciendo las inclusiones de los themes y módulos de la siguiente manera:

Control theme = (Control)LoadControl(config.theme.rutas.DirectorioLocal);

/* Agrega el Theme al control principal */
this.FindControl("bufferTheme").Controls.Add(theme);


No hay ningún problema pero quiero cambiar la manera de cargar dinamicamente un control dentro de otro sin tener que depender de las rutas de archivos. Se me ocurrió intentar llamar al namespace de manera dinámica pero no resulta, al parecer c# no lo soporta:

(Control)Themes["themeelegido"]

Donde el namespace del archivo Default.Master es "Themes.themeelegido.Default"

Hay algo similar? por ejemplo:
(Control)LoadControlFromNameSpace("Themes." + theme.nombre + ".Default")
#176
Bases de Datos / Estandard y el case sensitive
24 Julio 2013, 17:01 PM
Tengo una duda, se que una consulta sql (sea en sql server o mysql) escrita en mayusculas o minusculas da lo mismo en cuanto a las funciones y constantes, pero oficialmente como se deben escribir? con mayusculas o minusculas? ya que en algunos editores de código me lo pasan todo a mayusculas y otros a minusculas.
#177
Hola, estoy intentando seleccionar todos los campos de una tabla donde el campo fecha (datetime) sea menor a la fecha actual menos 6 minutos :-/ alguien me puede ayudar?

La query que hice fue esta:

Código (sql) [Seleccionar]
update [tabla] set
[reservado] = NULL,
[fecha_reservado] = NULL
where
[fecha_reservado] < @fechaLimite and
[fecha_reservado] is not NULLL


Ahora, desde .net estaba intentando calcular la fecha y pasarle como parámetro un datetime, pero en ves de eso ahora quiero hacerlo directo desde sql server, talves usando GETDATE() pero como le resto los 6 minutos. Por ahi leí sobre DATEDIFF() pero estoy intentando realizar la resta de fechas pero estoy medio complicado porque recien me estoy documentando al respecto.
#178
Hola, tengo dos consultas sql que quiero migrar a una sola pero no tengo claro como hacerlo.

Necesito seleccionar el primer item de una tabla donde cuenta = 0 pero al mismo tiempo necesito que se actualize a 1 pero retornando la fila completa.

Es algo como esto:

[tabla] = select top(1) * from [tabla] where cuenta = 0 order by desc
update [tabla] set cuenta = 1 where [id] = [tabla].[id]

Desde .NET procesaré los datos de [tabla] sobre una grilla.

Por lo tanto necesito retornar valores aun haciendo un update. No importa si tengo que utilizar ";" o cualquier cosa menos una tabla temporal.

Alguien sabe como podría hacerlo en una sola consulta?
#179
Hola, he encontrado la forma de inhabilitar la consola del inspeccionador de elementos, en este caso desde internet explorer es la herramienta de desarrollo y desde firefox es firebug.

Para hacer esto solo basta con agregar un javascript al sitio web con la siguiente linea:

delete eval;

Que fácil no? pues desde la función delete no puedes eliminar objetos y funciones protegidas tales como document o alert pero por alguna extraña razón si te permite eliminar la función eval() ya que no se encuentra protegida asi que la puedes eliminar (habrá sido para mayor seguridad?).

Hay dos cosas extrañas en esta situación: primero que sea posible eliminar la función eval del DOM y lo segundo es que internet explorer 10 funcione exactamente igual a nivel de motor que mozilla firefox :-/ , intentaré no ser tan mal pensado y creer que fue mera casualidad y que Microsoft no tomó firebug como base para crear el inspeccionador de elementos.

Ahora desde firebug cuando intento escribir algo sobre la consola aparece:
CitarTypeError: contentView.eval is not a function

Cabe destacar que el inspeccionador nativo de firefox (no firebug) funciona bien, no tiene este problema al igual que google Chrome.

Internet explorer dice:
Citar"'eval' no está definido"

Como no es un complemento sino un sistema nativo podemos decir que el unico navegador mas afectado es internet explorer.

Bug reportado al complemento Firebug:
http://code.google.com/p/fbug/issues/detail?id=6629

A Microsoft no le reporto nada, para eso tienen a un puñado de ingenieros que les pagan para hacer su trabajo, a mi no me pagan nada, ellos son los que se llenan los bolsillos con el trabajo de los demás.

Saludos.
#180
Digamos que tengo lo siguiente:

string abc = "123456";

Para convertir en int debo utilizar convert:

int abcInt = Convert.ToInt32(abc);

El problema es que si no es numérico tengo una excepción en ves de retornar cero por lo tanto mi código final quedará así:

try{ int abcInt = Convert.ToInt32(abc); }catch(Exception e){ int abcInt = 0; }

Asi que en ves de eso decidí crear una librería que me convertía un objeto en numérico sin excepciones retornando cero si falló, de esta manera podría mantener una programación mas flexible sin tanto código basura:

int abcInt = Librerias.str.toInt(abc);

El código es el siguiente:

public int toInt(object buffer)
       {
           if (String.IsNullOrEmpty(buffer.ToString()))
               return 0;
           try
           {
               return Convert.ToInt32(System.Text.RegularExpressions.Regex.Replace(buffer.ToString(), "@[^Ee0-9\\.]+@i", ""));
           }
           catch (FormatException e)
           {
               return 0;
           }
       }


Pero quiero ir un paso mas allá y hacer algo como esto:

int abcInt = (safeInt)abc;

El problema es... como lo hago?, se que debo comenzar creando una librería llamada safeInt, ok está hecho y he averiguado al respecto, supe que debo utilizar:

public class safeInt
{
public explicit operator int(object buffer) {


Pero no he encontrado la manera de obtener y devolver el valor necesitado obteniendo el objeto casteado. Intenté utilizar el constructor para devolver el valor pero no me resultó.

Alguien sabe si esto es posible desde c#? si es así entonces me gustaría crear un lote de librerías similares a las nativas (ojala extendidas pero no se como se pueden extender) creando una programación "no estricta" tal como lo hace de forma nativa php para aumentar la velocidad del desarrollo de la aplicación.

Al probar un simple cast:
int abcInt = (safeInt)abc;

Me ha dicho lo siguiente el visual studio:
CitarNo se puede convertir el tipo 'string' en 'Librerias.safeInt.safeInt'

Alguien sabe como hacer esto?