Eddie Lee

Thoughts, stories and ideas.

Running node.js on a Raspberry Pi Zero

This post assumes your Raspberry Pi is already setup and you can SSH into it. If not, have a Google and come back. I’ll wait.

The Raspberry Pi Zero (and the original Raspberry Pi) use an ARMv6 CPU. Unfortunately apt-get install nodejs installs a version of node built for ARMv7, so we’ll have to install it manually.

Download

  • Download the version of node you want, in this case I’m downloading v7.7.2 for ARMv6. Other versions can be found here.

wget https://nodejs.org/dist/v7.7.2/node-v7.7.2-linux-armv6l.tar.gz

  • Extract the files once the download has completed.

tar -xzf node-v7.7.2-linux-armv6l.tar.gz

Install

  • Copy the files into /user/local

sudo cp -R node-v7.7.2-linux-armv6l/* /usr/local/

Add to path

To use the node and npm commands you need to add the location we installed node (/user/local/bin) to your path.

  • Open "~/.profile" for editing (I'm using nano)

nano ~/.profile

  • Add PATH=$PATH:/usr/local/bin at the end then press ctrl + x to exit. Type yes to save.

Clean up

We should now remove the downloaded files to keep the file system clean.

  • Remove the tarball

rm ~/node-v7.7.2-linux-armv6l.tar.gz

  • Remove the extracted files

rm -r ~/node-v7.7.2-linux-armv6l

Test

  • Check that node is working with node -v which will return the installed version, in my case v7.7.2.
  • Check that npm is working with npm -v which will return the installed version, in my case v4.1.2.

It's been a year - a retrospective

It’s the last day of the year - time for a look back.

In my opinion a lot of bad has happened this year, and in a lot of respects the world in general has taken several steps back. Along with this we've had celebrity and family deaths along the way. My year in contrast, along with many others, does not correlate with the wider picture. A new job, the birth of my daughter and a lot of fun times have given me a great year.

A year of apps

At the start of this year I set myself a challenge and declared this a year of apps. My aim was to complete and ship a new project every month. The logic behind this was to break myself out of the cycle of always coding, but never shipping.

Well, I did not ship 12 projects - it was closer to 2. This isn’t to say the concept was a failure. I did - as always - start many projects, and I did release more than I have in previous years. So although the goal was not met, I gained a lot from trying.

A flying start

In January I built and released an iOS game - Reaction Match. It was a simple concept that was easily finished within the month. I've continued working on Reaction Match since, shipping version 2 with a new game mode, and have version 3 in the works.

Reaction Match

Too ambitious

Being in high spirits after getting my first app on the App Store in January, I aimed high in February, in retrospect - too high. I attempted to create a game I codenamed "Bug Hunt". In the game, the user controls a spider who shoots webs at various insects who attempt to cross the screen. I enlisted the help of designer Paul Wallas who created some fantastic assets for the game.

Bug Hunt

Many issues arose during this project, not to do with coding, graphics or free time - but the concept itself. No matter how many iterations of the game were created, no matter what was tried, I could not gamify Bug Hunt. I could not make it fun. Because of this, after nearly 3 months of development I stopped working on the app. I had pledged to release everything I worked on in the year, but what use is a game that isn’t fun?

Fortunately; building, building and rebuilding the game time after time was a great opportunity to improve my understanding of Swift, Sprite Kit, and all of iOS.

Other projects

While I did not attempt any other major solo projects in the year, I did work on some with other people.

Parkr

After the false start which was Bug Hunt, the next project started was strictly MVP. A weekend of hacking led me to shipping Carpark Space Finder. Following this, I set out along with Paul Wallas on evolving this into Parkr, a full carpark space tracking service. While development fizzled out when I started my new job, we still hope to ship improvements to the MVP in the new year.

Parkr

Next Level Events

At the start of the year I set out along with Tanner and Weiran on building an events management system. We never released anything, but it was a fun project to work on. Working on a side project in .NET was great; being a Mac user everything I work on outside of work is often iOS or web based, so this was quite refreshing. Plus planning and setting out on any project is a lot of fun.

Next Level Events

A new job

In July I left my job of 5 years. I will really miss working on Care Partner and all the great people at FACE, but it was time to move on. In somewhat a departure from full stack .NET, I’m now a front-end engineer at Capital One and I’m really enjoying the new challenge.

A growing family

August brought the most important and exciting event of the year, the birth of my daughter; Aurora. She's a fantastic addition to our little family, and spending time with her, Ethan, Lauren, and the rest of my family is much more important than any app.

Aurora

Getting out there

Towards the end of the year I’ve tried to get myself known more in the local tech community. Along with Tweeting and blogging, I’ve given my first presentation at a meet up - in October I gave a talk on the future of JavaScript; ES2015 at dot net notts. It took a lot to get over the nerves, but in the end the talk went well, and from the feedback I had, came across great.

Books, books, books

At the start of this year I hadn’t finished a book (excluding a few text books) since the age of maybe 15. During my first few months at Capital One I got the opportunity to attend a 2 day “Personal Excellence” course; a lot of great ideas were shared, but the one which has stuck with me is reading. I’ve read 3 books in the last 3 months, something I’ve really enjoyed and will continue into next year.

It’s been a good year

So although we’ve had some odd political events, celebrity, and family deaths this year - my year overall has been pretty great. Here's looking forward to all that 2017 brings.

Metadata propaganda

There has been a lot of talk recently about Russia and potential interference with the US presidential election. I don’t know if this is true; I suspect it is, but it’s not my place to say. What I do know is I’ve started to see a lot of odd data reported by Google Analytics; mainly pro-Trump messages set as peoples browser languages…

Google Analytics Languages

Where does this traffic originate? Russia. I post nothing in Russian, I have no genuine Russian readers that I know of. But Google Analytics reports nearly all of this data from there.

Google Analytics Countries

No conclusions can really be drawn from this, but it’s interesting regardless.