The earth’s oceans contain a great deal of dissolved inorganic carbon (DIC) and a decent concentration of calcium (about 10mM). Furthermore the ocean has a huge surface area and is able to take up large quantities of CO₂ from the atmosphere. It is thus sometimes suggested that inducing precipitation of calcium carbonate (CaCO₃) from seawater could be a viable method to lock down carbon into a…
For an experiment I wanted to measure how quickly certain alkaline minerals, such as Mg(OH)₂ or MgSiO4 dissolve in seawater under constant pH. For a large enough volume of water this is a reasonable assumption but I needed to do it in a small volume. That would require the use of a tiny amount of Mg(OH)₂ and that would make it rather noisy to measure. However using a larger quantity doesn’t work…
I often make images of Raspberry Pi sdcards for easy installation and cloning. Unfortunately the size of the image will always be that of the size of the card, which is usually much larger than the amount of actual data. Thankfully there is a way to shrink an image, though every tutorial i’ve seen online is cumbersome and manual (e.g. using gparted). Instead I wrote a script that does it…
Raspberry Pis are perfect when building interactive art projects (e.g. 20 printers printing ML generated tweets and often it’s nice to leave the Pi headless, i.e. without keyboard or monitor. And it’s convenient to just power up the device to start it and pull the power when its time to shut it down. However there are two minor issues - how do you get your code to start without a login and how do…
When casting glass I usually need to sandblast the glass after cold working in order to get a smooth and consistent texture across the piece. I usually use a 150grit medium at 35 psi or so. Sandblasting will make everything really even and nice, but results in a very whitish, extremely scattery surface that lets little light shine through. The reason is that sandblasting essentially knocks tiny…
A few months ago I posted some results from experiments with highresolution GAN-generated faces . By popular request here is a little more on the approach taken and some newer results. Generative machine learning has made tremendous strides in recent years. Unfortunately most models are limited to resolutions below 256x256 due to memory and processing limitations. For larger resolutions two-step…
For a while now I’ve been experimenting with ways to use generative neural nets to make portraits. Early experiments were based on deepdream-like approaches using backprop to the image but lately I’ve focused on GANs. As always resolution and fine detail is really difficult to achieve. For starters the receptive field of thse networks is usually less than 256x256 pixels. One way around this is…
Imagine you had a square grid of points and you’d like to transform that grid into a hexagonal grid of points such that the local relationships between points are preserved. For irregular or arbitrary start or target grids tools like Mario Klingemann’s RasterFairy do an excellent job. However for a regular to regular transform I was wondering if there were optimal, regular, tilable solutions. The…
For a few years now I have been experimenting with casting glass and occasionally bronze from 3D printed positive models. Specifically I use this technique to make sculptures of protein molecules rendered as their solvent accessible surface, which are created from their scientifically precise chrystallographic coordinates. I begin the process of casting a molecular sculpture by reviewing different…
A while ago I played with style visualizations and bilateral filters. The latter have the nice property of filtering out noise but preserving edges. Here are some example class from GoogLeNet (Inception network). Big shout out to Audun m. Øygard and Kyle McDonald who were among the first to use filters (e.g. gaussian blurs) essentially as image regularizers for single class visualizations. These…