Old drawings of “Walton Castle”, the Roman fort of the Saxon Shore at Felixstowe

We do possess a number of old drawings of the Roman “Saxon Shore” fort that once stood on the cliff at Felixstowe. These show what it looked like, before it went over the cliff into the sea, and then after.  These were printed in 1907 in The Victoria history of the county of Suffolk, Vol. 1, between p.288 and 289,[1] and appear in the Wikipedia article.

The first was drawn in 1623:

Engraving from a drawing made in 1623 of “Walton Castle”, the Roman saxon shore fort at Felixstowe before its destruction,

It was accompanied by a plan:

Plan of the Roman saxon shore fort of Felixstowe made in 1623.

The “ruins” may be the remains of a medieval baron’s castle slighted by Henry II.

Next the Victoria History prints a drawing from 1766 by Francis Grose of the ruins lying on the beach after the sea undermined the sandy cliff on which it stood.

Engraving showing the remains of the Roman Saxon Shore fort known as “Walton Castle”, in Felixstowe, Suffolk. From: The Antiquities of England and Wales by Francis Grose. Drawn in 1766. Published in 1786

The Victoria County History volume was published in 1907, at a time when the landscape around the area was rather different, for the port of Felixstowe did not exist, and much of the area now occupied by the town was just marshes!

The two rivers, the Stour and the Orwell, pour into the sea together to the south.  The river Deben is to the north.  The VH reads (p.288; I have added paragraphing and modernised spelling where needed):

… the united waters of the Stour and Orwell poured themselves into the sea by a passage running at the foot of high land called at its eastern end Bulls Cliff, at Felixstowe. Marshes at the foot of this high land, and the traces of a waterway in the marshes, in fact, seem to point out the line or which the united waters of the Stour and Orwell reached the sea in very early times.

The VH continues:

Between the Deben and these other estuaries lay a broad flat tract of land some miles in extent, a sort of peninsula. In the Roman period this tract projected farther into the North Sea than it does now. On a site on this land about a mile south of the mouth of the Deben, but possibly then at some distance from the sea-shore, stood the fortress whose history, scanty as it is, is still worth tracing.

Of the walls not a fragment remains above the waves, which undermined the last relics of them in the 18th century. Now and again when the tide is at its lowest two or three weed-covered masses may be seen, but that is all there is to show that a Roman station once stood on the spot.

Fortunately the memory of it has been preserved in letters and drawings which show clearly enough the character of the buildings. The place was known in the 17th century, and probably much earlier, by the name of Walton Castle, no doubt from some traces remaining within the inclosure of the Roman walls of a keep and other structures of the 12th century, built by the rebel earl Hugh Bigod, whose castle here was destroyed by the king (Henry II) after the suppression of the rebellion in which the earl had been engaged.[11]

11.  On the Pipe Roll of 22 Hen. II, an. 1, 176, is the amount of the costs involved in its destruction. The Norman additions to the Roman fortress would find a parallel in those made within the Roman walls of Pevensey (Anderida), another of the ‘forts of the Saxon Shore.’

The intruder structure then is very like the situation at Porchester (not Pevensey), where a Norman keep stands in one corner of the Roman enclosure:

The Roman fort of Porchester with a Norman castle keep in one corner.

The VH has more to tell us, however:

However this may be, it is not until the 18th century that it is possible to speak with any certainty as to the remains called Walton Castle, and then the descriptions show them to be clearly Roman. The first in date is the following, which occurs in vol. i of the Minute Books of the Society of Antiquaries under date 28 November 1722, in a letter from Dr. Knight. It runs thus:

“Some distance east of this town (i.e. the neighbouring village of Walton) are the ruins of a Roman wall situate on the ridge of a cliff next the sea between Languard fort and Woodbridge River (the Deben) on Bawdsey haven.  It is 100 yards long, five foot above ground, 12 broad at each end and turned with an angle. It is composed of pebble and Roman bricks in three courses, all round footsteps of buildings, and several large pieces of wall cast down upon the strand by the seas undermining the Cliff, all which have Roman brick. At low water mark very much of the like is visible at some distance in the Sea. There are two entire pillars with balls, the cliff is 100 foot high.”

In 1722, then, part of the fort had fallen into the sea, but the landward side still stood, as a “Roman wall” which was 100m long.

The next notice that can be given is from Kirby’s Suffolk Traveller (1735), where it is stated under the head of Walton :—

“For the neighbouring Parish of Felixstowe on the Colnes side of Woodbridge (Bardsey) haven, still appear the ruins of a quadrangular castle, advantageously situated”;

and further and more fully in the second edition of his book, published in 1754, he says:

“He that would look for the site of this castle within the bounds of Walton strictly taken will never find it; but upon a high Cliff in Felixstowe, at the distance of about one mile from the mouth of Woodbridge River (the Deben) and two miles from Orwell Haven, part of the foundation of the west side of it is still to be seen: being now one hundred and eighty-seven yards in length, and nine feet thick; it is called by the country people, Stone-Works. How much larger it was we cannot judge. Part of the south end being washed away: and the sea, which is daily gaining upon this coast having swallowed up the ruins. Such was the condition of it about the year 1740 : but since then the sea hath washed away the remainder of the foundation. There can be no doubt but Walton Castle was a Roman fortification as appears from the great variety of Roman urns, rings, coins, etc., that have been found there, etc.”

A page further on contains the following paragraph, which seems to identify the place:

“In a survey of the Manor of Felixstowe Priory made in 1613 we find a close of arable land called Great Long-Dole, in which close are the ruins of Walton Castle.”

The close is still known by its ancient name, and its position may be seen on the Ordnance Survey maps. It lies close against the sea.

The landward side of the fort fell into the sea, then, between 1740 and 1754.  Sadly a Google search on “Great Long-Dole” reveals that, whatever it was, it is no longer known by that name.

Grose, in his supplement to the Antiquities of England and Wales, published in 1787, gives a view of the wall in question, which by that time had fallen on the beach. He says:

“Its remains in 1766 when this view was drawn, were only visible at near low water, the sea having gained so considerably on this coast as to wash away the cliff on which it stood. A gentleman now living remembers the ruins of the castle to have stood at least fifty yards within the extremity of the cliff.”

Thus the only remaining fragment of Roman enclosure had fallen beneath the waves in 1766. The wall unquestionably formed part of a station of the same class as the one by the Waveney, though perhaps not covering quite so large an extent of ground.  Kirby speaks of it as standing on a ridge. This was the southern edge of a wide depression, scarcely a valley, which, wide upon the shore, gradually narrowed as it ran westward to the ancient village of Felixstowe. Both slopes of this shallow valley appear to have been used as the cemetery of the station; a boarded well has been discovered ; and perhaps some few scattered houses, judging from the building material found, may have existed here. On the north side of the valley, where a fall of the cliff occurred in 1853, two skeletons were uncovered. These had bronze armlets, which were placed with the bones in the museum at Ipswich.[12]

12.  For an account of other views representing the ruins of the Roman station called Walton Castle see Topographical Index under Felixstowe.

The “valley” is today known as “The Dip”, and any driver passing along the coast road will recognise the big dip in the road instantly.

From a report [13] in the Proceedings of the Society of Antiquaries (1885) we learn that ‘during the progress of works carried on in what is known as the Park, situated a short distance from Felixstowe Church (close to, if not actually part of, the field known as the Great Long-Dole), the men in their search for Coprolites came upon many most interesting relics of the Roman occupation.’  Amongst the list of objects turned up occur ‘coins of Severus, Gordianus, Gallienus, Victorinus, Constantinus, Arcadius’ &c. Of more consequence than the miscellaneous finds were the cinerary urns found, ‘containing bones and ashes and either closed with a cover or with a stone only.’ The discovery of these last showed the situation as part of the cemetery.

From what has preceded it is clear that there was on this spot of the Suffolk coast a Roman station, approximating in size and details of construction to those noted for the defence of the east coast. It occurs at a most important point for the protection of this coast, and its omission would have caused a dangerous gap in the line of defence. On the cliff 100 ft. above the sea it commanded a full view of both the Stour and the Orwell and of the Deben, the harbour at whose mouth, called Bawdsey Haven, scarcely a mile away, would have held the auxiliary ships of the fleet. It seems strange that the site should be so little known by antiquaries, perhaps owing to its disappearance early in the 18th century and the very little interest shown by them in the later Roman fortresses in comparison with those which are more obvious and earlier.

13. Proc. Soc. Antiq. Lond. (Ser. 2), 1885, xi, 12, 14.

The VH winds up (p.291) with:

It is a curious fact that though eight of the ‘forts of the Saxon Shore’ have been identified with all probable correctness, the place of one of them has never been settled with general assent. This is the Portus Adurni. The station has been supposed to have been situated on the Adur, a stream flowing into Shoreham Harbour, in Sussex, the name being given to it from that of the stream ; but this has been shown to be an error, as the little river in question had no certain name till the 17th century, when that name was bestowed upon it.[14] Portchester has also been suggested for its site, as a large Roman station of the late class still exists there at the head of Portsmouth Harbour. There is, however, no river or stream here whose name might be associated with that of the port. From the most westerly of the identified ports of the Saxon Shore, Pevensey (Anderida), round to Brancaster on the Wash, in Norfolk (Branodunum), the sites of the stations have been found and named, yet here at Walton on the most important point in the whole line lies a station as important as Gariannonum, which station it is suggested was Portus Adurni. If we knew the Roman name of the Stour such a suggestion would be settled.

In the Notitia Dignitatum Portus Adurni is spoken of as garrisoned by a body oi exploratores ; that is, in modern phrase, mounted scouts. No better troops could be selected for such a fort as that at Walton. There seems not very much doubt that if all the facts connected with the site could be fairly arrayed the name given above would with little hesitation be bestowed upon it and the last gap in the list of the Notitia would be satisfactorily filled.

14. Haverfield, Proc. Soc. Antiq. 1893 (Ser. 2), xiv, 112, 116.

The “Topographical Index” is later in the volume, on p.300.  Pp.305-7 contains yet more information.  I will give it all, having dug it out, but it is rather dry.  The possibility of more drawings, however, deserves attention.

Felixstowe.—Here was a Roman station known under the name of Walton Castle, formerly existing on land near the village of Felixstowe, which has long been washed away by the encroachments of the sea (see p. 287). The site of the cemetery attached to it still remains. The following are the principal authorities for the former existence of the station :—

A communication from Dr. Knight to the Society of Antiquaries of London, which has been inserted in the manuscript Minute Book of that society [i, 71, 2]. The letter is dated 28 November 1722 [A Tour in the Whole Island of Britain, by a Gentleman (ed. 3), 39-40].

Mr. T. Martin, in his account of the remains, which is dated 16 September 1725 [Church Notes, i, 185], says, ‘ About half a mile from the town (of Felixstowe) are the ruins of a Roman fortification upon the brink of the cliff (great part being already fallen down, a few years are likely to put a period to the whole), ’twas built very substantially with rock-stone and Roman brick.’  . . . . . . . . . . . . . . . . The portion of this wall of the station, still standing in 1740, and the site generally, are described by J. Kirby [Suffolk Traveller (ed. 2), 89-91].

Camden mentions Walton Castle, but not as a Roman station.

Gough in his ‘Additions’ to his edition of Camden speaks of ‘a castle (at Walton), the foundations 187 yds. long and 9 ft. thick . . . plenty of Roman coins and other antiquities found there’ [Camden, Brit. (ed. Gough), ii, 85]. The mention of the length of wall
remaining is probably taken from Kirby.

In Grose’s account accompanying his text a view apparently taken in 1766 is given showing the remains of the wall lying upon the beach [Grose, Antiq. of Engl. and Wales ; Suppl. ii].

Besides the view of the ruined wall in Grose’s account others may be mentioned.

There is a small sketch in Indian ink entitled ‘ Remains of Felixstow Castle 1780,’ the drawing being by Isaac Johnson, in vol. ii of Suff. Illus. (Fitch Coll.).

Another drawing in pen and ink, washed, was in the collection of the late Mr. Eyre of Ipswich. It purports to be a copy from a print in the possession of Mr. Oxburgh of Hartcliff in Kent, the print itself having been executed from a drawing made in 1700 by Thomas Bates of Ipswich. A second copy of this print is in the collection of Miss Nina Layard of Ipswich. Neither print nor original drawing is now traceable. These copies show the ruins of a circular bastion on the edge of the cliff, evidently that of the one at the south-west angle of the station, with a small portion of the south wall running seawards, and overhanging the precipice. Masses of the same wall lie upon the beach.

Mr. Eyre also had a tracing from a pen-and-ink outline drawing washed with colour, of much earlier date than the last mentioned. Upon the original drawing there appears to have been this inscription in writing of the 17th century: ‘E Pros (?) Walton Castel,’ and it was signed in one corner ‘John Sheppard 1623.’ The
sea front of the station is represented entire, the edge of the cliff being in the foreground. A circular bastion is seen at each angle, and a wide break about the centre of the front marks a gateway. Beneath the view is a rough plan indicating that the walls of the station formed a parallelogram with a bastion at each angle. The drawing from which this tracing was made is not now to be found, and judging from the tracing it had the character of a sketch of the 18th rather than of the 17th century, although the writing on it seemed to be of the latter period. Unless something more could be ascertained respecting the original drawing from which the tracing in question was made, its value as an authority for the condition of the remains early in the 17th century must be considered doubtful.

Many objects of the Roman period have been found about the site. Beginning with coins, it may be mentioned that Davy [Suff. Coll. B.M. MSS. 19087, fol. 53-60] described a collection made at Felixstowe in the years 1742-3-4, in full detail. The coins range from Pompey the Great (ob. 48 B.C.) of whom there was one example, to Honorius (A.D. 395-423), and their total number amounted to 420. This collection was the property of the Rev. W. Brown of Saxmundham, and at the sale of his goods in 1827 it passed into the possession of the Rev. W. Layton of Ipswich.

Coins were found at a later date, of Victorinus (a.d. 265-8), Tetricus (a.d. 268-73), Urbs Roma, Valens (2) (a.d. 364-78), and Gratian (a.d. 375-83) [Journ. Brit. Arch. Assoc. xiv, 271] ; also a gem of oval form, possibly a cornelian, engraved with a figure wearing a petasus, and with a panther skin hanging from one arm. In the right hand it held a poppy head and wheat ear, and in the left a pedum [ibid. 339].

A find is recorded in 1749 of very small Roman coins and some pieces of metal, as if melted in the fire, near Bawdsey Haven [MS. Min. Soc. Antiq. v, 241].

During the process of digging for coprolites in the field known as the Park near Felixstowe Church, many objects of the Roman period were turned up. Such as were noted were as follows :—

Vase of so-called Samian ware, with hunting scenes and ornament of oak leaves and acorns (purchased by the South Kensington Museum), flue tiles, amphorae, lagenae, a small glass phial, bronze pins, tweezers, a speculum, several fibulae and gold rings, silver rings, some set with stones, a gold chain of twisted wire, and a bronze bracelet, a bronze disk enamelled (a circular fibula ?), a bronze enamelled tag ox fibula, and other objects in the same metal ; coins of gold, silver, and bronze, of Severus (a.d. 222-35), Gordian III (a.d. 238-44), Gallienus (a.d. 253-68), Victorinus (a.d. 265-8), Constantine (a.d. 306-37), and Arcadius (A.D. 383-408). There was a great quantity also of mussel, periwinkle, and cockle shells, and of snail shells. Many sepulchral urns were dug up containing bones and ashes, closed in some instances with a cover, in others only with a stone [Proc. Soc. Antiq. (Ser. 2), xi, 12, 14: ‘Communication from Mr. E. St. F. Moore of Woodbridge’].

In 1843 Prof. George Henslow and his father found ‘ a sort of kitchen midden in the London clay cliff near Felixstowe.’ Rough pottery, bones, cores of deer horns, a skull, rusty nails, and a so-called Samian vase, were among the objects discovered in it [Antiq. xlii, 283 (1906)]. The Roman objects of bronze in the collection of Lord Londesborough from this site are a bust of Mercury and several keys [Antiq. Etching Club Publ. iii, pi. 25].

In the Ipswich Museum there are three flue tiles, perfect, one of large size with reeded ornamentation ; vessels of ordinary ware, some probably cinerary urns ; a large thumb-pot of unusual size, and a harp-shaped fibula 2½ in. long. Here are preserved an arm and a finger bone from one of the skeletons found by Prof. Henslovy, together with bronze bracelets. The objects added to the museum in 1897 were fragments of vases of Durobrivian, Upchurch, and so-called Samian ware (all plain) ; pieces of a glass vessel, one fragment of window-glass, and small portions of roof and flue tiles. The animal remains consist of fragments of horns of red deer, &c., and there are some oyster shells.

In the Norwich Museum (Fitch Coll.) are preserved keys, tags of belts, tweezers, fibulae—two perfect, two in fragments—nails, rings, a small bronze column 3 in. high, a figure of a goat, a head of an animal, two small busts, one perhaps of Mercury, a leaf, a portion of a vase, and fragments of ligulae. All these bronzes appear to be water-worn.

In the Bury Museum are a small vase with black glaze, presented by the late Lord John Hervey, 1853; needles and bone pins (Acton Coll.); implement in bone, probably a mesh gauge ; jet pins ; a double comb in bone, one button in shale and one in jet.

In the British Museum are bronze studs found here in a leaden coffin in 1853; the central band of an enamelled buckle ; a bronze toilet implement ; a brooch ; a pin ; beads ; an armlet ; a necklace of glass beads and shell found in a glass urn with bone bracelets in 1853; glass beads, one being engraved ; a small rude flanged pan of dark drab ware, a pot of grey ware ornamented with groups of dots in slip, a small black vase with glazed bands ; a small pot of rough reddish grey ware ; and a reddish-grey vase with black bands. A vase of so-called Samian ware of oval form has the body ornamented with a wide band and simple marginal lines, this band having vine foliage, amongst which are interspersed figures of stags ; the animals appear to be of slip, and resemble those seen on Durobrivian ware. This vase was given by Sir A. W. Franks in 1881 [For site see O.S. 6-in. xc, NW. and SW.].

The Victorian County History is something with which I have hitherto had no acquaintance.  It does contain a frankly impressive quantity of information!  But I think that’s enough for now!

  1. [1]Online at Archive.org here.

More on the “Errington manuscript”

I’ve written a couple of posts about the remains of the Roman fort of the Saxon Shore, lying under the water offshore at Felixstowe.  I’ve been trying to get hold of a survey report from 1969, done by members of the British Sub-Aqua club.  This seems to be the last work done on the fort.  The survey is known as the “Errington manuscript”, and is proving elusive indeed.  It was lodged with Ipswich Museum, who have not been able to locate it following a move.  No doubt it will turn up in time.  But I learned from the local branch of the BSA that “Errington” was still alive, and the proprietor of a local diving business.  So I emailed him a few days ago.

This afternoon, to my enormous surprise, my mobile rang and a voice introduced himself as Jeff Errington!  He had received my email, and modestly apologised for being away on business in Scotland and that he had only got back last night.  He was pleased to learn that his work had made it “into the history books”, as of course it has.

Sadly he himself does not have a copy of the detailed survey report that he did for Elizabeth Owls, the County archaeologist.  But he did have cuttings from the newspaper from the time, showing the layout of the fort, and I have been told to pop along to his business and get copies.  I hope that it will be possible to meet Mr Errington personally, although he is in fact a very busy man even in retirement.

I asked him about how he had come to dive on the ruins, and he told me a little about it.

In 1969, Mr. Errington was in the navy.  After an accident overseas, he had come back to the UK to recover.  The navy had posted him for six weeks to HMS Ganges, the now-defunct naval base on the Shotley peninsula.  He was already a member of the British sub-aqua club, and eager to learn about ancient remains of any sort in the area in which he happened to be.  On learning that there was a Roman fort off the shore at Felixstowe, he organised the local sub-aqua club to conduct the survey.  He wasn’t able to get the navy to do the job (“of course”), but was able to get them to contribute some items of support or equipment.

The ruins of the Roman fort, he told me, are not parallel to the modern-day shoreline, because the coast has changed.  But they are directly off the lowest point of “the Dip”.  About 30 yards offshore there are black, weed-covered rocks which break the surface at a sufficiently low tide.

The highest section of the ruins is about 8 feet tall.  The divers could stand up next to it, on the sea bed, and it was taller than they were.  They found a section of wall, a corner, and a further section.  They then found a gap in the wall, and then more wall.  He told me that he had looked at the Norfolk Saxon Shore fort at Caistor, and the gap was about the width of the gateway there.  So he presumed that this was the opening for the gate, facing inland.

The ruins are in very shallow water, which presented problems for the divers, who ended up “bobbing about”.  A chunk of wall/brick was retrieved and handed to Elizabeth Owls, who sent it off for analysis.

This is fascinating, and I will  go and look at the clippings, which include a map.

I think that I have seen the “rocks” myself, however.  Last week I made a visit to “the Dip” at low water, and a group of rocks were clearly visible.  Here are my photographs:

Ruins of Walton Castle peeking above the water

Sadly the camera on my phone is not of sufficient resolution to show much.  But … it sounds from what Jeff said as if this is indeed it!

From my diary

The hunt for a copy of a 1969 survey report, detailing sub-aqua dives on the ruins of the Roman fort offshore at Felixstowe, continues!  I had a nice email back from the local sub-aqua club, who no longer have a copy.  But it seems that the report’s author, a “J. Errington”, is in fact “Jeff” who has a business interest in “Diveline” in the St Johns Road in Ipswich.  So … another email.  Mr E. must have been a rather young man back in 1969.  Let’s hope that he still has a copy!

From my diary

I’ve had rather a busy week, ending with a rather splendid college reunion.  But of course everything else has gone out of the window, and I also have rather a large sleep debt to pay off.

Today brings another chunk of translation of an early Latin Vita of St George.  Chapters 9 and 11 are in my inbox now.  The version is a very rough draft. The only difficulty is that the translator doesn’t read my emails with feedback, so makes the same mistakes every time.  This means that I shall have to correct and finish it myself.  I hope to do the job on these chunks this week.  The translation is going forward nicely, tho; some 8 chapters still to do.

Today also brought a welcome email from the Colchester and Ipswich Museum Service with unwelcome news.  In 1969 a team of divers surveyed the ruins of a Roman fort in the sea off Felixstowe, known locally as Walton Castle.  A report was filed with the museum, and was accessible a decade ago.  The email today tells me that they cannot locate it now.  I have written therefore to the sub-aqua club, who may have it in their files.  Another email went to the Suffolk Institute of Archaeology, who published the article mentioning the survey, to see if I can get in contact with the author in case he has a copy.  We tend to think of museums and archives as safe repositories.  But the truth is that history is vanishing before our eyes.  So it has always been.

Last week I was working industriously on the new QuickLatin.  This is going well, and crude errors are disappearing.  I must get a version released online, as a base version for further work.

My backlog of interesting topics to blog about continues to increase.  So much to do!

From my diary

It is Saturday evening here.  I’m just starting to wind down, in preparation for Sunday and a complete day away from the computer, from all the chores and all my hobbies and interests.  I shall go and walk along the seafront instead, and rest and relax and recharge.

Sometimes it is very hard to do these things.  But this custom of always keeping Sunday free from everything has been a lifesaver over the last twenty years.  Most of my interests are quite compelling.  Without this boundary, I would have burned out.

Phase 2 of the QuickLatin conversion from VB6 to VB.Net is complete.  Phase 1 was the process of getting the code converted, so that it compiled.  With Phase 2, I now have some simple phrases being recognised correctly and all the obvious broken bits fixed.  The only exception to this is the copy protection, which I will leave until later.

Phase 3 now lies ahead.  This will consist of creating automated tests for all the combinations of test words and phrases that I have used in the past.  Code like QuickLatin has any number of special cases, which I have yet to exercise.  No doubt some will fail, and I will need to do some fixes.  But when this is done then the stability of the code will be much more certain.   But I am trying to resist the insidious temptation to rewrite bits of the code.  That isn’t the objective here.

I began to do a little of this testing over the last few hours.  Something that I missed is code coverage – a tool that tells me visually how much of the code is covered by the tests.  It’s an excellent way to spot edge-cases that you haven’t thought about.

It is quite revealing that Microsoft only include their coverage tool in the Enterprise, maximum-price editions of Visual Studio.  For Microsoft, plainly, it’s a luxury.  But to Java developers like myself, it’s something you use every day.

Of course I can’t afford the expensive corporate editions.  But I think there is a relatively cheap tool that I could use.  I will look.

Once the code is working, then I can set about adding the syntactical stuff that caused me to undertake this in the first place!  I have a small pile of grammars on the floor by my desk which have sat there for a fortnight!

I’m still thinking a bit about the ruins of the Roman fort which lies under the waves at Felixstowe in Suffolk.  This evening I found another article exists, estimating how far the coast extended and how big the fort was.[1]  It’s not online, but I think a nearby (25 miles away) university will have it.  I’ve sent them a message on twitter, and we’ll see.*

I’ve also continued to monitor archaeological feeds on twitter for items of interest.  I’m starting to build up quite a backlog of things to post about!  I’ll get to them sometime.

* They did not respond.

  1. [1]J. Hagar, “A new plan for Walton Castle Suffolk”, Archaeology Today vol 8.1 (1987), pp. 22-25.  It seems to be a popular publication, once known as Minerva, but there’s little enough in the literature that it’s worth tracking down.

From my diary

WordPress decided, without my permission, to install version 5.1, complete with their new but deeply unpopular “Gutenberg” editor that nobody either wanted nor requested.  I can’t downgrade from 5.1, but I’ve managed to get rid of the useless Gutenberg editor.  Let me know if there are any funnies.

From my diary: looking for the Roman fort of “Walton Castle”

In late antiquity the Saxons started to make raids into the Roman province of Britannia.  This they did by sailing across the North Sea – the Narrow Seas, as it is also known – in open boats.  In response to this the Romans built a chain of impressive forts along the British coast, under the command of a “Count of the Saxon Shore”.  A couple of these still exist in significant form, at Porchester where a Norman keep was added, and at Burgh Castle in Suffolk.  Others have disappeared.

One of the vanished forts was located on the Suffolk coast somewhere, at “Walton”.  There is more than one place of that name available.  There is Walton, which was a medieval village near a small fishing hamlet named Felixstowe.  But at the start of the 20th century Felixstowe became a seaside resort and has since swallowed up the whole area.  There is also Walton-on-the-Naze.  At neither place is there anything to be seen.  General publications on the area often cast doubt on whether there was any such fort.

At the weekend I came across an article published in 2000 on “Walton Castle”.  It seems that, far from being unknown, the fort stood on the cliffs at Felixstowe, to the south of a valley called “The Dip”.  There are 18th century sketches of the walls, which stand almost full-height.  The coast-line is sand, and is eroding, and so the whole structure progressively fell into the sea before 1800.

But there is more.  Great masses of Roman brick, stone and concrete do not just disappear, just because they have fallen down thirty feet and been covered by water.  They should still be there.  The article sadly suggests that a lot of it was hauled up and used for hardcore at Harwich port at the same time.

However, it seems that in 1969 the local sub-aqua club went out and surveyed the area, and a report was filed with the local museum in Ipswich.  The article refers to this as the “Errington manuscript”.  No doubt this is typescript and hand-drawn diagrams.

Even more interestingly, I came across a webpage with a photograph of the area, taken by a Dr Sam Newton at very low tides (the sea is very shallow):

Note the dark mass in the sea, right in the centre of the photograph.  This, the site says, is a bit of wall poking above the waves.

Last night the low tide was at 16:50, so I went down there and had a look.  There was nothing to be seen.  Probably it requires an unusually low tide.  But it was hard to see exactly from where the photograph was taken.  I went again this morning and just scouted the area.  But I need to go again.

Also this morning I contacted the Ipswich Museum, and I have written an enquiry to their collections team to see if I can get hold of a copy of the Errington manuscript.  This ought to specify precisely where the ruins are, and what is to be seen.

It is fifty years since the original dives were made.  I wonder if the local sub-aqua club (which still exists) might be interested in going out there again?  I wonder how much there is there?  What can be seen?  If the ruins are that close to the surface, what might a drone be able to photograph on a still day?

All very interesting anyway.  I’m still working on QuickLatin, but I will look into this further and write more!

From my diary

This is another highly technical post, so I apologise to those readers with no interest in programming.

This week I have continued the ghastly process of migrating the 27,000 lines of code that make up QuickLatin from Visual Basic 6 to VB.Net 2008.

I found that the “Upgrade Wizard” for VB6 was no longer included in versions of Visual Studio later than 2008.  So I don’t really get a choice on which version of dotNet to use.  That said, I have found that it works quite well, so long as you approach the problem in the right way.  You will, in fact, have to adopt this approach whatever tool you use.

The first thing is to place the existing code under source control.  You will need to change this code a lot, to make it fit to convert.  Sometimes you will get it wrong, and need to revert back to the last checked-in version.  Believe me, you will!  I checked in code after each small set of changes.  It was the only way.

You see, the key to converting a VB6 application to VB.Net is to keep the application working at all times.  Don’t simply launch the upgrade wizard and then end up with 50,000 errors in the VB.net version, and then start at one end to fix them all.  You will just give up!

Instead, make changes to the VB6 version of the code.  Make small changes, check it works, check in the change.  Then do another; and another.

We all know the sort of things that don’t get converted OK:

  • Fixed strings in user-defined types (UDTs).  So code these out.  Convert them to non-fixed strings, a little at a time.  Of course you created them in order to do Win32 API calls?  Well, they won’t convert, and you will have to recode this stuff by hand.  So, do a little recode in VB6.
  • API calls, i.e. stuff that you added in to do more hairy stuff.  Recode to remove them.  You may end up just commenting the contents of the functions out.  I have stuff that does a splash screen.  I don’t need that code in VB.Net, which has a built-in SplashScreen template.  So with other things.
  • Front-end forms stuff.  No need for splitters – VB.NET has its own SplitterContainer.

There are many more.  Some are listed in a Microsoft document “Preparing Your Visual Basic 6.0 Applications for the Upgrade to Visual Basic.NET”  (no doubt this link will fail in a couple of years, thanks to Microsoft’s idiotic policy of moving files around on their website).  If you page down past the general chit-chat, at the bottom is a list of stuff that won’t convert.  Fix these.

If you do this, you can eliminate most of the rubbish, while keeping most of your code still working.

Once you have done this, then do a test of the Upgrade Wizard.  Expect to throw it away; but it will give you a list of failures to address in VB6.

Once I did this, I ended up with some 37 errors in VB.Net.  That was a tiny number!  Most of these I fixed in VB6, and reran the Upgrade Wizard several times.  By the end my VB6 application was rather damaged, and much of the UI didn’t really work.  But the logic engine was still running just fine.

A few things just won’t convert.  But you can fix a few on the other side.

Once your VB.Net application compiles, you can try and run it.  It will fail, of course.  This bit is just slog.  You find out what is wrong, and then consider if you can code it out in VB6 and re-upgrade.  Often you can.

QuickLatin has a lot of file-handling.  VB6 was slow in reading files, so I created a .DLL written in Visual C++, purely to grab a file and squirt it into an area of memory mapped to an array of UDTs.  Needless to say this did not convert to dotNet!  So what I did was write a slow  version, in raw VB6, which did the same thing.  I unpicked the optimisation, knowing that I could reoptimise on the other side of the upgrade process.

I ended up recompiling the DLL.  I’m not sure when I wrote that, but it was probably in Visual Studio 6.  It produced a DLL which was around 80k in size.  The version of the same code, produced by Visual C++ 2008, was 107kb.  It did exactly the same; but Microsoft’s lazy compiler developers had bloated it by 25%.  Microsoft was always notorious for code bloat.  I remember that when IBM took over the source code for OS/2, they were horrified at how flabby it all was, and rewrote most of it in assembler.

However I couldn’t get the DLL to work in VB.Net, whatever I did.  So… I eliminated it and accepted the slower load, for now.

I’ve now reached the stage where the code runs, but it isn’t doing it right.  This is not unexpected.  The change from arrays based on 1 to arrays based on 0 was always likely to break something.  But it’s an opportunity to make use of a VB.Net feature, and create unit tests!  I have started to do this, not without pain.

Of course even VB.NET 2008 is now more than a decade old.  At that time the idea of loose coupling and dependency injection was only just coming in.  I gather that even today Visual Studio 2019 doesn’t really support this all that well.  To a professional Java developer like myself, the idea that the DI equivalent of Spring isn’t even on the mental horizon of Microsoft staff is extraordinary.  I’ll manage somehow; but why can’t I just annotate my classes in dotNet, as I do in Java?  Why?

In the course of today, it has become clear to me that Microsoft’s developers never used VB6 themselves, nor do they use VB.Net.  If they had, they would never have created this huge roadblock to upgrading VB6.  There is still a huge amount of VB6 out there in corporations.  But Microsoft’s staff couldn’t care less.  Indeed there always was a lot of it about, which is one reason that I found it expedient to learn some, all those years ago.  Job security consists of having the skills that people want, even if they don’t want to see them on your CV.

Had Microsoft’s developers ever used VB6 internally, they would have collared the VB.Net team and given them a straight talking-to.

Likewise anybody who does the upgrade immediately finds that he can’t do a lot without massive refactoring.  Again, this shows that nobody at Microsoft actually ever went through this process.  Because you don’t want to do a load of refactoring. You have no tests.  You might break stuff.  You can’t easily create tests either for code in Modules, rather than classes.

Microsoft was founded by Bill Gates, who owed his start to writing a Basic Interpreter for some of the early microprocessors.  So Basic was important to him.  It seems that in later years it wasn’t important to anyone else.  This is a shame.

Microsoft was very arrogant in the 90s and early 2000s.  Few were sorry when Google knocked them off their perch.

Oh well.  Onwards.  Thank heavens I have lots of time right now, tho!

From my diary

I’ve been continuing to work on QuickLatin.  The conversion from VB6 to VB.Net is horrible, but I am making real progress.

The key to it is to change the VB6 project, so that it will convert better.  So for instance I have various places at which I make a raw Win32 API call, because VB6 just doesn’t do something.  These must mostly go.  I replace them with slower equivalents using mainstream VB6 features.  In some cases I shall simply have to rewrite the functionality; but this is mainly front-end stuff.

All the same, the key point is to ensure that the VB6 project continues to work.  It is essential not to allow this to fail, or develop bugs.  This is one area where automated unit tests would be invaluable; but of course that concept did not arise until VB6 was long dead.  So I have to run the program manually and do a few simple tests.  This has worked, as far as I can tell.

The objective is to have a VB6 project that converts cleanly, and works out of the box.  It may be slower, it may have reduced functionality in peripheral areas.  But the business logic remains intact – all those hard-crafted thousands of lines of code still work.

It’s going fairly well.  I’ve been working through known problems – arrays that need to be base 0 rather than base 1.  Fixed strings inside user defined types have to go.   There is a list on the Microsoft site of the likely problems.

Today I had my first attempt at running the VB.Net 2008 Upgrade Wizard.  It failed, as I expected it to do.  The purpose was to identify areas in VB6 that needed work.  But the converted code only had 37 errors.  Only 3 of these were in the business logic, rather than the front-end, and all were easily fixed in VB6.  There were also a large number of warnings, nearly all of them about uninitialised structures.  Those can wait.

So my next stage is to do something about the 34 front-end errors.  Probably I shall simply have to comment out functionality.  Splitters are done differently in VB.NET.  The CommonDialog of VB6 no longer exists to handle file opening.  That’s OK… I can cope with rewriting those.

It has reminded me how much I like programming tho.

In the middle of this enormous task, of course, there are no lack of people who decide to email me about some concern of their own.  So … polite refusals to be distracted are now necessary.  I hate writing those.  But a big project like this can’t get done any other way.

From my diary

It’s been an interesting couple of days.

I was working on the Passio of St Valentine, and I really felt that I could do with some help.  So I started browsing grammars.

This caused me to realise that many of the “rules” embedded in them were things that you’d like to have pop-up, sort of as an informational message, when you were looking at the sentence in a translation tool.

This in turn reminded me that my own morphologising tool, QuickLatin, was available and a natural candidate for such a thing.

This is written in Visual Basic 6.  I wrote most of it, actually, in Visual Basic for Applications, inside a MS Access database, during 1999.  (The language choice was dictated by the machine that I had available at the time, which had no development tools on it).  I then ported it to Visual Basic 6.  Microsoft then kindly abandoned VB6, without even a migration path, some time in the early 2000s.  This left me, and many others, stuck.  It is not a trivial task to rewrite 24,000 lines of code.

So where was my development environment?  I pulled out the last four laptops that I have used; I have them, because I keep all my old machines.  I found it on my Windows XP machine.  The machine started up OK!  In fact the batteries on the Dell laptops all started to charge, unlike a Sony Vaio which had Windows 7 on it.

The Windows XP machine had a tiny screen and was very old.  Could I perhaps install VB6 on Windows 10 instead?  The answer swiftly proved to  be a resounding “no”.  But I gathered a large number of tips from the web while doing so.

Then I tried installing VB onto my travelling laptop, which has Windows 7 on it, using all the info that I had.  The installation failed; but the software seemed to be installed anyway!

Then I tried doing it again on Windows 10.  This time I had a sneaky extra bit of information – to set the SETUP.EXE to run in Windows XP compatibility mode.  And … again it failed; but as with Windows 7, I could in fact still run it!

The process was so fraught that I knew that I’d never remember all the fixes and tips.  So I compiled all the bits together, hastily, into a reference guide on How to Install Visual Basic 6 on Windows 10, for my own use in days to come.

After two days of constant pain, I was at last in a position to work on the code!

But I wasn’t done yet.  I really would rather not work with VB6 any more.  Not that I dislike it; but it is emphatically a dead toolset.  My attempts to convert my code to VB.Net all failed.

But since I last looked, more tools have become available.  My eye was drawn to a commercial product, which Microsoft themselves recommended, by a firm called Mobilize.net.  The tool was VBUC.  You could get a free version which would convert 10,000 lines.  Surely, I naively thought, that would be enough for me?

Anyway I downloaded VBUC, and ran it, and discovered to my horror that I had nearly 30,000 lines of code!  But I set up a tiny test project, with half-a-dozen files borrowed from my main source project, and converted that.  The process of extracting a few files drew my attention to what spaghetti the codebase has become.  It was not trivial to just take a few.  This in turn made me alter the extracted VB code a bit, so that I could use it.

Converting the extract worked, but required some manual fixing.  However it did work in the end.

I was quite impressed with some of the conversions.  One of the StackOverflow pages had indicated that the firm were charging a couple of hundred dollars for the tool, back in 2010.  So I emailed to ask what they were charging now.

Mobilize.net then got a bit funny on me.  Instead of telling me, they asked me to tell them what I wanted it for.  I replied, briefly.  Then they wanted me to run an analyser tool on my code and send it in.  I did.  Then they wanted more details of what it did.  Quite a few emails to and fro.

By this stage I was getting fed up, and I pushed a bit.  They finally came back with a price, based on lines of code, of around $4,500!  That was ridiculous, and our exchange naturally went no further.

However I had not wasted my time, for the most part.  I could now see what the tool might do.  My code may be elderly, but some of the bits that were converted are basically the same throughout.  It is quite possible that I could write my own tool to do the limited subset of changes that I need.

One problem that was not handled well; QuickLatin loads its dictionaries as binaries, created by another tool of my own.  I found that VB.Net would not handle these, whatever I did.  The dictionaries would need to be regenerated in some other format.

So I spent some time experimenting with an XML format.  I quickly found how slow the VB6 file i/o was.  Reading a 20 mb file using VB native methods took 4 seconds.  Using MSXML to load the file and parse it into a linked list took 1.7!  I didn’t want the linkedlist method; but it was clear that the VB native methods were hideously inefficient.

I soon discovered complaints online that the VB.Net i/o did not support the methods used by VB6 and was even slower!  I’ve encountered problems of this sort before, which I got around by dropping into C++ and accessing the files through bare metal.  Clearly I would have to do so again.

Another problem that VBUC showed me was that VB6 fixed length strings were not really supported by VB.Net.  There was some sort of path, but it was horrible.  However there was, in fact, no reason to go that way; the file i/o, for which they were used, will have to change anyway.

I placed my code base under code control, using GIT.  Then I started cautiously making changes, checking that “amas” was giving sensible results – for unit tests were unknown in the days of VB6 – and committing regularly.  This proved wise; several times I had to go back to the last commit.

I spent quite a bit of time removing superfluous fixed strings from the code.  This was not trivial, but I made headway.

Something else I did, once I realised that coding lay ahead, was to rig up an external monitor, keyboard and mouse to my laptop.  I would have rigged up two, but there was no way to turn off the laptop screen – when you close the lid, the machine goes to sleep and that’s that.  On a commercial laptop, I’d set it to turn off the laptop screen and stay running.  Most graphics cards will support two monitors; the home laptops won’t support three.  Oh well.  But it was still better for serious work than using the laptop screen and keyboard alone.

Finally I started creating dictionary loading routines that would convert to VB.NET.  They are much slower; but I can optimise them when I get the code into VB.NET.  They have to change, come what may.  The key thing is to keep the program running and working at all times.  Take it slow.  Little by little If I take it apart into a million pieces, it will never get back together again.  Indeed this mistake I have made before.

Back in the 90s, automated unit tests, continuous integration, test-driven development and dependency injection were all  unheard of.  I have really missed having a set of tests that I can run to check that the code has not broken in some subtle way.  This again is a reason to migrate to VB.Net, where such is possible.  I did write test stubs in the original VBA, but there was no way to run them within VB6.  At least I have them still, and they can form the basis for unit tests.

So … it’s been a very busy few days indeed.  Nothing to show for it, to many eyes; but I feel optimistic.

The next challenges will be to change the other dictionaries over to the slow-but-safe method, and then remove all the stuff that supported the other approach.  This should simplify the code mightily.  Once this is done, then it will be time to attempt to convert the code.  Somehow.  All I need is time, and with luck I shall have some of that this week.

It is remarkable how far down the rabbit-hole one must go, just to get a bit of online help!