« first day (1902 days earlier)      last day (1203 days later) » 
00:00 - 16:0016:00 - 00:00

12:04 AM
ok
 
 
7 hours later…
7:04 AM
A las güenas :-)
 
7:15 AM
Buenos dias gentes
 
@Pikoh ¡¡ Hombreeeeeeeeee !!
Se le saluda, caballero :-)
¿ Todo bien ?
 
Todo correcto
de vuelta de vacaciones...pero desde que he llegado no he tenido tiempo ni de saludar
 
@Pikoh jejeje ... bienvenido de vuelta al mundo real xD
 
Pues si esto es el real..prefiero el ficticio
XD
 
xDDDD
 
7:22 AM
Por cierto, feliz año
 
Ah cierto ! Igualmente :-)
 
7:35 AM
Wenas
 
7:49 AM
buenasss
welcome again @Pikoh
Tu sabrías por qué en wpf no me hace salto de linea?
 
estará cansado
XD
no se a que te refieres ahora misma
 
Tengo esta propiedad
<ScrollViewer Height="260" VerticalAlignment="Top" FontSize="20" Margin="34,75,31,0" xml:space="preserve">
                <TextBlock x:Name="tbDialogoChat" HorizontalAlignment="Left" Height="260" VerticalAlignment="Top" Width="707" FontSize="20" TextWrapping="Wrap" />
            </ScrollViewer>
a la cual le paso un string por codigo
lo que pasa es que continua la linea aunque el espacio se acabe
 
Sospecho que es por el scrollviewer
 
intenta desactivar el HorizontalScrollBarVisibility del scrollviewer
 
7:55 AM
HorizontalScrollBarVisibility = false?
 
a ver..si el contenedor padre puede crecer en horizontal, nunca llega al borde del textblock
@NicolasOñate disabled creo recordar
 
vale voy a probar, es que llevo ya dos dias con esto
 
Si no,en lugar de usar un textblock, usa un textbox que tiene propiedades para añadir scroll vertical
Algo que no entiendo..por que le pones al textblock un tamaño fijo si luego lo metes en un ScrollViewer? No tiene mucho sentido
 
@Pikoh porque no comprendo XAML bien aun, llevo poco con el
pensaba que lo tenia bien
¡Ya se que era!
 
@NicolasOñate ya, tiene su miga. Pero vamos, el concepto es el mismo que android o web. En principio, se trata de no poner nunca valores fijos, sino tratar con contenedores y pordentajes
 
8:03 AM
this.tbDialogoChat.Height = this.tbDialogoChat.ActualHeight + 25;
Al escribir tenia esto, que provocaba el fallo
 
@NicolasOñate buff..y eso me da temblores. Trata de no tocar nada del ui en codigo. A veces es inevitable, pero cuando menos mejor
 
@Pikoh Vale
Pero para un par de semanas que llevo con XAML creo que no esta mal jeje
 
@NicolasOñate Cuesta un poco al principio...no te quiero contar lo que me costo a mi acostumbrado a windows forms
pero es una forma de trabajar mucho mejor
y se adapta a todo tipo de pantallas
 
pues imaginate que yo vengo de web
tiene sus similitudes pero echo de menos css jajajajaj
 
@NicolasOñate pues web es mas similar hombre. No controlo mucho, pero tambien se basa en contenedores
@NicolasOñate en wpf tienes algo similar a css hombre
 
8:07 AM
@Pikoh tu lo has dicho, similar no igual
 
tienes estilos, que puedes poner a nivel global y afectan a toda la aplicacion pudiendo cambiar toda la apariencia
 
Si, eso ya lo tengo aplicado, pero claro lo que en un lado se llama de una manera aquí es de otra y siento como que he dado pasos atrás en mi carrera, pero si, XAML está bastante bien
 
8:23 AM
alguno sabe una pagina que muestre todos los moviles de xaomi y los compare?
 
@NicolasOñate mira en kimovil o gsmarena
 
gracias!
 
jelou
 
Por cierto..el otro dia me ha llegado una oferta de trabajo de StackOverflow en linkedin
XD
 
8:38 AM
¿son cosas mías o el texto con nuestros nombres es más pequeño?
trabajar en SO?
 
@PabloLozano parece que andan buscando gente si
 
@Pikoh Y no te llama?
 
@PabloLozano no estoy muy seguro de dar el perfil
de todas maneras no era una oferta directa a mi, no se muy bien porque me llegó
desde luego, debe ser una pasta trabajar ahi
 
@Pikoh y supongo que en remoto total... puede ser genial u horrible, según lo que te guste
 
@PabloLozano si. de hecho una de las cosas que pedía la oferta es experiencia en trabajo con equipos remotos
si no recuerdo mal
 
8:48 AM
@Pikoh Creo que este año pasado TODOS hemos ganado esa medalla xD
 
pues si :)
 
yo ya lo había hecho antes, pero desde la oficina: dos desarrolladores en Barna, otros dos en Manchester, otro desde la India y el Lead desde Varsovia... era una típica configuración de un proyecto
y el manager de algún otro lado
 
entonces cumples con esa condicion con creces :)
ahora que me fijo..que desnudo te veo! no tienes gorrito XD
 
Hay veces que no sabes si dar los peces "mira haz esto y ya está" o "enseñar a pescar", sin duda para el que responde lo más rápido es lo primero, aunque no creo que siempre sea lo correcto...
Lo digo por esta pregunta, es.stackoverflow.com/questions/420274/…
Y que conste que el usuario hace buenas preguntas!! Pero creo que cuando le vamos respondiendo no se molesta en saber el qué está pasando.
Ni en que hace exactamente lo que hemos dado
 
9:03 AM
He tenido compañeros de trabajo así y es frustrante:
Se encuentran un bucle que recorre con una lógica compleja una lista y produce un index *out of bounds*
y lo primero que intentan es hacer que el bucle pare antes, poniendo un -1 en la comparación
y si eso quita el error, lo dan por bueno, sin mirar qué es lo que realmente está causando el problema
si desaparece el síntoma, no hay problema
 
Totalmente!, es frustrante, en ese caso por lo menos contrato a alguien que no tenga ni idea de programar, por lo menos entendería que hiciese eso
hay es donde te das cuenta que a muchas personas no les gusta pensar, solo quieren resultados. Y claro así van muchas cosas en el mundo...
 
9:23 AM
@PabloLozano O el cambiar un and por un or, o un > por >=, (o incluso <) Si al final desaparece el error, todo vale
 
9:40 AM
@PabloLozano hace poco resolví un problema de TypeScript, sin entender totalmente el porqué se resolvió. Esas cosas también suceden. Pero me gusta averiguar el porqué, aunque no he dado exactamente con la razón o simplemente se me escapa o no la comprendo.
 
@MauricioContreras yo NECESITO saberlo. Si hace falta vuelvo a romper el código y depuro hasta entenderlo
 
@PabloLozano pues seguro esto lo sabes
creo que tiene que ver más con la implementación del lenguaje, que con lógica del programa
 
Typescript tiene algunas decisiones sobre su diseño con las que no estoy totalmente de acuerdo pero las entiendo
 
9:59 AM
No os entiendo a los que usais lenguajes sin tipo como JS y luego decís que TypeScript con su tipado disminuye los errores
 
A ver si encuentro el código donde lo tuve que usar
 
Lo mismo que python con sus anotaciones de tipo esas
 
Vale, lo tengo
 
@Trauma Si yo pudiera elegir, Typescript sería el estándar a usar en los navegadores
Uso JS por necesidad xD
 
Entonces, ¿ cual es la ventaja de los lenguajes interpretados ?
porque con TS te cepillas lo de guardar y a ejecutar, tienes que transcompilarlo
 
10:02 AM
Tengo un constructor de una librería ODM llamada Mongoose. El constructor recibe un objeto de opciones que tienen un tipo definido.
 
Las anotaciones de tipo de python son utiles durante el desarollo para que el IDE te ayude con autocompletado, chequeo en tiempo de edición, etc. Pero tienen sus problemas. Si eres estricto con los tipos acabas perdiendo la ventaja de los lenguajes dinámicos. Si quieres ser más flexible dar con la declaración correcta de un tipo que puede ser "ambiguo" normalmente se las trae
 
pues es lo que yo digo, al cesar lo que es del cesar
los interpretados, sin tipo y sin transpilación de esa
 
También para entender el código en Python
cuando lees código y está tipado, es más sencillo
 
pues cambiate a uno con tipado fuerte
 
pero a la hora de escribir es más rápido sin tipado ;)
para qué si "tengo las dos cosas"
 
10:05 AM
claro, y te encuentras en ejecución los errores que podias haber descubierto en compilación :-)
 
Vale, ya di con el repo. Este es el asunto, estoy instanciando un objeto con las siguientes características:
export interface MongoMemoryInstancePropT extends MongoMemoryInstancePropBaseT {
  auth?: boolean;
  dbName?: string;
  ip?: string; // for binding to all IP addresses set it to `::,0.0.0.0`, by default '127.0.0.1'
  replSet?: string;
  storageEngine?: StorageEngineT;
}
Hasta allí todo bien, el problema me lo conseguí con storageEngine
Es un tipo específico: export type StorageEngineT = 'devnull' | 'ephemeralForTest' | 'mmapv1' | 'wiredTiger';
 
Ese tipo es como un enumerado de strings
sólo admite esos 4 valores
 
Vengo yo con mis escasos 2,5 centímetros de frente y escribo algo así:
const rplSetOptions = {
  dbName: "Name",
  auth: false,
  storageEngine: "wiredTiger"
};
Y me salta el error:
Types of property 'storageEngine' are incompatible.
    Type 'string' is not assignable to type '"wiredTiger" | "devnull" | "ephemeralForTest" | "mmapv1" | undefined'
Vale, me meto de cabeza a investigar la razón
Intento esto:
 
@RubialesAlberto hahah estoy ayudando a un amigo con pyhton y cada vez que acabo una linea pongo ";" por costumbre hahahah
 
10:14 AM
type StorageEngineT = "devnull" | "ephemeralForTest" | "mmapv1" | "wiredTiger";

let storageEngine = "wiredTiger" as StorageEngineT;
Eso no funciona.
Sigue marcando el error
 
@MauricioContreras qué es "type"?
 
@RubialesAlberto from __future__ import braces
 
@lois6b Definición de un tipo
 
@lois6b una forma de declarar un tipo de variable
 
¿Sabeis que Python tiene el módulo __future__ del cual puedes importar cosas que sólo están disponibles en versiones posteriores?
 
10:18 AM
@MauricioContreras Si te falla tienes una versión de TS antigua
 
a mi me gustan los ; y los {}
 
@Pikoh y a mí :-)
 
por ejemplo, en python2 puedes poner from __future__ import print para obtener la función print() de Python3
 
@PabloLozano lo dudo. XD
 
10:19 AM
De hecho, siempre que empiezo algo en python, las primeras 30 líneas llevan todas sus ; correspondientes xD
 
@PabloLozano eso fue lo que usé:
 
@Trauma a mi me pasaría lo mismo...me sentiría... sucio
 
xDDD
 
Pero no logro comprender el porqué
 
Ha llegado el momento de repetir el chiste...
 
10:20 AM
let storageEngine = "wiredTiger" as const;
 
menos mal que if XXX: codigo ... si se puede :-)
 
@abulafia eso mas que sucio, me hace sentir ganas de matar
 
¿Sabíais que en python realmente se puede poner from __future__ import braces?
 
@abulafia jejeje ... creo que era Cuando programas en Java pero añoras python xDD
Vale. Con el código antiguo comentado, funcionaba. Al borrar las líneas, explota ...
... ya empezamos ...
:-(
 
10:23 AM
@abulafia eso era una broma o algo asi no?
@Trauma como mola
 
Muchiiiisiiiiiimo, si señor
 
Recuerdo ver nosedonde un comentario del tipo..no borrar este comentario,si lo haces explota, o algo asi
 
@Pikoh Lo de __future__ no es broma, es un mecanismo para lograr retro-post-compatibilidad (o como se diga). Lo de importar braces si es una broma. O huevo de pascua, como prefieras
como lo de import antigravity
 
@Pikoh :-O
Eso es nivel xD
 
Me pregunto, porqué debo hacer lo de let storageEngine = "wiredTiger" as const;???
 
10:25 AM
@abulafia si,me sonaba lo de braces. Lo de import future...me resultabastante extraño la verdad
 
En cuanto a la versión de Typescript, esto es lo que uso: "typescript": "^4.1.3"
 
Bueno, es para introducir a posteriori en versiones antiguas capacidades que tienen las versiones nuevas, sin romper la compatibilidad
 
Creo que es la última.
 
@abulafia si si, entiendo el tema. Pero me resulta extraño
 
Sí, es muy curioso
 
10:26 AM
tsc --version
Version 4.1.3
 
@MauricioContreras Pues entonces es raro que con el let storageEngine = "wiredTiger" as StorageEngineT te marque error
 
@PabloLozano pues lo marca. Pero ni modo, la solución hallada funciona, aunque muy en fondo no termina de quedarme muy claro. Entiendo el concepto de extensibilidad y todo esto, pero igual es como eso que está aún difuso en tu mente.
 
No me marca error
si intento poner un string distinto a los declarados falla
pero no requiero ni el cast
 
10:45 AM
1
Q: 2020: La moderación del sitio

Nicolas ChabanovskyQuisiera compartir con ustedes un informe de estadísticas de moderación para Stack Overflow en español. Una característica distintiva de los sitios de Stack Exchange es cómo se moderan: Diseñamos el motor de red de Stack Exchange para que se autorregulara en su mayor parte, ya que amortizamos el...

 
11:07 AM
@PabloLozano mira el error:
Estás hardcodenado el valor, yo lo saqué a una variable y se lo asigno desde la misma.
XD, copié mal el URL
Es este:
La cosa es, recibo el valor de storageEngine en una variable, la misma es de tipo String, debo necesariamente hacer el cast. Por lo poco que puedo entender, mi variable es de tipo string, un tipo string no puede extender al tipo StorageEngineT, pero al revés si que se puede, es decir, un tipo StorageEngineT puede extender a un tipo string. Por lo tanto la forma de solucionarlo es haciendo el cast adecuadamente.
Otra solución es esta:
let value = "wiredTiger";
let storageEngine: StorageEngineT = value as StorageEngineT;
Esa si que funciona también.
Pero me gusta la forma compacta:
let storageEngine = "wiredTiger" as const;
 
@abulafia JAMAS!!!!
jaja
nah si en verdad me gusta C y me gustaría aprenderlo más y dedicarle más tiempo!
 
11:32 AM
Oye me acaba de pasar una cosa extraña, he realizado una búsqueda en Google y se me ha divido la página
 
@RubialesAlberto captura?
 
En la parte de arriba me decía algo como "Hola parece que sabes algo de programación" tenemos un reto para ti.
con todo distinto a como es el buscador
 
anda. hahah Google te busca
habia oido que hacian pruebas a quienes buscaban esas cosas
 
y me han enviado a una página con un terminal en la que hay preguntas
 
pero nunca lo vi
 
11:34 AM
no te puedo enviar captura, porque ahora ya estoy en su terminal
haha
 
Flipando en colores
que ni me afecta ni nada, pero escuchar una sentencia de un tribunar diciendo que la informática no tiene relevancia en el ámbito de las TIC tiene su gracia
 
@PabloLozano Dejar de respirar no afecta a la vida
 
@NicolasOñate No me afecta porque no tengo titulación
 
"que la informática no es una ingeniería relevante del sector TIC "
que cojones xDDDD
 
12:07 PM
claramente es ingenieria agronoma
 
@lois6b Tienen atribuciones legales? no, así que....
 
12:22 PM
ya pero aun asi ...
 
¿ Porqué, si hay un error en la función X, la gente insiste en poner todo el programa ?
Es cansino
Iteración sobre los archivos de un directorio buscando los que empiecen por determinadas letras:
static std::vector< std::string > findMatchingFiles( const std::string &prefix, std::string path = std::string( ) ) {
	std::vector< std::string > result;

	if( path.empty( ) ) { path = '.'; }

    for( const auto &entry : ::std::experimental::filesystem::directory_iterator( path ) ) {
		if( std::experimental::filesystem::is_regular_file( entry.status( ) ) ) {
			std::string fName( entry.path( ) );
			const char *beginName = strrchr( fName.c_str( ), '/' );
			if( beginName ) { ++beginName; }

			if( !strncmp( prefix.c_str( ), beginName, prefix.size( ) ) ) {
Y luego dicen que python es fácil ...
¿ Veis ? Y los fallos de python no son tan elegantes: Segmentation fault
xD
 
12:57 PM
Ahora 6 es mútiplo de 4. XD
 
@MauricioContreras XDDDDDDDDDDDDDDDDDD
 
Mejor lo dejo. Me sangran los ojos. XD
 
Ya borró la pregunta :-(
Enga, vamos con otra:
DEBUG:[FxLibloader] Getting Datareference with key: cbf6fd4e-60b5-4593-943d-e9486067c0ff
INFO:Not value look for kay cbf6fd4e-60b5-4593-943d-e9486067c0ff
ERROR:Error getting <cbf6fd4e-60b5-4593-943d-e9486067c0ff> from Datareference
 
buenas, alguien tiene alguna solucion para resetear el autoincrement de una tabla innoDB?
 
vamos a ver ... si la key se genera justamente al subirlo a Redis ... ¿ como es que no hay nada asociado ?
 
1:06 PM
Buenos dias!!!!
@JoaquinoBot con que necesidad?
@Trauma ya decidimos que no es ni facil ni elegante...
 
@gbianchi Hombre, comparado con la belleza de C++ ... es que no python no le llega ni a las suelas :-)
 
@gbianchi tengo una tabla de usuarios con columna id que se define con autoincrement pero claro si tengo 10 registros y borro los 3 primeros, se me sigue rellenando por 10 y el 1 2 3 se me quedarian sin asignar, igualmente si el que borrara fuera el 10, ya no se me asignaria el 10 sino que se asignaria el 11
 
@MauricioContreras Así también funciona let storageEngine : StorageEngineT = "wiredTiger";
El tema es que si no le pones el tipo, TS asume string
una vez que se lo pones, no necesitas cast
Si se usa TS, se usa a fondo: TODO con tipo
xD
 
@JoaquinoBot usar un autoincrement para eso esta mal
@JoaquinoBot el id que se ponga en esa tabla no deberia importarte para nada...
 
1:22 PM
entonces lo genero con php?
o directamente no les pongo id?
el id lo uso para relacionarlo con otra tabla
que depende de los usuarios
 
no no. El id es correcto.. tenes que tener id, y tiene que ser autoincremental..
lo que no debe importarte para nada, es el numero que se ponga ahi, ni si hay agujeros, ni nada...
es un numero que se usa para relacionar.. pero nada mas...
 
osea que si se queda del 1 al 20 sin asignar por un borrado no debe de importarme no?
 
@JoaquinoBot exactamente... es mas.. con el tiempo vas a tener agujeros y no por borrados..
si no porque si estas trabajando multiusuarios se van a formar baches...
 
vale perfecto
@gbianchi eso no lo entiendo bien
 
@JoaquinoBot algunas bases cachean lotes de autonumericos para no tener que calcularlos a cada momento... entonces si despues no se usan, quedan baches....
 
1:26 PM
vale entiendo
@gbianchi pues muchisimas gracias, no te imaginas lo que me acabas de ayudar
 
:)
 
2:22 PM
FAaaa no pude ver que me respondieron
 
@PabloLozano tengo una consulta, para cuando puedas
 
puedo
 
@PabloLozano Tengo este tipo: type TipoMime = "pdf" | "docx" | "doc";
Necesito saber si un valor recibido por parámetro pertenece a este tipo.
De hecho puedo tener un Array de valores (ya alli usaré every), pero ¿cómo saber si el valor recibido es o puede ser alguno de los que se listan en TipoMime?
Igual TipoMime tiene otros valores, que en realidad son MIME Types, pero es para dar un ejemplo de lo que quiero.
O tal vez usar un type Union no sea adecuado en este caso.
Mejor una simple lista de strings con valores permitidos y me quito el problema de en medio,
 
2:37 PM
un enum?
 
Es una alternativa si, lo estuve pensando. Pero como necesito el valor en la vista, debería ser un enum asignado: enum TipoMime {pdf="pdf", ...} no me convence mucho.
Al final lo haré por una simple lista de strings. Sucede que se me facilita para la validación de un esquema de Mongoose. Y no influye en nada a la hora de crear el documento, simplemente la validación hará su trabajo.
Pues si que se ve bonita mi validación en Typescript, XD:
validate: function (v: Array<string>): boolean {
  if (!v || !v.length) return false;
  return v.every((value) => {
    return TipoMime.includes(value);
  });
}
 
if( !( v && v.length ) ) { return false; }
Te ahorras 1 operación ;-p
 
2:54 PM
@Trauma vale, el negado del and es el or de los negados, siempre se me olvida esa regla.
 
@MauricioContreras anda que ... matemático ...
 
@Trauma oxidado es que estoy
 
normal, con este frio y esta nieve
xD
¿ RegEx para un UUID ?
 
Hablando de calamidades, debo ir a buscar al chaval al colegio. Luego hablamos. Gracias
 
¡ Cuidado con los resbalones !
[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}
 
3:05 PM
@Trauma las probabilidades de que caiga nieve en Málaga son más altas que aquí en Barcelona. Pero igual me puedo resbalar por otra causa. XD
 
@MauricioContreras Encima que me preocupo ... pues ale, a lo loco
en bañador puedes ir ;-p
 
@Trauma si hombre, ya bastante tengo con mi cara de vasija inca, menos mal la mascarilla es obligatoria, salgo en bañador y si es verdad que me luzco con mi cuerpo de pellejo en hueso.
 
XDDDDD
 
3:28 PM
Hora del café con leche condensada :-D
Por poco se me pasa
 
@MauricioContreras Yo he visto nevar en Barcelona, en el 2010 cuajó hasta en la playa
aquí en Málaga la última vez fue hace 80 años
 
En la Churrería Buena Vista, donde tomo el café por las mañanas, tienen una foto en la pared
La primera vez que la vi no me lo creía
pero ya me confirmaron que si, que nevó 1 vez
 
que es mas elegante
const objeto = {tal :1};
console.log(Array.isArray(objeto) ? objeto : [objeto]); //op 1
console.log([objeto].flat()); //op2
el problema un servicio me trae el arreglo de objeto o solo objeto , entonces tuve que hacer este truco, queria ver como se veria como se ve mejor , supongo que el flat es el optimo
 
3:46 PM
Yo usaria el 1º. Mas corto, y sin llamadas a funciones; ergo más rápido.
 
@Trauma ademas mas entendible el codigo
Gracias
 
Bueno, yo no lo entiendo :-)
por eso no lo he mencionado xD
 
no no, si franca y sinceramente me da igual XDDD
pero las razones que te dije son ciertas :-)
 
00:00 - 16:0016:00 - 00:00

« first day (1902 days earlier)      last day (1203 days later) »