Arquivo da categoria: Software

Pharo 6.0 released!

Pharo 6.0 released!

Dear World,

The time has come for Pharo 6.0!

Pharo is a pure object-oriented programming language and a powerful environment, focused on simplicity and immediate feedback.

This is our most significant release yet. Here are some highlights:

  • haro is now provided in 64-bit version in Linux and OSX and brings even better performance and stability (beware, 64bits version is a new technology and a small amount of tests is still failing)
  • A new code changes management system named Epicea for easier reviewing and recovering of your code easily
  • Integrated support for Git through an easy-to-use tool for repositories and commits management named Iceberg (as a preview for Pharo 6, it will be the default in Pharo 7)
  • The unified foreign function interface (UnifiedFFI) for interfacing with the outside world is significantly improved
  • The PharoVM is now part of OpenSmalltalk initiative
  • Introduction of object immutability, alternative bytecode sets and block closures independent of outer context
  • Pharo can now be bootstrapped from source code managed by Git
  • Pharo modularity is improved
  • Pharo is faster
  • The Dark Theme was improved and set as default color theme of Pharo
These are just the more prominent highlights, but the details are just as important. We have closed 1474 issues in Pharo 6.0 (a more complete changelog can be found at https://github.com/pharo-project/pharo-changelogs/blob/master/Pharo60ChangeLogs.md).

While the technical improvements are significant (starting the transition to 64bits is a remarkable achievement), still the most impressive fact is that the new code that got in the main Pharo 6.0 image was contributed by more than 80 people.

Pharo is more than code. It is an exciting project involving energetic people. We thank all the contributors of this release:

Alberto Bacchelli, Alejandro Infante, Alexandre Bergel, Aliaksei Syrel, Alistair Grant, Andrei Chis, Ben Coman, Bernardo Contreras, Bernhard Pieber, Boris Spasojevic, Christophe Demarey, Clement Bera, Cyril Ferlicot, Dale Henrichs, Damien Cassou, Damien Pollet, Dave Lewis, Denis Kudriashov, Dirk Roeleveld, Eliot Miranda, Esteban Lorenzano, Esteban Maringolo, Evan Donahue, Federico Balaguer, Franck Warlouzet, Glenn Cavarle, Guillermo Polito, Gustavo Santos, Henrik Johansen, Henrik Nergaard, Hilaire Fernandes, Holger Hans, Jan Kurs, Jan van de Sandt, Johan Fabry, Juraj Kubelka, K. K. Subramaniam, Ken Causey, Kris Gybels, Lionel Akue, Luc Fabresse, Lucas Godoy, Marcus Denker, Mariano Martinez Peck, Marion Noirbent, Martin Dias, Max Leske, Maxime Roelandt, Merwan Ouddane, Matteo Bellotto, Miguel Campusano, Milton Mamani, Myroslava Romaniuk, Nicolai Hess, Nicolas Cellier, Nicolas Passerini, Norbert Hartl, Offray Luna, Pablo Tesone, Paul De Bruicker, Pavel Krivanek, Peter Uhnak, Philippe Back, Roger Stebler, Ronie Salgado, Sean DeNigris, Serge Stinckwich, Skip Lentz, Sophie Kaleba, Stefan Reichhart, Stephan Eggermont, Stephane Ducasse, Sven Van Caekenberghe, Thibault Arloing, Thibault Arloing, Thibault Raffaillac, Thierry Goubier, Thomas Heniart, Tommaso Dal Sasso, Torsten Bergmann, Tudor Girba, Udo Schneider, Valentin Ryckewaert, Vincent Blondeau, Werner Kassens, Yuriy Tymchuk

(If you contributed with Pharo 6.0 development in any way and we missed your name, please send us a mail and we will add you).

Enjoy!

The Pharo Team

Try Pharo: http://pharo.org/download

Learn Pharo: http://pharo.org/documentation

Live Twitter Analysis and Visualization

Bitcoin dispara

bitcoin-dispara-em-16-6-2016

Enter a caption

Estava curioso sobre o que aconteceria com a cotação do bitcoin perto do reward halving. Parecendo que está começando a responder à proximidade do halving mas outras variáveis podem estar influenciando. Segundo o artigo 5 Factors Experts Say Drove Bitcoin’s Rise to $700 a possível saída da Grã Bretanha da União Européia é um dos fatores. O fator citado como “otimismo em relação às tecnologias do blockchain” foi o que mais me deixou esperançoso de uma revolução planetária do modo de viver em direção a uma descentralização e falência do paradigma hierárquico nas relações humanas. Como queriam os cipherpunks.

SmallBDD announcement

cucumber

SmallBDD.png

SmallBDD é um nascente framework implementado em Smalltalk inspirado no Cucumber.

Smalltalk é uma linguagem onde a expressividade de uma DSL interna dispensa a complicação associada ao desenvolvimento de DSL externas envolvendo o uso de parsers.

Para executar os cenários descritos acima o desenvolvedor implementa as definições (step definitions no jargão do Cucumber) como abaixo:

SmallBDD2SmallBDD3

O projeto está publicado no Smalltalkhub.

Nota: Estou me baseando principalmente na edição de 2012 do The Cucumber Book.

hwcuc_xlargecover

Meu retorno ao BDD (Veja outros posts meus sobre o BDD), cujo valor para equipes interagindo com usuários do negócio me parece inegável, vem também de ver algum valor para organizar o trabalho mesmo quando temos que simular os interesses de usuários abstratos, na Internet por exemplo.

O Akita escreveu um artigo interessante e crítico sobre BDD. Na época fiquei um pouco influenciado em uma espécie de  Cargo Cult. Afinal era o Akita e o DHH! Mas acho que o artigo do Akita está datado e um tanto equivocado. Para criticar ele mostra códigos da step definitions, que são ilegíveis para o negócio realmente. Mas no livro citado acima a parte em que o negócio deve participar da redação é bem mais legível e este é um dos objetivos principais: legibilidade, clareza e simplicidade.

Dentro deste meu novo convencimento resolvi implementar BDD na minha linguagem preferida.

Links relacionados:

  • Writing Maintainable Automated Acceptance Tests, Dale H. Emery
    • Test automation is software development . This principle implies that much of what we know about writing software also applies to test automation. And some of the things we know may not be apparent to people with little or no experience writing software.
    • Much of the cost of software development is maintenance—changing the software after it is written. This single fact accounts for much of the difference between successful and unsuccessful test automation efforts. I’ve talked to people in many organizations that attempted test automation only to abandon the effort within a few months. When I ask what led them to abandon test automation, the most common answer is that the tests quickly became brittle and too costly to maintain. The slightest change in the implementation of the system—for example, renaming a button—breaks swarms of tests, and fixing the tests is too time consuming.
    • But some organizations succeed with test automation. Don’t they experience maintenance costs, too? Of course they do. An important difference is that where unsuccessful organizations are surprised by the maintenance costs, successful organizations expect them. The difference between success and failure is not the maintenance costs per se, but whether the organization expects them. Successful organizations understand that test automation is software development, that it involves significant maintenance costs, and that they can and must make deliberate, vigilant effort to keep maintenance costs low.

O que fazer com monopólios e algoritmos

monopolio

Com a chegada da maturidade da Internet mundial e suas empresas, temos visto uma crescente onda de manipulações de mercado. Empresas que antes estavam sujeitas a competição no mundo real, encontraram um paraíso virtual na grande rede mundial. O que mais encontramos nesse paraíso das empresas são mercados em situação de monopólio absoluto ou mercados em situação de quase monopólio, quando apenas duas ou no máximo três empresas reinam com o mundo a seus pés. E agora, pra “piorar”, entrou no jogo do capitalismo global um atacante de peso no time das empresas: o algoritmo. E agora? O que devemos fazer?

http://meupinguim.com/que-fazer-monopolios-algoritmos/

Link relacionado:

FUN MOOC – Programmation objet immersive en Pharo

s70kf

Programmation objet immersive en Pharo

Estamos na reta final. Na sétima semana. Quem puder corra para obter o material e não perca uma possível próxima edição.

[UPDATE]

No Pharo MOOC foi desenvolvida uma aplicação Web.

O deploy foi feito em Pharo Cloud, um web hosting dedicado a Smalltalk web-applications.

TinyBlog é bem simples, usa Seaside e Bootstrap. A persistência é feita usando MongoDB. Como o deploy foi feito numa conta free a versão que foi enviada não usa o MongoDB.

Baixe o tutorial para criar a aplicação TinyBlog se quiser conhecer os detalhes. Está em francês mas tenho a versão em inglês nos arquivos do curso (que eu guardei) se estiver interessado.

O login para a área de administração do blog é admin/password.

[UPDATE]

Os arquivos do curso podem ser vistos em Archived Course.

Attestation

PharoMOOCAtestation

Pharo – Pharo 5.0 Released!

pharo50-screenshot

This is our most significant release yet. Here are some highlights:

  • The PharoVM is now based on Spur, the new memory management, and it brings with it a 35% speedup!
  • A new unified foreign function interface (UFFI) replaced NativeBoost to provide a strong Spur-compatible framework for interfacing with the outside world.
  • The Glamorous Toolkit now includes the GTDebugger to offer a moldable infrastructure that allows the developer to customise the debugger deeply.
  • The underlying Reflectivity mechanism has reached maturity with multiple pieces coming together to empower developers to instrument their own systems. For example, we now have breakpoints implemented as just a simple extension of this mechanism.
  • QualityAssistant is now part of the image to provide live feedback during development.

These are just the more prominent highlights, but the details are just as important. We have closed 2446 issues in Pharo 5.0. Take a moment to go through a more detailed recount of the progress.

http://pharo.org/news/pharo-5.0-released

Related: