14:04:25 <terceiro> #startmeeting
14:04:25 <MeetBot> Meeting started Thu Jul 21 14:04:25 2016 UTC.  The chair is terceiro. Information about MeetBot at http://wiki.debian.org/MeetBot.
14:04:25 <MeetBot> Useful Commands: #action #agreed #help #info #idea #link #topic.
14:04:26 <lucasmoura> sem problemas
14:04:54 <terceiro> quem quer começár?
14:05:00 <lucasmoura> Eu posso começar
14:05:22 <terceiro> #topic lucasmoura
14:05:43 <lucasmoura> What I have done during the weekend:
14:05:43 <lucasmoura> * Create the AppStream patch as discussed on DebConf
14:05:43 <lucasmoura> https://github.com/ximion/appstream/pull/45
14:05:43 <lucasmoura> * Started looking of how to improve AppRecommender package
14:05:43 <lucasmoura> What I will do this week:
14:05:44 <lucasmoura> * Improve AppRecommender package
14:05:44 <lucasmoura> * Create the cronjob for both apprec --init and apprec --train
14:05:45 <lucasmoura> * Create blog post on planet
14:05:58 <lucasmoura> Essa semana eu realmente não fui muito efetivo
14:06:13 <terceiro> é, fisl, tcc
14:06:14 <terceiro> normal
14:06:19 <lucasmoura> Eu consegui mandar o patch para o AppStream e estou aguardando o review do Matthias
14:06:36 <terceiro> certo
14:06:40 <lucasmoura> e comecei a dar uma olhada em como melhorar o pacote do AppRecommender
14:06:53 <terceiro> lembre q esse não é o objetivo do seu projeto :)
14:07:11 <lucasmoura> alias, eu recebi um bug no pacote, mas não entendi perfeitamente do que se trata
14:07:22 <terceiro> diretamente, né. seria bom tentar avançar na questão do suporte a um frontend grafuc
14:07:24 <terceiro> grafico
14:08:00 <terceiro> #link https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=831217
14:08:18 <terceiro> lucasmoura: isso é porque o setup.py está instalando o bin/ como se fosse um pacote python
14:08:21 <terceiro> isso está errado
14:08:35 <lucasmoura> Minha única questão com isso e que já mudou tantas vezes a abordagem de como isso vai funcionar no AppStream, que eu não sei se é uma boa começar antes do patch ser aprovado
14:08:56 <terceiro> lucasmoura: ok, faz sentido
14:09:03 <terceiro> vou aceitar seu migué kkk
14:09:10 <lucasmoura> kkkkkk
14:09:42 <lucasmoura> mas vou olhar o setup.py então
14:10:00 <lucasmoura> e ver pq isso está acontecendo
14:10:10 <terceiro> lucasmoura: agora eu olhei e não deve ser o setup.py não
14:10:24 <terceiro> tem um bocado de coisa dentro de bin/
14:10:35 <terceiro> isso provavelmente tá errado
14:10:58 <lucasmoura> sim, são uns scripts de auxílio que nos estavamos usando
14:11:04 <terceiro> dá uma estudada no jeito certo de estruturar um pacote python
14:11:11 <lucasmoura> certo
14:11:35 <terceiro> se eles forem necesários no pacote, tem que mover eles pra dentro de apprecommender/
14:11:49 <terceiro> se só forem úteis em desenvolvimento, tem que fazer com q eles não sejam instalados
14:12:00 <lucasmoura> Sim, é exatamente a segunda opção
14:12:20 <lucasmoura> só o apprec.py que deveria ser instalado
14:12:23 <terceiro> #info apprecommender installs files that it shouldn't (#831217)
14:12:46 <terceiro> #action lucasmoura to fix #831217
14:13:10 <terceiro> lucasmoura: de qq forma, bin/ é um nome de pacote muito genérico
14:13:28 <terceiro> bin/apprec.py é o comando principal?
14:13:31 <terceiro> /usr/bin/apprec ?
14:13:57 <terceiro> enfim, o empacotamento python não está certo
14:14:10 <lucasmoura> isso
14:14:14 <terceiro> eu deveria ter notado isso na revisão, mas me passei
14:14:26 <lucasmoura> Certo, vou revisar o empacotamento todo então
14:15:09 <terceiro> é tudo no empacotamento upstream, não no debian/
14:15:18 <terceiro> quando o upstream é são, o debian/ é trivial
14:15:44 <lucasmoura> okay
14:16:21 <terceiro> lucasmoura: senti falta da questão da pesquisa com usuarios
14:16:29 <terceiro> tá incluido no blog post?
14:16:44 <lucasmoura> Sim
14:16:59 <terceiro> blz então
14:17:09 <lucasmoura> Essa semana eu vou juntar com o Luciano para fazermos aquele texto explicando o AppRecommender e o processo dele
14:17:10 <terceiro> diga isso explicitamente no report pra lista então :)
14:17:22 <terceiro> blz
14:17:31 <lucasmoura> Okay
14:17:51 <terceiro> #info lucasmoura and lucianopc will write a text presenting apprecommender "to the Debian community"
14:18:05 <terceiro> lucasmoura: mais algumas coisa?
14:18:31 <lucasmoura> Bom, eu levantei uma lista de coisas que discutimos lá na DebConf para melhorar o AppRecommender
14:18:37 <terceiro> lucasmoura: diga explicitamente no report q teve pouco progresso prático por causa de debconf/fisl/tcc etc
14:18:43 <terceiro> isso é normal, e a gente quer saber
14:19:30 <lucasmoura> Certo
14:19:39 <lucasmoura> Ai a lista ficou assim:
14:19:41 <lucasmoura> * Make apprec --init be executed on package install
14:19:41 <lucasmoura> * Create a cronjob to keep executing apprec --init and apprec --train
14:19:41 <lucasmoura> * Add to apprec --contribute a way for an user to explain why a recommendation was BAD
14:19:41 <lucasmoura> * Better filter which packages are going to the user profile, like the sudo package
14:19:42 <lucasmoura> * Fix problem that when an apt update is used, the AppRecommender database can be outdated
14:19:42 <lucasmoura> * Create an iterative version of AppRecommender
14:19:42 <lucasmoura> * Exclude query terms that are also present on bad packages (Experiment)
14:19:43 <lucasmoura> * Create intersection between apprecommender strategies
14:19:43 <lucasmoura> * Refactor the strategy code of AppRecommender
14:19:46 <lucasmoura> * Understand why cbtm is taking too much time to run
14:19:46 <lucasmoura> * Change location of AppRecommender database to /var
14:20:16 <lucasmoura> Caso acha que eu deva realizar alguma dessas tarefas essa semana, ou se faltou algo, me avisa, que eu já puxo isso essa semana
14:20:59 <terceiro> lucasmoura: rapaz ... é coisa pra cacete
14:21:18 <terceiro> acho que tem que fazer um arquivo TODO/ROADMAP nos fontes, e botar isso lá
14:21:18 <lucasmoura> kkkk é uma verdade
14:21:33 <lucasmoura> Tranquilo
14:21:50 <terceiro> acho q pra essa semana jáj tem trabalho suficiente
14:21:51 <terceiro> ?
14:22:26 <lucasmoura> Bom, caso eu termine essas tarefas antes do tempo
14:22:36 <lucasmoura> eu posso puxar algumas dessas ai
14:22:53 <terceiro> ok
14:22:57 <lucasmoura> Acho que uma boa seria tirar os arquivos do AppRecommender da home do usuário
14:23:05 <lucasmoura> pq isso realmente tá feio
14:24:02 <terceiro> sim
14:24:15 <terceiro> eu acho q o apprecommender deveria funcionar como o apt nesse aspecto
14:24:26 <terceiro> as ações que modificam a base de dados precisam ser feitas como root
14:24:27 <lucianopc> terceiro: domingo que vem o lucasmoura vai ir pra São Paulo, acho que seria interessante essa semana nós discutirmos sobre a estratégia de recomendação baseada em pacotes específicos, por exemplo, o pacote que o usuário acabou de instalar
14:24:35 <terceiro> e as de somente leitura, qq usuario pode fazer
14:24:59 <terceiro> lucianopc: ok, mas o que isso tem a ver com lucasmoura ir pra são paulo? :)
14:25:22 <lucianopc> terceiro: para podermos discutir algumas coisas pessoalmente
14:25:43 <terceiro> lucianopc: pessoalmente com quem? eu não etsava com planos de ir pra são paulo :)
14:26:14 <lucianopc> terceiro: pessoalmente eu e o lucasmoura
14:26:20 <terceiro> ah
14:26:31 <terceiro> lucianopc: sim, com certeza
14:26:38 <terceiro> pode ser
14:26:59 <lucianopc> terceiro: vlw
14:27:22 <terceiro> vcs podem conversar, e se quiserem/precisarem de um input meu, falem comigo q a gente marca uma conversa
14:27:36 <lucasmoura> certo
14:27:36 <lucianopc> terceiro: ok, obrigado
14:28:13 <terceiro> tentem levantar questões/problemas relacionados antes, pra nossa conversa (se for o caso) ser produtiva
14:28:38 <terceiro> lucasmoura: era isso?
14:28:52 <lucasmoura> acho que da minha parte foi só isso mesmo
14:29:05 <terceiro> ok
14:29:09 <terceiro> vamos em frente
14:29:16 <terceiro> #topic lucianopc
14:29:20 <terceiro> vc agora
14:29:28 <lucianopc> What was done
14:29:28 <lucianopc> =============
14:29:28 <lucianopc> Test script performance with mirror packages
14:29:28 <lucianopc> - Use debian stable and unstable mirrors[1] to identify debian packages
14:29:28 <lucianopc> that are used on popcon cluster script
14:29:29 <lucianopc> [1] - ftp://ftp.br.debian.org/debian/dists/stable/
14:29:29 <lucianopc> Create tasks and continue documentation about privacy security
14:29:30 <lucianopc> - Update AppRecommender privacy text on pad[2]
14:29:30 <lucianopc> [2] - https://pad.riseup.net/p/apprec-privacy
14:29:32 <lucianopc> Rebase AppRecommender collaboration flag with branch master
14:29:32 <lucianopc> - The branch of collaboration strategy was updated with the official master
14:29:35 <lucianopc> branch of AppRecommender
14:29:35 <lucianopc> Created an first strategy to makes relation between an installed package
14:29:36 <lucianopc> with the user profile to makes the recommendation
14:29:36 <lucianopc> - This strategy use the content-based recommendation, generating more than
14:29:38 <lucianopc> 100 recommendations, after this, every recommendation its compared with
14:29:38 <lucianopc> the referenced package, that can be an installed package, so these
14:29:41 <lucianopc> 100 recommendations are reordered by proximity with the referenced package
14:29:41 <lucianopc> Milestone: https://gitlab.com/AppRecommender/AppRecommender/milestones/12
14:29:42 <lucianopc> To the next week
14:29:42 <lucianopc> ================
14:29:44 <lucianopc> - Create privacy text to use popcon data
14:29:44 <lucianopc> - Create another strategy for makes recommendation with a referenced package
14:29:46 <lucianopc> - Refactor create_popcon_clusters script
14:29:46 <lucianopc> Milestone: https://gitlab.com/AppRecommender/AppRecommender/milestones/13
14:30:23 <lucianopc> terceiro: o report está contando as duas ultimas semanas, considerando que não fui produtivo durante o fisl
14:30:41 <terceiro> k
14:30:54 <terceiro> lucianopc: vc tb, diga isso explicitamente no report
14:31:09 <lucianopc> ok
14:31:58 <terceiro> lucianopc: tente priorizar a parte do popcon
14:32:09 <lucianopc> terceiro: ok
14:32:17 <terceiro> pq é algo que vai depender dos outros, então quanto antes a "sua parte" estiver ok, melhor
14:33:17 <lucianopc> terceiro: blz, eu vou trabalhar naquele texto essa semana, e pedir uma ajuda pro lucasmoura, principalmente no inglês
14:33:22 <terceiro> vcs vão trabalhar juntos no texto sobre popcon e privacidade, né?
14:33:27 <lucianopc> sim
14:33:29 <lucasmoura> sim
14:33:47 <terceiro> ok, vamos combinar q eu espero uma versão inicial desse texto até a reunIão da semana q vem, ok?
14:33:54 <lucasmoura> sem problema
14:33:55 <lucianopc> ok
14:34:09 <terceiro> #info initial version of the popcon data +privacy issues due next meeting
14:34:17 <terceiro> #info terceiro will review
14:34:26 <terceiro> #info terceiro will review the initial version of the popcon data +privacy issues
14:36:07 <lucianopc> terceiro: lembrei que tinhamos conversado também sobre como os arquivos do popcon serão transferidos para o usuário, nas proximas semanas acha que já devia ir pensando numa implementação disso?
14:36:52 <lucianopc> terceiro: no AppRecommender eu já deixei pronto a parte de ler os arquivos e checar o sha256sum, mas nada da transferencia dos dados do servidor para o AppRecommender
14:37:24 <terceiro> lucianopc: pode ser
14:37:34 <terceiro> é "um wget" só né, não tem muito segredo não
14:38:23 <lucianopc> terceiro: eu tinha dúvida tambem se vamos gerar uma chave gpg pro AppRecommender, ou se vamos ver se o servidor do popcon tem e poderiamos usar ela
14:39:52 <terceiro> lucianopc: boa pergunta. eu _acho_ que o servidor popcon já tem uma
14:40:15 <lucianopc> terceiro: ok, quando for falar com eles vou lembrar de perguntar isso
14:40:41 <terceiro> lucianopc: nos fontes do popularity-contest tem uma chave publica
14:40:44 <terceiro> deve ser essa
14:41:02 <lucianopc> terceiro: ok, vlw, vou ver lá
14:42:38 <terceiro> mas não sei se tá sendo usada mesmo
14:42:43 <terceiro> tem q pesquisar nos fontes
14:43:01 <lucianopc> terceiro: blz, vou pesquisar lá
14:43:14 <lucianopc> terceiro: fiquei com uma dúvida quando estavam falando do empacotamento, sobre a pasta 'bin'
14:43:21 <terceiro> diga aí
14:43:32 <terceiro> vc poderia ter perguntado lá na hora, não precisava esperar a "sua vez" :)
14:43:44 <lucianopc> kkk foi mal :)
14:43:53 <lucianopc> antes nós tinhamos mais scripts lá, os que geram aqueles gráficos do texto do tcc
14:43:59 <terceiro> certo
14:44:05 <lucianopc> aí nós colocamos em outro repositório pq eram apenas scripts de analise de dados
14:44:34 <lucianopc> e aí, com exceção do 'apprec', os outros scripts não estão sendo usados, como os do popcon que a tassia usava
14:44:50 <terceiro> não é pre distribuir nenhum deles no pacote
14:45:08 <lucianopc> ou são scripts de analise de dados, como o script do cross-validation para os algoritmos de machine-learning
14:45:24 <lucianopc> estava pensando de tirarmos esses scripts e colocarmos em outro projeto no git
14:45:37 <lucianopc> acredito que da pra ficar só o 'apprec' la na pasta 'bin'
14:45:41 <terceiro> é uma forma de resolver tb
14:45:49 <terceiro> mas note, nÃo é pra ficar *nada" na pasta bin
14:45:56 <terceiro> deixa eu explicar isso melhor
14:46:03 <lucianopc> ah sim, ok
14:46:30 <terceiro> os modulos python de um pacote como o apprecommender vão parar em /usr/lib/pythonX.Y/dist-packages/
14:46:44 <terceiro> dentro dessa pasta, vc quer que cada sub-pasta seja relacionada a um pacote
14:47:07 <terceiro> por exemplo
14:47:08 <terceiro> $ ls /usr/lib/python2.7/dist-packages/ | head
14:47:09 <terceiro> alabaster
14:47:09 <terceiro> alabaster-0.7.8.egg-info
14:47:09 <terceiro> ansible
14:47:10 <terceiro> ansible-2.1.0.0.egg-info
14:47:10 <terceiro> apprecommender
14:47:13 <terceiro> apprecommender-0.6.2.2.egg-info
14:47:13 <terceiro> apt
14:47:15 <terceiro> apt_inst.x86_64-linux-gnu.so
14:47:17 <terceiro> apt_pkg.x86_64-linux-gnu.so
14:47:20 <terceiro> aptsources
14:47:31 <terceiro> se eu tenho pastas ali que não correspondem a um pacote, vira bagunça
14:47:56 <terceiro> então, o apprecommender atualmente instala 3 pastas ali
14:48:21 <terceiro> - /usr/lib/python2.7/dist-packages/apprecommender
14:48:28 <terceiro> - /usr/lib/python2.7/dist-packages/bin
14:48:34 <terceiro> - /usr/lib/python2.7/dist-packages/experiments
14:49:04 <terceiro> apprecommender tá certo, pq é onde esta o codigo desse pacote mesmo
14:49:14 <terceiro> mas bin e experiments, estao invadindo o namespace
14:49:33 <lucasmoura> sim, de fato isso ta bem errado
14:49:54 <terceiro> note q diferença pra um outro pacote escrito em python
14:49:57 <terceiro> e.g. youtube-dl
14:50:34 <lucasmoura> vou dar uma olhada nele então
14:50:39 <terceiro> $ dpkg -L youtube-dl | grep dist-packages | grep -v '.py$' | sed -e 's/^/ /'
14:50:39 <terceiro> /usr/lib/python2.7/dist-packages
14:50:39 <terceiro> /usr/lib/python2.7/dist-packages/youtube_dl
14:50:39 <terceiro> /usr/lib/python2.7/dist-packages/youtube_dl/downloader
14:50:40 <terceiro> /usr/lib/python2.7/dist-packages/youtube_dl/extractor
14:50:40 <terceiro> /usr/lib/python2.7/dist-packages/youtube_dl/postprocessor
14:50:41 <terceiro> /usr/lib/python2.7/dist-packages/youtube_dl-2016.6.25.egg-info
14:50:42 <lucasmoura> e ler melhor a documentação do time de python
14:50:43 <terceiro> /usr/lib/python2.7/dist-packages/youtube_dl-2016.6.25.egg-info/PKG-INFO
14:50:45 <terceiro> /usr/lib/python2.7/dist-packages/youtube_dl-2016.6.25.egg-info/dependency_links.txt
14:50:47 <terceiro> /usr/lib/python2.7/dist-packages/youtube_dl-2016.6.25.egg-info/entry_points.txt
14:50:49 <terceiro> /usr/lib/python2.7/dist-packages/youtube_dl-2016.6.25.egg-info/top_level.txt
14:50:54 <terceiro> tá tudo encapsuladinho dentro do modulo youtube_dl
14:51:28 <terceiro> pode ter quantos submodulos precisar, mas todos precisam estar dentro do modulo "pai" que corresponde ao nome python do pacote
14:52:20 <terceiro> lucasmoura: isso nem é específico do debian, é uma boa prática em python (e em outras comunidades), de não "roubar" partes do namespace
14:52:39 <terceiro> em ruby tb, vc quer que as coisas do seu pacote estejam dentro de lib/meupacote/*
14:52:46 <terceiro> e não coisas aleatórias dentro lib/ direto
14:52:47 <lucasmoura> sim, isso faz total sentido mesmo
14:53:21 <lucianopc> terceiro: então, uma solução que acho que não é boa, mas funcionaria, seria colocar as pastas 'bin' e 'experiments' dentro de 'apprecommender'
14:53:24 <terceiro> por exemplo, no momento com o apprecommender instalado, olha o que acontece:
14:53:29 <terceiro> $ python
14:53:29 <terceiro> Python 2.7.12 (default, Jun 29 2016, 08:18:26)
14:53:29 <terceiro> [GCC 5.4.0 20160609] on linux2
14:53:29 <terceiro> Type "help", "copyright", "credits" or "license" for more information.
14:53:30 <terceiro> >>> import bin
14:53:30 <terceiro> >>>
14:53:34 <terceiro> de onde vem esse bin????
14:53:41 <lucasmoura> kkkkk
14:53:47 <lucianopc> kkkk é, complicado kkk
14:53:47 <lucasmoura> é, realmente muito feio
14:53:52 <terceiro> >>> import experiments
14:53:53 <terceiro> >>>
14:53:55 <lucasmoura> mudar isso o quanto antes
14:53:56 <terceiro> funciona tb :)
14:54:24 <terceiro> lucianopc: vcs até podem manter essas pastas, se for prático pra vcs
14:54:40 <terceiro> só precisa fazer com que elas não sejam instaladas pelo setup.py
14:54:52 <lucianopc> terceiro: ok
14:55:16 <terceiro> uma forma fácil de fazer isso, é tirar os __init__.py delas
14:55:18 <terceiro> $ find . -name __init__.py
14:55:19 <terceiro> ./experiments/__init__.py
14:55:19 <terceiro> ./apprecommender/data_collect/__init__.py
14:55:19 <terceiro> ./apprecommender/tests/__init__.py
14:55:21 <terceiro> ./apprecommender/ml/__init__.py
14:55:22 <terceiro> ./apprecommender/__init__.py
14:55:23 <terceiro> ./bin/apt_config/__init__.py
14:55:24 <terceiro> ./bin/__init__.py
14:55:39 <terceiro> as coisas de bin/ que foram realmente usadas, tem que ir pra dentro de apprecommender/
14:56:45 <terceiro> ou você pode dizer explicitamente dentro do setup.py pra só instalar o módulo "apprecommender'
14:56:51 <terceiro> tem mais de uma forma de fazer
14:57:17 <lucasmoura> certo
14:57:41 <terceiro> e tem q ter certeza que nada no modulo apprecommender depende de algo q esteja no bin
14:58:02 <terceiro> eu _acho_ que da primeira vez que eu olhei isso tinha um `from bin import ...` qq coisa lá
14:58:39 <lucianopc> terceiro: olhei aqui, e só tem um teste que está testando o 'apprec',  mas da pra mover as funções que são testadas para o 'apprecommender/app_recommender.py'
15:00:03 <lucianopc> terceiro: mas vamos parar e analisar aqui o que pode ser melhor pra gente fazer
15:00:07 <terceiro> blz
15:01:46 <terceiro> acho que deu por hoje?
15:02:18 <lucianopc> acredito que sim, obrigado terceiro
15:02:28 <terceiro> #endmeeting