Blog

Toadstool II

My first toadstool was relatively simple. This second one was more complex, including a representation of the ring around the stem and the volva at the base. The cap was modelled to be smoother than the first, using a geodesic sphere based on a cube. Ultimaker’s guide to designing for printability suggests that the minimum […]

Toadstool

Fused filament fabrication (FFF) cannot 3D print on thin air, although bridging over short gaps is possible. The help of support is required if one layer does not overlap sufficiently the layer immediately below it. A simple toadstool was modelled in Hexagon 2.5.0.5 and sliced in Cura 3.4.1. The cap was modelled as a squashed […]

Door stopper

Way back when I bought my Billy bookcases, IKEA offered an extension that added a low cupboard to the base. The extension is no longer available. Plastic stoppers prevented the cupboard doors from swinging inward. At some point, over the years, I lost a stopper. Its replacement seemed an obvious choice for my first 3D […]

Like onions

ALDI in the UK currently sells the Balco 3D Printer Touch (model HE180021), marketed by Balco Lifestyle and originally manufactured in China by WANHAO 3D Printer. The printer was my first toe in the water of 3D printing. The printer is very similar to the WANHAO Duplicator i3 Plus (the hardware is said to be […]

Out of sequence

The Haskell language provides the list type ([a]) for values that correspond to a finite sequence of values of the same type (a). Other packages export other types that do the same: containers exports Seq a and vector exports Vector a from module Data.Vector and other types from other modules. The values of the different […]

Indexing with fixed-size vectors

In August 2017, Jason Le identified the vector-sized package as the canonical source for efficient fixed-size vectors. Module Data.Vector.Generic.Sized.Internal of the package exports a new type Vector defined as:

and module Data.Vector.Sized defines the type synonym Vector (where Data.Vector is a module of the vector package):

As shown above, instances of Vector v […]

zlib1.dll and conflicts

Certain Haskell libraries depend on C library GTK+ or its dependencies (such as Cairo or Pango). The dependencies include zlib, a compression library. On Windows, these libraries can be obtained most easily using MSYS2. The DLL build of zlib is named zlib1.dll. zlib has developed over time and later versions of zlib1.dll export functions that […]

It’s a kind of magic

Sandy Maguire is working on a book about type-level programming in Haskell with the working title of The Book of Types. It has prompted me to take stock of what I know about kinds. Haskell 2010 Language Report My starting point is the Haskell 2010 Language Report. It explains that the main forms of type […]

Further from the Path

My Path user environment variable includes references to other environment variables, for example (extract):

Suddenly, I was no longer reaching certain locations on the path. I discovered that the references to other environment variables were not being expanded.

Somehow, the type of Path in the registry had been changed from REG_EXPAND_SZ to REG_SZ, […]

Grokking monads

It has been said that the world does not need yet another monad tutorial. Hal Daume III’s Yet Another Haskell Tutorial (copyright 2002 to 2006) is available as a Wikibook and there is a featured wikibook on Haskell itself. The November 2008 edition of Real World Haskell by Bryan O’Sullivan, Don Stewart, and John Goerzen […]