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