Blog

Political landscape I

About 47.6 million people were registered as entitled to vote in the United Kingdom’s general election on 12 December 2019 and about 32.1 million did so. I wanted to use Haskell to view the outcome. Results The House of Commons Library publishes the results of the election as two comma-separated values (CSV) files, the smaller […]

Access Access

I had a lot of data in a table in an Excel spreadsheet file and I was planning to use Haskell to analyse it. The data would be better structured as a database. Microsoft Office 365 provides Access, a database management system (DBMS). Could Haskell access data in an Access .accdb file? The short answer […]

Parametric pill box

Autodesk’s Fusion 360 allows the parametric modelling of solids. I used it to create a better pill box, where user parameters defined the box diameter (default 38 mm), box height (3 times the radius, between the hemispherical caps), wall thickness (2 mm), minimum wall thickness (0.8 mm), clearance (between the overlapping parts) (0.25 mm), number […]

Pill box

A right circular cylinder, about three times its radius in height, capped by hemispheres makes a satisfying pill shape. I bisected the pill perpendicular to its axis of circular symmetry to allow both the hemispheres to be 3D printed convex. The two halves would need to be joined. Pill box 1 On my first attempt, […]

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 […]