[ Content | Sidebar ]

Archives for 2024

Brightlingsea, Colchester

October 10th, 2024

Continuing around East Anglia I found myself in Clacton again staying at this wonderful B&B called “The Chudleigh” run by a lovely woman named Carol. After I told her I was walking all the way to Colchester she gave me an extra muffin to take with me.

Along the coast I passed through Jaywick, infamous for being one of England’s most deprived neighbourhoods. Honestly it didn’t look that bad, similar to some of the small coastal settlements near where I grew up. Many of the houses like those below were built as holiday homes for Londoners and not intended to be lived in permanently.

Jaywick

I needed to make one last ferry crossing to get over the river to Brightlingsea. However instead of a ferry-summoning bat the Brightlingsea ferry runs on a strict hourly schedule and even has a dedicated app!

The unorthodox design of the Brightlingsea harbour app

I nearly missed the ferry and ended having to wave madly to get it to come back to shore as I ran towards it. After I got on board the captain asked me if I was “the one who pre-booked”. Apparently none of the other passengers were aware of the app.

River Colne near Wivenhoe

After that excitement I walked inland towards Colchester via the picturesque Wivenhoe. Not something I can say about Colchester itself unfortunately, which seemed to be a bit of a dump and was confirmed on a repeat visit two weeks later.

New Route to Newmarket

September 27th, 2024

I did a walk to Newmarket last year via a route north of the A14 so I’d thought I’d have another go with a more southerly route.

Once out of Cambridge it was equally pleasant. The highlight probably being the ancient earthwork Fleam Dyke which had this unexpected barrow on it.

The Only Way is Essex

September 7th, 2024

A two part adventure this time, and my very first foray into Essex. Last Saturday afternoon I started with what was supposed to be a short leisurely walk along the River Orwell from Ipswich to Felixstowe.

Bridge over the river Orwell near Ipswich

I say supposed to because shortly after this photo was taken I strayed off the path into some sinking mud which absolutely covered my boots and the lower half of my trousers. This was doubly unfortunate because I was staying overnight in Felixstowe and didn’t bring a change of clothes, but I managed to do some emergency cleaning in the shower.

The next day I got up and walked to Landguard Point which has an amazing view of the Port of Felixstowe, Britain’s largest container port. I was lucky enough to see a mega-ship being unloaded while I was waiting for the ferry to Harwich. MSC Michelle for all you ship spotters.

MSC Michelle

I didn’t spend long in Harwich because I was worried about getting to Clacton in time for the last train but it felt a bit run-down compared to Felixstowe.

I skirted around the wild marshes and mudflats surrounding Horsey island and finally came to Frinton-on-Sea, resuming my walk around the coast. From there it was a short walk to Clacton-on-Sea.

I wasn’t sure what to expect in Clacton but the town was bustling. It’s definitely a bit tacky but in a fun traditional seaside kind of way. They have a great pier too which Hastings could learn a lot from as it actually has stuff on it, to you know, attract visitors. No sign of Farage.

Clacton pier

Gipping Valley

August 29th, 2024

What a silly name. But the place itself is not particularly silly: it’s the valley following the river from Stowmarket to Ipswich and made for a pleasant if uneventful Sunday afternoon walk.

Type generic saturating addition in C

August 2nd, 2024

Here’s a macro I came up with today using the C11 _Generic feature that I’m quite pleased with:

#define TYPE_MAX(x)                             \
   _Generic((x),                                \
            uint64_t: UINT64_MAX,               \
            int64_t: INT64_MAX,                 \
            uint32_t: UINT32_MAX,               \
            int32_t: INT32_MAX,                 \
            uint16_t: UINT16_MAX,               \
            int16_t: INT16_MAX,                 \
            uint8_t: UINT8_MAX,                 \
            int8_t: INT8_MAX)
 
#define saturate_add(a, b) ({                           \
         typeof((a)) __tmp;                             \
         if (__builtin_add_overflow((a), (b), &__tmp))  \
            __tmp = TYPE_MAX(__tmp);                    \
         __tmp;                                         \
      })

It does a saturating addition on any integer type taking into account that signed and unsigned types of the same size have different maximum values. For signed types it doesn’t handle the case where b is negative however.

Stowmarket

July 25th, 2024

My dad asked me why I walked to Stowmarket. To quote George Mallory, “because it’s there”.

Stowmarket is a pleasant but unremarkable market town in the middle of Suffolk. It’s a bit too hot for walking all day at the moment so I started in the late afternoon and arrived at half-time in the England-Spain match (a lot of people were standing around in pubs looking anxious).

A rather attractive path somewhere near Stowmarket

New NVC version 1.13.1

July 25th, 2024

Download: nvc-1.13.1.tar.gz

This release is signed with my PGP key ID 74319F1A: nvc-1.13.1.tar.gz.sig

This is a major new release with a large number of improvements and bug fixes:

  • Type and package generics now work correctly with components and configurations (#883).
  • Fixed a crash when a matching case? alternative contains multiple choices (#890).
  • Implemented VHPI support for package declarations and vhpiPackInsts iterators (#891).
  • Signatures in attribute names are now parsed correctly (#892).
  • Attribute specifications for all are now parsed correctly (#889).
  • Predefined "=" and "/=" operators are no longer declared for file types.
  • Alias of packages now work correctly (#893).
  • Stricter checking of identifiers to reject those with multiple consecutive underscores or trailing underscores (from @typingArtist).
  • Stricter checking for subprograms, deferred constants, and protected types referenced before their corresponding body or full declaration.
  • Decimal physical literals like 8.2 ms are now correctly rounded (to 8200 us in this case) when they are converted to the base unit (#899).
  • External names can now be passed as signal actuals to subprograms (#900).
  • Fixed a crash when branch coverage is enabled and an if-statement contains a return (#903).
  • The NVC_CONCURRENT_JOBS environment variable can be used to scale the number of worker threads NVC creates based on the number of concurrently executing simulations.
  • Fixed a crash when certain attributes such as 'val are used in the target of a signal assignment statement (#908).
  • Signals in packages are now dumped to the FST file (#901).
  • Function interface declarations can now be pure or impure (#917).

As I was a bit tardy in putting out a blog post, here is a bonus maintenance release:

  • Windows installer was missing some standard library files.
  • Fixed a regression where generics and ports could not be referenced in external names (#921).
  • Fixed a crash when an unconstrained port with a default value is associated with open.
  • Fixed a duplicate symbol linker error with some uses of the 'delayed
    attribute.
  • Fixed a crash when an aliased subprogram is matched by a generic subprogram <> (#924)
  • Fixed a crash when a generic package containing a subprogram is passed to an entity package generic (#925).
  • Fixed an intermittent "failed to suspend thread" fatal error on macOS (#922).
  • Fixed a crash when a shared variable is declared inside a instantiated generic package in 2019 mode (#923).
  • Fixed a crash when a port with unconstrained array-of-record type is associated with a signal that has a static subtype.
  • Fixed incorrect longest static prefix calculation for array slices containing 'length, 'left, 'right and similar attributes (#930).
  • Fixed wrong result when slicing a generic that has an unconstrained array type (#931).

The latest release can always be found on the GitHub releases page.

Special thank you to @bpadalino, @tmeissner, @Blebowski, @amb5l, @m42uko, @a-panella, @cmarqu, @albydnc, and @johonkanen for sponsoring me!

Corby

July 21st, 2024

I’ve been fascinated by Corby for a while now, and my desire to travel there has taken on quest like properties similar to that time I wouldn’t stop talking about Selby. What’s so special about Corby you ask? Two facts: it once had an unemployment rate over 30% and its Asda sells more Irn-Bru per capita than anywhere else in England. These are somewhat related as the town was once dominated by a massive steel mill which attracted large numbers of Scottish migrant workers in the early twentieth century. When the steel mill closed in the 1980s it devastated the local economy.

I did this as a two day 51 mile epic as it’s quite difficult to travel anywhere other than south from Corby by train. Starting in Huntingdon which I walked to earlier in the year and finishing in Oakham in Rutland which I’ve also visited previously.

The going was very slow due to the atrocious state of the footpaths in some areas. Eventually late in the evening I discovered this unfinished 16th century manor house at Lyveden. It’s a National Trust property but you can freely walked around the grounds.

I was expecting Corby to be some nightmarish post-industrial hell-scape but it was actually just a normal mid-sized town. The steel mill is gone and replaced with huge logistics parks and warehouses. The main local landmark is The Cube, the rather imposing home of North Northamptonshire council which you can see in the photos below. The highlight of the short time I spent there was hearing someone in Greggs (presumably a local) speaking in a strong Scottish accent, proving that at least some of Corby’s cultural heritage is still alive and well.

Felixstowe

June 16th, 2024

Another visit to Suffolk, this time I’m trying to get to Felixstowe following a detour around the Orford marshes.

The long spit of land between my path and sea is Orford Ness which is now a nature reserve but in the past was used as a nuclear weapons testing site (I don’t think they actually exploded anything there).

This mission had a touch of urgency since I needed to cross the river at Bawdsey by ferry which only runs in summer and stops at 5pm. I got there in time but unfortunately the ferry was nowhere to be seen.

Luckily I found this “bat” which I waved frantically while looking like an idiot, and to my surprise it did actually summon the ferry.

I didn’t know much about Felixstowe before setting out, apart from that it’s home to Britain’s largest port, so I expected it to be rather industrial. But apart from the cranes in the distance it turned out to be a perfectly pleasant seaside town. Reminded me a bit of Folkstone.

Sizewell

May 31st, 2024

A pox on the weather forecasters! I booked the hotel for this trip a few days in advance when the forecast was still “sunny with clouds” but by the night before it had deteriorated to “heavy rain”, which unfortunately proved accurate.

So I spent the first half of the trip getting increasingly wet. But it eased off eventually and finally stopped once I arrived Sizewell, best known for its two nuclear power stations.

Sizewell B

The big white golf ball is Sizewell B, which is still operating. Lurking behind it is the grey shell of Sizewell A which was decommissioned in 2006 but won’t be demolished until 2098 at the earliest.