« first day (1945 days earlier)      last day (1146 days later) » 
00:00 - 12:0012:00 - 00:00

12:14 AM
@padaleiana "Github-flavored" es un "idiom" o modismo, una expresión cuyo significado no puede deducirse de sus partes (Github + sabor). El significado del "idiom" hay aprenderlo del uso en la vida real. Su traducción no puede ser literal, tiene que ser usando una expresión en castellano que se use de la misma manera. El castellano también tiene modismos: "entre la espada y la pared" -> "between a rock and a hard place", "quien mucho abarca poco aprieta" -> "bite off more than one can chew"
 
Sí. Mi duda era aún mayor porque tenía en mente Linux flavors, y traducen "sabores de Linux" (!). Mismo caso para lo relacionado: Ubuntu flavors, Manjaro flavors...
 
 
6 hours later…
5:55 AM
A las güenas :-)
@MauricioContreras ¿ Todavía dormido ? A ver si madrugamos mas xDD
 
@padaleiana Variedades de Linux, Versiones de Linux ... cualquier expresión que refleje el sentido, que no haya que explicarle.
 
Estoy HASTA LOS CAJONES de hilos:
********* Start testing of InOutQueueTest *********
Config: Using QtTest library 5.12.8, Qt 5.12.8 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 9.3.0)
PASS   : InOutQueueTest::initTestCase()
PASS   : InOutQueueTest::t_15_100_250()
PASS   : InOutQueueTest::t_15_250_250()
PASS   : InOutQueueTest::cleanupTestCase()
Totals: 4 passed, 0 failed, 0 skipped, 0 blacklisted, 4750ms
********* Finished testing of InOutQueueTest *********
QThread: Destroyed while thread is still running
Ahora muestra error después de terminar los test. Yo es que alucino pepinillos O_O
Ahora si :-D
********* Start testing of InOutQueueTest *********
Config: Using QtTest library 5.12.8, Qt 5.12.8 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 9.3.0)
PASS   : InOutQueueTest::initTestCase()
PASS   : InOutQueueTest::t_15_100_250()
PASS   : InOutQueueTest::t_15_250_250()
PASS   : InOutQueueTest::cleanupTestCase()
Totals: 4 passed, 0 failed, 0 skipped, 0 blacklisted, 9517ms
********* Finished testing of InOutQueueTest *********
Vale, pues vamos a meterle unas cuantas combinaciones de parámetros, a ver como se porta.
 
6:20 AM
Wenas
 
@MauricioContreras Llegas tarde :-(
;-p
Carajo, es la hora del café
pufff ... le añado un 3er test, y se queda bloqueado en el segundo. Vamos bien.
Bueno, por lo menos la CPU no está sufriendo :-) Las primeras veces se ponía al 100%
Ah no, se bloquea en el 3º. Y ese es el que pide datos más rápido de lo que se producen.
Algo no va bien en esa parte O_o
 
@Trauma la cola se está pisando la cola. XD
 
6:50 AM
Sip :-)
 
7:24 AM
Buenos dias
 
7:50 AM
@MauricioContreras increíble respuesta me diste ayer, de veras, eres un genio, me quedó todo más claro que el agua, de hecho, estuve programando media noche pq hiciste que me iluminase
Sos un crack
No tendras canal de youtube o algo? Pq explicas demasiado bien
 
@CandidMoe Respecto a esta respuesta tuya ¿Seguro que input() incluye un \n en el valor retornado?. Pienso que no.
de hecho acabo de comprobar que no
 
@abulafia Diablos, me confundi con gets() de C.
 
Sí, ese sí.
 
@abulafia Ya lo corregi.
 
jelou
 
8:05 AM
Hola chicos buenos días, tengo una duda de noob para alguien que se aburra en el curro ;)
CÓDIGO EN ARCHIVO 1:
export const getToken = (): string => {

let token;

const config: AxiosRequestConfig = {
method: 'post',
url: process.env.URL_ACCESS_TOKEN_PRE,
headers: {}
}

axios(config)
.then( (response: any) => {
token = `Bearer ${response.data.access_token}`;
return token;
})
.catch( (error: any) => {
return error;
});

return '';

};
 
hola buenos días alguien sabría como podría quitar este simbolo del encabezado de mi excel cuando lo importo a mi servidor con php ? ibb.co/Gs6wh08
 
CÓDIGO EN ARCHIVO 2:
let token: string = getToken();
console.log(token);

let check = checkIt(token, 'es-pre', 'apis');
let token no me coge el valor
string nos assignable to void
en cambio si te hago el console log en ARCHIVO 1 me saca el token perfecto
 
en el excel poner nº serie y cuando lo importo me da error por ese símbolo que me aparece si alquien supiera como codificar este simbolo? ibb.co/Gs6wh08 imagen del simbolo que me aparece
 
@MANZARBEITIA y con var?
let es para elementos que solo quieres que se conserven dentro de la función
 
ni var ni let ni const
parece que es otra cosa lo que varía
xd
 
8:09 AM
ah, es verdad, es una llamada asincrona, no puedes sacar datos fuera de ella si no recuerdo mal
 
¿Puede ser que OTRA VEZ la asincronía me este ganando la partida?
justo
no jods
O sea me tengo q hacer un Observable/Promesa dices?
 
@MANZARBEITIA me alegra que la respuesta te haya servido.
 
@MauricioContreras en serio, héroe
 
@MANZARBEITIA creo que si, las asincronías no son mi fuerte
 
@MANZARBEITIA no puedes sacar el valor del token de la Promesa, al menos no usando código síncrono.
Una opción es envolver esa parte del código dentro de una función async y usar await para obtener el token.
@NicolasOñate evita en lo posible usar var, porque sinceramente no ha sido marcado deprecated por temas de compatibilidad, igual habrá momentos en los que se pueda usar, pero sinceramente no se me ocurre ninguno de momento.
 
8:14 AM
¡ Copón ! No le pillo el fallo a esto. Y es muy raro, porque la CPU se pone a 0%
Con los otros test, se mantiene en uso debido a los setInterval( )
Es como si se deshabilitara el timer
 
@Trauma allí está el fallo, no hace nada
 
xDDD
Pero yo quiero que haga algo
 
@Trauma metele un hola mundo, ahi ya te hara algo
 
xDDD
Pasa cuando el cliente pide eventos y la cola de eventos está vacía. Ahí se muere
pero yo no paro los timers en ningún momento
 
@MauricioContreras Muy dificil veo que lo deprequen
 
8:18 AM
@NicolasOñate llegará el día, ya verás. Pero mientras existan tutoriales guarros en Youtube donde lo usen, la cosa está lejos de que suceda.
 
@MauricioContreras En cuanto lo hagan creo que el mundo se acabará, todas las librerías desapareceran, si el propio jquery lo usa tambien
 
ARCHIVO 1: --> Console.log() funciona cuando lo llamo desde el otro archivo
export const getToken = async () => {

let token = '';

const config: AxiosRequestConfig = {
method: 'post',
url: process.env.URL_ACCESS_TOKEN_PRE,
headers: {}
}

await axios(config)
.then( (response: any) => {
token = `Bearer ${response.data.access_token}`;
console.log(token);
return token;
})
.catch( (error: any) => {
return error;
});

return token;

};

ARCHIVO 2 --> No funciona el console.log() en este archivo

const token = getToken();
 
¡ Anda carajo ! No se están activando los timers
con razón hacía como si no los hubiera xD
 
@MANZARBEITIA No, ya te muestro
@MANZARBEITIA esto sería tu archivo de obtener Token, veo que usas TypeScript, deberías darle un tipo a la respuesta de axios, es un consejo. Eso de response: any no cuela mucho.
export const getToken = (): string => {
  let token;
  const config: AxiosRequestConfig = {
    method: 'post',
    url: process.env.URL_ACCESS_TOKEN_PRE,
    headers: {}
  }

  return axios(config).then((response: any) => {
    token = `Bearer ${response.data.access_token}`;
    return token;
  });
};
Como puedes observar hago un return explícito de la llamada a axios que llama a then y hace un return del token. Al final obtendrás la cadena con el token.
No uso catch porque el caso de error lo manejaré donde se llama a getToken
Para el segundo archivo hago lo siguiente:
async () => {
  try {
    let token: string = await getToken();
    console.log(token);
    let check = checkIt(token, 'es-pre', 'apis');
    // ...
  }
  catch(e) {
    console.error(e.message);
    //manejo del posible error
  }
}
La idea es envolver el código en un entorno tipo async y usar try ... catch. Ojo que mi ejemplo no sirve tal como está, es una función async anónima y no podrías llamarla en otra parte a menos que la asignes a una variable y la llames por su nombre.
Algo como: const miFuncion = async () => { ... }, luego sólo la llamas con miFuncion() o la pasas como argumento en otro método que se encargue de ejecutarla. Ya eso depende de lo que necesites hacer.
 
8:42 AM
¡¡ TOMA YA !!
PASS   : InOutQueueTest::initTestCase()
PASS   : InOutQueueTest::t_15_150_250()
PASS   : InOutQueueTest::t_15_250_250()
PASS   : InOutQueueTest::t_15_250_150()
PASS   : InOutQueueTest::cleanupTestCase()
Totals: 5 passed, 0 failed, 0 skipped, 0 blacklisted, 15066ms
********* Finished testing of InOutQueueTest *********
 
@MauricioContreras, te pasas, llevas dos soluciones en menos de 12h, muchisimas gracias
Si eres de España te invito a comer un corderito un dia
 
Si ya lo decía yo ... como si los timers no arrancaran :-D
 
@Trauma pues enhorabuena, acabas de terminar de darle el poder a una soldadora de ultrasonidos, ya sabes lo que se viene.
 
¡¡ HAHAHAHA !!
 
@MANZARBEITIA vivo en España, aunque no soy de por estos lados. Soy de Venezuela.
 
8:45 AM
De esto a Skynet ... ni 2 telediarios nos quedan xD
 
@MauricioContreras pues si quieres un corderito en Segovia ya sabe ;) te lo tienes ganao
 
@MANZARBEITIA Segovia, es el apellido materno de mi padre. Alguna relación habrá.
 
@NicolasOñate Ajem, te voy a mandar a leer mi tocho sobre var, let y const otra vez
 
Seguro, de hace mil años debe haber alguna relación, pues allí en Segovia hacen unos corderazos... los mejores de españa teoricamente
 
@NicolasOñate JQuery está destinado a la extinción también, ha tardado por causa de tanta librería que lo utiliza aún. Entre ellas Bootstrap, pero en la versión 5 ya se desligaron de JQuery. Quedó para el recuerdo.
 
8:50 AM
@MauricioContreras Aleluya!
 
@MANZARBEITIA joer, que pensé que los corderos nacían, no que los hacían. XD
 
bueno si eres veggie pues unas migas en Toledo que tb estan dpm jajaja
 
Pues tengo pendiente una visita por toda España, como siga así tendré que hacer un tour. En Málaga me comeré unos tequeños, patacones, tortilla de patatas (con cebolla, ojo) y un cafelito con leche condensada. Eso seguro. Luego me tocaría ir a Madrid a tomar un tele-desayuno o una tele-cena en el tele-bar del tele-barrio donde vive Nicolás Oñate. Ahora Segovia, y ni se diga de Asturias o País Vasco, a ver si me dejo un hueco para visitar al Lord Sith de C#. XD
 
@MauricioContreras Si le echas cebolla a la tortilla, el café te lo vas a tomar solo ;-p
 
@MauricioContreras Anteayer me zampé un patacón enorme
hay dos restaurantes venezolanos muy cerca de mi casa
 
8:56 AM
Yo soy del mismo barrio que @NicolasOñate bonita casa tiene el chico
 
me costó mantenerme despierto después
 
Mi familia es toda del norte Pais Vasco y Navarra, tienes q visitarlo! mu bonico
 
@Trauma Jo, yo sólo hago referencia a esto: La tortilla de patatas siempre con cebolla, lo otro es huevos con patatas
@PabloLozano XD
 
Resultados de la vacunación en Israel
Son unas extremadamente buenas noticias
Solo con 1 dosis, los casos se reducen un 50%
Con las 2 dosis, se reducen mas del 90%
 
@MauricioContreras algún día nos tomaremos unas tubbi-tostadas o una tubbi-cerveza XD
 
9:22 AM
Hola buenos días existe alguna forma evitar tener que poner esta forma $row['FUNC_INGRESADOR'] == 'NO' || $row['FUNC_INGRESADOR'] == 'no' algo asi como en java equalsIgnoreCase()?
 
@MauricioContreras La tortilla de patatas sin cebolla es comestible y hasta está rica, pero sólo las patatas la diferencian de una "omelette" francesa, no es suficiente para mí :P
 
@RobertoAlonsoPepónSanchez tolowercase
 
ahora en serio: alguna vez se me ha olvidado echar cebolla a mi tortilla y se nota mucho. La prefiero siempre con cebolla, aunque no es que se vuelva incomestible
 
9:38 AM
@RobertoAlonsoPepónSanchez claro, usa: strtolower($row['FUN_INGRESADOR']) == 'no'
Asumo que estás trabajando con PHP
 
si es php, gracias, pero de esta forma tendría que hacer para strtouppercase no existe algo asi como $row['FUN_INGRESADOR'].equalsIgnoreCase('no'); de esta forma no tendría que poner también el no en mayuscula ? también probe esto $row['FUN_INGRESADOR'] = strcasecmp('SI', 'si') pero me retorna true or false
strtoupper() * perdon
 
@RobertoAlonsoPepónSanchez a ver, la idea es que ignore si es mayúsculas o minúsculas, conviertes todo a una de las dos formas y comparas. Eso no tiene pérdida, sólo conviertes para comparar, sin modificar el valor.
 
aa claro verdad,no caia
gracias ;S
 
@RobertoAlonsoPepónSanchez de res
@RobertoAlonsoPepónSanchez otra forma un poco menos obvia sería: in_array($row['FUN_INGRESADOR'], ['NO', 'no'])
Devolverá true sólo si la variable es 'NO' o 'no', de resto siempre devuelve false.
 
9:54 AM
me lo apunto gracias por responder
 
10:30 AM
PHP, ese lenguaje en el que 'foo' == 0 pero 'FOO' es distinto a 'foo'
 
@PabloLozano ¡ Lávate la boca con jabón ahora mismo ! Anda que llamar lenguaje a eso ...
Los hay que se lo creen todo ... xD
 
Ayer hice mi primera red neuronal con una librería de JS, pero no me quedo nada claro como se supone que hay que "entrenarla".
 
@g3rv4 Me he metido en las colas y he visto que habéis cambiado, algunas preguntas cuando quiero dar a Recommed Close y validarlo al enviar no me lo permite, pulso el botón y no hace nada, me he fijado que es el único campo no traducido, puede ser por eso?
 
@Trauma y hay quien honrosamente lo llevan en su nick ( ejem ejem @phpMyGuel )
 
Yo si programase en php buscaría todas las maneras posibles de ocultarlo
 
10:37 AM
jejeje ... probrecito ... si es que ...
 
Para opinar de lenguajes hay que haber aprendido y practicado varios.
 
aleeeeeeee ... ya saltó el agüelo ;-p
 
@NicolasOñate buenas! no, es por esto es.meta.stackoverflow.com/a/5023/11272 que ya está arreglado en master pero todavía no se hizo un build
 
para meterse con PHP basta con saber que aun existe xD
 
PHP tiene cosas buenas.
O eso dicen, yo no las he encontrado.
 
10:38 AM
XDDD
 
Por suerte cada día se usa menos
eso es una cosa buena
 
pues no se ... se ven muchas ofertas que lo mencionan
y además, lo ponen con letras grandes y todo ...
 
En comparación con otros lenguajes
Bueno, pues igual me he soltado un invent que flipas xd
Ah no, mira como cae, desde 2018 trends.builtwith.com/framework/PHP
 
Por aquí en el sur se ve, sobre todo, Java, .net y el bischo ese del que estamos hablando
 
@g3rv4 ah! vale gracias!
 
10:42 AM
bueno, y HTML / Javascript, que suben como la espuma
 
Los freimguors del javiscrupt cada vez pillan más terreno, y ASP también
 
Sip, cierto.
El VUE ese, que no tengo muy claro lo que hace
 
Hay tres problemas ahora mismo en el mundo, la pandemia, el calentamiento global y el uso de PHP.
7
Y eso es así.
 
XDDD
+1
 
jsjsjs
 
10:44 AM
@Aritzbn Risas en Javascript
 
Bueno, toca trastear con el QDataStream. ¿ Alguno con experiencia en ello ?
 
@PabloLozano Es que ahora tengo un papel que dice que soy desarrollador we'
 
@Aritzbn No me parece muy fiable ese sitio... Según ellos el segundo más usado es "Organization Schema" (???)
 
@abulafia qué es eso
 
ni idea, por eso no me parece fiable :-)
 
10:46 AM
A mi me suena algo de LDAP ...
 
Y cuidado, que el tercero es Person Schema
 
@Trauma tampoco sé lo que es pero tu madre por si acaso
 
a ver qué pinta eso en la misma gráfica que PHP
 
@Aritzbn ¡ HAHAHAHA !
 
@Trauma Vue es como React, un framework
 
10:47 AM
@PabloLozano Sabes que yo soy adicto a webix, no puedo vivir sin él
Todo lo demás es demasiado blando para mi. Yo directamente droga dura
 
webix es una librería de componentes
 
@abulafia Teniendo en cuenta que cada vez hay menos búsquedas (según gugul), podemos deducir que se usa menos. trends.google.es/trends/…
 
@PabloLozano cierto.
 
vue es como React o Angular: podrías usar esos componentes dentro
 
no no
para las cosas que yo hago, webix es perfecto
 
10:49 AM
yo lo veo como un jqueryUI
 
librería de componentes (controles, mas bien) que se pueden definir mediante un simple Object
 
Bueno, eso es en España, ¿Cómo puedo cambiar el país en google trends?
 
@Aritzbn debajo de la palabra de busqueda
 
Ya lo vi
 
la UI por un lado (en un .js aparte) y el comportamiento por otro. Perfecto para mí. Y cada control es autónomo, trabaja por si mismo con apenas un puñado de opciones
 
Bueno, gente, la humanidad tiene esperanza. trends.google.es/trends/explore?date=all&q=PHP
Mira como baja xd
 
Si puediera convencer a mi , pagaba por la versión pro
Y todo en .js puro y duro, nada de transpilaciones ni mariconadas de esas
 
@Aritzbn Un índice típicamente usado es el TIOBE
 
@NicolasOñate oléee
xd
 
10:53 AM
En tiobe se ve efectivamente que PHP va en declive
así como Java y C++
 
Justo lo que estaba buscado:
6
Q: Using Qdatastream read data from socket and write into file

Chen XuI need to receive binary data(reading float) through a QTcpSocket and write them into Qfile using QDatastream. But I am having some problems with QDataStream. As follows, I can only achieve it using this way : QDataStream in(socket); in.setFloatingPointPrecision ( QDataStream::SinglePrecision); ...

 
Y assembly sube xd en fin, la hipocondría
 
Pues no parece difícil de usar
 
y C# crece lentamente
 
Yo creo que en los próximos años todo lo relacionado con .NET va a despegar
 
10:55 AM
y el C se mantiene estable por los siglos (tras un misterioso bache en el 2017, qué sería?)
 
@Aritzbn Es muy mucho posible.
MS aprovechará para apretar con .net y Azure
 
El otro día me pillé con mi licencia de estudiante la cuenta de Azure con 100€ en créditos
me monté un servidor to guapo del maincra con mods y historias, me sorprendió lo bien que iba.
 
Pues en ese momento prepararé mi curriculo con un contenedor de barco al lado para que me ingresen los cheles
Azure estaba muy en la sombra y ahora creo que mira a los ojos a aws
 
Buenas, caballeros y damas!
 
eso hace 3 años no se veia
 
10:58 AM
@RevolucionforMonica Se dice del revés: Damas y caballeros xD
 
También te digo, se suponía que tener el servidor me costaba 43€ al mes, ayer me llegó un correo de que había consumido el 90% de mis créditos (100€) xd y el servidor tiene un mes.
Entonces... no sé yo.
 
Muchas gracais por tu respuesta @abulafia, estoy leendola al momento.
 
@Aritzbn Pero dependerá del tipo de server, ¿ no ?
 
@Trauma sí sí, pero cuando tu eliges un servidor, hay presets, te dice cuanto cuesta al mes cada uno
 
Ah, vale. Ok.
 
10:59 AM
@Aritzbn sigue siendo microsoft, nunca te olvides de eso
 
Aún así, se suponía que me costaba 43€ xd y ya he consumido 90€ en un mes
 
El único server alquilado que he tocado es el que tenemos para jugar, de OVH
 
@Aritzbn y de los recursos que consuma, las horas encendido...
 
@Aritzbn Tienes que mirar bien por que servicios te cobra; por ejemplo, datos de bajada
 
@RevolucionforMonica De nada, ya no recuerdo cuál ... :-) ¿era la de la geololcalización de la columna city?
 
11:01 AM
@Trauma supongo que sería por eso, si, aún así, el servidor te lo venden con un límite de E/S, 1600... algo en mi caso. No especificaba en la página. Yo entiendo que el precio te lo dan estimando que vas a usar la E/S máxima.
 
@Aritzbn pues no sabría decirte, pero cuando me dió por investigar AWS, ponía muy clarito que te cobraban por datos de bajada
 
@abulafia si eso es!
 
la verdad, no lo sé, de todas formas, los créditos me duraban hasta junio y quería aprovecharlos, ha estado bien.
 
de bajada, fase de la luna, veces que se encendia el LED del disco duro, ...
te pones a mirar la letra pequeña y te asustas xD
 
Ya xd supongo que habrá algo que se me ha pasado
al final era gratis y no leí mucho
 
11:02 AM
Hey @RevolucionforMonica en una de tus preguntas sobre una agregación en MongoDB Atlas, pones que no funciona, pero si que lo hace. ¿Lograste resolverlo?
 
jejeje ... di que si :-)
 
Al principio intenté levantarlo con ubuntu server, pero no había forma de logearme en la máquina :/ y lo peor es que se supone te viene lista y preparada. No sé, empecé a cambiar cosas y supongo que me la cargué.
Así que me pase a windows server
 
@abulafia Hay personajes medios duros de cabeza ...
 
@CandidMoe (?)
 
@abulafia El problema con Arduino
 
11:09 AM
No sé de qué me hablas ahora... me has descolocado porque lo que hablaba con RevolucionForMonica era otro tema. ¿A qué problema de Arduino te refieres? ¿no eras tú el que andaba en eso?
 
@MauricioContreras Creo que recuerdo el que estás hablando. Sí, fue un error. Cuando ejecuté mi script para reescribir la base de datos sólo se mostró mucho más tarde en MongoDB
 
0
Q: "AttributeError: 'int' object has no attribute 'encode'

Josep Ginercomo dice el titulo tengo este error en el cual al enviar un numero al arduino para que cambie la variable de aforo maximo . Al iniciar pongo el numero que corresponde y me salte el error arduino.write(enviar.encode()) AttributeError: 'int' object has no attribute 'encode' os paso el código que ...

 
@RevolucionforMonica correcto, la vista de MongoAtlas se actualizaría más tarde, dependiendo de la cantidad de datos que se hubieran procesado.
@CandidMoe pero es que está más perdido que pulga en peluche:
asi seria? arduino.write(print(type(enviar))? — Josep Giner 22 mins ago
 
@CandidMoe Ah! Jo, qué mal estoy de la memoria. Ahora mismo había escrito ese comentario y ya no sabía de qué hablabas... perdona
 
Los que sabéis inglés: suponiendo que hablamos de un Ejemplo Mínimo Verificable que es demasiado largo, ¿ Como se diría ? ¿ a bit big exmaple o a bit large example ?
 
11:16 AM
"bit too large" diría yo
 
Bueno, nunca use Python 2.x, asi que esos fallas no las detecto.
 
@CandidMoe Anda! Entonces eres "recién llegado a python", como quien dice?
 
@abulafia ok. No lo tenía claro
 
@abulafia Si, llevo menos de dos años.
 
Pues sí, en python2 input() básicamente hacía lo que ahora sería eval(input(prompt)). Una chapuza en mi opinión
Si el usuario metía "Hola", obtendría un error de que Hola no está definido
Python 2.7.12 (default, Oct  5 2020, 13:56:01)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> input()
Hola
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'Hola' is not defined
>>>
@CandidMoe Te suponía al menos 5 años de experiencia, juzgando por tus respuestas
 
11:20 AM
Ahora pille un problema con asyncio que me tuvo horas pegado: resulta que no puedes compartir enteros entre procesos, pero si puedes compartir objetos. Solución: crear un objeto que contenga los enteros a compartir.
 
ahiva, y eso por qué?
entiendo que los procesos se comunicarán entre sí usando probablemente Unix sockets o similar, y serializando con pickle. No veo por qué no habría de poder compartirse un entero
 
@abulafia Basicamente es que los enteros se pasan por valor, no por referencia. Cuando un proceso cambia el entero, el otro no se entera.
 
@CandidMoe Ah, hablas entonces de memoria compartida?
o de un simple paso de parámetro a una funcion (porque en este caso asyncio o que sea otro proceso es irrelevante, ya es así en un unico hilo "normal")
 
Los sensores actualizan una variable global. El proceso que atiende peticiones HTTP los recupera de esa variable global, pero como era un entero, se quedaba con el valor al momento de la importación.
 
@CandidMoe Creo que entiendo. Solución chapuza: v = [0], el sensor escribe con v[0]=100, el servidor HTTP lee v[0]
he visto ese tipo de cosas (horribles) en funciones que deben devolver algo "por referencia"
 
11:27 AM
Parecido:
class Variables:
    def __init__(self):
        self.lux = None
        self.temperature = None
        self.humidity = None
        self.stats_temp = None
        self.stats_humi = None
        self.stats_lux = None

estado = Variables()
Ese sería el módulo compartido entre sensor y servidor http.
 
Vale, pero entiendo que cuando antes decías "procesos" querrás decir "hilos" o en todo caso "corutinas", no?
los procesos reales ni siquiera podrían compartir esa variable
 
Corutinas sería el término apropiado.
 
@lois6b Lo llevo como un estigma. Para que no se me ocurra tener delirios de grandeza.
 
Alguien me puede decir por que me sigue saltando en este codigo el CORS?
<head>

<title>Document</title>


<?php
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");
header("Allow: GET, POST, OPTIONS, PUT, DELETE");
$method = $_SERVER['REQUEST_METHOD'];
if($method == "OPTIONS") {
die();
}

?>

<script src="http://code.jquery.com/jquery-latest.min.js"></script>

<script>


$.getJSON("https://tosdr.org/api/v1/service/facebook.json").done(function(data) {
 
@CandidMoe Vale, vale. Entonces lo que dije antes de unix sockets y pickle no tiene nada qué ver. Ese es el mecanismo que usa python cuando pretendes pasar parámetros entre funciones en diferentes procesos. En ese caso no queda otra que hacer algo así porque los espacios de direcciones de cada proceso son separados
en el fondo es una RPC
 
11:38 AM
Hola. Estoy aquí dándole al mongo, y estoy teniendo problemas con el diseño de lo que tengo montado y su adecuación con los guards de Angular y la forma de acceder en los distintos tipos de escenarios. ¿Me ayudais?
Si tenéis tiempo, claro.
Es todo a nivel conceptual, no es técnico.
 
@AntonioU. Tu vé soltando las preguntas y quien tenga tiempo y conocimientos irá respondiendo :-)
 
Os cuento. Tengo un sistema para gestionar una clase, para lo que tengo varios roles: administrador, estudiante, profesor, etc; Dependiendo de qué rol sea, tengo una serie de documentos incrustados u otros (por ejemplo un estudiante puede tener un tutor y pruebas, un profesor puede tener pruebas que ha creado, un administrador incidencias) etc.
 
@abulafia Piensa que todo esto pasa en microprocesador mono-nucleo con 96KB de RAM para código y datos.
 
sabeis por que me llama esta expresion regular ? intento reemplazar todos los ' pero me falla return str_replace('/\'/g', '', $value);
 
@CandidMoe por eso me extrañó que hablaras de procesos
 
11:43 AM
Ok, entonces he creado una colección que se llama usuarios, que tiene los datos básicos (email, password, rol, si está activo o no etc). Desde esa entidad mi guard de angular puede decidir si puede o no acceder a las páginas privadas. Hasta aquí todo bien.
 
@RobertoAlonsoPepónSanchez lenguaje?
 
@abulafia ¿Cómo dices proceso en inglés?
 
Mi subtipo (estudiante, profesor y administrador) tenía inicialmente un id que era el mismo que el de usuarios. Esto era muy conveniente, pues a la hora de validar en los servicios REST si puede acceder o no a esos datos, me facilitaba bastante las cosas..
 
@CandidMoe process, pero cuando escucho esa palabra la entiendo en el sentido Unix del término. Un programa completo cargado en memoria con su segmento de datos, código y pila, y su contexto de ejecución (punteros de instrucción y pila, variables de entorno, y tabla de descriptores)
 
Pero, tener en estudiante un campo que sea a la vez clave y referencia a otro campo de usuario, me supone otras complicaciones. Por ejemplo, a la hora de hacer un populate queda raro que recuperes usuarios pero te aparezca como id.
 
11:46 AM
@abulafia Bueno, ahora revisando veo que Python tiene un módulo de multiproceso, diferente a threading. No me había percatado de que tiene un significado estricto en Python.
 
@CandidMoe No solo en python
En C también un proceso es algo diferente de un hilo. Un proceso se crea con fork(), un hilo con pthread_create(), etc
Python usa esos mismos conceptos
un proceso en python tiene su propio intérprete y su propio GIL
por lo que el multiproceso puede aprovechar los múltiples cores que haya en una máquina
 
Por otra parte, tener un id para la colección de usuario y otro para subtipo, es un inconveniente pues es bastante enrevesado a la hora de manejar quién puede acceder a a qué. Tenemos que tener en cuenta la colección y el id que estamos tratando.
 
los hilos en cambio comparten el proceso y el GIL y debido a este último, el mutithreading no aprovecha el paralelismo de los varios cores
 
¿Cómo se suele solucionar este tipo de problemas de manera habitual?
 
@abulafia Bueno, llevo como cuatro años dedicado sólo a microcontroladores, más cercano al hardware, sin sistema operativo ni librerias complejas debido a la escasa memoria.
Alguna vez hice un fork, pero fue hace muchos años atrás.
 
11:50 AM
Pues entonces puedes entender bien las diferencias. Un proceso es un programa completo, una llamada a fork() duplica el proceso completo. Al final son varios programas "independientes" en su ciclo de vida, solo que parten de un mismo código.
un hilo en cambio es algo mucho más mínimo, solo una pila, un puntero de instrucción y un puntero de pila
 
@abulafia Si, entiendo el concepto, solo que no forma parte de mi realidad ...
 
todos los hilos apuntan al mismo espacio de memoria, compartiendo código y datos
lo único que tienen "privado" son las variables locales por estar en la pila
por eso en Python (o en C) es sencillo compartir variables entre hilos, ya que los datos en sí esstán en el heap, compartido entre todos ellos
pero no es posible compartir variables entre procesos, sin copiarlas de uno a otro
en el fondo es como si estuvieran ejecutándose en máquinas separadas
hace falta por tanto algún middleware que haga esas copias. El módulo multprocessing de python es para eso
para darte procesos, pero con una API como si fueran hilos
 
Mi versión de procesos es tener dos Arduinos conectados via I2C.
 
exactamente :-)
 
Para mi Python es como una tienda de caramelos para un niño: lleno de tantas cosas maravillosas e interesantes que no sabes por donde empezar o como hacer para tenerlas todas.
 
00:00 - 12:0012:00 - 00:00

« first day (1945 days earlier)      last day (1146 days later) »