• ¿Quieres apoyar a nuestro foro haciendo una donación?, entra aquí.

Systemd

Bueno
La maduración de los sistemas han sido hermoso. Ya hay varios sistemas que funcionan bien sin systemd o con una parte de ellos (al menos no el pid 1)
Recomiendo http://without-systemd.org/wiki/index.php/Main_Page siempre. Con esa maravilla descubrí plan9 y me enamoré .

No conocías plan9 cipadrito @Glats es un intento de reemplazo de unix de bell labs de cuál se tomaron varios conceptos para migrarlos a linux cómo unionfs y otras tecnologias varias, hay una version comercial, creo qué se llamaba "inferno"
 
No conocías plan9 cipadrito @Glats es un intento de reemplazo de unix de bell labs de cuál se tomaron varios conceptos para migrarlos a linux cómo unionfs y otras tecnologias varias, hay una version comercial, creo qué se llamaba "inferno"
Sipo, lo vi la primera vez el 2015, pero no le presté mucha atención hasta como finales del 2017. Ya desde el años pasado que lo estoy ocupando full.
Inferno igual fue liberado, ya que no pegó. Se lo comió Java y en ese tiempo el famoso JavaOS.
De hecho dis, la máquina virtual de limbo soportaba java, pero no recuerdo que versión.

Act: o sea no ocupo vanilla plan9 estoy coupando el fork 9front que es activamente mantenido.
 
Sipo, lo vi la primera vez el 2015, pero no le presté mucha atención hasta como finales del 2017. Ya desde el años pasado que lo estoy ocupando full.
Inferno igual fue liberado, ya que no pegó. Se lo comió Java y en ese tiempo el famoso JavaOS.
De hecho dis, la máquina virtual de limbo soportaba java, pero no recuerdo que versión.

Act: o sea no ocupo vanilla plan9 estoy coupando el fork 9front que es activamente mantenido.


Por ahí deben andar mis cds de solaris y opensolaris, alcancé a usar una versión del 2005, me gustaba harto el manejo de ficheros pero en esa fecha ya estaba usando suse y el soporte y el flujo de trabajo era mucho mejor.

Para que usas 9front :orejon: Qué será más hipster, 9front u openindiana?
 
Por ahí deben andar mis cds de solaris y opensolaris, alcancé a usar una versión del 2005, me gustaba harto el manejo de ficheros pero en esa fecha ya estaba usando suse y el soporte y el flujo de trabajo era mucho mejor.

Para que usas 9front :orejon: Qué será más hipster, 9front u openindiana?

Son dos approach distintos. openindiana es unix/opensolaris flavor.
9front es research OS y distribuido. Cuando las redes y los gráficos tomaron espacios, y para que unix adoptara eso había que hacer cambios muy profundos. Por eso los mismo creadores hacen plan9 (http://www.catb.org/esr/writings/taoup/html/plan9.html). Además unix v7 cuando pasa a BSD, pierde completamente su rumbo. (http://harmful.cat-v.org/cat-v/)
Ocupo plan9front mayoritariamente por su arquitectura (gusto) y ademas por el protocolo 9p que es bastante rápido. Además mantener un servidor plan9 es súper fácil.
 
Estimados,
Me gustaría saber que piensan sobre systemd, es o será una buena herramienta para las distros? Se cree que podría dejar al Kernel de lado...
bueno acá les dejo unos link para que averigüen de que se trata

http://without-systemd.org/wiki/index.php/Main_Page

Además señalar que hubo una guerra civil cuando el directorio de Debian decidió pasarse a systemd:

http://hackingthesystem4fun.blogspot.com.es/2014/11/devuan-el-fork-de-debian-sin-systemd-ya.html

En lo personal no me gusta systemd, encuentro que rompe con toda la filosofía que me gustaba utilizar, después de saber lo que paso con Debian, me cambié a Slackware
¿pero trae el buscaminas y el solitario?
 
Son dos approach distintos. openindiana es unix/opensolaris flavor.
9front es research OS y distribuido. Cuando las redes y los gráficos tomaron espacios, y para que unix adoptara eso había que hacer cambios muy profundos. Por eso los mismo creadores hacen plan9 (http://www.catb.org/esr/writings/taoup/html/plan9.html). Además unix v7 cuando pasa a BSD, pierde completamente su rumbo. (http://harmful.cat-v.org/cat-v/)
Ocupo plan9front mayoritariamente por su arquitectura (gusto) y ademas por el protocolo 9p que es bastante rápido. Además mantener un servidor plan9 es súper fácil.

No sé wn, siempre he sido crítico con los entornos de desarrollo con buenas herramientas pero que tratan de sobresalir con ideas poco convincentes. Fuera de las bromas que se puedan hacer, hace rato que unix murió fuera del entorno sysadmin, y me alegro en realidad, que se quede ahí, andan muchos papistas predicando cosas que "no se pueden hacer" hacer porque dañan el espíritu de unix, pura bullshit. Opensolaris usa SysV y esa parte fue la que pasó a openindiana, que la juntaran con bsd fue muy acertado creo yo.

A todo esto, ahí está systemd, lleva más de 5 años en las ramas oficiales de las principales distros y nadie se murió, no se rompió el kernel, mejoraron algunas cosas y hasta lo están usando en los microservicios :orejon:
 
No sé wn, siempre he sido crítico con los entornos de desarrollo con buenas herramientas pero que tratan de sobresalir con ideas poco convincentes. Fuera de las bromas que se puedan hacer, hace rato que unix murió fuera del entorno sysadmin, y me alegro en realidad, que se quede ahí, andan muchos papistas predicando cosas que "no se pueden hacer" hacer porque dañan el espíritu de unix, pura bullshit. Opensolaris usa SysV y esa parte fue la que pasó a openindiana, que la juntaran con bsd fue muy acertado creo yo.

A todo esto, ahí está systemd, lleva más de 5 años en las ramas oficiales de las principales distros y nadie se murió, no se rompió el kernel, mejoraron algunas cosas y hasta lo están usando en los microservicios :orejon:
plan9 es un ecosistema muy parecido a unix hasta la versión 7 pero distribuido. si hay un bug, le chanta el debugger y resuelves el bug. no tienes que andar viendo cuales son las dependencias del programa, o que tipo de build utiliza.

"no se murió nadie" bueno te digo que todas las semana aparece un bug crítico nuevo.
los fallback de dns van a Google y están en duro.
te puedes pitear el sistema con un loop infinito y sin tener acceso a root.
si te refieres a micro servicios, se está ocupando alpine: es busbox, musl/glibc y openrc...
lo únicos tontitos usando systemd y desarrollando es Facebook :hands:
ah y debian está repensando el soporte de nuevos init.
 
plan9 es un ecosistema muy parecido a unix hasta la versión 7 pero distribuido. si hay un bug, le chanta el debugger y resuelves el bug. no tienes que andar viendo cuales son las dependencias del programa, o que tipo de build utiliza.

"no se murió nadie" bueno te digo que todas las semana aparece un bug crítico nuevo.
los fallback de dns van a Google y están en duro.
te puedes pitear el sistema con un loop infinito y sin tener acceso a root.
si te refieres a micro servicios, se está ocupando alpine: es busbox, musl/glibc y openrc...
lo únicos tontitos usando systemd y desarrollando es Facebook :hands:
ah y debian está repensando el soporte de nuevos init.

Yo en realidad soy bien critico con estos "entornos" que siempre están en desarrollo o que pareciera que hacen lo imposible por implementar funciones que la mayoría de las veces terminan en olvido o relegadas a su propio reducido universo de desarrolladores y comunidad friki. El tema de systemd, verdaderamente a mí me parece algo trivial, si fuese por errores o bugs, simplemente no usaría el kernel de linux, en la actualidad hay bastantes formas de poder escalar, hacer loops o lo que se te ocurra, systemd no es precisamente una piedra angular en ese sentido. El equipo de confianza de Linus en la rama del kernel ha dicho muchas veces que, de momento, y dada la facilidad de escalamiento de systemd, reemplazarlo no es una prioridad, pero que en su momento o de ser necesario, el equipo del kernel puede desarrollar su propio sistema de inicio, no le dan más importancia de la que realmente merece, y vamos, las demás opciones están ahí para los que no les guste.

Un par de amigos estuvieron usando alpine un tiempo, pero fuera de que implemente busybox no me llama la atención. Con micoservicios me refiero a laas , pass, saas, contenedores, LXC, etc y toda la fauna que orbita la red hoy en día, y me vas a disculpar, pero para eso se está usando coreOS, o cualquiera de las ramas designadas de redhat o suse.

La comunidad de debian siempre me ha espantado realmente, a veces tienen buenas ideas, pero la mayor parte del tiempo se la pasan debatiendo sobre ética más que de software.

Acá el problema que yo veo es otro, y trataré de exponerlo desde mi experiencia.




En realidad los argumentos que da esta persona no son distintos a los que vengo leyendo hace más de 16 años; la comunidad BSD o la comunidad GNU o lo que queda de la comunidad UNIX entrando en pánico y llamando cada cierto tiempo a migrar cada vez que el kernel de linux implementa cosas "extrañas" o ajenas "al espíritu" "original", o respaldadas por "los demonios" de las empresas, sinceramente actitudes como esas me dan ganas de vomitar por varios motivos. El principal es el infantilismo profesional de los desarrolladores, GNU debiese preocuparse en terminar su fantasma de hurd en vez de ser tan panfletarios, a mi por lo menos me daría vergüenza criticar un kernel sin si quiera tener uno propio, y ni de cerca comparable en calidad técnica. A la gente de BSD siempre le ha gustado polemizar, pero me llama la atención que ahora culpen a systemd de "discriminación", siendo que rc siempre ha sido su sistema, no tiene sentido pedir portabilidad absoluta de un software que francamente no se va a implementar, alguien de BSD dejaría de usar rc por systemd? No lo creo. Les gustaría usar docker y no pueden? pffff.

He leído disparates como que systemd usa binarios para la configuración, siendo que se configura por variables de entorno y texto simple, ni siquiera usa XML, o que es incompatible, siendo que implementa una compatibilidad casi absoluta con sysV, o que la capacidad de enmascarar componentes es defectuosa, o la que me gusta más, que practicamente toma el control de tu adn cuando enciendes la máquina, siendo que la configuración de lo que deseamos que haga o no es bastante sencilla y limpia, este fue el corto circuito mayor para los viejos sysadmins y los fanboys, no pueden concebir que un componente pueda gestionar las tareas de manera más eficiente para lograr nuevas implementaciones, eso no venía en el manual de UNIX. De UNIX no hablo porque es feo hablar de cosas muertas.

El problema acá es otro, systemd desde un comienzo fue una alternativa desarrollada al alero de redhat, ahí partió todo. A mi en lo particular jamás me ha molestado que empresas ganen dinero con el software libre y el código abierto, sobre todo si han contribuido enormemente al desarrollo del mismo y han sido honestos con sus comunidades abiertas. Me parece un lujo poder contar con un soporte profesional en entornos críticos de desarrollo para empresas. Y este es el principal motivo, algunas personas no pueden tolerar esta realidad, y pretenden que todos acepten su visión de lo que debiese ser un desarrollo "verdadero", es una extraña mezcla de soyerío y autoritarismo informático. El día que el código no esté disponible o que algún componente ejecute tareas sin nuestro permiso, será el día que algo realmente vaya mal, el resto es la misma chaya de siempre. Me gustaría revisar este tema en 10 años más, a ver qué es lo que decanta finalmente.
 
Última edición:
Yo en realidad soy bien critico con estos "entornos" que siempre están en desarrollo o que pareciera que hacen lo imposible por implementar funciones que la mayoría de las veces terminan en olvido o relegadas a su propio reducido universo de desarrolladores y comunidad friki. El tema de systemd, verdaderamente a mí me parece algo trivial, si fuese por errores o bugs, simplemente no usaría el kernel de linux, en la actualidad hay bastantes formas de poder escalar, hacer loops o lo que se te ocurra, systemd no es precisamente una piedra angular en ese sentido. El equipo de confianza de Linus en la rama del kernel ha dicho muchas veces que, de momento, y dada la facilidad de escalamiento de systemd, reemplazarlo no es una prioridad, pero que en su momento o de ser necesario, el equipo del kernel puede desarrollar su propio sistema de inicio, no le dan más importancia de la que realmente merece, y vamos, las demás opciones están ahí para los que no les guste.

Un par de amigos estuvieron usando alpine un tiempo, pero fuera de que implemente busybox no me llama la atención. Con micoservicios me refiero a laas , pass, saas, contenedores, LXC, etc y toda la fauna que orbita la red hoy en día, y me vas a disculpar, pero para eso se está usando coreOS, o cualquiera de las ramas designadas de redhat o suse.

La comunidad de debian siempre me ha espantado realmente, a veces tienen buenas ideas, pero la mayor parte del tiempo se la pasan debatiendo sobre ética más que de software.

Acá el problema que yo veo es otro, y trataré de exponerlo desde mi experiencia.





En realidad los argumentos que da esta persona no son distintos a los que vengo leyendo hace más de 16 años; la comunidad BSD o la comunidad GNU o lo que queda de la comunidad UNIX entrando en pánico y llamando cada cierto tiempo a migrar cada vez que el kernel de linux implementa cosas "extrañas" o ajenas "al espíritu" "original", o respaldadas por "los demonios" de las empresas, sinceramente actitudes como esas me dan ganas de vomitar por varios motivos. El principal es el infantilismo profesional de los desarrolladores, GNU debiese preocuparse en terminar su fantasma de hurd en vez de ser tan panfletarios, a mi por lo menos me daría vergüenza criticar un kernel sin si quiera tener uno propio, y ni de cerca comparable en calidad técnica. A la gente de BSD siempre le ha gustado polemizar, pero me llama la atención que ahora culpen a systemd de "discriminación", siendo que rc siempre ha sido su sistema, no tiene sentido pedir portabilidad absoluta de un software que francamente no se va a implementar, alguien de BSD dejaría de usar rc por systemd? No lo creo. Les gustaría usar docker y no pueden? pffff.

He leído disparates como que systemd usa binarios para la configuración, siendo que se configura por variables de entorno y texto simple, ni siquiera usa XML, o que es incompatible, siendo que implementa una compatibilidad casi absoluta con sysV, o que la capacidad de enmascarar componentes es defectuosa, o la que me gusta más, que practicamente toma el control de tu adn cuando enciendes la máquina, siendo que la configuración de lo que deseamos que haga o no es bastante sencilla y limpia, este fue el corto circuito mayor para los viejos sysadmins y los fanboys, no pueden concebir que un componente pueda gestionar las tareas de manera más eficiente para lograr nuevas implementaciones, eso no venía en el manual de UNIX. De UNIX no hablo porque es feo hablar de cosas muertas.

El problema acá es otro, systemd desde un comienzo fue una alternativa desarrollada al alero de redhat, ahí partió todo. A mi en lo particular jamás me ha molestado que empresas ganen dinero con el software libre y el código abierto, sobre todo si han contribuido enormemente al desarrollo del mismo y han sido honestos con sus comunidades abiertas. Me parece un lujo poder contar con un soporte profesional en entornos críticos de desarrollo para empresas. Y este es el principal motivo, algunas personas no pueden tolerar esta realidad, y pretenden que todos acepten su visión de lo que debiese ser un desarrollo "verdadero", es una extraña mezcla de soyerío y autoritarismo informático. El día que el código no esté disponible o que algún componente ejecute tareas sin nuestro permiso, será el día que algo realmente vaya mal, el resto es la misma chaya de siempre. Me gustaría revisar este tema en 10 años más, a ver qué es lo que decanta finalmente.

no voy a entrar mucho en un testamento (sin desmerecer tu argumento) pero yo ahora ocupo linux solamente por trabajo y porque se volvió handy montar cosas (handy ahora porque tengo experiencia y además está docker así que puedes ocupar cualquier distro) . antes me inspiraba pero ya no. me di cuenta que este "sistema operativo" (Frankenstein operativo) no es sano y es difícil de usar.
todo mi nueva filosofía partió acá: http://harmful.cat-v.org/cat-v/
unix prácticamente muere con la versión 7.

es desagradable en verdad cuando hay un bug y tienes que ir a la documentación del mantenedor, ver como lo armo, qué herramientas ocupó (ninja, meson, autoconf, m4, clang, llvm así infinito) y todo lo que el proceso de reparación significa.
me gusta mucho más un sistema que cada una de las piezas calzan perfectas unas con otras. por eso me estoy inclinando más por bsd y 9front.

si bueno alpine es para micro servicios y coreos es más para infraestructura si no me equivoco. ahora está rancher y se ve bastante bueno.
 

:xd:

kdhduwwkn5g01.jpg


Apoyo lo de gnome :lol2:

0u80bli9fr811.png

no voy a entrar mucho en un testamento (sin desmerecer tu argumento) pero yo ahora ocupo linux solamente por trabajo y porque se volvió handy montar cosas (handy ahora porque tengo experiencia y además está docker así que puedes ocupar cualquier distro) . antes me inspiraba pero ya no. me di cuenta que este "sistema operativo" (Frankenstein operativo) no es sano y es difícil de usar.
todo mi nueva filosofía partió acá: http://harmful.cat-v.org/cat-v/
unix prácticamente muere con la versión 7.

es desagradable en verdad cuando hay un bug y tienes que ir a la documentación del mantenedor, ver como lo armo, qué herramientas ocupó (ninja, meson, autoconf, m4, clang, llvm así infinito) y todo lo que el proceso de reparación significa.
me gusta mucho más un sistema que cada una de las piezas calzan perfectas unas con otras. por eso me estoy inclinando más por bsd y 9front.

si bueno alpine es para micro servicios y coreos es más para infraestructura si no me equivoco. ahora está rancher y se ve bastante bueno.

No se wn, hace años que dejé pajearme con "la filosofía" en el software, hay cosas técnicas que siempre no me calzan en esos discursos, como dijeron por ahí, dejen las drogas si no quieren terminar como la gente de gnu. UNIX ya no existe, es una utopía que se desmoronó, y está bien. Que opinas de las licencias de bsd?

En mi caso particular, pertenezco a la comunidad de suse, y ciertamente me agrada el modelo de trabajo de la comunidad abierta y el nivel de usuarios que allí se encuentran. Hay tecnologías de desarrollo exclusivo para esos problemas que mencionas, obs, kiwi, las ramas de yast para gestionar versiones, etc El año pasado suse se retiró del servicio cloud server, le dejó la cancha sola a redhat, que es la que le dice qué hacer a amazon, azure y toda la lista de esos personajes, incluidos openstack, que se los pasó por el borde sacando openshift, no me simpatiza la gente de redhat, no son personas honorables. Suse está desarrollando software de orquestación cloud y AI, tiene ramas completas para trabajar con hypervisores, apostaron a al desarrollo de sotware porque creen que en el futuro lo que hará la diferencia en la virtualización será la personalización de la experiencia según la necesidad de la persona que utilice el servicio, yo creo que se drogaron. Si ya estás usando docker, tienes que saber kubernetes, hay repositorios infinitos de contenedores y kernels, son herramientas que todavía no se masifican. Coreos cagó, pa variar se lo comió redhat :xd:
 
:xd:

kdhduwwkn5g01.jpg


Apoyo lo de gnome :lol2:

0u80bli9fr811.png



No se wn, hace años que dejé pajearme con "la filosofía" en el software, hay cosas técnicas que siempre no me calzan en esos discursos, como dijeron por ahí, dejen las drogas si no quieren terminar como la gente de gnu. UNIX ya no existe, es una utopía que se desmoronó, y está bien. Que opinas de las licencias de bsd?

En mi caso particular, pertenezco a la comunidad de suse, y ciertamente me agrada el modelo de trabajo de la comunidad abierta y el nivel de usuarios que allí se encuentran. Hay tecnologías de desarrollo exclusivo para esos problemas que mencionas, obs, kiwi, las ramas de yast para gestionar versiones, etc El año pasado suse se retiró del servicio cloud server, le dejó la cancha sola a redhat, que es la que le dice qué hacer a amazon, azure y toda la lista de esos personajes, incluidos openstack, que se los pasó por el borde sacando openshift, no me simpatiza la gente de redhat, no son personas honorables. Suse está desarrollando software de orquestación cloud y AI, tiene ramas completas para trabajar con hypervisores, apostaron a al desarrollo de sotware porque creen que en el futuro lo que hará la diferencia en la virtualización será la personalización de la experiencia según la necesidad de la persona que utilice el servicio, yo creo que se drogaron. Si ya estás usando docker, tienes que saber kubernetes, hay repositorios infinitos de contenedores y kernels, son herramientas que todavía no se masifican. Coreos cagó, pa variar se lo comió redhat :xd:
Qué buena lo de Suse. bueno ahora redhat es ibm, ya que su cloud apestaba y era horrible.
Bueno la licencia tiene su pro y sus contra. en verdad siempre que hago algo lo tiro en GPL-3 y chao. Pero la bsd es bien tramposa en algunos puntos.
Bueno y entiendo tu punto. A mi en verdad me gusta el área de sistema operativo y odio las capas sobre capas y más capas que tiene la informatica hoy. Por eso sigo viendo opciones que se ajusten a mi línea.
Ah y me fue mal con openbsd, ya que por defecto tiene cerrado el hyper threading, entonces se pone muy lento el x240 con dos nucleos, así que seré freebsd cuck no más mientras :lol2: hasta que adquiera un ryzen threaripper o algo así. Bueno además si tuviera un procedador así de cabrón, me inclinaría por gentoo pero ojalá en musl o exherbo. no sé, ahí veré.
 
Yo tengo un ryzen7 por ahí, jamás lo he usado a tope, eso que le doy duro con los contenedores. Te dejo el link de kubic que es la rama de opensuse para contenedores, dale un ojo, a lo mejor encuentras cosas interesantes, hay implementaciones que no están en otros lados, un sistema diseñado por la comunidad; MicroOS que se basa en SLE y tumbleweed, puedes hacer actualizaciones transaccionales en btrfs de solo lectura, servicios y contenedores sin root para los usuarios, es un lujito todo lo que trae en realidad, hasta tiene versión desktop. También hay paquetes para tensorflow con soporte CUDA para machine learning, eso combinado con todo lo demás, uf




 
Buena entonces microos entra en la gama de coreos, rancheros y todo eso.
Acá me voy a poner un poco engrído pero todo esto de la contenerización no es nuevo https://doc.9gridchan.org/blog/181130.spawngrid.design

... The contemporary distributed architecture of containerized microservices is related to what Plan 9 pioneered in the 1990s - per process independent namespace (the foundation of container-like systems), and single purpose network services (delivered via 9p in Plan 9 as opposted to http-json) working together.

Plan 9 laid a technological and conceptual foundation for this approach to distributed systems, but in its own network architecture and administration, it has mostly remained rooted in static pre-configuration and single-point-of-failure services. The flexibility of per-process namespace has not generally been used to create container-like systems. The ANTS project perspective is that container-like partitions of the namespace represent a natural evolutionary flow from Plan 9 design principles. No attempt has been made to imitate particular features of BSD or linux jail/container systems, but rather to evolve features based on real-world experience using Plan 9 systems in this way.

Claro antiguamente tenías que hacer un rootfs o un jail. Pero plan9 tenía un mécanismo llamado "namespaces". Por eso plan9 es tan hermoso :amazed:
 
Ta weno, pero son conceptos muy distintos, LXC utiliza la rama directa en el kernel, cómo gestiona los recursos plan9, sería como una rama de repos? eso es lo que se usa por lo menos en los contenedores, le voy a dar un ojo.
 
https://en.wikipedia.org/wiki/Cgroups#Namespace_isolation
Linux namespaces were inspired by the more general namespace functionality used heavily throughout Plan 9 from Bell Labs.

Los recursos son gestionados por el kernel, en todo sentido. https://es.wikipedia.org/wiki/Plan_9#Conceptos_de_diseño

Recursos como archivos: todos los recursos del sistema se representan como archivos en el sistema de archivos jerárquico.
Espacios de nombres (namespaces): la vista de la red por parte de la aplicación es un espacio de nombres simple y coherente que aparece como un sistema de archivos jerárquico pero que puede representar recursos físicamente separados (locales o remotos).
Protocolo de comunicaciones estándar: se usa un protocolo estándar, llamado 9P, para acceder a todos los recursos, ya sean locales o remotos.

De hecho el sistema de archivo se monta a través del protocolo 9P desde el file system. Entonces cuando estás corriendo el sistema operativo, estás interactuando con el sistema de archivos a nivel logico, entonces cuando apagas el computador el programa por debajo hace un dump al sistema de archivos que toma desde el cache, y este cache es cada cambio que tu haces como por ejemplo crear un archivo. De todas manera el dump puede ser manual ejecutado como http://9p.io/wiki/plan9/Tip_o'_the_day/index.html#DUMP_AND_FOSSIL_TIPS o si es un WORM file system así % echo dump >> /srv/cwfs.cmd http://man.9front.org/8/hjfs
 
Volver
Arriba