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