« first day (3100 days earlier)      last day (8 days later) » 

6:15 AM
A las güenas :-)
Asco de jueves :-(
 
 
2 hours later…
7:46 AM
@Trauma Qt funciona y opino que fomenta malas prácticas a la hora de programar.
@Trauma No lo se ¿Quieres que le pregunte?
 
@PaperBirdMaster Pues a mi me gustan las señales :-)
@PaperBirdMaster jejeje ... si es que estás mas perdido que el barco del arroz
 
@Trauma A mi también, pero lo que no me gusta es que ocultan los constructos reales que hay detrás ¿Por qué inventarse una sintaxis nueva con incluso palabras clave y colarlas detrás de "magia del compilador" pudiendo publicar una cabecera con funciones que hacen lo mismo?
@Trauma Opino que estoy más perdido que el melocotón del interferómetro.
 
XDDD
A ver, Qt tiene ya unos cuantos añitos encima
Cuando lo sacaron, pues me imagino que fue la mejor opción
 
@Trauma Cuando lo sacaron no hicieron nada que no pudiera hacerse con C++ plano.
 
Quejica ;-p
 
7:52 AM
@Trauma Cosas de la edad, a más viejo más cascarrabias.
 
Oye @PaperBirdMaster ¿ Como llevas la paternidad ?
 
@Trauma Por cierto ¿Qué necesitabas?
@Trauma A-G-O-T-A-D-O-R
 
Que no se usar el enable_if :-(
@PaperBirdMaster XDDDDDDD
Tranquilo, luego empeora xD
 
@Trauma A mi se me olvidó cómo se usa cuando llegaron los conceptos xD pero puedo intentar ayudarte.
@Trauma Yiiipiiii.
 
Si es que llevo mas de 1 año sin programar en C++
Se me ha olvidado :-(
 
7:53 AM
¿En qué estándar te toca trabajar?
 
En el curro estamos con el 17
(creo)
 
Ok ¿y qué necesitas hacer?
 
ah, dices con lo mio y el enable_if
Eso es en el 11
Que me está entrando por donde no quiero que me entre xDD
Ah, guay, está en wandbox
Carajo, que no me salia para compartir el enlace
Ya te digo que no se usar el enable_if :'-(
 
Perdona, me ha llamado un compañero de trabajo y estoy ahora liado.
 
Sin problema
Si te aburres y le quires echar un ojo, pues gay
 
8:39 AM
A ver, me cuesta entender el código, pero en el error se queja de que falta un operador paréntesis: error: no match for call to '(tu tipo de datos) ()'
Si lo añades el error cambia, pero ahora tengo que mirar otra cosa del curro :(
 
9:20 AM
@PaperBirdMaster Ya, pero quiero que se use la primera función cuando se usa ese código de ejemplo
osea, cuando intentas enganchar una Signal con otra
P'a ahorrarme el operator()
 
Ah vale, ya veo la intención. Es raro que entre por la sobrecarta de rvr en lugar de por la referencia constante.
 
@PaperBirdMaster Ese es el problema
Entiendo que la segunda versión se lo traga todo, pero para eso está el enable_if
y se lo pasa por el forro
 
Ah, claro. Falla la instanciación de la versión cr (gracias a enable_if) por lo que la única instancia de la misma función restante es la de rvr xD
 
¿ ?
también probé a usar el remove_const, pero fallaba igual
 
9:37 AM
El enable_if es un mecanismo para explotar la característica de SFINAE (substitution failure is not an error), falla la substitución de parámetros en la primera versión entonces toda esa función deja de existir en esa instancia, así que lo único que puede tragar un parámetro de tipo HANDLER es la función rvr.
 
y yo quiero que pase justo lo contrario cuando se le pasa un Signal como argumento
que falle la 2ª y entre por la primera
osease, que no se porqué falla el primero
 
9:48 AM
Ah copón, haberlo dicho antes XD
 
hiñe
joé
pues crei haber sido claro xDDD
 
Para eso simplemente usa name lookup, no necesitas negar nada
 
¿¿ Solo con ponerle el using, ya va ??
ah, vale. Y le has cambiado el tipo.
al argumento
Guay :-)
¡ Puto amo !
 
@Trauma Nooo, esos using son para mi comodidad.
He quitado la negación del enable_if en la versión rvr
De esa manera ambas versiones de la función se instancian cuando is_same se cumple pero se escoge la primera porque cr se ajusta al parámetro recibido mejor que rvr.
 
joé
Eso es justo lo que yo quería hacer :-)
A ver si lo puedo mirar con detenimiento, para pillarle el truco :-)
 
 
2 hours later…
11:43 AM
jejeje ... @PaperBirdMaster ahora no deja pasarle un puntero a función como argumento al connect( ).
Que jartico toy de las template< > xDDD
 
12:25 PM
menos mal que aparecio el paper y alguien arreglo ese algoritmo...
 
@Trauma Código plz.
 
 
1 hour later…
1:52 PM
Voy
Que tenía reu de 14 a 15
Ese es el código completo que estoy usando
 
@Trauma al final cuál es la solución?
 
El Paper me ha dado una para el código de la pregunta. Pero eso era solo un mcve, en el código completo vuelve a fallar
El código completo tiene otro caso
Si es que no se usar bien el enable_if :'-(
 
 
1 hour later…
3:31 PM
@Trauma y que dice ChatGPT???
preguntale a ver si de casualidad te puede ayudar ...
 
3:43 PM
@Trauma Mmmhhh… no lo pillo, veo obvio que no funcione porque un fptr no es un Signal<T>.
 
@PaperBirdMaster Pues yo no lo veo, sorry.
Debería entrar por la 2
 
A ver, todas las versiones (de un sólo parámetro) de connect reciben un HANDLER, el cuál quieres que sea (is_same) un class Signal<…>. ¿Cuántos punteros a función pueden ser un class Signal<…>?
 
no no
hay 2 funciones con 1 solo argumento. Una (la primera) quiero que aplique solo para Signal
la segunda, que aplique para cualquier otra cosa
 
@Trauma Debo estar ciego, sólo veo dos versiones de un sólo parámetro de connect, una en la línea 15 y la otra en la línea 23.
 
si, correcto. Es lo que he dicho
6 mins ago, by Trauma
hay 2 funciones con 1 solo argumento. Una (la primera) quiero que aplique solo para Signal
 
3:55 PM
Por cierto using SizeType = decltype(sizeof(0)) es más corto que using SizeType = decltype( std::vector< FunctionType >( ).size( ) ); y equivalente.
 
¿ Y porqué de 0 ?
 
@Trauma Ah, copón, la espesez. Pues repito la pregunta: ¿Cuántos punteros a función pueden ser un class Signal<…>?
 
ninguno
 
@Trauma Porque es corto, pero si te quieres complicar: `using SizeType = decltype(sizeof(nullptr));
 
y porqué nullptr ?
En todo caso, typename vector< XXX >::size_type
 
3:57 PM
@Trauma Entonces ¿cómo quieres que funcione llamando a una connect sobre algo que no puede entrar en esa función?
 
pues que entre por la segunda ¿ no ?
la segunda es un HANDLER &&
 
@Trauma Porque es un literal elemental de lenguaje, no necesitas incluir nada para que funcione.
 
vale, pero yo quiero el tipo que se usa en vector< >
que en principio puede ser cualquiera sin signo
 
@Trauma No. Porque HANDLER tiene que ser (is_same) un Signal<…> (tu propia especificación) y por lo tanto nunca será un tipo().
 
jejeje ... ya hemos llegado al problema :-)
 
3:59 PM
@Trauma El tipo que se usa en vector es std::size_t que es por definición el retorno de sizeof.
 
Si es un signal, que use la primera versión
@PaperBirdMaster Eso me lo he perdido yo ... ¿¿ donde pone eso ??
 
@Trauma En el estándar.
 
pues en cppreference pone size_type Unsigned integer type (usually std::size_t)
usually
 
@Trauma Tanto la primera como la segunda versión reciben un HANDLER que por tu propia especificación tiene que ser (is_same) un Signal<…> y por lo tanto nunca será un puntero a función.
 
¿¿ Según mi especificación ?? jejeje ... quieres decir según mi código que no funcionaba ;-p
Creo que me he explicado mal entonces
Si es Signal, que use su función especializada
Si no es Signal, que use la segunda versión
por eso en mi código original había un !
! is_same< >
puffff ... de verdad que un año sin programar en C++ pasa factura jejeje
 
4:03 PM
@Trauma cppreference me puede chupar un pie.
 
@PaperBirdMaster ¡ HAHAHAHA !
Pues si, ahí lo pone muy clarito
cppreference está equivocado entonces :-O
Pues ya ves, es lo que yo suelo usar de referencia jejeje
 
Si si, lo pone claro
 
@Trauma A ver, un no-Signal puede ser (literalmente) cualquier cosa. Si quieres que siendo un Signal entre por un sitio y que si es un fptr entre por otro, no tienes que usar SFINAE si no sobrecarga de funciones, haz una sobrecarga que reciba fptr.
 
@PaperBirdMaster también quiero que se pueda usar un std::function< >
por eso lo tenía así, uno exclusivo para Signal y otro para cualquier otra cosa
pero el Signal me entraba también por el de cualquier cosa
ese era el problema original
y por eso intenté usar enable_if
yo esperaba que entrata por la versión para Signal, pero por algún motivo la ignoraba y usaba la de cualquier cosa
y entonces intenté usar el enable_if
1 seg, que te pongo el código original
Así estaba en un principio
 
4:20 PM
Cada vez veo peores preguntas con upvotes. La última es literalmente una pregunta sobre edición de imagen con GIMP
Y alguien le ha dado upvote...
 
Seguramente el que respondió
 
Ni siquiera tuvo cajones a responder, le dejó un comentario
Afirma que es una pregunta válida pero tiene miedo a los downvotes :)
 
jejeje
El sitio va de mal en peor xD
 
Literal
Tratar a la gente con algodoncitos no funciona
Yo cuando entré aquí me cosieron a downvotes todo lo que hacía, hasta que aprendí
 
lo unico que hace es darle mas cuerda ...
@Benito-B ¿ Y te ha quedado alguna secuela ? Aparte de que has aprendido
 
4:23 PM
Y ahora pues tengo un rencor ahí hacia ti y un par más, pero sé hacer preguntas y respuestas
 
¿¿ Hacia mi ?? Pero si yo soy un cacho pan bautizado xD
 
Porque no puede ser que me estés restregando la bollería con chocolate por la cara
 
jejeje ... pero ya no comento mis vicios en el chat
 
A ver ...
 
4:24 PM
@Trauma es lo que menos importa hoy dia ...
 
@Trauma 🆙
 
jo, eso es solo-escritura xDD
a ver si pillo algo ...
 
@Benito-B sigues sin aprender ... si una pregunta es off-topic la comunidad puede darce el lujo de permitirla ... la ultima palabra la tiene la comunidad ... independientementre que sea una mala pregunta o este fuera de sitio... puede resultar interesantes para quienes no les interese el contexto del sitio ...
 
vale, parece que usas los 3 casos
 
@FranciscoNuñezIALover Creo que estás diametralmente equivocado. Si no te interesa el contexto del sitio no deberías estar en él, no tiene sentido
 
4:26 PM
@PaperBirdMaster Guay. Ahora no lo puedo adaptar, pero creo que servirá
¡ Gracias ! ¡ Sigues siendo el puto amo ! XD
 
De hecho, esa es justamente la actitud que se está cargando la comunidad xD Yo no quiero entrar aquí a ver preguntas de edición de imagen, de higiene personal o de conducción en condiciones de baja visibilidad. Quiero entrar aquí a aprender cosas de programación
Y lo único que hay últimamente son preguntas de Trauma que no entiendo, gente llorando que le hagan los deberes urgentemente y preguntas off topic
(Exagero, alguna pregunta decente aún se ve... pero ya son pocas)
 
@Benito-B bueno poara que veas que aunque no me interese sigo aqui jajajajajaja
@Benito-B suscribete a las etiquetas que te gustan para eso estan ...
 
Ya estoy suscrito a las etiquetas que me interesan. Pero sigue sin ser sitio para off-topic. Es SOes, no RANDOMes
 
@Benito-B bueno publicalo en meta ...
 
Creo que se te está olvidando la primera normal de la comunidad, que puedes leer cuando creas una pregunta
 
4:31 PM
@Benito-B jejeje ... desde mi punto de vista, que tengo ignorado a algún que otro usuario del chat, llevas un rato grande hablando contigo mismo xDDD
 
Si concideras que hay algo mal en el sitio o con los usuarios
 
@Benito-B pero aqui no lo vaz a resolver ...
 
jejeje ... creo que se te ha ido la pinza xDD
 
4:32 PM
Nah, no voy a resolverlo ni en meta con gente así :)
 
@Benito-B bueno estas haciendo lo mismo quie la gente del sitio llorando por una pregunta XD
 
@Trauma Así da gusto 😍😍😍😍
 
Joder
Me siento como si hubiese soltado el botón del pantalón después de una buena cena
QUé limpio se ha quedado el chat xD
 
@PaperBirdMaster Te lo he dicho muchas veces, cuando sea grande quiero ser como tú :-)
@Benito-B ¿ Has descubierto el boton de ignorar ?
 
Pues si xDDD No sabía que se podía hacer eso
Ignorar EVERYWHERE??
 
4:34 PM
XDDDDDDDDDD
Supongo que será en cualquier sala
no solo en esta
Acabo de descubrir que lo que hace 2 días parecía obvio, 2 dias después no lo es tanto O_o
No se que carajo se supone que estoy haciendo en estas líneas O-O
 
@Trauma Yo he visto tu pregunta varias veces y me siento igual. Voy a tener que seguir aprendiendo C xD
Bueno, C++
 
@Benito-B No no, tranquilo. La borré ayer noche (o esta mañana, no estoy seguro) xD
 
jsjsjs Me seguiré dedicando a javascript...
 
@Benito-B Con eso estoy yo ahora mismo :-)
No es mucho mejor que C++, que lo sepas
 
jssjjsjs yo trabajo con TS en realidad
Me gustan las cosas tipadas :(
 
4:39 PM
je, un JS con tipos ... si es que la peña no sabe que inventar
O_o
 
A mi me encanta, me recuerda mucho a Java
 
pufff ... vaya churro que estoy haciendo aquí ... creo ...
@Benito-B ¿ Te lavarás la boca con jabón después de decir eso, no ?
 
JAJAJAJJAJAJA
 
no no, que lo digo en serio
 
Oh, si recuerdo tu aversión a Java
 
4:41 PM
no no, aversión no. Solo asco
J ... el que lo inventó se quedó a gusto ese día
 
Asco tampoco hombreeee. Es ligeramente verboso en versiones viejunas
Pero las nuevas versiones de Java son bien
 
jejeje ... ligeramente, dice
 
Deberías darle una oportunidad
 
Y lo bien que se le da montar 6 capas de abstracción para un Hola Mundo ...
Me he tropezado con muchos J reconvertidos a C++
Se reconocen de lejos
 
@Trauma Pero son necesarias, imaginate que luego quieres decir Adiós en vez de Hola... Puedes simplemente crear un SalutationFactory donde inyectes los diferentes servicios y simplemente cambiar al que necesites en función del tipo de mensaje
Sin necesidad de apenas lógica en tu método
 
4:44 PM
Clarísimo
Transparente como el agua
xD
 
En serio, prueba java 21
 
¿¿ Esto porque no hace lo que yo espero ??
        const promises = [
            ShapeReader._loadPlots( dangerPlots, folderPath ),
            ShapeReader._loadBuildings( dangerPlots, folderPath )
        ];

        await Promise.all( promises );
 
Solo te digo que en vez de public static void main(String[] args) puedes simplemente poner main()
(Técnicamente void main() pero vamos)
 
@Benito-B Jo, 21 versiones para llegar a eso ...
El epitome de los lenguajes, vamos
xDD
 
@Trauma No estás usando lo que devuelve ese await
 
4:46 PM
No quiero usarlo, solo quiero que espere a que termine
esas funciones añaden cosas a su primer argumento
 
Ah vale
 
pero no está esperando a que termine la primera
me continua al terminar la segunda, pero la primera no se ha ejecutado
je, y esa primera internamente tiene otro [ promises ]
aquí se está liando ... él o yo ...
ah, pues no. Si se está esperando
 
@Trauma En principio debería... pero no sé la verdad es que odio las promesas. Los observables son muchísimo más cómodos
 
Es lo que hay :-(
algo falla ... una de las funciones si añade cosas, pero la otra no ...
Na, paso. Que son las 18:51 ya
Mañana, mas y mejor :-)
 
Yo salí hace ya una hora
 
4:51 PM
Y yo
 
Tardísimo para los estándares de esta gente, pero es lo que hay
 
esto es para un compy del coworking
 
@Trauma Ya me parecía raro tu tocar un lenguaje de front
 
Ya le añadí soporte para polígonos, para delimitar claramente las parcelas
Aun no está en producción eso
 
Si alejo el zoom, el cuadrado rojo cubre españa
 
4:53 PM
No te pases ;-p
lo de limitar la vista, está pendiente todavía
si es que no tengo mas horas
 
vale valeee jajaja Es defecto profesional
 
dale al botón de los marcadores
a la izquierda
 
la diana?
Un hover con el nombre de los botones sería genial
 
no, el de arriba de la diana
@Benito-B ya, y cobrar por hacerlo tambien
;-p
Si vieras Badalona, con 140000 marcadores ... ¡¡ da miedo !!
Ahora, el google maps se lo traga perfecto
 
Va bastante fluido la verdad
@Trauma Vicios que tiene la gente
 
4:56 PM
va muy muy muy bien
no se como lo hace el google maps ese, pero va de lujo
ya te digo que con 140000 items va igual de rápido
y con polígonos también, va como un tiro
Bueno gente, se me cuidan. Por hoy ya vale
¡ T'amañana ! :-)
 

« first day (3100 days earlier)      last day (8 days later) »