« first day (2014 days earlier)      last day (1080 days later) » 

12:06 AM
@jachguate gracias!!!
 
 
1 hour later…
1:29 AM
hola gente, me recomiendan algun libro de c ?
 
1:44 AM
Hola!
 
 
2 hours later…
3:20 AM
@gbianchi Me gustaria duistribuir mi apricacion de consola
¿Como lo puedo hacer?
@Enzo conseguí esta pagina librosfera.net/libros-c-2
 
3:40 AM
@DanielBriceño no se de que me hablas
 
Me gustaria publicar mi apricacion. ¿Que me recomienda?.
 
No tengo ni idea de que es tu app..
 
Un juego de consola.@gbianchi
 
4:03 AM
Ya me voy. Hasta mañana.
 
 
2 hours later…
5:46 AM
Jellou
 
6:13 AM
A las güenas :-)
Asco de Miércoles :-(
 
6:39 AM
@Trauma XD
Eres oficialmente el gruñon del chat
Anoche soñé con tablas relacionadas.
XD
 
@MauricioContreras Y a mucha honra
@MauricioContreras Tio, tienes que buscarte un hobby o algo
 
Estoy escribiendo una DB con SQL, y estoy tan acostumbrado a las colecciones y documentos de MongoDB, que me cuesta un mundo volver a esquemas de tablas y relaciones.
@Trauma que ese es mi hobby (por ahora)
 
¿ Hacer BBDD ?
Pues vaya un hobby raro que tienes ...
No se ... pescar, escalada, ... pero hacer BBDD ...
 
@Trauma no, hacer cosas que me piden a cambio de $$$
 
Ah, vale xD
No es mal hobby entonces xD
De hecho, es mucho mejor que hacerlo por placer, sin $$$
 
6:45 AM
Pero igual, aún no puedo vivir exclusivamente de eso, por lo cual debo hacer otras cosas. Por ejemplo, esta semana estoy pintado un piso de unos 170mts. Asi que poco tiempo me dejará eso para hacer otras cosas, como no sea al final del día, luego de hacer todos los deberes y oficios de casa. Por ello, programo de noche hasta las 12 o 1 de la madrugada.
Put*s papeles en extranjería. XD
 
Eso no es vida, @MauricioContreras
¿ Algún avance con los papelitos de los cajones ?
Yo estuve 7 años conduciendo un camión en la construcción. Llegué hasta 24h seguidas currando.
Se ganaba pasta ... pero es que en verdad no te daba tiempo a gastarla. Eso no era vida.
Llegaba un Sábado, y no había quien me levantara de la cama
 
Nada con los papeles. Siguen en via de recurso. Es que si por mi fuera, me voy a otro sitio donde la cosa avance más rápido. Me lo he pensado bastante.
Pero es que llevo ya 4 años invertidos aquí y pues me da pereza irme para empezar todo nuevamente.
 
La lentitud de la administración para todo lo que no sea cobrar es mítica aquí
 
7:04 AM
Vale, ya estamos llegando a lo guay ... cambiar todos los xrange( ) por range( )
... ummmm ... creo que mejor reviso primero todos los range( ), vayamos a liarla ...
 
XD, en la versión 4 de Python volverán a usar xrange y te toca refactorizar de nuevo. XD
 
jejeje ... con un poco de suerte, ya no estaré aquí xD
 
7:24 AM
jelou
 
Don @PabloLozano. Saludos
 
7:59 AM
@abulafia ¿ Estás ?
 
Estoy
 
Tengo una cosilla aquí ... que creo que dará problemas
def __init__(self, strOperator, strSpecialOver, range, NodeBuilder):
Usar range como argumento en el método
y luego hace for i in xrange(range.getRowsNumber()):
 
si, mal nombre range para un parámetro
 
Eso explota en python3.7, ¿ verdad ?
 
xrange() no existe en Python3, se llama ahora range(), pero entra en conflicto con tu parámetro
 
8:01 AM
ok, lo que estaba pensando
 
renombra el parámetro como _range y cambia la línea a for i in range(_range.getRowsNumber())
 
ok, buena solución :-)
Gracias
 
np
 
Asco de sibaritas ...
 
Y de miércoles
 
8:02 AM
También :-(
 
Buf... algún experto en powershell por aqui?
llevo una hora tratando de hacer en powershell lo que hace el comando cat de unix. Es decir, tomar un fichero y volcarlo a la salida estándar, pero sin recodificaciones ni leches y respetando también los LF, sin cambiarlos por CRLF y sin añadir un CRLF al final del fichero si no lo había
o sea, una copia binaria tal cual de un fichero a la salida estándar
necesito que se así para pasar esa salida a otro comando que la espera en la entrada estándar
al final he tenido que meter esto en el script powershell:
cmd /c "type fichero.txt | otro_comando"
porque el type de msdos de toda la vida sí que hace lo que quiero
parece que quizás Get-Content -Raw -AsByteStream pudiera ser lo que busco, pero mi powershell dice que no admite lo de AsByteStream.
Bueno, de momento lo del cmd /c "type ..." me funciona, pero me parece increible que no haya otra forma
 
Bufff, me cayó un proyecto de Java. Una nimiedad, pero no me había percatado de lo rápido que avanzan las versiones de Java. Wtf. Ya van por la 16. Y yo pensando que irían por la 12. XD
 
A los que usais ms Teams para videollamadas ... ¿ como os va hoy ?
Me va como el put_ culo >:-(
 
@abulafia los programadores de MS: le añadimos esta funcionalidad al motor de scripting? - naaaah, déjalo así, esa funcionalidad ya la tiene type desde DOS 5.0
@Trauma no me quejo, pero la que lo usaba era la AU, para sus clases virtuales. De vez en cuando el ordenador simplemente se cuelga. Pero ya le agarré el truco: paciencia. Por alguna razón la colgada no dura más de 10 minutos. Luego sigue funcionando como si nada. Este Bill Gates y las chapuzas que vende.
 
8:17 AM
He estado hablando hace 30 minutos con la de RRHH, sin problema.
Y ahora que tengo que hablar con uno de IT, no hay güebos
>:-(
Se cuelga, no conecta, me dice que no está disponble, ...
 
Yo supongo que el asunto está en la IA que hay por detrás capturando todos los aspectos posibles de la reunión para hacer Big Data. Alguna cosa sacan de todo esto.
@Trauma eso parece más bien un tema de red. No del programa.
 
Desusmuertosacaballo es el tema
Ya pudimos
 
8:36 AM
@MauricioContreras Ahora es como Angular, Ubuntu o Chrome... sale una versión nueva cada 6-9 meses
 
9:30 AM
MS Teams lo usa mi mujer y va regular
nosotros de momento usamos Mattermost para texto y 3CX para videoconferencia
 
10:11 AM
yo uso teams y va perfecto
Buenos dias por cierto
 
@Pikoh No te pasa a veces que se congela durante un largo rato?
 
@PabloLozano en una videoconferencia dices?
no
 
no, la aplicación en sí
se queda la UI congelada
 
pues..tampoco. Si que a veces parece que los estados y eso no se actualizan bien
en pc digo, en el movil da una mezcla de pena y asco
 
En móvil para mi el mejor es Telegram... el video puede pasar de vertical a apaisado sin problemas (no como telegram y consume menos que otras opciones
aunque tampoco he probado muchas opciones
skype/Whatsapp y poco más
 
10:25 AM
yo en el movil solo uso para texto y en casos raros voz
 
Las de google nunca las he usado (duo, se llama?)
 
ni idea..yo tampoco
 
usé en algún momento hangouts pero daba pena
 
lo que si tengo y es una maravilla es para cuando teletrabajo, una aplicacion de voIP para cuando me llaman al telefono del curro puedo contestar en casa
de 3cx por cierto
 
3cx me mola porque es web, no tienes que instalar nada
 
10:27 AM
bueno, yo esta app que uso es de escritorio
pero tiene logica, tiene que conectarse a la centralita telefonica
ese concretamente
 
11:00 AM
Pues haré una app de videoconferencia y el logo será un cuernófono, a lo Picapiedra.
 
11:12 AM
¿ Que os parece el nuevo logo para Málaga ?
¡¡¡ Toooooo Guuuuuaaaapoooooooooooo !!!
Se lo han currao :-O
@abulafia ¿ Como se hace la división entre enteros en python3 ? Lo que en python2 era con /
Creo que me da error aquí: [len(lDeltaShifts)/2]
 
puede ser con //?
 
@PabloLozano Sip :-)
Lo estaba buscando
A ver ahora ...
Carajo, ya caducó la key en Redis, hay que generar otra :-(
 
yo me estoy peleando con kubernetes y Helm
dos cosas que sé que existen y poco más
 
Helm ni idea ... ¿ de que va el bischo ese ?
 
Yo me peleo con una pared de varios metros, :( tengo que pintarla hoy. Pero antes. Hora de comidita.
 
11:18 AM
Enga, oooootrooooooo pepinazo
asco de python
 
@Trauma Es una capa por encima de Kubernetes
para configurar
 
@PabloLozano Ah, algo tipo terraform, entonces
sort() takes no positional arguments
bueno, vamos a por otro
joé. Este es mas joio
 
11:33 AM
Vale, creo que ya está. Vamos a probar ...
<lambda>() missing 1 required positional argument: 'y'
Bueno, pasito a pasito xDD
 
11:48 AM
@abulafia @CandidMoe ¿ Una manita ?
sort( key = lambda x, y: (x=='NO_SHIFTERS' and -1) or (y=='NO_SHIFTERS' and 1) or (x.startswith('TIME') and (not y.startswith('TIME')) and 1) or (y.startswith('TIME') and (not x.startswith('TIME')) and -1) or (x<y and -1) or (x>y and 1) or 0)
Error: <lambda>() missing 1 required positional argument: 'y'
Vale, las lambdas admiten valores por defecto ... ahora hay que saber que pasarle ...
aaaaaaahhhhhhhhhh ... vale
que recibe un iterador desde la función sort( )
no no, un valor. 1 solo valor.
 
12:21 PM
@AdriánSanzWallace cuando estes por aca me avisas? tengo un mail en mi perfil a donde te podes comunicar...
 
@MauricioContreras Suerte con esa pared... y bon appeti o como se escriba xD
 
@gbianchi He entrado, voy a mirar en tu perfil.
 
@Trauma Falta el primer argumento, que es aquello que quieres ordenar.
 
@AdriánSanzWallace gracias
 
El key=lambda es llamado con un solo argumento, que es un item de los que quieres ordenar. Dentro del lambda deberías extraer sus componentes
:57884251  datos = [
    ("NO_SHIFTERS", "TIME")
    ]

datos.sort(key = lambda tupla: (tupla[0]=='NO_SHIFTERS' and -1) or (tupla[1]=='NO_SHIFTERS' and 1))
 
12:43 PM
Hola buenas!
 
Buenas! c:
 
una pregunta
Estoy haciendo un json
En dicho Json defino los objetos, los cuales, ALGUNOS, tienen la key "content"
en dicho content,comienza OTRO array de objetos, los cuales, ALGUNOs, pueden contener también la key "content"

Y así sucesivamente
El caso es que, la función que nosotros tenemos, nos permite ver el "content" de segundo nivel, si hay mas, no los lee
Y tenemos esta forma de obteerlos:
var ref = 0;

        for(const key in json){

            if (Object.hasOwnProperty.call(json, key)) {

                if(key == 'content'){

                    for (const key1 in json[key]){

                        console.log(json[key][key1]);

                        if(json[key][key1] == 'content'){

                            //console.log(json[key][key1]['content'])

                            for (const key2 in json[key][key1]){

                                //console.log(json[key][key1][key2]);
Alguna idea de cómo optimizarlo? para que no sea todo el rato un for dentro de otro for, etc etc?
 
@AQMR No es un JSON, es un objeto
Y ahí puedes usar recursividad
 
1:05 PM
@CandidMoe Gracias. Ya lo pude solucionar usando functools.cmp_to_key( ).
Sigue explotando ... pero en otra parte :-)
 
Buenos dias !!!
Holla Trauma !!
Pablo !!
Saludos
 
@abulafia, @CandidMoe Venga, otro: python2.7: list( *variable ). ¿ Equivalente a eso en python3 ?
 
En Python2.7, ni idea. En Python3.x *variable significa expandir variable en sus componentes. Eje. variable=[1,2,3]; fcn(*variable) es igual que fcn(1, 2, 3)
 
Imagino que en 2.7 sera lo mismo
pero en 3.7 no me deja construir una lista así, da error
Creo que en python2.7, list( ... ) admite varios agumentos, y crea una lista que contiene a todos ellos, pero en python3.7 eso ya no se soporta
Creo O_o
ah, vale. Hay que meterlos entre corchetes: [ *arg ]
list( [ *arg ] )
... a ver ...
¡ Otia ! ¡ Funciona !
😱😱😱😱😱😱😱😱😱
Y digo yo ... ¿¿ Eso no es lo mismo que hacer dirctamente [ *args ] ??
 
1:26 PM
No se que Python estas ocupando, pero a mi en 2.7 no me funciona el "*"
¿arg es una lista, ok?
 
Estoy portabilizando desde 2.7 hacia 3.7
@CandidMoe Sip
@CandidMoe No le des muchas vueltas, ya funciona. Misteriosamente, pero funciona :-)
Usando [ *args ] directamente
Entiendo que eso crea una lista nueva, no una referencia a args
 
Python 2.7.18 (default, Mar  8 2021, 13:02:45)
[GCC 9.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> variable=[1,2,3]
>>> *variable
  File "<stdin>", line 1
    *variable
    ^
SyntaxError: invalid syntax
>>> [*variable]
  File "<stdin>", line 1
    [*variable]
     ^
SyntaxError: invalid syntax
>>> list([*variable])
  File "<stdin>", line 1
    list([*variable])
          ^
SyntaxError: invalid syntax
 
@CandidMoe Prueba list( *variable )
Así estaba originalmente
 
>>> list(*variable)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list() takes at most 1 argument (3 given)
 
self.ILPointKeys = list(*ILPointKeysForRef)
línea 108 del archivo. Por mis muertos que estaba así, tal y como lo pongo
en python2.7
y lo he cambiado a self.ILPointKeys = [ *ILPointKeysForRef ] para python3.7
 
1:34 PM
Bastaría con self.ILPointKeys = ILPointKeysForRef si el argumento es ya una lista.
 
pufffff ... cosas de los sibaritas estos
Yo lo he pasado al 3.7 lo mas fielmente que he podido
 
var=[1,2,3]
a=[*var]
a
Out[37]: [1, 2, 3]
a=var
a
Out[39]: [1, 2, 3]
 
ahora ya, que le metan mano ellos, que cobran mucho mas que yo
 
@Trauma ¿No te tienta cambiarte por más $$$ y menos dolor?
 
@CandidMoe No
También incluye mas ... gilipollismo (lo digo por ellos, no por tí)
El viernes me llega el equipo nuevo :-D
Toy impasiente :-D
 
1:38 PM
Para mi la diferencia entre Python y C es que C es pedestre, trabajoso y complicado. Python es más como un problema de ingenio, que requiere pensar, meditar y finalmente escribir tres hermosas líneas de código. Un placer.
 
Si te entiendo :-)
Pero mi concepto de placer es ... distinto :-)
No hay mérito en averiguar como combinar 10 llamadas a funciones ya hechas para obtener un resultado
 
Nunca la vi ... jejeje
Aunque reconozco que tiene la misma cara que yo cuando me lo estoy pasando bien xD
 
@Trauma Es como trabajar con serrucho cuando tienes una sierra de banco a tu disposición.
 
static std::map< void *, std::vector< std::pair< std::string_view, std::string_view > > > partitioning( sw::redis::RedisCluster *cluster, const std::vector< std::string > &keys, const std::vector< std::string > &values ) {
    std::map< void *, std::vector< std::pair< std::string_view, std::string_view > > > result;

	for( unsigned idx = 0; idx < keys.size( ); ++idx ) {
		void *hash = sharedToPtr( cluster->_pool.fetch( keys[idx] ) );
		result[hash].emplace_back( keys[idx], values[idx] );
	}

    return result;
Belleza :-)
auto clusterOper = [&keysList, &result, &conn]( ) {
		auto partitions = partitioning( conn.cluster.get( ), keysList );

		for( auto currPartition : partitions ) {
			const auto &hashString = currPartition.second[0].second;
			auto pipe = conn.cluster->pipeline( hashString, false );

			for( const auto &key : currPartition.second ) {
				pipe.get( key.second );
			}

			auto reply = pipe.exec( );

			if( reply.size( ) != currPartition.second.size( ) ) {
				throw std::runtime_error( "Redis::get: Unexpected error when attempt to get the data" );
 
1:46 PM
@Trauma Miro eso y no se donde empieza una cosa y termina la otra. Es algo que debo "parsear".
 
Poesía pura O_O
@CandidMoe ya ya ... si lo entiendo. Mucho tiempo pythoneando atrofia las neuronas y eso ...
jejejeje
;-p
 
@Trauma Afecta fundamentalmente mi sentido de la estética. El código es visualmente feo, caótico, irregular, desordenado
 
@CandidMoe ... y lo dice el que usa un lenguaje sin marcas de cierre ...
O_o
 
@Trauma Un lenguaje sin marcas de cierra es como un chica sin sostén: no los necesita y luce mejor.
 
1:50 PM
Pues 5 horas de curro, nada mal. Ahora al depósito a buscar al chaval. Un día de estos comienzo a pagar delivery, porque esto de tener que ir personalmente siempre por el mismo asunto cansa un poco.
@CandidMoe que analogía, aunque si la chica es escuálida y toda decaida lo mismo mejor le dejas puesto el sostén.
 
@MauricioContreras ¿C++ es escualido y todo decaido, dices?
 
No, hablo de Python, anda escualiducho, y sin sostén es peor. XD
 
@PabloLozano Hola como estas amigo,
Amigo me puedes ayudar con esto por fa.

https://es.stackoverflow.com/questions/449477/obtener-datos-de-un-array-angular
 
2:05 PM
en lugar de series :[] prueba a poner series: any[]
 
Ya volví.
Estábamos hablando de sujetadores y tal ... ¿ Ya acabó la conversación ?
 
@Trauma Hay AU espiando ...
 
uffff ... disimula, mira para otro lado y haz como que no va contigo ...
La mia está enviciadísima con las telenovelas turcas ahora
Con un actor rubio mazizón que sale (según ella)
Se mete unas maratones ... le tiene que doler el cuello y todo xD
 
yo ahora miro con la beba todas las noches anime japones
 
La única telenovela que vi completa fue Twin Peaks. Años después la baje para verla de nuevo, pero no me dio, y eso que me gusta David Lynch
 
2:21 PM
estamos mirando invasion en las alturas...
 
A propósito de anime, acabo de ver Los Mitchell contra Las Máquinas. Recomendable. Historía apta para toda la familia. Como Los Increibles, pero con gente normal.
 
dice mi beba que es la proxima que vamos a ver....
 
También recuerda a Lluvia de Hamburguesas, con ese padre torpe, incapaz de expresar sentimientos, desconectado de la tecnología.
 
@CandidMoe Ya la vi hace un par de dias. Me gustó también.
 
hola sigo sin encontrar resultado para mi pregunta :S es.stackoverflow.com/questions/449026/… alguien que sepa un minimo de laravel? no creo que sea nada complicado pero soy nueva en esto y no se resolverlo
 
2:25 PM
@gbianchi ¿¿ Que edad tiene tu beba ??
Esa es ... un pelín* violenta O_o
 
año y medio
 
jejeje ... vale :-)
 
nos vamos a la cama a la noche...
la ponemos..
y 40 segundos despues esta roncando
 
jejeje
que alegria :-)
Voy a hacer uno o dos nonogramas ... hoy no hice ninguno aún :-(
 
@Trauma Yo estoy atascado con uno de 35X40
 
2:33 PM
@PabloLozano ¡ Buaaaalaaaaaaaaa ! ¡ Eso es nivel !
Que va que va, yo sigo con mis 10x10 xDD
 
estoy haciendo los "oficiales" del katana
 
3 minutillos
No me gusta en móvil, es muy incomodo
 
estoy ya con los últimos
 
Vicioso ;-p
 
los hago en la cama, si no estoy viendo series
 
2:35 PM
nada ya lo he resuelto
me ha costado lo mio y era un fallo tontisimo
 
Yo con el móvil no puedo. Es muy incómodo.
 
Gracias
 
@WinterIsback a que era porque el select no se envía en el POST.
O eran checkbox? Ya no recuerdo la pregunta. XD
 
@MauricioContreras no, era porque en el value debia añadir un numero ya que en mi bd trato con numeros pero yo quería que el usuario viera un texto, en plan administrador y editor, pues la tontería era que en el value debía estar el numero correcpondiente en la base de datos y el resto de codigo era correcto
madre mia 2 o 3 dias con eso jajajajajajaaj
 
Vale, pues que bien. Una cosa menos.
 
2:38 PM
jajaja si menos mal, es para mi proyecto final jaja y voy de cabeza detras
 
@WinterIsback suerte y éxito con eso.
 
4:08 PM
@Trauma Parece que llego tarde, pero lo de list(*algo) no tiene mucho sentido
Según mis experimentos, tanto el python2.7 como en python3 al constructor list() hay que pasarle un solo argumento. Por tanto lo de list(*algo) sólo funcionará si ese algo es un iterable con un solo elemento. Pero en ese caso en python3 funcionaría también
@Trauma Otra cosa. Arreglaste esta? sort( key = lambda x, y: (x=='NO_SHIFTERS' and -1) or (y=='NO_SHIFTERS' and 1) or (x.startswith('TIME') and (not y.startswith('TIME')) and 1) or (y.startswith('TIME') and (not x.startswith('TIME')) and -1) or (x<y and -1) or (x>y and 1) or 0)
tremenda marranada...
no soy capaz a descifrar qué se pretendía... tengo que pensarlo un rato
 
Mejor usar una función. Lambda son para cosas cortas.
 
No solo eso, en este caso la expresión de esa lambda usa trucos sucios como x==blah and -1 que supongo que sean una especie de operador ternario hecho mal
además de que al ser toda la expresión un montón de or, aplicará el "cortocircuito lógico" y tan pronto como algo le salga True dejará ya de evaluar el resto
 
4:27 PM
@abulafia El or (y el and) devuelven el último valor examinado durante la evaluación de la expresión. Entonces, x and -1 significa que evalua a False si x es False y a -1 en otro caso.
 
si, ya, pero mira que es confuso y feo
al final esa lambda equivale a esto:
def cosa_fea(x,y):
  if x=="NO_SHIFTERS":
    return -1
  elif y=="NO_SHIFTERS":
    return 1
  elif x.startswith("TIME") and not y.startswith("TIME"):
    return 1
  elif y.startswith("TIME") and not x.startswith("TIME"):
    return -1
  elif x<y:
    return -1
  elif x>y:
    return 1
  else:
    return 0
que también es feo de narices
 
Asi se entiende ...
 
ahora a entender la lógica de ordenación aqui...
 
Fue, con el último código es más fácil razonar acerca del orden ...
Ahora, la única observación sería que ...
 
Pero hay algo que no entiendo, si se reciben dos parámetros, está usando una comparacion de tipo cmp, y no de tipo key
 
4:30 PM
¡¡¡Faltan las llaves de cierre!!!
 
jeje
@Trauma ¿Seguro que era sort(key=lambda ...) y no sort(cmp=lambda...)?
por otro lado ¿no sería sorted() en vez de sort()?
Si, como creo, se está usando el mecanismo cmp, la misión de la lambda en ese caso es comparar dos valores y retornar 0 si se consideran "iguales", "1" si se considera x>y, o -1 si se considera x<y
según eso, la lógica que se está implementando ahí sería:
* El valor "NO_SHIFTERS" es menor a cualquier otro
* Las cadenas que comienzan por "TIME" son mayores que cualquier otra
* El resto se ordena normalmente
Así que en Python3 la cosa sería así:
def clave_ordenacion(x):
  if x=="NO_SHIFTERS":
    return (0,x)
  if x.startswith("TIME"):
    return (5, x)
  return (1,x)

ordenada = sorted(["NO_SHIFTERS", "foo", "bar", "TIMEfoo", "TIMEbar", "NO_SHIFTERS", "a", "b"], key=clave_ordenacion)
o si quieres ser críptico (aka sibarita):
sorted(iterable, key=lambda x: ((x=="NO_SHIFTERS" and 0) or (x.startswith("TIME") and 5) or 1, x)))
Por cierto que una ventaja de usar key en vez de cmp en este caso es que para el caso cmp todas las cadenas que comenzaran por "TIME" irían a parar al final de la lista ordenada, pero sin tener ningún orden definido entre ellas. Usando key como la he implementado antes, las cadenas que comienzan por "TIME" siguen yendo todas al final, pero quedan además ordenadas alfabéticamente entre ellas
 
4:48 PM
Creo que hay que intercambiar un par de valores:
'''
sorted(iter, key=lambda x: ((x=="NO_SHIFTERS" and 0) or (x.startswith("TIME") and 1) or 5, x))
ya que las que comienzan con TIME deben estar antes (valor 1) que el resto (valor 5).
 
No, no es esa la lógica que seguía la lambda original de trauma. Según yo lo vi, las que comienzan por TIME deben ir al final en la ordenación
Fijate aqui:
  elif x.startswith("TIME") and not y.startswith("TIME"):
    return 1
si x empieza por "TIME" se considera ya mayor que cualquier cosa que no comience por "TIME"
 
Cierto. Me confundi.
 
yo venía de la época de usar cmp y al principio me costaba mucho repensar los criterios de ordenación usando key, pero ahora veo que es algo mucho más genérico y elegante
 
 
3 hours later…
7:48 PM
6
Q: ¿Cómo puedo sugerir un arreglo a una traducción en el centro de ayuda?

g3rv4Encontré un artículo en el centro de ayuda que tiene problemas ¿cómo puedo sugerir una nueva traducción o arreglar el texto que aparece ahí?

recién me doy cuenta de que ^ ya no es posible... cómo están manejando los cambios al centro de ayuda? pregunta en meta?
 
8:16 PM
@g3rv4 tenemos ese repo que sirve... o se puede hacer uno nuevo... pero las ediciones las manejamos pidiendo a un cm que nos active la edicion del articulo y lo modificamos nosotros...
pero cuando hable con Nicolas que no conocia que haciamos eso, dijo que podriamos seguir usando algo asi...
 
@gbianchi ese repo no sirve mucho... tenía sentido cuando yo podía cambiar los artículos, hoy no puedo ni acceder al markdown de los artículos nuevos ni actualizarlos :) por lo que... no sirve mucho. Bien, voy a cambiar esa respuesta para que diga que hagan una pregunta en meta y ustedes (mods) lo editan o le piden al cm
jejeje nadie sabe que hacíamos eso porque no salió de ninguna decisión de la empresa :)
 
@g3rv4 no no.. pero a los CM les gusto la idea.. capaz podemos trabajar algo similar con ellos...
bloquea el repo ;)
 
claro claro :) si les gusta genial, pero deberían hacerlo ustedes (mods) o ellos (cams)
 
8:38 PM
Buenas gente !! una duda de mysql.. si quiero consultar 2 tablas, y obtener los ID de ambas.. con que tipo de JOIN las consulto ? o que hago ? Traté de hacer un JOIN pero me trajo solo los ID que existen en ambas... no todos los ID...
 
9:01 PM
@Excorpion Seguramente hiciste un inner join, si quieres los de A y los que coinciden de B un left join, al revés un right join, si quieres todos un full outer join que no existe en mysql según entiendo. Revisa: stackoverflow.com/questions/7978663/mysql-full-join/36001694
 
9:22 PM
Full Outer Join para sumarlos... Got it !!
Revisaré como hacerlo
 
9:47 PM
Me produce resultados incorrectos
pero debe ser que aplico algo mal
nunca he usado algo asi antes
Lo hice pero se me duplican las columnas.. no entiendo porque @PatricioMoracho
 
10:03 PM
@Excorpion hola
 
@Excorpion Se duplican columnas o filas?
 
@PatricioMoracho hola
@PatricioMoracho tienes tiempo quisiera tu ayuda porfavor
 
Lo solucioné de otro modo...
 
@x-rw dime, si puedo
 
corregí la causa del problema XD
 
10:15 PM
@PatricioMoracho mira tengo un for que va comparando con un if dentro
for (const file of files) {
      if (
        (name === file.name) || nIndex
      ) {
        exist = true
      }
    }
@PatricioMoracho mi duda eso como puedo hacerlo con filter u otro funcion?
estaba haciendo asi
const respuesta = colection.find( item =>{(name === file.name) || nIndex})
return respuesta
pero no funciona bien como con el for
@PatricioMoracho la respuesta siempre es undefined
@MauricioContreras
hola
 
@x-rw que es JS?
 
@PatricioMoracho si si
 
Buenas, una pregunta que opinan sobre esta cantidad de las bases?
 
10:31 PM
@x-rw no sería en todo caso files.find( ... )? igual no sé nada de js
 
10:56 PM
Buen día a todos. ¿Quizá alguien conozca y me pase el dato de algún servicio gratuito tipo drive o mega para yo investigar y acceder a ese archivo con javascript? Estoy investigando una manera de acceder a pdf que se almacene en un servidor gratuito. Revisé google drive o mega pero es demasiado trámite para poder usar sus apis y pueda configurar un cors.
Los archivos que manejo es limitado. Y no es necesario contratar un hosting, pero tampoco quiero usar servicios como 000webhost.com que no sirven.
 
11:15 PM
Hola moderadores y personas con privilegio de edicion de etiquetas
Aprovechando que hoy se lanzó la última versión estable del Framework Boostrap v5
Quise editar las etiquetas anteriores, que estaban un poco desactualizadas en su info
Gracias si pueden echarles un vistazo
 

« first day (2014 days earlier)      last day (1080 days later) »