<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>JavaScript on Roads Less Taken</title><link>https://goran.krampe.se/categories/javascript/</link><description>Recent content in JavaScript on Roads Less Taken</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 24 May 2016 00:00:00 +0000</lastBuildDate><atom:link href="https://goran.krampe.se/categories/javascript/index.xml" rel="self" type="application/rss+xml"/><item><title>Spry Performance</title><link>https://goran.krampe.se/2016/05/24/spry-performance/</link><pubDate>Tue, 24 May 2016 00:00:00 +0000</pubDate><guid>https://goran.krampe.se/2016/05/24/spry-performance/</guid><description>&lt;p>When writing Spry I am so far mainly ignoring performance. The general execution of Spry code will be a regular interpreter (although stackless I hope) and not a JIT. But that doesn&amp;rsquo;t prevent us from playing around and learning something!&lt;/p>
&lt;p>In this article I do some silly experiments around interpreter startup time and fooling around with 40 million element arrays. As usual, I am fully aware that the languages (Pharo Smalltalk, NodeJS, Python) I compare with a) have lots of other ways to do things b) may not have been used exactly as someone else would have done it. A truck load of salt required. Now&amp;hellip; let&amp;rsquo;s go!&lt;/p>
&lt;img src="https://goran.krampe.se/spry/thetruth.jpg" alt="The" style="display:block; margin:0 auto;"></description></item><item><title>Evothings + Phoenix = Neato</title><link>https://goran.krampe.se/2015/12/14/evothings-meets-phoenix/</link><pubDate>Mon, 14 Dec 2015 00:00:00 +0000</pubDate><guid>https://goran.krampe.se/2015/12/14/evothings-meets-phoenix/</guid><description>&lt;img src="https://goran.krampe.se/evothings/evothings.png" alt="Evothings" style="float:left; margin:0 1em 1em 0;">

&lt;p>I have just started working at &lt;a href="https://evothings.com" target="_blank" rel="noopener noreferrer">Evothings&lt;/a>
!&lt;/p>
&lt;p>It&amp;rsquo;s a fun gang making slick development tools and libraries for building mobile IoT apps. Evothings is pushing the envelope on &lt;strong>really easy mobile development&lt;/strong> focused on all the &lt;strong>new nifty IoT-devices&lt;/strong> flooding us over the next few years.&lt;/p>
&lt;img src="https://goran.krampe.se/elixir/phoenix-small.png" alt="Phoenix" style="float:right; margin:0 0 1em 1em;">

&lt;p>In &lt;a href="http://goran.krampe.se/2015/10/27/elixir-booming/" target="_blank" rel="noopener noreferrer">my last article&lt;/a>
 I predicted &lt;a href="http://www.elixir-lang.org" target="_blank" rel="noopener noreferrer">Elixir&lt;/a>
 to become &lt;strong>big&lt;/strong> and now that I am learning the Evothings tools I wanted to make an Evothings example that uses &lt;a href="http://phoenixframework.org" target="_blank" rel="noopener noreferrer">Phoenix&lt;/a>
, the Elixir web server framework, as a backend, using its channels mechanism for websocket communication.&lt;/p>
&lt;p>Coinciding with the release today of &lt;a href="https://evothings.com/announcing-evothings-2-0-beta-2-released/" target="_blank" rel="noopener noreferrer">Evothings Studio 2.0 beta 2&lt;/a>
 (yay!) I will show step-by-step how to:&lt;/p>
&lt;ol>
&lt;li>Install Evothings Studio locally. It&amp;rsquo;s just unpacking a zip :)&lt;/li>
&lt;li>Make sure we can run the &amp;ldquo;BLE Scan&amp;rdquo; example app and modify it.&lt;/li>
&lt;li>Get a Phoenix server up on a Debian/Ubuntu server on the internet.&lt;/li>
&lt;li>Modify the app and server to use Phoenix channels for publish/subscribe of scan data.&lt;/li>
&lt;li>Verify it all works!&lt;/li>
&lt;/ol>
&lt;p>Since not everyone has a Linux server up on the internet &lt;strong>you can skip step 3 and just use my public server :)&lt;/strong>&lt;/p>
&lt;p>Let&amp;rsquo;s go!&lt;/p></description></item></channel></rss>