Espruino Pico: Javascript on a USB stick

The Espruino Pico is a micro-controller which runs JavaScript and has the size of a small USB stick. I backed this project end of last year on Kickstarter and this week I received my rewards. I have to say that the campaign was well organized and the pledges delivered on time. The project also has a website (www.espruino.com) where you can buy the old Espruino version and soon the Espruino Pico.…

Read more

How to use custom fonts in Heroku apps

I run PhantomJS in a Heroku app and use it to generate PDFs from a website. It works very well, but I noticed that Japanese texts are not rendered correctly in the generated PDFs. The reason is simple. PhantomJS uses the system fonts to generate the PDFs. Out of the box, Heroku only has a couple of system fonts pre-installed and none of them support Asian languages. Luckily there is an easy way h…

Read more

How to use the PlayFramework asset pipeline

PlayFramework 2.3 comes with a nifty asset pipeline. In this article, I would like to give you a quick introduction. The asset pipeline processes all files which you reference with @routes.Assets.versioned(...). The pipeline uses plugins which are build on sbt-web. There are already many plugins available. A full list can be found here: sbt-web/README.md. As an example, we would like to set up an…

Read more

A plugin API for your Angular app

You might wonder do I really need plugins for my Angular app? When building Angular-Gantt we had the same thoughts. But we run into problems when our library got bigger and bigger. Not everyone needs all the functionality and certain users would like to have custom specific adjustments. We decided to refactor the code to a small core library and implemented all other functionality as plugins. This…

Read more

Make your own Assembler simulator in JavaScript (Part 2)

In part 1 we did create the CPU. In the second and final part, we gonna focus on the memory, console output, assembler and the UI. The memory We will use a simple array to represent the memory. Each slot contains a JavaScript numeric value. So, in theory, the memory can hold values bigger than a byte but our CPU code will make sure all values are between 0-255. The memory has three functions. Load…

Read more