{"id":1513,"date":"2015-04-23T13:21:31","date_gmt":"2015-04-23T13:21:31","guid":{"rendered":"http:\/\/blog.filipesaraiva.info\/?p=1513"},"modified":"2015-04-23T13:21:31","modified_gmt":"2015-04-23T13:21:31","slug":"cantor-no-kde-applications-15-04","status":"publish","type":"post","link":"https:\/\/filipe.saraiva.tec.br\/blog\/?p=1513","title":{"rendered":"Cantor no KDE Applications 15.04"},"content":{"rendered":"<p style=\"text-align: justify;\">Com o lan\u00e7amento do <a href=\"https:\/\/www.kde.org\/announcements\/announce-applications-15.04.0.php\" target=\"_blank\">KDE Applications 15.04<\/a>, o segundo release no novo modelo de lan\u00e7amentos de softwares desenvolvidos no <a href=\"http:\/\/kde.org\" target=\"_blank\">KDE<\/a> &#8211; agora o desktop, conjunto de aplica\u00e7\u00f5es, e frameworks tem cada um seu pr\u00f3prio ciclo de release -, o software para programa\u00e7\u00e3o cient\u00edfica <a href=\"https:\/\/edu.kde.org\/cantor\/\" target=\"_blank\">Cantor<\/a> chegou com v\u00e1rias novidades. Esse lan\u00e7amento me deixa particularmente feliz pois trabalhei bastante em algumas delas. =)<\/p>\n<p style=\"text-align: justify;\">Vamos ver o que o Cantor tem de novo?<\/p>\n<h2 style=\"text-align: justify;\">Cantor portado para Qt5\/KF5<\/h2>\n<figure id=\"attachment_1517\" aria-describedby=\"caption-attachment-1517\" style=\"width: 688px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2015\/04\/cantor-kf5.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1517\" data-permalink=\"https:\/\/filipe.saraiva.tec.br\/blog\/?attachment_id=1517\" data-orig-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2015\/04\/cantor-kf5.png\" data-orig-size=\"999,681\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"cantor-kf5\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2015\/04\/cantor-kf5-300x205.png\" data-large-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2015\/04\/cantor-kf5.png\" class=\"wp-image-1517\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2015\/04\/cantor-kf5.png\" alt=\"cantor-kf5\" width=\"688\" height=\"469\" srcset=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2015\/04\/cantor-kf5.png 999w, https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2015\/04\/cantor-kf5-300x205.png 300w\" sizes=\"auto, (max-width: 688px) 100vw, 688px\" \/><\/a><figcaption id=\"caption-attachment-1517\" class=\"wp-caption-text\">Cantor Qt5\/KF5 &#8211; visual usando Breeze, o novo tema padr\u00e3o do KDE. Na imagem \u00e9 poss\u00edvel ver o terminal, painel de gerenciamento de vari\u00e1veis, destaque de sintaxe, complementa\u00e7\u00e3o de c\u00f3digo, e bot\u00f5es da tela padr\u00e3o.<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">Trabalho que comecei no <a href=\"http:\/\/blog.filipesaraiva.info\/?p=1311\" target=\"_blank\">LaKademy do ano passado<\/a> e fui desenvolvendo desde aquela data. Devo ter feito commits partindo de uns 5 pa\u00edses diferentes durante esse tempo.<\/p>\n<p style=\"text-align: justify;\">A transi\u00e7\u00e3o para essa nova tecnologia foi realizada com sucesso e at\u00e9 o momento n\u00e3o notamos nenhuma funcionalidade perdida ou bug cr\u00edtico introduzido. Todos os backends e plugins foram portados, e alguns bugs que surgiram durante o port foram corrigidos.<\/p>\n<p style=\"text-align: justify;\">Evidente que isso n\u00e3o garante que o software esteja livre de erros, portanto pedimos aos utilizadores que reportem quaisquer problemas no nosso <a href=\"http:\/\/bugs.kde.org\/\" target=\"_blank\">gerenciador de bugs<\/a>. De qualquer forma, o software est\u00e1 bastante est\u00e1vel.<\/p>\n<p style=\"text-align: justify;\">Usu\u00e1rios do Cantor da vers\u00e3o Qt4 ter\u00e3o suas configura\u00e7\u00f5es migradas para o novo formato utilizado na vers\u00e3o Qt5\/KF5 automagicamente ap\u00f3s a primeira inicializa\u00e7\u00e3o.<\/p>\n<h2 style=\"text-align: justify;\">Backend para Python 3<\/h2>\n<p style=\"text-align: justify;\">Durante o Season of KDE 2014 orientei o colaborador <a href=\"https:\/\/fedorapeople.org\/~minh\/\" target=\"_blank\">Minh Ngo<\/a> no projeto de desenvolvimento do <a href=\"https:\/\/fedorapeople.org\/~minh\/kde\/cantor\/2015\/01\/18\/sok-final-report.html\" target=\"_blank\">backend para Python 3<\/a>, fazendo com que o Cantor atingisse a marca de 10 backends diferentes!<\/p>\n<figure id=\"attachment_1516\" aria-describedby=\"caption-attachment-1516\" style=\"width: 645px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2015\/04\/cantor-backends.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1516\" data-permalink=\"https:\/\/filipe.saraiva.tec.br\/blog\/?attachment_id=1516\" data-orig-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2015\/04\/cantor-backends.png\" data-orig-size=\"645,575\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"cantor-backends\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2015\/04\/cantor-backends-300x267.png\" data-large-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2015\/04\/cantor-backends.png\" class=\"wp-image-1516 size-full\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2015\/04\/cantor-backends.png\" alt=\"cantor-backends\" width=\"645\" height=\"575\" srcset=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2015\/04\/cantor-backends.png 645w, https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2015\/04\/cantor-backends-300x267.png 300w\" sizes=\"auto, (max-width: 645px) 100vw, 645px\" \/><\/a><figcaption id=\"caption-attachment-1516\" class=\"wp-caption-text\">Tela de sele\u00e7\u00e3o de backend: Python 3 e seus outros nove irm\u00e3os<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">O backend de Minh utiliza comunica\u00e7\u00e3o via D-Bus para ligar o Cantor ao Python 3, uma arquitetura diferente da utilizada no Python 2 mas que j\u00e1 foi utilizada em outros backends, como no R.<\/p>\n<p style=\"text-align: justify;\">O bacana \u00e9 que agora o Cantor pode agradar tanto os pythonistas que usam Python 2 quanto os que j\u00e1 utilizam Python 3. Esperamos receber o feedback de voc\u00eas!<\/p>\n<h2 style=\"text-align: justify;\">\u00cdcone!<\/h2>\n<p style=\"text-align: justify;\">Cantor foi lan\u00e7ado originalmente em 2009, no agora velhinho KDE SC 4.4. Desde aquela \u00e9poca ele nunca teve um \u00edcone pr\u00f3prio.<\/p>\n<p style=\"text-align: justify;\">O lan\u00e7amento da vers\u00e3o Qt5\/KF5, que marca uma mudan\u00e7a substancial no desenvolvimento da aplica\u00e7\u00e3o, \u00e9 um bom momento para tamb\u00e9m lan\u00e7ar um \u00edcone pr\u00f3prio para o software, dando uma cara para ele.<\/p>\n<figure id=\"attachment_1518\" aria-describedby=\"caption-attachment-1518\" style=\"width: 128px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2015\/04\/hi128-apps-cantor.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1518\" data-permalink=\"https:\/\/filipe.saraiva.tec.br\/blog\/?attachment_id=1518\" data-orig-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2015\/04\/hi128-apps-cantor.png\" data-orig-size=\"128,128\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"hi128-apps-cantor\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;\u00cdcone do Cantor&lt;\/p&gt;\n\" data-medium-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2015\/04\/hi128-apps-cantor.png\" data-large-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2015\/04\/hi128-apps-cantor.png\" class=\"wp-image-1518 size-full\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2015\/04\/hi128-apps-cantor.png\" alt=\"\u00cdcone do Cantor\" width=\"128\" height=\"128\" \/><\/a><figcaption id=\"caption-attachment-1518\" class=\"wp-caption-text\">\u00cdcone do Cantor<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">E o resultado ficou excelente! Mostra bem a ideia do Cantor: um quadro negro para voc\u00ea ficar desenvolvendo seus c\u00e1lculos enquanto co\u00e7a a cabe\u00e7a e pensa &#8220;e agora, daqui vai para onde?&#8221;. =)<\/p>\n<p style=\"text-align: justify;\">Obrigado a Andreas Kainz e Uri Herrera, membros do <a href=\"https:\/\/vdesign.kde.org\/\" target=\"_blank\">VDG<\/a> que desenvolveram o \u00edcone!<\/p>\n<h2 style=\"text-align: justify;\">Outras altera\u00e7\u00f5es e bugs corrigidos<\/h2>\n<p style=\"text-align: justify;\">Boa parte dos bugs introduzidos durante o processo de porting pro Qt5\/KF5 foram corrigidos antes do release.<\/p>\n<p style=\"text-align: justify;\">H\u00e1 tamb\u00e9m algumas altera\u00e7\u00f5es menores que merecem ser citadas, como a mudan\u00e7a da categoria KNewStuff de &#8220;Python2&#8221; para &#8220;Python 2&#8221; e a adi\u00e7\u00e3o da categoria &#8220;Python 3&#8221;; remo\u00e7\u00e3o do carregamento autom\u00e1tico do <a href=\"http:\/\/quickgit.kde.org\/?p=cantor.git&amp;a=commit&amp;h=08786ab0762a35ff6b387ffa66c8144b5246321b\" target=\"_blank\">m\u00f3dulo pylab<\/a>; agora \u00e9 poss\u00edvel executar comandos do <a href=\"https:\/\/bugs.kde.org\/show_bug.cgi?id=342730\" target=\"_blank\">Python com coment\u00e1rios<\/a>; entre outras.<\/p>\n<p style=\"text-align: justify;\">Para o log completo dos commits inclu\u00eddos nesta vers\u00e3o, veja <a href=\"https:\/\/www.kde.org\/announcements\/fulllog_applications-15.04.0.php#cantor\" target=\"_blank\">esta p\u00e1gina<\/a>.<\/p>\n<h2 style=\"text-align: justify;\">Futuro<\/h2>\n<p style=\"text-align: justify;\">Para o futuro talvez o plano de maior prioridade seja remover a KDELibs4Support do Cantor. O Lucas j\u00e1 <a href=\"https:\/\/git.reviewboard.kde.org\/r\/122406\/\" target=\"_blank\">fez parte<\/a> desse trabalho, e esperamos finaliz\u00e1-lo para o pr\u00f3ximo release.<\/p>\n<p style=\"text-align: justify;\">Eu pretendo dar uma olhada na comunica\u00e7\u00e3o via D-Bus e verificar se ela seria uma boa sa\u00edda para o backend do Scilab. Outra tarefa tamb\u00e9m programada \u00e9 a reorganiza\u00e7\u00e3o dos assistentes para gera\u00e7\u00e3o de gr\u00e1ficos nos backends do Python. E um objetivo de longo prazo \u00e9 acompanhar a cria\u00e7\u00e3o do projeto <a href=\"http:\/\/jupyter.org\/\" target=\"_blank\">Jupyter<\/a>, que ser\u00e1 o futuro do IPython notebooks &#8211; tornar o Cantor compat\u00edvel com o Jupyter pode ser uma boa forma de aumentar o n\u00famero de potenciais usu\u00e1rios do software, al\u00e9m de fomentar a colabora\u00e7\u00e3o entre diferentes comunidades com interesse em programa\u00e7\u00e3o cient\u00edfica.<\/p>\n<p style=\"text-align: justify;\">Tamb\u00e9m irei aproveitar o lan\u00e7amento dessa vers\u00e3o e escrever sobre duas formas de utilizar o Cantor &#8211; estilo terminal como o Matlab; e estilo notebooks, como o IPython. Aguardem!<\/p>\n<p style=\"text-align: justify;\">Se voc\u00ea gostaria de auxiliar no desenvolvimento do Cantor, entre em contato para conversarmos sobre resolu\u00e7\u00f5es de bugs, desenvolvimento de novas funcionalidades, e mais. Ou contribua com a <a href=\"http:\/\/novo.vakinha.com.br\/vaquinha\/faca-acontecer-o-lakademy-2015\" target=\"_blank\">vakinha do KDE Brasil para realiza\u00e7\u00e3o do LaKademy 2015<\/a>. Minha participa\u00e7\u00e3o no evento ser\u00e1 bastante focada no desenvolvimento do software, principalmente nos objetivos que listei acima.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Com o lan\u00e7amento do KDE Applications 15.04, o segundo release no novo modelo de lan\u00e7amentos de softwares desenvolvidos no KDE &#8211; agora o desktop, conjunto de aplica\u00e7\u00f5es, e frameworks tem cada um seu pr\u00f3prio ciclo de release -, o software para programa\u00e7\u00e3o cient\u00edfica Cantor chegou com v\u00e1rias novidades. Esse lan\u00e7amento me deixa particularmente feliz pois&hellip;&nbsp;<a href=\"https:\/\/filipe.saraiva.tec.br\/blog\/?p=1513\" class=\"\" rel=\"bookmark\">Continue a ler &raquo;<span class=\"screen-reader-text\">Cantor no KDE Applications 15.04<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[9],"tags":[58,38,11,26,42,41,105,49,108],"class_list":["post-1513","post","type-post","status-publish","format-standard","hentry","category-software-livre","tag-cantor","tag-ciencia","tag-desenvolvimento","tag-kde","tag-planet-mageia-portugues","tag-planeta-psl-pi","tag-planeta-python-brasil","tag-planetkde-portugues","tag-python"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1p2Jh-op","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1513","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1513"}],"version-history":[{"count":16,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1513\/revisions"}],"predecessor-version":[{"id":1532,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1513\/revisions\/1532"}],"wp:attachment":[{"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1513"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}