pepita | q hodas a q hora de mexico empieza |
faraox | buenas |
pepita | las tenga |
MJesus_ | ahora empieza |
MJesus_ | pepita por favor, cambie de nick |
MJesus_ | que es el que se usa por defecto en el pograma preparado para esta red, y no dejara entrar a otro |
MJesus_ | pepita escribe /nick sunombre |
VicMedina | nuestro primer conerencista de hoy es gregkh, ha sido hacker del kernel por un buen tiempo |
VicMedina | el ha sido el encargado del LSM por mas de 1.5 años ya |
VicMedina | el ha sido el encargado del USB por mas de 1.5 años y |
VicMedina | y ha trabajado para el IBM Linux Tecnology Center por un tiempo ams |
VicMedina | greg's talk is going to be about the coding style in the kernel, as it appears most people trying |
to get drivers merged into the kernel screw it up somehow :) |
tiri | esto... no os olvideis del modo +m X) |
VicMedina | greg va a hablar acerca de los esilos de codifcacion en el kernel, ya que parece que la mayoria de |
la gente que trata de introducir drivers en el kernel por lo general fracasa |
VicMedina | por favor, denle la bienvenida a greg |
VicMedina | I'm going to go through a few reasons why we have a style guideline, |
VicMedina | Voy a comenzar por explicar unas cuantas razones por la que hemos decidido adoptar estilos de |
codificacion |
VicMedina | then go over the currently documented style rules, and then cover |
VicMedina | luego hablare sobre las reglas de codificacion actualmente documentadas y luego |
VicMedina | some "undocumented" rules that everyone should also follow. |
VicMedina | y luego unas cuantas reglas no escritas, que tambien la mayoria deberia seguir |
VicMedina | por favor sientanse libres de escribir cualquier duda el canal #qc |
VicMedina | primero que nada, por que deberiamos tener algun tipo de estilo de codificacion dentro del kernel? |
VicMedina | si despues de todo, el estidlo de codificacion no tiene ningun impacto en el desempeño de la memoria |
VicMedina | ni en la velocidad de ejecucion |
VicMedina | ni ningun otra ofecto que un usuario del kernel pudiese notar |
VicMedina | la razon principal es |
VicMedina | que si un largo cuerpo del codigo es escrito en un estilo comun |
VicMedina | directamente afecta la forma cuan facilmente es posible leer y entender ese codigo |
VicMedina | revisarlo |
VicMedina | y evaluarlo |
VicMedina | y debido a que el kernel de linux fue hecho para que otros lo modificaran |
VicMedina | nosotros deseamos que este codigo sea tan facil de modificar como sea posible |
VicMedina | se ha realizado muchas investigaciones al respecto |
VicMedina | la gente puede p`reguntarme offline si desean ams info al respecto |
EMPEROR | disculpen las molestias.. enseguida estamos con uds. |
EMPEROR | hay muchos malos ejemplos acerca de esto en el kernel, pero no me voy a meter en esto aqui |
EMPEROR | <@gregkh> revista el, y revisa el. Y desde entonces la Linux fuente de nucleo es significado para |
otros p |
EMPEROR | <EMPEROR> Ahi haber sido un lote de investiga sobre este tema, y gente puede preguntarme <@gregkh> |
fuera de linea si ellos quieren algunas citaciones. <@gregkh> <@gregkh> Yo soy clase de glosar sobre las |
razones por que nosotros necesitamos reglas, asi hay algunas preguntas sobre estas? |
EMPEROR | <tiri> realmente no existe una via propicia, simplemente hazlo parecer limpio. ident(1) puede causar |
algunas cosas horribles, estate seguro de limpiar tu codigo a mano antes |
EMPEROR | < jmgv> ¿como son de estrictas esas reglas? |
EMPEROR | <EMPEROR> Yo resumire las CodingStyle reglas aqui: <@gregkh> - toda necesidad de etiquetas son 8 |
caracteres, y el [ETIQUETA] necesidad de caracter es usado en lugar de de espacios. <@gregkh> Si su codigo |
esta cambiando fuera de el lado de la pantalla demasiado mucho porque <@gregkh> de esta, el es una |
(pista/pizca/consejo)indirecta buena que usted necesita a limpio arriba la logica de su codigo. |
EMPEROR | <tiri> muy rigidas, tu parche no sera admitido |
EMPEROR | <tiri> - Tus variables y funciones, deberian ser declaradas descriptivamente y concienzudamente. |
EMPEROR | <EMPEROR> For example: |
EMPEROR | <EMPEROR> <@gregkh> if (x is true) { |
EMPEROR | <EMPEROR> <@gregkh> we do y |
EMPEROR | <EMPEROR> <@gregkh> } |
EMPEROR | <tiri> No deberias usar nombres largos como CommandAllocationGroupSize o DAC960_V1_EnableMemoryMailbox |
Interface(), |
EMPEROR | <EMPEROR> La solo excepcion a esta regla es funciones, que tener la abriendo <@gregkh> abrazadera en |
el comienzo de la linea como: <@gregkh> int funcion(int x) <@gregkh> { <@gregkh> cuerpo de funcion <@gregkh> |
} |
EMPEROR | No deberias usar nombres largos como CommandAllocationGroupSize o DAC960_V1_EnableMemoryMailboxInterf |
ace(), |
EMPEROR | <EMPEROR> La solo excepcion a esta regla es funciones, que tener la abriendo <@gregkh> abrazadera en |
el comienzo de la linea como: <@gregkh> int funcion(int x) <@gregkh> { <@gregkh> cuerpo de funcion <@gregkh> |
} |
EMPEROR | pero en vez, llamalo cmd_group_size, o enable_mem_mailbox(). |
EMPEROR | descriptivamente y aun concisamente. <@gregkh> Usted no usaria nombres largos |
EMPEROR | una variable o funcione en el nombre (como "Hungarian notation") esta prohibida |
EMPEROR | < mulix> como deben de ser los parches para limpiar los viejos drivers? |
EMPEROR | es aceptado por algunas personas |
EMPEROR | <tiri> pero algunos mantenedores no quieren cambiar su estilo de escritura. ignoralos :) |
EMPEROR | (disculopen hubo split.) |
EMPEROR | Solo en algunos casos _muy_ raros deberias crear un typedef A una funcion putero es uno de esos |
casos raros |
EMPEROR | <gcc> por que es tan malo? |
EMPEROR | <tiri> Esconde informacion al programador y hace que haga cosas estupidas |
EMPEROR | <tiri> como pasar una estructura entera en el stack como un parametro y otras cosas sin sentido |
EMPEROR | <tiri> de nuevo, typedefs para funciones puntero esta bien |
EMPEROR | <tiri> pero eso es |
EMPEROR | <tiri> si recuerdas una regla no escrita, porfavor recuerdala |
EMPEROR | incluso si usted es ingo, el es lentamente cambiando demasiado :) <@gregkh> Solo en _casos_ muy raros |
quizas usted crea unos typedef. <@gregkh> Un indicador de funcion es 1 de esos ejemplos. |
EMPEROR | Moviendo en a mi regla favorita: <@gregkh> - typedef es MAL! <@gregkh> MAL de MAL de MAL de MAL MALO! |
<@gregkh> NUNCA USAR typedef EN SU CODIGO!!! <@gregkh> obtenido el? :) |
EMPEROR | -------------------------------------------------------------------------------- |
EMPEROR | Antónimos |
EMPEROR | Yo estoy yendo a descansar para unos pocos minutos para permitir la cogida de traductores arriba, |
perdon para escribir tan rapido <@gregkh> < zanshin> que es malo sobre pasando estructuras como parametros? |
EMPEROR | ok, moviendo en, <@gregkh> - no situa "numeros magicos" dentro su codigo. <@gregkh> Si usted esta |
yendo a usar un numeric valor, documento el, y hace el un #define para otros para entender que usted esta |
intentando hacer. |
EMPEROR | - no pongas "numeros magicos" en tu codigo |
EMPEROR | <tiri> Si vas a usar un numero como valor, documentalo y haz un #define para otros para entender que |
estas tratando de hacer |
EMPEROR | <tiri> valor numerico queda mejor |
EMPEROR | <tiri> Si es un numero que un usuario probablemente quiera cambiar, puedes hacerlo tambien como un |
valor sysctl(), una opcion desde la linea de comandos, o una opcion del modulo |
EMPEROR | <tiri> - no pongas un #ifdef en un fichero .c |
EMPEROR | <tiri> Son permitidos solo en los ficheros .h |
EMPEROR | Usa el pre-procesador para compilar el codigo que no esta configurado y que no usa #ifdef en el body |
del codigo para hacer esto |
EMPEROR | <tiri> :? |
EMPEROR | <tiri> alguna pregunta acerca de esto? |
EMPEROR | <tiri> Usa el preprocesador para compilar fuera el codigo que no esta configurado dentro, no uses |
#ifdef en la cabecera del codigo para hacer esto |
EMPEROR | alguna pregunta? |
EMPEROR | <snide> QUe hay acerca de #ifdef CONFIG_SMP dentro de mm/slab.c por ejemplo? |
EMPEROR | si, en algunos sitios puede ser de ayuda, pero en la mayoria de los casos no lo uses |
EMPEROR | Recuerda tambien todas que todas esas reglas son solo guias, tu encontraras sitios donde romper las |
reglas, pero trata de seguir las reglas en el 99% de tu codigo |
EMPEROR | UNa ultima regla no escrita, usa identificadores labelados para estructuras que utilizaras cuando |
compiles |
EMPEROR | and by that I mean the following: |
EMPEROR | <@gregkh> struct foo bar = { |
EMPEROR | <@gregkh> .a = 24, |
EMPEROR | <@gregkh> .b = 42, |
EMPEROR | <@gregkh> }; |
EMPEROR | usar el C99 estilo initializers, y no el gnu estilo, como gente esta yendo a traves de el nucleo |
completo <@gregkh> y convirtiendose. |
EMPEROR | en fin: |
EMPEROR | leer la documentacion/y el estilo del codigo |
EMPEROR | siguiendo |
EMPEROR | scripts/Lident |
EMPEROR | sin usar.. typedef |
tiri | alguna otra pregunta? |
EMPEROR | alguna pregunta .. ? |
EMPEROR | < snide> como evitar usando #ifdef CONFIG_MI OPCION en un camino practico |
entonces [ algun exemple ? ] como un ejemplo, mirar incluir/linux/hiddev.h y |
conductores/usb/entrada/ocultaba_nucleo |
EMPEROR | que obtener compilado fuera si #ifdef CONFIG_USB_HIDDEV no es permitido. |
EMPEROR | Yo tambien tengo un papel mas largo que era presentado en ols2002 sobre este |
tema en: http://www.kroah.com/linux/charlas/ols_2002_nucleo_codingstyle_papel/codingsty |
le.ps y algun desliza en: http://www.kroah.com/linux/charlas/ols_2002_nucleo_codingstyl |
e_charla/html/ <@gregkh> < snide> raja tan mejor arriba la .c ficheros ? |
EMPEROR | No, agrietar arriba las funciones, y usar funciones internas estaticas que |
hacen nada si la config opcion no es permitida, <@gregkh> entonces en el .c fichero, |
siempre llamada ellas. gcc les compilara fuera a nada si que opcion no es permitida. |
EMPEROR | tambien mirar incluir/seguridad.h en el 2.5.51 nucleo, el tiene lotes de |
ejemplos de esta si CONFIG_SEGURIDAD no es permitida. |
EMPEROR | < snide> asi usando una funcion que el contenido sera limpiado fuera con un |
#ifdef ? En un camino, ver los encima ejemplos para como el trabaja. |
EMPEROR | Porque el, algunas otras preguntas? Si alguien tiene algun mas tarde, sentir |
(gratis)libre a (email)correo mi. gregkh: agradece :) |
EMPEROR | en fin .. |
tiri | Gracias tambien a EMPEROR que a proporcionado una traduccion a español en tiemp |
real |
EMPEROR | colorin colorado.. ;) |
tiri | si X) |
EMPEROR | XD |
tiri | menudo lio que nos armamos antes |
tiri | jijiji |
EMPEROR | que les parecio la conferencia? |
overflow | que despelote de Traduccion |
EMPEROR | 4[tiri4] 1gracias.. ;) |
overflow | que programa usaron? |
tiri | dnd |
EMPEROR | tallas que rompen talals ;) |
tiri | overflow: nuestro cerebro y un cliente de irc cualquiera |
tiri | :) |
EMPEROR | XD |
JoelR | si webon.. |
overflow | por que decian ".c fichero" ? |
overflow | :S |
JoelR | puro copy & paste |
EMPEROR | aunque hubo un pequeño atraso.. ejem.. lorgamos enganchar otra vez |
JoelR | al power translator |
JoelR | :s |
overflow | LOL |
EMPEROR | dijeron .traductores.. traductores.. lo demas va por ti mano;) |
tiri | EMPEROR: si, menos mal que nos dejo tiempo para seguir traduciendo |
overflow | usaron "su cerebro, power traslator, y un cliente de irc cualquiera" |
EMPEROR | no men.. |
tiri | yo para la siguiente conferencia no podre asistir |
VicMedina | =) |
JoelR | a q hora es? |
tiri | tengo mañana examen de lengua (gramatica) X) |
EMPEROR | cerebro |
EMPEROR | y una pequeña web ;) |
EMPEROR | :p |
EMPEROR | pero igual.. todo esta ahi :D |
EMPEROR | que es lo importante.. |
overflow | VicMedina no ibas a traducir tu? |
VicMedina | yo traduje al principio |
EMPEROR | esto es ayuda de todos.. para que UMEET salga bien.. :) |
VicMedina | tenia que almorzar |
VicMedina | =) |
EMPEROR | aqui nadie se gana el premio.. todo el mundo aporta su pedacito de arena.. =) |
VicMedina | =) un poquito de ayuda de cada quien |
EMPEROR | gracias VicMedina... un gusto haber trabajado con ud. |
tiri | siento no haber puesto acentos en mis traducciones |
EMPEROR | igual para ud tiri :) |
tiri | pero habia que traducir muy rapido |
tiri | xD |
tiri | dnd EMPEROR |
EMPEROR | no te preocupes tiri.. aqui todo el mundo fue a la escuela :p |
VicMedina | gracias a todos por esta chala |
tiri | EMPEROR: hehe :) |
VicMedina | y por hacerla gratis |
JoelR | gracias a la bola! |
overflow | jajaj |
VicMedina | EMPEROR: queda pendiente las otras |
VicMedina | =) |
tiri | hola MJ-usa |
EMPEROR | si ni lo digas :p |
tiri | xDDD |
EMPEROR | aunque ..la del jueves de mi socio no podre traducirsela .. |
EMPEROR | :-( es muy tarde.. pero dejare la pc encendida..para llerla al dia siguiente ;) |
tiri | Yo estaria completamente encantado el sabado de traducir |
MJ-usa | pues hara falta muchos y buenos traductores |
MJ-usa | asi que se esperan voluntarios ! |
VicMedina | aqui estamos de paro |
VicMedina | asi que ayudo tambien |
SorcereR | alguien esta guardando los logs ? |
JoelR | yo me ofrezco |
tiri | yo ayudare en lo que pueda MJesus_ |
VicMedina | la traduccion se poine el linea |
VicMedina | el log completo traducido y corregido |
tiri | ispell / aspell tendran que hacer un trabajo por medio... :) |
VicMedina | =) mas unas limpiaditas |
VicMedina | extras |
tiri | tambien |
FJx | Victor q pasó q no seguiste? |
VicMedina | fui a almorzar |
VicMedina | es en equipos |
VicMedina | si yo me canso continua otro |
VicMedina | =) |
FJx | jejejej... oka |
twin | hola a todos |
EMPEROR | tiri te vas? |
MJesus_ | para los traductores |
MJesus_ | clap clap clap clap clap clap clap clap clap clap |
MJesus_ | clap clap clap clap clap clap clap clap clap clap |
MJesus_ | clap clap clap clap clap clap clap clap clap clap |
MJesus_ | clap clap clap clap clap clap clap clap clap clap |
VicMedina | MJesus_: nos vemos en la proxima |
VicMedina | gracias por la oportunidad de ayudar ys e rutil |
MJesus_ | Vic, por supuesto... muchas gracia ati |
MJesus_ | y dentro de poco, hay as oportunidades :)) |
EMPEROR | Vic. saludos para ti.. ya nos leeremos ;) |
MJesus_ | osea, dentro de dos horas exactamente, es al reves: de español a ingles |
EMPEROR | bueno.. ya termino todo.. |
VicMedina | =) si |
EMPEROR | entonces..... |
VicMedina | se necesita ayuda para limpiar el log? |
MJesus_ | lo tienes entero ? |
MJesus_ | entero linux y redes ? |
VicMedina | creo que si |
VicMedina | cheking... |
MJesus_ | pues no hace falta limpiarlo: lo limpian scrip |
EMPEROR | tambien la tengo toda.. |
EMPEROR | los 2 canales.. |
MJesus_ | pero si que lo mandaras ahorita mismo, si puedes: a umeet@uninet.edu |
EMPEROR | auqnue hay que prepararlos jeje |
VicMedina | no |
VicMedina | falta un pedazo al comienzo |
MJesus_ | a ver, que mande alguien |
MJesus_ | de que canal falta ? |
EMPEROR | yo tengo .. redes y linux .. en qc no entre |
Kefar | que canal VicMedina |
FJx | yo tengo los 3, porsi alguien los necesita... |
FJx | te los puedo mandar, Vic |
Kefar | tngo completo #linux |
VicMedina | los dos |
MJesus_ | qc linux y redes ? |
VicMedina | linux y redes |
MJesus_ | manda a umeet@uninet.edu por favor |
VicMedina | faltan como 10-15 lineas al principio |
MJesus_ | los 3 completos (sin limpiar) |
EMPEROR | tengo linux y redes sin limpiar... |
EMPEROR | qc no |
EMPEROR | podrian ir avanzando mientras :p |
MJesus_ | FJx que tiene los 3 .... |
EMPEROR | FJx, si tienes los 3 ..dale..men.. que falta mucha gente por leer.. :) y los temas de conferencias |
..mientras mas rapidos se expongan mejor.. |
EMPEROR | ademas.. sin limpiar.. |
VicMedina | FJx: freddy pasamelos a mi tambien pana |
FJx | dale, sure |
MJesus_ | y estan muy sucios ?? |
FJx | ya va, un pelo pls... |
EMPEROR | enseguida estoy de vuelta :p |