« first day (1198 days earlier)      last day (1911 days later) » 

12:31 PM
---6:31
 
1:15 PM
---10:15
 
2:00 PM
--15:00
 
2:23 PM
@Fernando Buenas!
 
Hola
Por que obtengo este error? uid is not a type identifier y este otro pid_t is not a type identifier
Y no se por que no me finaliza correctamente el programa
 
2:49 PM
@Fernando Veo que una vez te dieron una respuesta en el sitio ruso
Ah, creo que es otro
5
Q: Блокировать процесс пока не завершатся потоки/дочерние процессы

yrHeTaTeJlbЕсть такой код: if(pid_t pid = fork()) // spawn child process { // parent process LOG("Try to execute smth. in child process"); return; } else { // child process doWork(); std::terminate(); } Тут порождается дочерний процесс в котором выполняется некоторая работа. Где-т...

 
@ArtEze Eso no es mio
 
@Fernando Bueno... Pero igual entiendo que es un problema de hilos... pid_t es el nombre de la variable supongo, faltaría poner un tipo al principio como String y esas cosas.
 
3:11 PM
@ArtEze Pero no entiendo por que me da estos errores
 
@Fernando Dime un ejemplo en donde se declaran esas variables.
 
4:02 PM
@ArtEze Es que no entiendo por que cuando no incluyo unistd.h si que me compila el programa pero con la advertencia implicit declaration of function fork
incluyo unistd.h y me aparecen
uid is not a type identifier
pid_t is not a type identifier
tienes el discord abierto?
 
@Fernando Ahora mismo no me abre Discord.
 
4:20 PM
@Fernando Podrías hacer la pregunta en el sitio junto con el código.
 
 
5 hours later…
9:11 PM
-1
Q: Ruby sirve para crear un dispocitivo letal?

Upset GradeResulta que tengo la idea de crear un dispositivo sigiloso que tiene la tarea de liberar un gas venenoso. La pregunta seria si Ruby es un lenguaje ideal. Esto solo por efectos educativo.

Patidifuso me quedo
 
@abulafia Gracias por la respuesta, estaba mirando este repositorio que es un fork no directo de MonoDevelop. github.com/Schumix/Schumix2 pero como es antiguo tiene GPL en vez de LGPL, y tiene modificaciones... Supongo que la licencia lo permite. La cosa es que no se actualiza desde el 2015.
 
La licencia GPL te permite hacer forks y sobre ellos modificar lo que quieras, con tal de que lo que hagas sea público y use también licencia GPL
 
@abulafia ¿y la LGPL? Supongo que también.
 
Además, y este era un aspecto problemático para algunos de GPL, si usabas código GLP como parte de tu aplicación entonces la aplicación también tenía que ser liberada con licencia GPL
@ArtEze LGPL se diferencia en eso, al no ser tan "exigente" con el tema del software libre. LGPL se aplica a librerías y bibliotecas y permite que las uses como parte de tu proyecto sin obligarte a hacer el proyecto libre
también permite modificación y redistribución y forks y lo que sea, mientras el resultado siga siendo LGPL
no sé si pondrían peros a que "restringieras más" el resultado e hicieras tu fork GPL, supongo que no
 
@abulafia Perfecto, me quedó todo claro.
@abulafia Si un proyecto GPL se le agrega código con licencia LGPL supongo que tendrá que cambiar la licencia.
 
9:25 PM
No veo por qué... LGPL es más permisivo que GPL
El proyecto seguiría siendo GPL, aunque use bibliotecas LGPL (a menos que sea a su vez una biblioteca, en ese caso no lo tengo tan claro)
esto de las licencias es un lío... Incluso licencias pensadas para favorecer la colaboración y libertad del código...
 
@abulafia Sí, es algo complicado.
 
A ver, tal como yo lo veo, si un proyecto era GPL, de alguna forma la intención del autor era "obligar" a todo el mundo que lo use a colaborar con el software libre, forzándoles a liberar también su proyecto.
Entiendo que entonces no puedes cambiarle la licencia a LGPL, porque estarías dando permiso a que los "malvados" (del software propietario) pudieran usarlo sin liberar su código, lo que iría en contra de la intención del autor original
Mira esto
4
Q: Can I use some GPL code in LGPL project?

BeckNo9Well, recently I found a problem about licensing. I have an open source project on GitHub, recently I need some codes which using GNU GPL, but my project is using GNU LGPL, so that's the problem. So how can I use these code? I don't want to change my license. Ask for permission from the original ...

La gracia de LGPL es que una compañía comercial que use un producto LGPL no tiene por qué hacer pública su aplicación, pero si durante el desarrollo descubren un bug en la librería y lo arreglan, tienen que hacer público el fix
a mi me suena estupendo :-)
si la librería fuese GPL tendrían que hacer público también el código de su app
 
9:45 PM
@abulafia Gracias, ahora entiendo mejor, esto hace que tu proyecto no se pueda usar de manera privativa, pero el original sí. Tiene bastante sentido.
 
@ArtEze Ahora no te he entendido. ¿de qué caso hablas? Si el original era LGPL permitía su uso privativo, y si tú lo usas en un proyecto LGPL estás permitiéndolo también
LGPL te permite enlazar en un producto privado, pero sólo enlazar sin cambiar nada de la librería. Si cambias algo, debes publicar esos cambios bajo LGPL otra vez
Una librería con GPL ni siquiera podrías enlazarla con tu aplicación, a menos que publicaras la aplicación resultante bajo GPL también
 
@abulafia MonoDevelop tiene licencia LGPL, si hago un clone y lo subo a GitHub. ¿Puedo hacer cambios? De poderse, ¿Es necesario cambiar a GPL?
 
Puedes clonarlo, y subirlo a github y hacer todos los cambios que quieras. Lo que no puedes hacer es eliminar de la documentación a los autores originales (o del fichero Authors, o COPYRIGHT o donde aparezcan)
aunque sí puedes añadirte a tí mismo
y debes mantener la licencia como estaba: LGPL
 
@abulafia Ah, está bien.
 
10:00 PM
O sea, tienes permiso para modificar MonoDevelop como quieras, pero la obligación de publicar tus modificaciones y permitir a otros que hagan lo mismo con tu trabajo
ese es el espíritu de (L)GPL
no puedes restringir a otros los permisos que a ti te dieron
 
@abulafia Sip, entiendo, es interesante, y esto permitiría a otros usar mi repositorio privativamente.
 
Sí, podrían usar tu versión de MonoDevelop como parte de su aplicación privada
pero no podrían entonces modificar tu versión de MonoDevelop
porque si lo hacen, tendrían que publicar a su vez esa versión modificada, y mantener la licencia LGPL
 
@abulafia Es cierto.
 
es un modelo muy interesante para permitir que la gente use software libre, a la vez que se les obliga a publicar los fixes a los hipotéticos bugs. De este modo, el software libre se beneficia de quienes lo usan, aún si son compañías privadas
es como un virus, pero en positivo :-)
 
@abulafia Está genial... ¿Los fixes se tienen que publicar en inglés o se puede solo en español?
 
10:06 PM
Pues me imagino que, en el espíritu de libertad de GNU, no van a obligarte a que hables un idioma concreto para colaborar en el desarrollo, de modo que en tu idioma nativo
 
Perfecto
 
aunque claro, si lo hicieras en inglés sería mejor para que más gente pueda leerlo
pero mientras respetes el fichero LICENSE.txt y no borres nada de COPYRIGHT.txt ni AUHTORS.txt, puedes hacer lo que quieras
 
Está bien, por ahora prefiero en español.
 
El software LGPL se usa mucho. Creo que la licencia obliga a quien lo use, incluso si es privado, a mencionar en lugar visible qué librerías LGPL ha usado
El otro día aburrido en mi coche estuve curioseando en el ordenador de a bordo y acabé llegando a una opción "About" y aparecían allí montones de librerías usadas por el software del coche
todas LGPL
claro, si entre ellas hubiera habido una GPL, entonces los fabricantes del coche tendrían que haber publicado también los fuentes de su aplicación
 
@abulafia Eso tampoco lo sabía... Si entiendo bien, eso tiene que ser en la ejecución del programa, no solo en la licencia del código fuente.
 
10:14 PM
por eso la GPL no está muy bien vista en las compañías de software propietario, e incluso dentro de quienes están a favor del software libre, que ven más posibilidad de expandir este software con licencias menos restrictivas, como LGPL
@ArtEze Sí, en algún diálogo al que el usuario pueda llegar
aunque sea en "letra pequeña" :-)
lo de las licencias es un mundo. Hay muchas más y no conozco las diferencias entre ellas. He visto mucho por ahí la licencia MIT, y la Apache
Estas son más permisivas aún que LGPL
básicamente permiten el uso y la modificación sin obligarte a publicar otra vez tus cambios, por lo que pueden usarse también en software propietario.
 
@abulafia Entiendo, esas licencias también las vi en varios proyectos.
 
La MIT son dos párrafos. Básicamente el primero dice "Haz con esto lo que quieras. Modifícalo, úsalo, véndelo, lo que quieras". El segundo viene a decir "Pero si no funciona o rompes algo o matas a alguien, a mi no me eches la culpa" :-)
 
Una vez les pregunté a los de Apache si iban a hacer XAMPP en 64 bits y me dijeron que no.
 
Para linux y osx sí que está en 64 bits
 
Pero no para Windows
@abulafia ¿Conoces el problema del 2038? Para ese año la fecha de 32 bits pasa al 1970. Creo que puede traer problemas eso.
 
10:27 PM
Sí, lo conozco. También pasé por el "efecto 2000" que iba a acabar con el mundo :-)
Yo creo que a no mucho tardar los timestamps serán también de 64 bits y se acabó el problema
En realidad, ya tendría que haber habido problemas mucho antes, ya que el protocolo time define esos timestamps como int, y no como unsigned int. Y hace ya años que hemos empezado a usar el bit de signo
y no hemos pasado a 1950 :-)
 
Un programa en 32 bits podría leer una fecha en 64 bits así no tener que cambiar toda la plataforma y manejar fechas siempre en 64 bits.
 
Hum, me estaba liando entre el timestamp de unix y de NTP (network time protocol)
el de unix es de 32 bits con signo, y con origen de tiempos en 1970 y se agota en 2038 (a partir de esa fecha se pondría a 1 el bit de signo, retrocediendo por tanto, no a 1970, sino a 1902)
el de NTP es de 32 bits sin signo, pero con origen de tiempos en 1900. Se agota en 2036
 
@abulafia No creo... Acabo de hacer la cuenta, 2^31 son 68 años, 1970 + 68 son 2038 y 2^32 son 136 años, por lo que daría 2106
Con 30 bits sería el año 2004.
Puede ser que en vez de volver al 1970, la fecha sea 68 años menos, es decir, al 1902, ya que queda un número negativo y resta al origen.
 
10:43 PM
@ArtEze Sí, 1970 + 38 = 2038, correcto. Y cuando se active el bit de signo pasarás a 1970-68 = 1902
Y para NTP, 2^32 son 136 años, pero el origen de tiempos lo tiene en 1900 y no en 1970
asi que 1900 + 136 = 2036
 
@abulafia Sip, no había visto lo que explicabas, es cierto.
 
Lo que me recuerda a este clásico
 
XD
Para el 1900 todavía se usaban velas.
 
Al principio los chistes de xckd me hacían gracia, últimamente cada vez los entiendo menos
este es mi favorito
 
@abulafia jajaj
 
11:01 PM
@abulafia Ahora que hice bien la cuenta creo que sería el año 1901, aproximadamente al 12 de diciembre, llegando casi al 1902.
 
jeje
 
Lo hice a ojo sin ver los bisiestos.
 
Pues si quieres la respuesta exacta:
>>> pandas.to_datetime(-2**31, unit="s")
Timestamp('1901-12-13 20:45:52')
 
@abulafia Genial
 
O sin necesidad de pandas, sólo con las "pilas incluídas" en la librería estándar:
>>> from datetime import datetime
>>> datetime.fromtimestamp(-2**31)
datetime.datetime(1901, 12, 13, 20, 45, 52)
Sale lo mismo, menos mal :-)
y ya puestos, el juicio final será el:
>>> datetime.fromtimestamp(2**31)
datetime.datetime(2038, 1, 19, 4, 14, 8)
UTC, supongo
 
11:06 PM
Está bueno, no conocía el Panda.
 
en realidad no es para eso, eso ha sido "matar moscas a cañonazos"
pandas es para procesar largas tablas de datos, series temporales, hacer gráficas, etc
pero tiene buenas funciones para manipular fechas y horas, por si tus datos vienen con un timestamp
 
¿Eso es Python?
 
si
 
Hace bastante que no lo manejo. La última vez lo usé para hacer un script de animaciones en Blender.
 
Yo lo uso a diario, a veces como una mera calculadora porque tiene enteros de tamaño arbitrario
u operaciones con fechas, o con complejos, o con matrices...
 
11:35 PM
@abulafia Por las dudas no viajar en avión o meterse en un coche ni un ascensor electrónico aquel día.
 

« first day (1198 days earlier)      last day (1911 days later) »