Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




JuAn4k4

#35100 4fun:
Piscina,
Playa,
Montaña,
Sofa
Cama

6 1 respuesta
desu

#35101 para algunos, llegados a ciertos niveles de toque donde hacemos lo que queremos, hacer otro lang es como cambiarnos de ropa.

En mi nuevo curro por ejemplo aún no he tenido que pensar. Porque todo para mí es natural e instintivo. Nada es difícil, solo hay capas de complejidad.

Entonces, para nosotros, es normal que nos parezca divertido ponernos a prueba y hacernos las cosas difíciles con cosas distintas a las habituales.

Aunque yo por ejemplo ya decidí dejar de programar cosas 4fun. Porque ya me he pasado el juego.

1 respuesta
eondev

#35102 también cambias de opinión tan rápido como de ropa xDDDDD

Frave

Menudo cambio de mentalidad de ayer a hoy de programar en python sudándome la polla la ram y lanzando cnns en una gpu de 20GB a ahora tener que picar código para una placa con 500kb de ram, y casi poto al usar el primer shared_ptr....

1 1 respuesta
TitoBurns

Llevo 3 dias de training de una cosa llamada Safe en agile, su puta madre, menuda perdida de tiempo.

Post-it y colorines everywhere

TitoBurns

8
desu

#35104 xq necesitas un shard_ptr?

std::shared_ptr is a smart pointer that retains shared ownership of an object through a pointer.

shared ownership me parece mal. no puedes copiar? es algo de threading?

PS: las CNN estan deprecated

1 respuesta
Frave

#35107 claro el microcontrolador se basa en free-RTOS y tenemos varios tasks, y tenemos una memoria muy muy limitada en estos.

Y bueno los transformers estan pegando fuerte.

1 respuesta
desu

#35108 explica el use case del shared_ptr. lo digo enserio. ando haciendo cosas asi en rust.

1 respuesta
Frave

#35109 es sencillo tienes un contexto para cada task, por ejemplo tenemos tasks para wifi, mqtt y mesh entre otros. Estas tareas necesitan tener acceso a los contextos de las otras y poder operarse entre ellas de forma segura, por ejemplo el task mesh gestiona la comunicación por wifi de los nodos si un nodo es el nodo padre, que tiene acceso a internet y una ip, tiene que activar su task mqtt para transferir mensajes que le llegan a través del mesh y si se desconecta y pierde la ip porque pasa a ser un hijo tiene que desactivar el task mqtt y cambiar un poco otras tareas. Y como estamos en un microcontrolador con kbs de ram pues tienes que compartir los contextos de forma segura.

1 respuesta
desu

#35110 xq no le metes un scheduler y eliminas la memoria compartida?

te obligan a hacerlo asi en clase?

no te cabe?

a ver, son pocas tasks y entiendo que duran todo el proceso de ejecucion, asi que tampoco es un problema muy grande.

el coste de acceder al context de otra task es menor que un simple scheduler? no lo se.

1 respuesta
Frave

#35111 ? scheduler hay a nivel de kernel con free-RTOS que gestiona la ejecución de los diferentes tasks, sinceramente no entiendo como te quitas la memoria compartida con lo que dices.

1 respuesta
desu

#35112 perdona, mandando mensajes o eventos a traves de el

shared data vs mensajes

xq tienes el scheduler para gestionar las tasks? no se ejecutan siempre en paralelo? no tienes suficientes threads?

entiendo que el scheduler solo es para el IO.

si me da para 1 task 1 thread, y me da para el scheduler, deberia ir mas rapido a cambio de mas recursos.

1 respuesta
Frave

#35113 a vale, no a ver también uso queues para comunicar mensajes entre tasks que se envían continuamente información. Pero para gestionar el contexto de otro task, por ejemplo si hay que matarlo o cambiar su contexto el shared_ptr.

madre de dios los edits xD

xq tienes el scheduler para gestionar las tasks? no se ejecutan siempre en paralelo? no tienes suficientes threads?

claro que no el esp32 tiene dos cores únicamente.

1 respuesta
desu

#35114 interesante.

osea que matas task y las spawneas? es una manera de hablar o haces algo inteligente? el coste de crear un kernel thread es alto, i.e xq en lugar de eso no reseteas?

1 respuesta
Frave

#35115 a ver por ejemplo el task que gestiona la comunicación mqtt solo tiene que estar corriendo si eres el root en el mesh por lo que si cambias tu rol en el mesh y otro nodo pasa a ser el root porque tiene mejor conexión wifi con el punto de acceso, ese task no tiene sentido que lo sigas corriendo. Simplemente hay cambiarle el contexto para que el propia task en su loop llame al api de esp-idf para que se quite de la cola del scheduler y despues liberar la memoria con cuidado. Otros task por ejemplo no podemos lanzarlos alegremente tenemos que asegurarnos que no están corriendo porque si los tuviéramos siempre activos no tendríamos memoria para todos.

1 respuesta
desu

#35116 si las tasks son del mismo tipo puedes re usarlas, si no son del mismo tipo se puece hacer un swap en runtime? no tengo ni idea.

lo maximo que he visto es a andrew kelly implementar hot code swap en un debugger, con el codigo en runtime ejecutandose cambiaba el contenido en memoria, es una interrupcion + syscall.

eso se puede hacer a nivel de task? tener una task de mesh y meterle el contenido a ejecutar de mqtt? total tienes memoria compartida ya


joder tetes son las 12.30 ya casi, y aun no he picado una linea de codigo. que puta pereza de vida.

1 respuesta
PaCoX

https://github.com/gioblu/PJON

1 1 respuesta
Frave

#35117 a ver entiendo que sí? Pero solo con algunos task se podría hacer eso, ya que los task de mesh o wifi o mqtt son muy complicados y de hecho la mayoría del trabajo te lo da hecho esp-idf y tu usas su API para configurarlos y lanzarlos, por lo que dudo que sea seguro hacer nada eso. Con otros task que si creamos nosotros y les definimos las interrupciones supongo que podríamos combinarlos para que en el task hubiera cierta lógica que gestionase un cambio de contexto, pero no sé, tendría que verlo ya que hay muchas cosas ahí, y en otras implementaciones que he visto de tasks no se suelen mezclar cosas.

1 respuesta
desu
#35119Frave:

y en otras implementaciones que he visto de tasks no se suelen mezclar cosas.

pero tu quieres ser un fpero o el mejor del mundo en haber puesto sus manos sobre un teclado y picado codigo?

llega un punto en que por desgracia no puedes leer el codigo de los demas, porque todos son inferiores a ti, tienes que aprender de ti mismo.

1 respuesta
Frave

#35120 a ver yo por ahora me conformo con llegar a los plazos con el prototipo funcionando que es lo importante, ya habrá tiempo cuando salga todo adelante de contratar a alguien que tenga mejor toque.

#35118 el problema es que espnow no nos sirve ya que tenemos que crear un mes de decenas de esp32 que están pasando datos continuamente, lo probamos hace tiempo y no tiene nada que ver con la funcionalidad que nos da esp-mdf.

B

Bueno, me han recomendado go, he visto el tour ese. Menuda castaña de lenguaje no?

desu

llevo 7 pages hoy, todos ack y resolved al momento, todos porque s3 esta picado por fperos

2 respuestas
B

#35123 pásate a azure, que es donde curramos los 10x de verdad

JuAn4k4

#35123 El secreto está en resolverlos más tarde y cobrar por oncall más.

1 respuesta
desu

#35125 no me pasa. tengo ratio fijo. sino ayer me sacaba 1k extra.

Wei-Yu

I'm a 10x developer and I hate it. If you consider yourself a "top" developer I would appreciate your perspective.

It didn't start this way. I became a Jr Dev at 33 years old, people consistently assumed I was more experienced than I was. I'm not sure if it was my life experience or my relentless pursuit of self-improvement but I have been continuously improving my capabilities.

Around the time I turned 38 years old I felt competent. My code started to become defect proof. The drawback was it took me an extra 20% more time to complete. The Product Owner used to say to me, "I know it will take you an extra two days to a week to complete something, but then I never have to worry about it again". So, solid code, but kind of slow in comparison.

I'm now 42 years old, my code continues to have minimal amount of defects, but I complete stories fast, and I'm not working crazy hours, just the standard 8-5. Of course I'm involved in a lot more meetings nowadays, architectural discussions, bleeding edge Proof of Concepts etc, however that has not slowed me down. It has made me faster.

I never set out to become some kind of uber developer, but in the last couple of years I have noticed a shift in behaviors around me. It started with little things. Tech Leads inviting me into meetings to express my perspective on things. Developers pinging me when I have never worked with them, because "you probably know the answer". Being asked to weigh in specific Code Reviews outside my department. Lately if I join a meeting with people I haven't talked to before they already know who I am. Even my manager has started introducing me by just saying "This is X, you've probably heard of him".

Someone run a query to see the number of git commits by user for the application group I am in, about 350 developers. A script I wrote that performs various automation tasks was number 1, I was number 2. This surprised me, and it was an event that brought some of my thoughts and feelings into focus, thus this lengthy post.

I don't think that the number of git commits actually proves anything, other than I commit, code review, and merge code frequently. I wanted a better metric to quantify my feelings of alienation. I looked at Jira stories and story points. In my direct team of 10 people, myself included, I have completed 71% of all story points in 2022, the other 9 are responsible for the other 29%. That jives with my number of git commits compared to others as well.

So what's the point of this thread? It's not to brag, if I came across that way, I apologize. The problem I'm having is it's lonely and stressful.

This feeling of loneliness got quantified when the commit number came up. The problem is people just accept whatever I say. I used to get challenged in some of my decisions, which I always appreciated since I could create better solutions. Nowadays people just accept whatever I say as the best way.

It feels like I don't have peers. I'm solely dragging my entire team and everyone else around me with me for the ride. This leads to stress, it feels that if I am not working on the "thing" it won't get completed.

I worry that by not being challenged I will become complacent.

I catch myself becoming more controlling because at this point about 80% of the code base is my code for the applications my team is responsible for. I don't think that's a good thing, at the same time what I find plainly obvious is not to others.

The worst part is I am sensing within myself this frustration that everyone else appears to move so slowly. The thought of "great, one more thing I got to fix" is coming up too frequently.

To summarize, I'm a pretty good developer. I love writing code. However I feel alone, and I'm afraid I will become conceited of my own abilities. If you can empathize with this I would appreciate your perspective. Am I the only person feeling this way? What can I do to change things?

1 respuesta
PiradoIV

#35127 Absolutamente todos los problemas que tiene los puede resolver cambiando de empresa xD

B

más que cambiando de empresa, sería cambiando de rama, yo no soy ningún pro developer, pero en el ERP todos los días eran sota caballo y rey, nada me suponía un desafío, cambié de rama dentro del desarrollo de software y ahora soy un junior más aprendiendo todos los días. Per para hacer eso, no hay que buscar opiniones de los demás, hay que tener valor de salir de la zona de confort

1
desu

mi opinion como un x10 de verdad

para mi ni cambiar de rama me presento un desafio, a los pocos dias mi toque ya estaba al maximo

podria trabajar en cualquier dominio que a las pocas semanas / meses me convertiria en un referente en el campo, tansolo es cuestion de aprender la teoria e ir aplicandola progresivamente

1 respuesta