Category: Tutorials

Client-Server Application Development with PharoJS

Client-Server Application Development with PharoJS pharoJsClientServerTalk-PharoDays2022

PharoJS is a free open source infrastructure that allow developing and testing in Pharo applications that ultimately run on a Javascript interpreter. It is a general purpose solution that can target a wide range of applications, running in a web browser, on top of NodeJs or packaged in cross-platform mobile apps using some framework such […]

Getting Rid of Chemical and Carbon Waste from Batteries – A Maker’s Perspective

Getting Rid of Chemical and Carbon Waste from Batteries – A Maker’s Perspective

Many devices we use daily rely either on batteries that we need to replace more or less often. Beside the economical cost, this is a source of toxic waste. Using rechargeable batteries does not help much. Rechargeables are more expensive, and they eventually die and go to waste. There are some possibilities to recycle batteries. […]

Mac OS X Bug and Workaround to Open a “file:” URL with Parameters from Command-Line

Mac OS X Bug and Workaround to Open a “file:” URL with Parameters from Command-Line

Testing the PLC3000 project requires opening HTML files by a web browser. Indeed, PLC3000 is developed using PharoJS. Its code is written in Pharo, before getting transpiled to JavaScript and exported to a JS files referenced by HTML files. Developing PLC3000 in a TDD fashion, I quickly faced an issue. I realized that it is […]

How to Make Lifelike Robots with a Soul

How to Make Lifelike Robots with a Soul Robots with Soul by Guy Hoffman at TEDx Jaffa

A common misconception is that robots need advanced AI algorithms to have fluid interactions with people. Another myth is that robots need to have some special shape to be engaging.There’s actually a better, simpler, and more elegant way! Secrets of Engaging Interactive Robots Guy Hoffman from Cornell University introduced a solution that requires 2 complementary […]

PharoJS ESUG 2019 Update

PharoJS ESUG 2019 Update PharoJS Talk at ESUG Smalltalk Conference

I gave a short presentation at the ESUG 2019 Smalltalk conference that was held this year in Cologne, Germany. In this talk, I made a summary of main PharoJS changes and improvements done during the last 12 months. This includes a more robust test framework to run and test Javascript  code generated from Pharo code. […]

Observer Pattern Made Easy with Pharo Lightweight Observer

Observer Pattern Made Easy with Pharo Lightweight Observer Observer Design Pattern implementation in Pharo

Lightweight Observer is an alternative to Announcement, the default Pharo  implementation of the Observer Design Pattern. I started developing Lightweight Observer because I needed a small framework, with an implementation that can be easily converted to Javascript using PharoJS. I also wanted to be straight forward to use. I had in mind beginners such as […]

Green Websites: Solutions for a CO2 Free Internet

Green Websites: Solutions for a CO2 Free Internet Green Web Server

Green websites is the way to go for a carbon free Internet. By going green, content providers will contribute to fight climate change. The impact will be significant since the Internet energy consumption is ever growing. The communications industry could use 20% of all the world’s electricity by 2025, hampering global attempts to meet climate […]

iOS Current Location Usage Description in Cordova

iOS Current Location Usage Description in Cordova smartphone Gps App New York

Providing a clear location usage description is critical to have your iOS app approved. With the default settings of the Apache Cordova location plugin cordova-plugin-geolocation, your app is likely to be rejected by Apple. I experienced this first hand with the iOS version of the Farmers Market app. Apple reviewers sent me the following message: […]

ArbotiX-M: The Arduino Compatible Board for Robots with Dynamixel Servos

ArbotiX-M: The Arduino Compatible Board for Robots with Dynamixel Servos arbotix dynamixel servo with arduino

The ArbotiX is an open hardware (GPL 3 license) Arduino compatible board that can control up to 30 Dynamixel servo motors. It is ideal for building robots of various kinds (Legged robots, Robotic arms, …). In the following, we provide you with a detailed description of the ArbotiX-M board and its characteristics. Our code samples […]