Gerrit Niezen

Maker of open-source software and hardware.

Feature image

After my post from yesterday, I discovered that the CoreRT docs have some tutorials that work and some that don't, at least on Ubuntu 18.04. The difference between those are that the second one requires you to build the compiler yourself, whereas the first one adds the compiler as a package.

I've attempted to take this MIT-licensed LZO implementation and compile it as a shared library. At the time of writing, the documentation for building a shared library using CoreRT is still an open PR, so I used this commit as reference.

First I made sure I had all the prerequisites in place. This includes installing the .NET SDK and installing the following dependencies:

sudo apt-get install cmake clang-3.9 libicu55 uuid-dev libcurl4-openssl-dev zlib1g-dev libkrb5-dev

Then I ran dotnet new nuget to add a nuget config file and edited it to look like this (adding the dotnet-core and nuget.org package sources):

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <packageSources>
    <!--To inherit the global NuGet package sources remove the <clear/> line below -->
    <clear />
    <add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
 </packageSources>
</configuration>

I then edited the .csproj file to look like this:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Library</OutputType>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.DotNet.ILCompiler" Version="1.0.0-alpha-*" />
  </ItemGroup>

</Project>

I then ran dotnet publish /p:NativeLib=Static -r linux-x64 to generate the static library. It's still 15MB in size, so I need to figure out how to strip out the unnecessary stuff. But first I need to actually export methods from the library to be able to use them and see if it actually works.

Feature image

I'm not a C# programmer. The last time I used .NET was more than a decade ago when I wrote Visual Basic code. But we need an implementation of the LZO compression algorithm that is MIT/BSD-licensed, and the only one we could find is written in C#, based of a description of the algorithm instead of a GPL implementation.

I came across an article describing CoreRT, which translates C# code into cross-platform C++. When I went to the GitHub page, I discovered that it can also transpile to WebAssembly. I've never worked with WebAssembly before, but this seems as good a time as any to give it a try.

I started by installing the prerequisites on Ubuntu 18.04. Unfortunately the prerequisites are for 16.04. I attempted to install the latest version of clang, but got some weird errors, so now I'm installing the specified versions.

If all goes well, I'm hoping to generate either a WebAssembly module of the LZO algorithm or a C++ static library that I can then write a NodeJS wrapper for. I have a feeling the solution may just be too bloated, as I just got a Hello World app compiled that is 14MB in size. 😕️

Feature image

Back in June, I mentioned building a wireless temperature sensor that I wanted to use for growing veggies. I also mentioned that I wanted to get started with hydroponics. Well, it's now October, and while I've had all the bits and pieces ready, I haven't made a start on this yet.

I mentioned this on Mastodon today, and asked for suggestions for plants to grow in the autumn. Tulsi mentioned greens and pointed me in the direction of Japanese greens, like mizuna. I never knew so many options existed. Cathal Garvey, who some of you may know from building his own bio-lab in his bedroom, mentioned that he is growing lamb lettuce. I picked some seeds up from the garden centre this afternoon, and it will be an interesting experiment to see how they respond to being grown hydroponically.

#Hydroponics

Feature image

I've been on Mastodon, the federated social network, since March 2017. I never posted there that much, just like I rarely post to Twitter. I have an account on the main instance, mastodon.social, but through Scuttlebutt discovered a smaller instance called sunbeam.city. This instance is more aligned with my current interests, so I hope to be able to engage with people there more.

As I intend on using Scuttlebutt and Mastodon more, I wonder how long I will still be using Twitter.

Feature image

This is a quick follow-up to the post from last Thursday in which I compared the behaviour of the non-profit water utility Welsh Water to the for-profit telecoms utility Openreach.

Due to the bad weather we had last week in Wales, Welsh Water had a shortage of engineers. They still arranged for a contractor to come the same day to look at the damaged manhole cover on our property. Due to the high workload, the contractor only arrived at nine o' clock in the evening, but was very friendly and performed his inspection quickly and efficiently. He left a card with a reference number and said that Welsh Water would be in touch.

Based on my previous experience with utility companies like Openreach, I didn't expect them to get back to me quickly. Low and behold, they called as promised this morning to arrange for someone to come out and replace the manhole cover.

Is it possible that non-profits are able to provide better service because they're not just thinking about their bottom line, and don't have to cut corners just to increase shareholder profit?

Feature image

The article “Whatever happened to the Semantic Web?” is a pretty good summary of the history of the Semantic Web. A lot of the work I did for my PhD was based on Semantic Web technologies, and the article did a good job to explain how some of these technologies completely failed, while others flourished in a specific niche or use case. While the dream in the original 2001 Scientific American article didn't happen exactly as described, these kind of visions rarely do.

I feel like one area that should have found more use cases, specifically in the Internet of Things, is ontologies and inferencing. Maybe it will still happen, but I'd love to know why it hasn't happened yet.

Feature image

It's Friday night, so this will be short. After the IPCC report was released this week, I have been thinking about climate breakdown a lot. If we only have 12 years before it's irreversible, we should all start doing something now. We can't just wait and hope that governments or big business will act. It feels like the only way to not fall into despair is to really be the change we want to see in the world. Maybe a good start is reducing our meat consumption by 90%?

Feature image

In the UK, the physical telecoms network is managed by Openreach, a wholly owned subsidiary of BT Group plc. Basically, if you don't have cable internet access (which is in turn owned by Virgin Media) you'll have to use the Openreach network. It doesn't matter who your internet service provider is. You also can't contact Openreach directly, so if you have any internet issues you have to play Chinese Whispers (also called the Telephone Game) to get anything done. It's not strange to wait months for your internet access to be restored if it goes down due to a physical fault.

The telecoms regulator, Ofcom, has attempted to separate Openreach from BT in order to provide equal access to the network and hopefully improve service, but BT itself still owns all the network infrastructure, and they're still owned by the same parent company, BT Group plc.

I've had horrible experiences in the past trying to get internet installed to my house, to the extent that I even called my local Welsh Assembly minister to try and get things sorted. It went all the way to the Minister for Skills and Technology, but at the end of the day it was still months before anything happened.

Compare this with Welsh Water, the non-profit tasked with providing drinking water and wastewater services to most of Wales. I discovered a damaged manhole cover in my backyard, and went to their website to see whose responsibility it is to fix it. I found a live chat option, and they quickly arranged to have engineers visit the same day to check it out. This was followed up by a phone call to arrange a suitable time.

Please, tell me again how profits (more than £1 billion operating income in the case of Openreach) are necessary to provide good customer service and a working system.

Feature image

It's been 6 years to the day since I received my PhD in Industrial Design from TU Eindhoven. What has happened since then?

It's a little bit funny that I've neen ranting about smart homes this past week, as that is exactly what I was working on at the time: Designing and building systems for smart home interoperability. Based on my recent experiences with setting up Hive Home, smart home interoperability is still an unsolved problem. I feel like the work described in my PhD thesis does solve a small part of the puzzle, but unfortunately the company who had the best chance of implementing the system we developed was Nokia, which you may recall was driven into the ground by Microsoft and their trojan horse takeover. What I can definitely tell you is that APIs are not the answer.

I haven't really looked much at smart home systems in the six years since, as I've been focusing my energy on medical devices. The first three years as a postdoc at Swansea University, looking at device safety in terms of their user interfaces. The most recent three years I've been working with Tidepool on liberating the data stored on medical devices, specifically those used for treating diabetes.

Feature image

Reduce-reuse-recycle: Why is it that we usually focus more on the recycle part than on the reduce and reuse parts? Did you know that recycling wasn't even invented to reduce waste, but to avoid regulation and banning of plastic products? The only real solution to waste is to either use less or use what you already have.

Previously I wrote about how I had no free storage on my phone, and was considering possible options for buying a new one. I looked at initiatives like Fairphone, but when Apple's Lisa Jackson said “keeping using them is the best thing for the planet” during the last iPhone event, I decided to just factory reset my phone and reinstalling everything. And it worked just great – I still have enough free space on my iPhone 6S, and it's fast enough to run all the apps. iOS 12 and WatchOS 5 provides enough novelty that I don't feel like I need something like the XS. Paying more than £1000 for a phone is truly XSive.

I know I have a long way to go in terms of not creating unnecessary waste, especially when it comes to food packaging. I hope that I can get started with growing some more of my own food soon, and will keep you posted on my progress.

Enter your email to subscribe to updates.