Roads Less Taken

A blend of programming, boats and life.

Evothings + Phoenix = Neato

| Comments

I have just started working at Evothings!

It’s a fun gang making slick development tools and libraries for building mobile IoT apps. Evothings is pushing the envelope on really easy mobile development focused on all the new nifty IoT-devices flooding us over the next few years.

In my last article I predicted Elixir to become big and now that I am learning the Evothings tools I wanted to make an Evothings example that uses Phoenix, the Elixir web server framework, as a backend, using its channels mechanism for websocket communication.

Coinciding with the release today of Evothings Studio 2.0 beta 2 (yay!) I will show step-by-step how to:

  1. Install Evothings Studio locally. It’s just unpacking a zip :)
  2. Make sure we can run the “BLE Scan” example app and modify it.
  3. Get a Phoenix server up on a Debian/Ubuntu server on the internet.
  4. Modify the app and server to use Phoenix channels for publish/subscribe of scan data.
  5. Verify it all works!

Since not everyone has a Linux server up on the internet you can skip step 3 and just use my public server :)

Let’s go!

Elixir Booming

| Comments

It seems like the “damp cloth of Java” that has been plastered all over the programming landscape the last 20 years is finally being lifted. I admit, I do dislike Java …immensely. And not only on technical grounds, but even more based on what I perceive as it’s community worshipping complexity for it’s own sake. Of course IMHO.

These days new and truly interesting languages are all over the place. Rust and Go are two examples with a lot of momentum, although I personally choose Nim over both.

And Smalltalk is still my “super productive dynamically typed” language of choice, but I just learned about a language that I really think is going places…

Adding Objects to Ni!

| Comments

So… Ni has almost reached the point where I can see objects appearing. The following describes the design I currently have in mind, read it and tell me what you think so I can scrap it and start over ;)

Ni Design Decisions!

| Comments

So… my little Ni language got some attention since it was first on Hackernews, then TheRegister, all over Twitter and also Reddit.

But I think it managed to come relatively unscathed out of it, although it REALLY is pre-alpha-not-even-complete-eats-your-harddrive early and you know, I really have no idea if it ever will go the distance since it takes quite a bit of work to get a language to actually be used. But I am going to stick with it.

Anyway, I have been experimenting with “arg words” and “lookup scoping” while thinking about how to add objects, and a few other things. This article doesn’t introduce how I want to do objects, but the next one does (I split it in two). This article however covers a bunch of loose ends and my ideas on how to tackle them in Ni. And I will try to make this understandable even if you don’t know Ni. ;)

Guts of Ni

| Comments

This article describes some core parts of the current implementation of the Ni (now known as Spry) language. It’s not a tutorial, introduction or manual. It’s in fact kinda incoherent - but so is Ni :)