After going through a series of non-stick teflon pans during the past decade, I wanted to try out using a cast-iron pan. They supposedly last multiple lifetimes if taken care of, so I wanted to see if I would enjoy using one.
The current state-of-the-art cast-iron pan is the one from Lodge, which is only $17 at Walmart, but costs £50 here in the UK. So I decided to go with the Utopia, which is £20 on Amazon and had some decent reviews. Unfortunately the criticism in the Wirecutter article of the Utopia is true: While it looks very similar to the Lodge, the seasoning is very thin and doesn't actually prevent things from sticking to the pan.
Utopia recommends starting off with some bacon to improve the seasoning, and even though I've made a lot of bacon on the pan this week, the eggs I made this morning still stuck to the pan. I've gone through seasoning the pan again twice, which involves coating it in vegetable oil and baking it in an oven at 180 degrees Celsius for 45 minutes.
Maybe I'm just not patient enough? Maybe I should go through another round of seasoning before I try baking eggs in it again?
Today I added a new section called Now to this website. It's inspired by Derek Sivers's Now page. This is the description of a Now page:
So a website with a link that says “ now ” goes to a page that tells you what this person is focused on at this point in their life. For short, we call it a “now page”.
After I abandoned my attempt to transpile a C# library to C yesterday, I started to see if I can get the LGPL version of FFmpeg's libavutil library compiled as a shared library, for which I can then write a JavaScript wrapper. I'll put the instructions here in case I or someone else needs it again in future.
First, get the FFmpeg source files: git clone git@github.com:FFmpeg/FFmpeg.git Make sure you have all the required dependencies. A weird one I didn't know I needed was YASM (sudo apt install yasm) .
To have it compile a shared library, you have to pass the right parameter to configure:
./configure --enable-shared
You can then just run make. It'll take a while to compile, but if it finishes successfully, you'll find a libavutil.a in the libavutil folder.
It's also possible to cross-compile to a Windows DLL file using Linux. You just need to do:
sudo apt install gcc-mingw-w64
./configure --enable-shared --arch=x86 --target-os=mingw32 --cross-prefix=i686-w64-mingw32-
make clean
make
The make clean is necessary to clear out the object files from your previous build that won't cross-compile.
After my previous post I managed to build the compiler myself. It turns out that when Emscripten installs itself, it installs its own copy of clang and puts that in the path. CoreRT falls over when it tries to use v6 instead of v3.9, so the solution was to uninstall Emscripten.
Even then, after installing the compiler and getting all the tests to pass, I was still running into some issues. Basically, when I'm trying to link to the static library I built, it was throwing undefined references to things like CoreRT's RhpNewArray.
That, and the fact that the most recent version of the static library has ballooned to more than 30MB with only a couple of test functions, is leading me to abandon this approach. Maybe I'll come back to this when CoreRT is a bit more mature.
I came across some pretty cool open data maps recently. The first one is from M&S (via Spencer Wright's awesome The Prepared newsletter), which shows exactly where in the world their products (food & clothing) are made, as well as where they source their raw materials from:
I've noticed that there are air pollution sensors installed by our local city council next to busy roads, and checked What Do They Know to find out if anybody has made a freedom-of-information request to get the data. Turns out they are already publishing it online:
So, it turns out we now need to start sending our apps to Apple for “notarization” if we want them to continue to run on macOS:
Note that in an upcoming release of macOS, Gatekeeper will require Developer ID signed software to be notarized by Apple.
This seems like really bad news for macOS, but given the questionable decisions Apple has made in the name of “security”, for example secure kernel extensions, this is not unexpected. This basically implies that Apple is planning on acting as gatekeeper for any software to run on macOS, making it as restrictive as iOS.
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:
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.
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. 😕️
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.
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.