Posted on April 15, 2022 by Renaud Pawlak
Things are not simple when it comes to Software Eco-Design. Eco-Design is about maximizing a software Efficiency function of Usage, which can be defined as a ratio : Efficiency(U) = Utility(U) / Resources(U) (U = Usage, a parameter) Utility is related to the amount of useful work you can do in a unit of time (the word useful is important, because it depends on the context and what you need to achieve). Resources, for software is the amount of computation, data, I/O you use, which in turn, corresponds to an amount of energy (electricity) and hardware resources (servers, routers, wires,
Posted on October 3, 2021 by Renaud Pawlak
In this post, I explain the dLite low-code platform approach to build frontend applications. dLite relies on a new paradigm called the Local-First Software paradigm. With this paradigm, one can build applications using local data, which remains the ownership of the user. A generic synchronisation protocol is used to access the data cross-device, and a sharing protocol is used to share data among users and build collaborative applications. I explain that the Local-First paradigm is particularly well-fitted to low-code, since it removes the need of a specific backend and database for each application. Additionally, security and data privacy comes by
Posted on June 11, 2021 by Renaud Pawlak
For more than a year now, EASYTEAM and Cinchéo have been working on a project that aims at creating new methods and tools to help IT departments to control the carbon footprint linked to digital services. It is a vast and complicated topic and a lot needs to be achieved. With MC2 (say M-C-square), we are contributing a small and modest part to the tooling ecosystem. In this post, I will explain the principles of MC2 and how it works. The source code is fully available on Github: https://github.com/cincheo/mc2. NOTE: MC2 it is still work in progress and is a
Posted on December 21, 2020 by Renaud Pawlak
When I was a teenager, I used to go to the center of Paris to buy specific parts to build my PC myself: sound cards, video cards, power blocks, hard drive, CPU, fans, memory, you name it. Not only it was fun and instructive, but it was also good for the planet.
Posted on December 11, 2020 by Renaud Pawlak
This is the story of Stanley, a former Uber software engineer, who takes us to the re-engineering journey rewriting the entire Uber app from Objective-c to Swift.
Posted on December 3, 2020 by Renaud Pawlak
For those of you who think that Data Anonymization and being GDPR-compliant is just a matter of wiping out the names and other obvious info, unfortunately it is not that easy.
Posted on November 25, 2020 by Renaud Pawlak
Quite recently, I had the chance to discuss with Philippe de Reffye, a French researcher who spent his life studying how plants grow. He built a generic mathematical model that can simulate the growth of any plant, assuming we can mesure some environmental parameters to calibrate the model. He wrote a very complete book about it (in French). The interesting point from my perspective is that his work managed to lower the computational complexity of simulating plant growth from an exponential to a linear function. What would take days to calculate can now be done in seconds, and it grows
Posted on July 24, 2020 by Renaud Pawlak
A real-life example of migrating a Java application to JavaScript. In this post, I will explain how JSweet helps building the online JavaScript Web version of an Open-Source interior design application called Sweet Home 3D developed and maintained by Emmanuel Puybaret. Sweet Home 3D represents 130K Java Lines of Code (LoC). Amongst these, Emmanuel and I are able to transpile automatically around 50K LoC, leading to 68K JavaScript-generated LoC (by automatic transpilation, I mean that the generated JavaScript code can be run in the browser as is, without any manual adaptation of the code).
Posted on September 19, 2017 by Renaud Pawlak
A transpiler is an Open Transpiler if programmers can open the hood of the transpiler and tune it for their own needs. In this post, I will explain what it means exactly, why we need it, and how it works. I’ll end up showing some specific JSweet v2 examples.
Posted on September 1, 2017 by Renaud Pawlak
We are pleased to announce that JSweet 2 is now available. JSweet 2 is the outcome of several months of intense work with several partners that have been using JSweet for different purposes. It brings to you major improvements in the way you can transpile your Java code to JavaScript. Here are the main changes: More interoperability with JavaScript. By default the generated code gets rid of Java APIs and uses pure JavaScript objects (for instance Java lists and maps will translate to pure JavaScript arrays/objects). No Java runtime is required anymore (on contrary to other Java to JavaScript transpilers)