Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




Dr_Manhattan

#44847 yo estoy leyendo noticias de gente muy entendida en el tema y coinciden en que primero habrá un aumento de necesidad de determinados puestos pero luego irá disminuyendo. Yo pensaba que en 10 años este tipo de tecnologías demostrarían de lo que son capaces, pero hoy he leído una entrevista y dicen que 3 años

desu

#44848 Para empezar deberiamos analizar los problemas que Docker y los "contenedores" resuelven.

  • problemas de gestion de infra
  • problemas de gestion del software

Sobre la gestion de infra. Los contenedores para empezar son un fracaso. Hemos fracaso en hacer software reproducible en distintas maquinas y por tanto reproducimos la maquina.

Gestion de software. En general todos los sistemas de distribucion estan todos rotos. Desde apt, yum a cualquier repositorio como pypi, cargo etc. https://www.youtube.com/watch?v=Wt6rZTijfpk

Estos son mis dos mayores problemas en general.

En especifico no voy a entrar por pereza. Solo la mierda de systemd vs docker si quieres googlear algo. Panda de anormales.

En general estoy en contra de toda la cultura de gestion de procesos del siglo XXI. No tiene sentido tener que usar contenedores y luego orquestradores y luego una capa encima y asi. La gente ha re-inventado la reuda mal, 10 veces, al mismo nivel.

Es lo que pasa cuando tienes 10 empresas, con 10 productos distintos, que quieren atraparte en su ecosistema, que no hacen herramientas interoperables y se follan el user space por el culo para luego cagarte en el pecho mientras tu gritas "si papito, dame mas kubernetes".

Por aqui tienes bastantes tontos que cada dia van a trabajar en su "service mesh" como si estuviesemos en los años 80. Pero eh, luego no saben decirte que casos de uso resuelven.

1 respuesta
Kaledros

Yo (y cualquiera que sepa de qué va el tema), hace un mes: los divulgadores del código no hacen más que reciclar la misma mierda una y otra vez.
Midudev, hace un mes: no es verdad.

Midudev, hoy:

El temario es EXACTAMENTE EL MISMO que en cualquier otro curso. El mismo.

1 respuesta
JuAn4k4

#44853 No es que sea el mismo, esta clonado.

Es correcto @desu de ML/IA yo no tengo ni idea, nunca me he interesado porque nunca me ha llegado a gustar del todo para trabajar en eso. Tampoco he llegado a leer nada sobre el tema así que si, estoy en bragas y no tengo ni idea, se conceptos muy básicos y poco más. Gracias por la información.

Muchas empresas también se van a tener que replantear sus productos, Muchos dejarán de tener sentido. Nosotros por ejemplo tenemos chats con agentes que son personas, así que eso poca vida le queda.

De aquí a uno/dos años ha dado el vuelco la industria.

Konishi

#44833 Ya que pasas el enlace, ¿recomendarías algún libro/paper/artículo especifico para repasar/expandir sobre distintas estrategias de ejecución?

1 respuesta
desu
#44855Konishi:

estrategias de ejecución?

Que es una estrategia de ejecucion?

Dr_Manhattan

si ejecutas con Ctr + F5 o le das al play en IntelliJ

Konishi

Replanteo la pregunta porque no encuentro un término exacto para lo que pensaba

¿Qué recursos recomendarías para repasar/expandir los conocimientos necesarios para enter/aplicar la explicación que aportas en ese artículo en su totalidad?

1 respuesta
desu

#44858

si haces esa pregunta con entender las diferencias entre concurrencia y paralelismo, sync y async, block y non-block y que el caller es quien decide esperar... ya estas por encima del 99.99% de programadores, incluidos todos los de este hilo.

en este hilo nadie sabia lo que era async hasta que lo explique en https://arnaudiaz.com/blog/what-is-async/ asi que imaginate el nivel... que en este hilo la gente gana 100k anuales y se cagan en los pantalones en cuanto les sacas cualquier tema tecnico...

si entiendes que concurrencia, paralelismo, sync, async, block y non block son conceptos distintos ortogonales y que uno no implica ni significa lo otro ya estas en el top 99.99%

no entiendo dudas puedes tener al respecto con mis explicaciones. pregunta por que no veo la parte de fallar la comprension.

tu puedes tener codigo async que se bloquea y no es concurrente ni paralelo. por ejemplo. cualquier combinacion te diria que es posible.

tu puedes tener codigo sync que es concurrente y paralelo, que no bloquea. sin problemas.

todo dependera del numero de threads, cpu, os y/o runtime, del scheduler... por poder como ya conte una vez, tu puedes tener una CPU que haga las instrucciones de reves en lugar de empezar por el 0.

estoy asumiendo que es una arquitectura von neumann lo unico, que si no lo suponemos aun mas facil XD metele un ordenador cuantico por ejemplo.

puedo tener un ordenador cuantico que lea mi programa y lo ejecute en un orden aleatorio, y que el programa este echo de tal forma que el resultado sea siempre el mismo. da igual el orden de ejuccion. por ejemplo algo super facil de ver.

doogie780

#44852

Es que yo siempre lo he visto como un modo de ahorrar recursos en los entornos cloud porque antiguamente tenías VMs que no sólo tardaban un año en encenderse sino que escalables eran hasta cierto punto. Por tanto, es muy posible se haya quedado desfasado ya por cómo ha evolucionado el cloud y la gestión de los servicios, pero en su momento fue un soplo de aire fresco en entornos de sysadmin remeros (al menos en España).

Son cosas que por cómo se han diseñado chocan a veces, pero son complementarias en mi opinión. Y ojo que docker en sí me parece una mierda, pero la tecnología de contenedor sí me parece un buen concepto. Cuando se creó systemd tampoco estaba pensado para lanzar aplicaciones (servicios es otra cosa) y se usa bastante, pero es un puto jaleo andar con cgroups y chuminadas para cerrar el entorno.

Qué propones tú para atomizar entornos con el mínimo uso de recursos (para mantener microservicios no eh) y permisos sin pasar al userspace del OS?

1 respuesta
desu
#44860doogie780:

Qué propones tú para atomizar entornos con el mínimo uso de recursos (para mantener microservicios no eh) y permisos sin pasar al userspace del OS?

En que contexto.

  • Soy Google, AWS, Azure?
  • Soy una empresa y tengo mi hierro?
  • Soy una empresa/equipo y quiero desplegar mis productos.

Yo normalmente hablo del tercer caso siempre. Donde entiendo una empresa = un producto.

A ver, no me mal interpretes. Los contenedores funcionan pero tengo que criticarlo porque es mi deber ser critico con las cosas para concienciar a la gente. Porque un contenedor y no una microvm? Critico el pensamiento de oveja de la gente.

1 respuesta
doogie780

#44861

Eres una empresucha con tu hierro en co-location y cada día te cobran más por las máquinas. Tienes el vsphere echando humo y la factura no para de subir.

AWS, GCP y Azure están en pañales (por eso te hablo del contexto de cuando se creó docker, no del hoy día, que creo que estamos de acuerdo) Ni RDS ni EKS ni mierdas.

1 respuesta
desu

#44862 Es que si te vas al pasado las microvm no eran tan eficientes. Te acabara saliendo un Borg donde pude haber algunas diferencias.

Una mejora historica podria ser simplificar el networking. Que cada contenedor este en una ipv6 de tu LAN. Y hablar ipv4 para fuera. O hacerlo como en Borg directamente y orquestrar los puertos, vs k8s. Esta necesidad antes Google no la tenia por ejemplo. Aunque era una mierda gestionar puertos entiendo.

Discutimos del tema orquestacion e infra hace unas semanas. El problema es que estas herramientas solucionan el contexto de Google, no el de las empresas pequeñas. Que se empiece de zero. Y si es mucho esfuerzo pues que se haga open source como se hizo con k8s no?

Si te olvidas de multi-region, multi-cluster, multi-cloud, mutli-tenant, y empiezas a sacar capas de control plane vas haciendo un Borg mas eficiente.

No se, no tengo experiencia haciendo infra la verdad, tendria que probarlo. Tu que cambiarias del ecosistema actual? Cosas faciles de hacer.

Al final el problema es que usas la herramienta de Google, contexto 1, para todo. En lugar de haber hecho la mejor herramienta para cada contexto.


@Kaledros

otro libro de git desde zero, con el de midudev no habia suficiente

HAHAHAHAHAHAHAH

2 respuestas
Kaledros

#44863 He visto listines telefónicos más pequeños. Pero qué mierda hay en ese libro para que sea así de gordo.

2 respuestas
pineda

#44864 lleva listado todos los repositorios públicos que existen en github

1 1 respuesta
doogie780

#44863

Es que de aquellos barros estos lodos. Por eso no existía el concepto serverless, porque no había oferta ninguna. De Borg nació Kubernetes, no sé si por aprovechar el momento o porque no había competencia.

Sobre el networking estoy de acuerdo, pero es que se tendría que actuar en concordancia con los estándares RFC incluso. Al final siempre hacen falta infra extra sólo para el networking, sin entrar en cybersec. De todos modos, ahí me imagino que hablas de tu caso personal porque lo que dices ya se hace. Hay algunos proveedores de servicio que montan unas cosas muy locas en ipv6 exclusivamente. Si no se ha extendido de forma masiva y a más bajo nivel, sólo se me ocurre que pueda ser por deuda técnica de nuevo. Te reto a que migres toda tu red de casa a ipv6. Móntate una vm con pfsense y haz un bridge pa probar.

Pues aquí no estoy de acuerdo. A Google no le soluciona el contexto, a Google le viene bien "solucionar" ese contexto. Son ellos quienes sacan provecho de su cloud teniendo Kubernetes como orquestador para todo el mundo. Dile a Google que se empiece de cero teniendo su software en el 99% de empresas tech medio grandes y una instancia de las más usadas incluso en AWS. Si quitas esas capas, quitas 300 productos del cloud.

Pues lo primero matar a jenkins de una puta vez. Eso es bien fácil xd. Pero del stack empezaría a usar podman en vez de docker, si usas kubernetes no hay razón para no hacerlo. Si hubiese un orquestador de lxc's igual es mejor idea. Al final es igual que hace 10 años, quieres reducir complejidad y quizás costes, por qué cosa fácil optas? Pues en 10 años volveremos a tener el mismo debate y seguirán reinando tecnologías que convienen a algunos exclusivamente.

1 respuesta
desu

#44866 Si claro Google hace negocio. Y hay un punto que hoy en dia tenemos que si te vas 10 años para atras no. El open source como se entiende hoy en 2023. Si hoy se re-iniciase el mundo de la orquestracion de zero, te saldria un k8s de microsft, otro de aws y otro de google, eso como minimo, los de red hat, los de una empresa random queriendo aprovechar el tiron, dos o tres alternativas chinas...

Y lo mismo con la gran mayoria de herramientas. Si hay un boom, hay un boom open source que le acompaña. El open source hoy en dia es una herramienta de marketing, conseguir marketshare de usuarios e introducirlos a tu ecosistema etc etc. Si tus usuarios usan tu orquestrador, tu gestor de contenedores, tu paquage manager, tu pagina de repositoris git (github/gitlab) tu editor de texto (vscode vs intellij) tu lenguaje (go, java, kotlin) etc etc Obviamente les vendes tu paquete de productos completo.

Este es un motivo por el cual kubernetes existe. Docker es un claro ejemplo de empresa random que aprovecho el boom. Github esta a reventar de empresas asi que lo unico que ofrecen es ser la alternativa a X. O hacer la herramienta de X ecosistema en Y ecosistema (java => go por ejemplo).

El open source me da puto asco. Cada vez que uso algo asi o tengo que hacer una PR se me revuelve el estomago.

Ojala vuelva la epoca de que todo el software sea de pago y a tomar por culo. A pagar por el compilador, a pagar por el editor, y a pagar por todo.

1 2 respuestas
Dr_Manhattan

#44864 para su público imagino que muchos emojis y muchos colorines. Su fandom no es capaz de leer más de dos páginas de algo técnico sin cagarse y mearse encima.

Que puta industria de mierda se está quedando

doogie780

#44867

Ahora ves la complejidad del asunto? Claro que es una mierda, pero es que no hay mierda mejor tristemente xd.

Yo te monto la infra y tú te pones a programar un sistema de entornos aislados con red incluida que funcione cómodamente con el kernel de linux ok? Para cuándo le vamos diciendo al Sundar que nos coma los cojones dices?

De esto me di cuenta en los primeros años de docker, viniendo de una empresa de hosting, al pasar a una de software, cómo una herramienta open source podía contratar a gente para hacer demos e invitarnos a charlas y comidas... Pues olía a chamusquina, pero es que nos quitamos el 60% de las vm's en 1 mes y medio...

2 respuestas
desu

#44869 Si claro. Yo soy un futurista.

Gamozo(https://gamozolabs.github.io/) se hizo su propio orquestrador de VMs. Levantaba 400 vms corriendo windows, en 20 hosts fisicos distintos, o un numero asi, en 50 milisegundos? O 100 ms? No me acuerdo. Eran buenos numeros para un test.

Solo se que levantar lo mismo en AWS eran 40 segundos. Tampoco me acuerdo, pero de 10 a 100 veces.

Vamos, el trabaja para Msft como security engineer, y me acuerdo que dijo.

"Como puedo yo hacer en un par de streams, de 8h, algo mejor que Azure??? Si no soy ni ingeniero de software, que yo hago seguridad. MSFT llamame que te re-hago Azure".

Yo cuando hago un deploy tengo que esperar MINUTOS a que mi instancia en ec2 este activa y funcional. Entre las mil historias que hay que hacer y lo que tarda en levantarse.

Sobre la deuda tecnica el otro dia lei este: https://mjg59.dreamwidth.org/66109.html Madre mia. Quiero matar puta gente.

Tambien sobre tema futurista, yo me encuentro con muchos problemas en tema pull vs push sobre TCP. Por ejemplo: https://news.ycombinator.com/item?id=35613454 es una idea interesante que comparto y en este hilo he explicado mil veces como usar colas desde nivel kernel a nivel de sistema distribuido y no hay manera... La gente NO SABE QUE ES UN COLA NI COMO FUNCIONA.

Dicho esto y que nadie me cite, ando implementando algoritmos distribuidos, el log de kafka en concreto ahora y estoy sufriendo XD No digo que sea facil. Hay que ponerse. Al menos se como funciona la teoria.

1 1 respuesta
doogie780

#44870

https://github.com/gamozolabs/orange_slice

Este tío es MUCHO más flipado que tú WTF. Hypervisor determinista, que calcula a nivel de kernel los ciclos de CPU que han hecho falta para arrancar las vms para que siempre sean los mismos...

Es bastante arriesgado trabajar con eso a nivel de hardware, pero ojalá ver lo que tiene a día de hoy xd

1 respuesta
GaN2

#44867 #44869 todas las grandes se han pasado al modelo 'te lo doy gratis y si quieres usarlo en produccion te pasas a la version de pago', desde Red Hat con Ansible, Hashicorp con Terraform, Jenkins, Kubernetes, etc. Ya sea porque te capan el producto tipo Ansible o porque vas a necesitar soporte en caso de que te vengan mal dadas.

Al final no deja de ser el paradigma del siglo XXI, hemos pasado de licenciamientos tipo Oracle o SAP donde la inversion inicial era una millonada a nivel de recursos y pasta a poder montarte tu POC gratis y escalar en base a coste y recursos que tengas disponibles. Joder, que ya hasta el Windows te lo puedes descargar e instalar gratis.

1
desu
#44871doogie780:

Este tío es MUCHO más flipado que tú WTF.

Hombre es mejor que yo.

Este tio es un enfermo que le echa 8-12h al dia cada dia desde que tiene 10 años, habra otros 10 o 20 en el mundo como el.

Yo programo 8-12h al mes, donde muchos meses me los tomo de vacaciones, como yo en el mundo habra 1000 personas.

1 1 respuesta
W0rd

Una de las ventajas de los contenedores es poder escalar horizontalmente bajo demanda. Te permite replicar tu aplicación o desplegar en diferentes sitios sin mucha preocupación.

Una vm tradicional consume mas recursos que un contenedor, realmente lo único que necesitas es tener tu aplicación aislada en un entorno controlado. Tener todo bajo un único sistema suele traer otros problemas, dependencias cruzadas, distintas versiones etc etc.

1 respuesta
Kaledros

#44865 Poca broma que en los libros de O’Reilly el 50% del espacio se lo llevan los bloques de código. Para el final de los libros son ya páginas enteras de ejemplo porque se ve que poner el código en un repo era tecnología por inventar en 2010.

1 respuesta
desu
#44874W0rd:

realmente lo único que necesitas es tener tu aplicación aislada en un entorno controlado

los contenedores no aislan subnormal, que vas a aislar compartiendo kernel.

para asilar minimo necesitas una vmm encima de una kvm y ahi tirar tu runc o una gvisor o lo que te saga de las pelotas si quieres aislamiento.

1 respuesta
Seal67

#44875 es que entonces puedes ver el código sin pagar los 300 euros del libro y se quedan pobres

newfag

#44873 te pagan al acariciar el teclado?

Slowbro

Si os interesa AI/inference comentad temas y os traigo chascarrillos.

Por compartir algo interesante, esta gente hace cosas muy chulas. Me gusta lo de poner el peso en el compilador.

Luego está tenstorrent (lo que montó Jim Keller), que han fichado a Raja XD

#44829desu:

Esta demo de Meta es un gran ejemplo, están metiendo un modelo que SOLO PESA 8MB! https://segment-anything.com/demo Una locura. Con 8MB puedes implementar en client side segmentacion instantanea.

Llevo una semana pegándome con una regresión en inferencia de un modelo de segmentación y estoy hasta los cojones. Tenemos como 3 capas por debajo de tflite (delegate, openVX, HL driver) y la configuración para replicar es un dolor de muelas.

Si por mi fuera invertía unos meses en meter un dialecto para el acelerador en mlir y pista. 1 modelo, 1 binario.

1 respuesta
desu

Otro dia programando, otro dia que encuentro algo imposible / errores de diseño en el kernel.

Que ademas si es windows o unix sera distinto el comportamiento...

Hoy me he encontrado que para tener "mandatory locking" en linux tienes que hacer piruetas.

Es decir, no tienes una manera directa (como un flag en open(3)) de hacer el acceso a un fd multiprocess safe.

Si corres N procesos que intentan leer el mismo archivo, no tienes un puto lock...

Ridiculo.

Lo que quiero:

$ process file_a.txt
$ process file_a.txt
$ process file_a.txt

Y que cada process escriba y lea de file_a.txt de manera atomica.

1 respuesta