Participar en proyectos de software libre

Participar en proyectos de software libre

  1. #16
    Mega Usuari@
    Registrad@ el
    14/04/2009
    Localidad
    JALISIA
    Sexo
    Chico
    Edad
    42
    Mensajes
    5.182
    Agradecido
    2710 veces
    Temas
    93
    Gracias / Me gusta
    Hijitusolvidosupass escribió: Ver mensaje
    *



    Se te ocurre alguna forma de scrapear muy rápido, y sin dejarse un pastizal en proxys? Suponiendo que la web no tiene anti-bot. Bueno, básicamente quiero scrapear todo menéame y no quiero esperar 20 horas xD

  2. #17
    I WANT CHAFLA BACK
    Registrad@ el
    22/12/2014
    Localidad
    Waterloo, Canada
    Sexo
    Chico
    Edad
    28
    Mensajes
    1.237
    Agradecido
    1106 veces
    Temas
    8
    Gracias / Me gusta
    Vaina Loca escribió: Ver mensaje
    Se te ocurre alguna forma de scrapear muy rápido, y sin dejarse un pastizal en proxys? Suponiendo que la web no tiene anti-bot. Bueno, básicamente quiero scrapear todo menéame y no quiero esperar 20 horas xD
    ¿Otra que hacerlo en paralelo? No sabría decirte. Suponiendo que quieras scrapear las páginas de la web (llámemosle Y al número) principal de menéame, lo que yo haría es empezar X servidores, darles X/Y páginas a cada uno, guardar todo en S3 (por ejemplo) y luego hacer un merge. Lo mismo si tenes un solo servidor pero con muchos cores, podes empezar uno con 16 procesadores, darle 16 procesos al mismo tiempo y partir la carga de ese modo. Pero en ese caso la tarjeta de red del servidor se te convierte en un embudo. Si no hay sistema anti-bot, con esa solución no necesitarías proxy.

    Al margen de paralelizar (o si no hay manera de paralelizar)... No creo que haya mucha solución la verdad . En estos casos yo simplemente meto más recursos y no me como la cabeza.

  3. #18
    Mega Usuari@
    Registrad@ el
    14/04/2009
    Localidad
    JALISIA
    Sexo
    Chico
    Edad
    42
    Mensajes
    5.182
    Agradecido
    2710 veces
    Temas
    93
    Gracias / Me gusta
    Hijitusolvidosupass escribió: Ver mensaje
    ¿Otra que hacerlo en paralelo? No sabría decirte. Suponiendo que quieras scrapear las páginas de la web (llámemosle Y al número) principal de menéame, lo que yo haría es empezar X servidores, darles X/Y páginas a cada uno, guardar todo en S3 (por ejemplo) y luego hacer un merge. Lo mismo si tenes un solo servidor pero con muchos cores, podes empezar uno con 16 procesadores, darle 16 procesos al mismo tiempo y partir la carga de ese modo. Pero en ese caso la tarjeta de red del servidor se te convierte en un embudo. Si no hay sistema anti-bot, con esa solución no necesitarías proxy.

    Al margen de paralelizar (o si no hay manera de paralelizar)... No creo que haya mucha solución la verdad . En estos casos yo simplemente meto más recursos y no me como la cabeza.



    Porque te lo paga el curro, yo lo tengo que pagar de mi bolsillo xD

    Puff no sé cómo voy a hacer.

  4. #19
    I WANT CHAFLA BACK
    Registrad@ el
    22/12/2014
    Localidad
    Waterloo, Canada
    Sexo
    Chico
    Edad
    28
    Mensajes
    1.237
    Agradecido
    1106 veces
    Temas
    8
    Gracias / Me gusta
    Vaina Loca escribió: Ver mensaje
    Porque te lo paga el curro, yo lo tengo que pagar de mi bolsillo xD

    Puff no sé cómo voy a hacer.
    Fair enough xD. Si no puedes meter más servidores, me temo que no hay más vuelta que esperar.

    Para proyectos personales normalmente pongo en paralelo un par de RaspberryPi que tengo en casa, si te sirve. Pero volvemos al problema del cuello de botella en la red.

  5. #20
    Mega Usuari@
    Registrad@ el
    14/04/2009
    Localidad
    JALISIA
    Sexo
    Chico
    Edad
    42
    Mensajes
    5.182
    Agradecido
    2710 veces
    Temas
    93
    Gracias / Me gusta
    Hijitusolvidosupass escribió: Ver mensaje
    Fair enough xD. Si no puedes meter más servidores, me temo que no hay más vuelta que esperar.

    Para proyectos personales normalmente pongo en paralelo un par de RaspberryPi que tengo en casa, si te sirve. Pero volvemos al problema del cuello de botella en la red.



    Ya que estamos en esta movida, sueles usar rotación de proxys? Lo hacéis en local o lo contratáis a algún servicio? Yo he probado algunos (como shader.io) pero son bastante careiros. Mi objetivo es ahorrar xD, si fallan de vez en cuando no pasa na, que hago la petición de nuevo.

    Hasta ahora he venido usando P2P Proxies, que cobran a 3 pavos el GB. Me arruino, pero menos que pagando 1 pavo por cada proxy xD

  6. #publi
    Publicidad

     

  7. #21
    I WANT CHAFLA BACK
    Registrad@ el
    22/12/2014
    Localidad
    Waterloo, Canada
    Sexo
    Chico
    Edad
    28
    Mensajes
    1.237
    Agradecido
    1106 veces
    Temas
    8
    Gracias / Me gusta
    Vaina Loca escribió: Ver mensaje
    Ya que estamos en esta movida, sueles usar rotación de proxys? Lo hacéis en local o lo contratáis a algún servicio? Yo he probado algunos (como shader.io) pero son bastante careiros. Mi objetivo es ahorrar xD, si fallan de vez en cuando no pasa na, que hago la petición de nuevo.

    Hasta ahora he venido usando P2P Proxies, que cobran a 3 pavos el GB. Me arruino, pero menos que pagando 1 pavo por cada proxy xD
    Depende. Si es un proyecto para mi empresa, normalmente evitamos tener que usar un proxy (por lo general si tienes que esconder tu ip, es que los dueños de la web no quieren que los scrapees y como empresa les puede traer problemas). Cuando necesitamos usarlos por motivos legítimos (por lo general para hacer tests basados en geolocalización), tienen contratado un servicio que hace rotaciones automáticas y demás. No recuerdo el nombre pero lo puedo mirar hoy te digo.

    Si es para proyectos personales, sí, hago rotaciones. Y normalmente lo hago desde mis propios proxys. Es decir, tengo un par de servidores en amazon en las localizaciones que me interesan y un par de python script que periódicamente quitan la ip pública del servidor y asignan una nueva. Pero eso es porque a mí me gustan estas movidas y disfruto configurando esas cosas. En cualquier otro caso simplemente usaría el mismo servicio que la empresa donde trabajo.

  8. #22
    Mega Usuari@
    Registrad@ el
    14/04/2009
    Localidad
    JALISIA
    Sexo
    Chico
    Edad
    42
    Mensajes
    5.182
    Agradecido
    2710 veces
    Temas
    93
    Gracias / Me gusta
    Hijitusolvidosupass escribió: Ver mensaje
    Depende. Si es un proyecto para mi empresa, normalmente evitamos tener que usar un proxy (por lo general si tienes que esconder tu ip, es que los dueños de la web no quieren que los scrapees y como empresa les puede traer problemas). Cuando necesitamos usarlos por motivos legítimos (por lo general para hacer tests basados en geolocalización), tienen contratado un servicio que hace rotaciones automáticas y demás. No recuerdo el nombre pero lo puedo mirar hoy te digo.

    Si es para proyectos personales, sí, hago rotaciones. Y normalmente lo hago desde mis propios proxys. Es decir, tengo un par de servidores en amazon en las localizaciones que me interesan y un par de python script que periódicamente quitan la ip pública del servidor y asignan una nueva. Pero eso es porque a mí me gustan estas movidas y disfruto configurando esas cosas. En cualquier otro caso simplemente usaría el mismo servicio que la empresa donde trabajo.


    Me harías un favor mirando lo del curro, aunque intuyo que será alguno de los servicios que ya he descartado. Yo estoy usando esto: http://proxies.online/

    Levantar varios VPS a parte de ser un coñazo (yo no disfruto configurando xD) intuyo que será más caro.

  9. #23
    I WANT CHAFLA BACK
    Registrad@ el
    22/12/2014
    Localidad
    Waterloo, Canada
    Sexo
    Chico
    Edad
    28
    Mensajes
    1.237
    Agradecido
    1106 veces
    Temas
    8
    Gracias / Me gusta
    Vaina Loca escribió: Ver mensaje
    Me harías un favor mirando lo del curro, aunque intuyo que será alguno de los servicios que ya he descartado. Yo estoy usando esto: http://proxies.online/

    Levantar varios VPS a parte de ser un coñazo (yo no disfruto configurando xD) intuyo que será más caro.
    Me equivocaba, no usamos proxies, usamos VPNs: https://www.privateinternetaccess.com/. Y son un poco más caras...

    No es más caro si usas servicios como AWS lambda. Creo que entre pitos y flautas me sale ligeramente más barato que lo que estás gastando ahora (o sobre el mismo precio). Pero claro, eso sin considerar las horas perdidas creando docker images y probando todo para que funcione bien. Que es un curro importante. Y tiene el límite de que estoy usando solo dos servidores, si quiero escalar horizontalmente el precio se dispara.

  10. #24
    Mega Usuari@
    Registrad@ el
    14/04/2009
    Localidad
    JALISIA
    Sexo
    Chico
    Edad
    42
    Mensajes
    5.182
    Agradecido
    2710 veces
    Temas
    93
    Gracias / Me gusta
    Hijitusolvidosupass escribió: Ver mensaje
    Me equivocaba, no usamos proxies, usamos VPNs: https://www.privateinternetaccess.com/. Y son un poco más caras...

    No es más caro si usas servicios como AWS lambda. Creo que entre pitos y flautas me sale ligeramente más barato que lo que estás gastando ahora (o sobre el mismo precio). Pero claro, eso sin considerar las horas perdidas creando docker images y probando todo para que funcione bien. Que es un curro importante. Y tiene el límite de que estoy usando solo dos servidores, si quiero escalar horizontalmente el precio se dispara.
    Me temo entonces que más barato sólo quedaría comprar una botnet, y como que paso.

    El problema de la solución que uso ahora es que para bombardear APIs no tengo problemas, pero sobre html ya el consumo me sube una barbaridad.

    Además de la latencia, que en el pool worldwide a veces llega a los 500ms (por ejemplo saliendo con ips asiaticas).

    Bueno, pues nada, a gastar pues.

  11. #25
    Moderador/a
    Registrad@ el
    15/04/2007
    Localidad
    Bcn
    Sexo
    Chica
    Mensajes
    13.631
    Agradecido
    1539 veces
    Temas
    548
    Gracias / Me gusta
    Hola,

    He estado unos días buscando algo del estilo de Free Code Camp para Python. Alguien en Reddit ya preguntó acerca del tema y se ve que ahora mismo están desarrollando el módulo para Python.

    He encontrado una plataforma similar llamada Odin's Project, pero está enfocado especialmente a Ruby, xd. Dejo la web por aquí por si es de utilidad: https://www.theodinproject.com/.

    De momento, creo que os haré caso y me centraré en algún proyecto que tengo en mente, xd. Hacía tiempo que pensaba en algo similar a una web, pero en lugar de recetas, de componentes E-XXX veganos y no veganos. Hay una app de móvil que hace eso pero no hay ninguna base de datos fiable en página web en español. Le echaré un ojo al manual de estilo de Python también,

    Ya de paso quería aprovechar el hilo para preguntaros un par de cosillas, xd. Me gustaría tirar hacia el ámbito de la bioinformática, pero estando en 1º de carrera no puedo hacer prácticas. Además, no tengo asignaturas relacionadas en el grado. Hasta que no haga el master no podré especializarme realmente. ¿Cómo puedo ir adetrándome en ese ámbito desde ya?

    Vi un par de cursos en Coursera como introducción a la bioinformática que pintaban bien. ¿Después esos cursos cómo los introducís en el CV? ¿O es muy pasado de rosca poner que hiciste un curso gratuito online?

    Muchas gracias!

  12. #26
    Mega Usuari@
    Registrad@ el
    14/04/2009
    Localidad
    JALISIA
    Sexo
    Chico
    Edad
    42
    Mensajes
    5.182
    Agradecido
    2710 veces
    Temas
    93
    Gracias / Me gusta
    Creo que quieres demasiadas cosas a la vez. Yo tengo un nivel bajo en python y me llevo un año y pico tener suficiente soltura para poder hacer los pequeños programas que uso. Eso para que te hagas una idea

    Da la casualidad de que trabajo también con datos, asi que entraría también en el perfil de bioinformática.

    Eso es mucha estadística y mucho tratamiento de datos. Otro año minimo.

    Programar es muy frustrante hasta que no coges cierta soltura porque te bloqueas con todo. Si no te centras en un tema y le das duro es difícil que pases esa fase.

  13. #27
    Moderador/a
    Registrad@ el
    15/04/2007
    Localidad
    Bcn
    Sexo
    Chica
    Mensajes
    13.631
    Agradecido
    1539 veces
    Temas
    548
    Gracias / Me gusta
    Mi pregunta iba más enfocada a futuro. Soy totalmente consciente de que mi nivel es principiante y a dónde puedo aspirar. Mi duda principal es como suplir la carencia de conocimientos biológicos cómo podría orientarme hacia ello más adelante teniendo en cuenta que no tengo optativas relacionadas con lo que me interesa. Todo, como digo, de cara al futuro.

    Gracias!
    Última edición hecha por ........, 30/04/2017 a las 19:56.

  14. #28
    I WANT CHAFLA BACK
    Registrad@ el
    22/12/2014
    Localidad
    Waterloo, Canada
    Sexo
    Chico
    Edad
    28
    Mensajes
    1.237
    Agradecido
    1106 veces
    Temas
    8
    Gracias / Me gusta
    ........ escribió: Ver mensaje
    Hola,

    He estado unos días buscando algo del estilo de Free Code Camp para Python. Alguien en Reddit ya preguntó acerca del tema y se ve que ahora mismo están desarrollando el módulo para Python.

    He encontrado una plataforma similar llamada Odin's Project, pero está enfocado especialmente a Ruby, xd. Dejo la web por aquí por si es de utilidad: https://www.theodinproject.com/.

    De momento, creo que os haré caso y me centraré en algún proyecto que tengo en mente, xd. Hacía tiempo que pensaba en algo similar a una web, pero en lugar de recetas, de componentes E-XXX veganos y no veganos. Hay una app de móvil que hace eso pero no hay ninguna base de datos fiable en página web en español. Le echaré un ojo al manual de estilo de Python también,

    Ya de paso quería aprovechar el hilo para preguntaros un par de cosillas, xd. Me gustaría tirar hacia el ámbito de la bioinformática, pero estando en 1º de carrera no puedo hacer prácticas. Además, no tengo asignaturas relacionadas en el grado. Hasta que no haga el master no podré especializarme realmente. ¿Cómo puedo ir adetrándome en ese ámbito desde ya?

    Vi un par de cursos en Coursera como introducción a la bioinformática que pintaban bien. ¿Después esos cursos cómo los introducís en el CV? ¿O es muy pasado de rosca poner que hiciste un curso gratuito online?

    Muchas gracias!
    No te preocupes tanto por los cursos online del palo de Free Code Camp. Si hay alguno disponible guay, si no sigue tu proyecto. Yo lo intentaría enfocar en esto:

    - Lee acerca de Flask. Ni te metas con Django, porque es un mundo aparte. Es casi como aprender un lenguaje de programación de cero. Y si no quieres hacer programación web, ni merece la pena. Lee sobre Flask, sobre HTML y sobre SQL. Haz una página simple como la que quieres con Python.
    - Empieza a usar git en tu proyecto. Ponlo en github, acostúmbrate a la (rara) interfaz de git y a sus comandos y a cómo administrar sistemas de versiones.
    - Añade control de permisos en tu página web. Básicamente, una especie de parte escondida, donde te logueas y puedes escribir contenido ahí. Lee sobre los estándares de autenticación y aplícalos.
    - Añade tests unitarios a tu página web. Asegura de que pruebas automáticamente cada una de las funciones de tu aplicación.
    - Vete a Google Cloud Compute, usa el free tier y contrata un servidor pequeñito gratis. Aprende cómo hacer deploys usando fabric y cómo mover tu código a producción.
    - Conecta tu github con TravisCI y haz que cada push a master corra tus tests unitarios y si pasan, use tus scripts en fabric para publicar tus cambios en producción automáticamente. Felicidades, ahora sabes web programming, testing, infrastructure in code y continuous integration. Tienes una página más moderna y estable que el 90% de las startups españolas.

    Todo eso te debería llevar al menos seis meses. Al final, tendrás un par de cosas interesantes: Estarás cómoda con Python, sabrás los conceptos básicos de cloud, sabrás como probar tu código y sabrás cómo usar tus herramientas de programación (editor, control de versiones, sistemas de integración continua).

    Solo entonces estarás lista para empezar a especializarte. Comentas que te gusta bioinformática. Tiene sentido, es un sector genial . Si me ofreciesen hoy otro trabajo de nuevo en bioinformática, pagando la mitad de lo que gano ahora, me costaría resistirme. Es sin duda uno de los sectores que más disfruté. Pero es MUY complejo. Bioinformática, profesionalmente requiere que sepas muy bien:

    - Estadística.
    - Minería de datos.
    - Programación paralela y asíncrona.
    - Sistemas distribuidos.

    De todos esos temas, el más "fácil" es estadística y no es fácil para nada. La mayoría de la gente, incluyendo gente en STEM, no tiene ni puta idea de estadística. Y Si no me equivoco no es una materia obligatoria en muchos currículums de informática (debería ser obligatoria en todas las carreras...). Mira tu currículum. SI no lo es, mentalízate que o bien la tomas como optativa o bien vas como oyente.

    Minería de datos es muy compleja y no tiene sentido estudiarla sin saber estadística bien (por qué hay carreras que dan minería de datos sin poner estadística como obligatoria es un misterio incomprensible). Pero si haz prestado atención en tu clase de estadística, se saca con un poco de esfuerzo. Es básicamente una versión aplicada a grandes bases de datos.

    Programación paralela y asíncrona es uno de los temas que más dolor de cabeza da a los ingenieros de software. De hecho, es quizá la parte más complicada de entender. Yo aún he tenido que leer MUCHO material fuera de mi carrera para poder aplicarlo bien. Programación asíncrona ni siquiera la cubren en muchos currículums, solo paralela. Te recomiendo que prestes atención en tus materias sobre sistemas operativos y threads. Te recomiendo que leas sobre inmutabilidad, rutinas, hilos y semáforos e interiorices cada concepto.

    Sistemas distribuidos, si entiendes programación paralela y sabes de redes, no es tan complicado. Es básicamente reemplazar hilos y rutinas por servidores y mover los semáforos a protocolos de red.

    Cuando tengas todo esto, lee sobre Spark y disfruta de cómo esa framework se ocupa de toda esa complejidad por ti .

    Hacer un MOOC te servirá, pero solo a nivel general y no profesional. Asegúrate de tener todo lo demás, eso marca muchas diferencias. Lo que sí sirve, es cuando aún no tienes experiencia profesional, para tener algo e ntu CV que muestre donde te especializas. Y en general es algo positivo cuando empresas contratan recién graduados.

    Pero todo esto es alto nivel y, de nuevo, requiere mucho tiempo. No intentes hacer todo a la vez. Concéntrate en tu web y en los pasos que puse al principio. Luego toma tu curso de estadística. Luego minería de datos. Luego aprende sobre programación en paralelo. Luego vete a sistemas distribuidos. Luego lee cómo aplicar todo eso para hacer bioinformática.

    Y más que un MOOC, te recomiendo lo siguiente: Busca un paper facilito e intenta replicar sus métodos. Hay montones por ahí (yo siempre recurro a "Papers we love": https://github.com/papers-we-love/papers-we-love). Pero haz esto luego de haber pasado por todo lo demás. Y si a una empresa les muestras que eres capaz de leer un paper e implementar y replicar sus resultados, vences cualquier MOOC.

  15. Me gusta ........ le ha gustado este mensaje
  16. #29
    I WANT CHAFLA BACK
    Registrad@ el
    22/12/2014
    Localidad
    Waterloo, Canada
    Sexo
    Chico
    Edad
    28
    Mensajes
    1.237
    Agradecido
    1106 veces
    Temas
    8
    Gracias / Me gusta
    Ah, y si no tienes soltura con Linux, intenta empezar a usarlo desde ahora. Te vas a pasar muuuucho tiempo buscando errores en sesiones ssh

  17. #30
    Mega Usuari@
    Registrad@ el
    14/04/2009
    Localidad
    JALISIA
    Sexo
    Chico
    Edad
    42
    Mensajes
    5.182
    Agradecido
    2710 veces
    Temas
    93
    Gracias / Me gusta
    Hijitusolvidosupass escribió: Ver mensaje
    por qué hay carreras que dan minería de datos sin poner estadística como obligatoria es un misterio incomprensible).
    ???

    Pero entonces, qué hacen exáctamente? aprender a usar hadoop y demás?

    No sé, yo creo que para empezar lo primero sería python + sql. Pueden empezar instalando SQLite por ejemplo, aunque sea una aberración le enseñará SQL, y eso luego le da acceso a muchas BD's.

    Por cierto, qué opinas de este curso? https://learnpythonthehardway.org/book/ mucha gente lo recomienda, pero echándole un vistazo parece que usa python 2.7 aún, no sé, además el tío recomienda NO usar python 3. No entiendo muy bien por qué lo recomienda tanta gente.

  18. Me gusta ........ le ha gustado este mensaje

Permisos de tu Usuario

  • No puedes crear nuevos temas
  • No puedes publicar respuestas
  • No puedes adjuntar archivos
  • No puedes editar tus mensajes
  •  
  • El código BB está activado
  • Los emoticonos están activados
  • La etiqueta [IMG] está activado
  • La etiqueta [VIDEO] está activado
  • El código HTML está desactivado

Temas similares

  1. El crecimiento del Software Libre
    Por opositivo en Acción Social
    Respuestas: 10
    Último mensaje: 09/06/2010, 12:12
  2. Los partidos políticos vascos y el Software Libre
    Por opositivo en elKonsultorio de Informática
    Respuestas: 1
    Último mensaje: 02/03/2009, 11:47
  3. Programa edicion de video, software libre
    Por Die Mapa Schön en elKonsultorio de Informática
    Respuestas: 4
    Último mensaje: 04/07/2008, 0:13
  4. El software libre es bueno para el medio ambiente
    Por [G]AMMA en elKonsultorio de Informática
    Respuestas: 2
    Último mensaje: 06/04/2007, 17:32
  5. El software libre no es de pobres, sino de inteligentes
    Por [G]AMMA en elKonsultorio de Informática
    Respuestas: 1
    Último mensaje: 08/02/2007, 19:11
Feedback Buttons provided by Advanced Post Thanks / Like (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.