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

#1051
¿No recuerdo si Debian en algún momento tenia upstart? En fin, lo único interesante de esas lineas es:

Código (bash) [Seleccionar]

/sbin/mgetty -n 2 ttyS0


Que debe ser simplemente (asumiendo que este en el PATH y que tenga que ejecutarse como root):

Código (bash) [Seleccionar]

sudo mgetty -n ttyS0
#1052
Redes / Re: que airrouter no enrute
21 Abril 2016, 16:04 PM
Cita de: XLRamos en 20 Abril 2016, 08:37 AM
Me puese en contacto con el fabricante y resulta que este router no tiene capazidad de vlan en sus entradas de lan, por lo que se tendria que configurar en un swich que si pudiese.

¿Entonces querías segregar los dominios de broadcast en las entradas de tu router? Es posible hacer esto en un L3 switch pero dudo que esta sea uno. Segun los datasheet:

https://dl.ubnt.com/datasheets/airrouter/AirRouter_Datasheet.pdf

Tienen soporte para VLANs pero son bastante vagos en la descripción. Lo más probable es que se refieran a la habilidad para VLAN tagging. El problema que te mencione anteriormente puede ocurrir todavía, así que investiga bien las capacidades de tu router en cuanto a ruteo antes de comprarte un switch.
#1053
Los dos algoritmos están correctos dependiendo de la entrada que no es mencionada en el problema. Tu primer algoritmo toma como entrada la cantidad de productos y el precio de estos productos. Tu segundo algoritmo, toma el importe a pagar por los elementos con el descuento aplicado. Un tercer algoritmo, puede considerar como datos de entrada el importe a pagar por los elementos sin el descuento.
#1054
Cita de: HelThunk en 15 Abril 2016, 19:15 PM
Perfecto :), muchas gracias por la explicación, aunque una duda.. dices que == intenta convertir los valores a un símil, ¿al finalizar la comparación devuelve el dato a su estado anterior?,¿ o si ha convertido un num en text se queda como text?

Las referencias se quedan como tal, los valores convertidos se usan para comparar y luego se descartan.
#1055
Cita de: RevolucionVegana en 14 Abril 2016, 14:29 PM
Bieeen muchas gracias he desactivado SecureBoot y seguia sin dejarme y despues he cambiado lo de UEFI a CSM o algo así ponía, y una ultima pregunta Songoku si instalo Kali en mi disco duro tendre que dejar la configuracion de la BIOS asi obligatoriamente o puedo ponerla de nuevo en UEFI y que siga funcionando correctamente?

Gracias!!! y saludos!

Si has instalado Windows con UEFI no lo desactives porque instalarías Kali en el otro modo. Encima, si tienes un disco duro con GPT puedes tener problemas en el modo CSM. No creo que sea el caso para las UEFIs que ofrecen CSM pero con las implementaciones que hay, hay que andarse con cuidado.

Deberías poder bootear tu CD en el modo UEFI si creas la imagen tal cual dice el manual de Kali. Tienes que tener una entrada para bootear el CD.
#1056
¿Este test está escrito con javascript? Si está escrito en JS, lo mejor sería que usaras un headless browser (selenium o phantomjs).

Edit: O quizás me estoy confundiendo. ¿Tu página presenta estos tests? ¿O tu página resuelve otros tests?
#1057
Si, el uso que le doy es algo similar a lo que harías con un case:

Código (javascript) [Seleccionar]

...
case 'Air':
    return ["Water", "Dragon", "Devil", "Lightning", "Gun", "Rock", "Fire"].includes(p2);
...


map es map a menos que yo haga algún cambio. Cuando tu haces:

Código (javascript) [Seleccionar]

map[p1] //donde p1 es una de las 15 opciones


El resultado de esa expresión es el arreglo que contiene las posibilidades para la cual la entrada p1 es ganadora. Es decir si p2 eligió cualquiera de esas entradas entonces p1 gana y p2 pierde. De lo contrario p2 pierde. Lo único que haces es buscar si la opción que p2 eligió está dentro de este arreglo.

El triple signo de igualdad ( === ) es usado para hacer una comparación estricta entre dos expresiones. Cuando tu utilizas el doble signo de igualdad ( == ) y los valores a los que resuelve cada una de las expresiones son de diferente tipo, javascript intenta convertir los valores al punto que pueda hacer la comparación. Yo quiero comparar exactamente el mismo valor y no valores similares, quiero evitar esta coerción de datos. De todos modos, si utilizas valores del mismo tipo con doble signo de igualdad realiza los mismos pasos que si usarás el triple signo de igualdad.

Mi página todavía no está terminada :P, de momento solo tengo algunas entradas acerca de código asíncrono en javascript.
#1058
GNU/Linux / Re: Duda Actualizar kernel
13 Abril 2016, 18:34 PM
Pues google dice que tienes que comprimir la imagen después de haberla compilado. Nunca he tenido ese problema con GRUB pero bueno siempre lo he usado en una distro con un manejador de paquetes robusto que hace todo por mí y rara vez me he metido a despellejar mi kernel.
#1059
Cita de: m0rf en 13 Abril 2016, 17:16 PM
Eso es otro nivel el de las traducciones de películas y series.

En catalán está bien traducido DBZ, por suerte.

Congelador ahahahahahhaahahahahahahahah



Lo curioso es que eso es lo mismo que penso Akira Toriyama:

Citar
"For example, the one in control of the Saiyans and other villainous aliens is Frieza. Strictly speaking, Frieza is "freezer", but I envisioned a refrigerator when I named him.

Quizás no les suene raro 'Freezer' si su primer idioma no fue el inglés cuando vieron DBZ, pero para alguien que creció viendo la serie en Inglés les puedo apostar que les fue igual de raro.
#1060
Lo más sencillo es construir un mapa e.g.:

Código (javascript) [Seleccionar]

var map = {
"Rock": ["Fire", "Scissors", "Snake", "Human", "Tree", "Wolf", "Sponge"],
"Fire": ["Scissors", "Snake", "Human", "Tree", "Wolf", "Sponge", "Paper"],
"Scissors": ["Snake", "Human", "Tree", "Wolf", "Sponge", "Paper", "Air"],
"Snake": ["Human", "Tree", "Wolf", "Sponge", "Paper", "Air", "Water"],
"Human": ["Tree", "Wolf", "Sponge", "Paper", "Air", "Water", "Dragon"],
"Tree": ["Wolf", "Sponge", "Paper", "Air", "Water", "Dragon", "Devil"],
"Wolf": ["Sponge", "Paper", "Air", "Water", "Dragon", "Devil", "Lightning"],
"Sponge": ["Paper", "Air", "Water", "Dragon", "Devil", "Lightning", "Gun"],
"Paper": ["Air", "Water", "Dragon", "Devil", "Lightning", "Gun", "Rock"],
"Air": ["Water", "Dragon", "Devil", "Lightning", "Gun", "Rock", "Fire"],
"Water": ["Dragon", "Devil", "Lightning", "Gun", "Rock", "Fire", "Scissors"],
"Dragon": ["Devil", "Lightning", "Gun", "Rock", "Fire", "Scissors", "Snake"],
"Devil": ["Lightning", "Gun", "Rock", "Fire", "Scissors", "Snake", "Human"],
"Lightning": ["Gun", "Rock", "Fire", "Scissors", "Snake", "Human", "Tree"],
"Gun": ["Rock", "Fire", "Scissors", "Snake", "Human", "Tree", "Wolf"]
}


De ahí nada mas teniendo las opciones de los dos jugadores (p1 es player 1 y p2 es player 2) haces:

Código (javascript) [Seleccionar]

if(p1 === p2) {
   //nadie gana
} else if(map[p1].includes(p2)){
   //gana p1
} else {
   //gana p2
}


Obviamente es bastante tedioso escribir ese diccionario o mapa, así que lo puedes construir con javascript:

Código (javascript) [Seleccionar]

var options = ['Rock', 'Fire', 'Scissors', 'Snake','Human',
'Tree', 'Wolf', 'Sponge', 'Paper','Air',
'Water', 'Dragon', 'Devil', 'Lightning','Gun']; //15 opciones

var map = options.reduce(function(o, v, i, a){
var nPos, arr = [];
for(var x = 1; x < 8; x++){
nPos = i + x;
nPos = nPos >= a.length ? (nPos - a.length) : nPos;
arr.push(a[nPos]);
}
o[v] = arr;
return o;
}, {});


Puedes usar una lista ligada circular también:

Código (javascript) [Seleccionar]

var list = { head : { }, prev : null };
list.current = list.head;

var options = ['Rock', 'Fire', 'Scissors', 'Snake','Human',
'Tree', 'Wolf', 'Sponge', 'Paper','Air',
'Water', 'Dragon', 'Devil', 'Lightning','Gun', null];

var linkedList = options.reduce(function(list, v){
if(v !== null){
list.current.v = v;
list.current.n = { };
//move forward
list.prev = list.current;
list.current = list.current.n;
} else {
//end of list
list.prev.n = list.head;
}
return list;
}, list).head;


Necesitas otras funciones para encontrar las opciones de los jugadores:

Código (javascript) [Seleccionar]

function find(list, v){
var pointer = list;
while (pointer.v !== v){
pointer = pointer.n;
}
return pointer;
}

function lookAhead(init, num, v){
var pointer = init.n;
for(var i = 0; i < num; i++){
if(pointer.v === v) return true;
pointer = pointer.n;
}
return false;
}

var win = (p1, p2, list) => lookAhead(find(list, p1), 7, p2);


Y ahora simplemente para verificar si ganas o pierdes:

Código (javascript) [Seleccionar]

if(p1 === p2) {
   //nadie gana
} else if(win(p1, p2, linkedList)){
   //gana p1
} else {
   //gana p2
}