Search
1000 results for “R_Forwards”
-
📢 R Dev Day @ RencontresR 2026
🏢 Nantes Université / Hybride
📅 Vendredi 19 juin, 09h00 - 17h00 UTC+2
Date butoir pour l'inscription : vendredi 29 mai
https://pretix.eu/r-contributors/r-dev-day-rr2026/
Vous souhaitez apprendre à collaborer sur des contributions à #RStats ? Participez à cet événement gratuit !
-
📢 R Dev Day @ RencontresR 2026
🏢 Nantes Université / Hybride
📅 Vendredi 19 juin, 09h00 - 17h00 UTC+2
Date butoir pour l'inscription : vendredi 29 mai
https://pretix.eu/r-contributors/r-dev-day-rr2026/
Vous souhaitez apprendre à collaborer sur des contributions à #RStats ? Participez à cet événement gratuit !
-
📢 R Dev Day @ RencontresR 2026
🏢 Nantes Université / Hybride
📅 Vendredi 19 juin, 09h00 - 17h00 UTC+2
Date butoir pour l'inscription : vendredi 29 mai
https://pretix.eu/r-contributors/r-dev-day-rr2026/
Vous souhaitez apprendre à collaborer sur des contributions à #RStats ? Participez à cet événement gratuit !
-
📢 R Dev Day @ RencontresR 2026
🏢 Nantes Université / Hybride
📅 Vendredi 19 juin, 09h00 - 17h00 UTC+2
Date butoir pour l'inscription : vendredi 29 mai
https://pretix.eu/r-contributors/r-dev-day-rr2026/
Vous souhaitez apprendre à collaborer sur des contributions à #RStats ? Participez à cet événement gratuit !
-
📢 R Dev Day @ RencontresR 2026
🏢 Nantes Université / Hybride
📅 Vendredi 19 juin, 09h00 - 17h00 UTC+2
Date butoir pour l'inscription : vendredi 29 mai
https://pretix.eu/r-contributors/r-dev-day-rr2026/
Vous souhaitez apprendre à collaborer sur des contributions à #RStats ? Participez à cet événement gratuit !
-
wastelands
of time
s t r e t c h e d
ahead of him
and back —suddenly having
all the time
meant
none of the timemattered
playing the game
with the cheat code onhe decided
to travel forwards
in time
to his deathtwo minutes later,
his journey
came to an end -
wastelands
of time
s t r e t c h e d
ahead of him
and back —suddenly having
all the time
meant
none of the timemattered
playing the game
with the cheat code onhe decided
to travel forwards
in time
to his deathtwo minutes later,
his journey
came to an end -
Rempe, Rangers Frustrating Capitals Physically in First-Round Series
The looks on the faces of the Washington Capitals, including forwards Alex Ovechkin and Tom Wilson, said so much.
Throughout Game 2 of their opening-round playoff series against the New York Rangers, bot...
Read more:
https://thehockeywriters.com/rangers-rempe-frustrating-capitals-physically-2024-playoffs/?src=mast2#NewYorkRangers #2024StanleyCupPlayoffs #ArtemiPanarin #BarclayGoodrow #MattRempe
#NHL #Hockey -
Since I'm still technically recuperating, I cut today's stream short so I can get to bed a bit earlier.
Yes, I know what you're going to say. Yes, I was also sick on Monday. No, Monday's S.T.A.L.K.E.R. 2 stream which clocked in at 6.5 hours in the end was an outlier and should not have been counted.
After all, in the two hours of Star Ocean today we managed to make our way to and take down another Grigori (which was… surprisingly easy and I don't know why) and concoct a plan on how to prevent the further spread of the Grigori.
As Ex/Giotto/the Morphus have found out, there appears to be some planet-like (?) very dark structure (?) which apparently receives life energy that the Grigori collect. That structure then amplifies the energy, and forwards it to the Missing Procedure (the entity inside a black hole—or something—that's apparently responsible for the Grigori) to generate more Grigori. Using that energy, the cycle repeats.
Because I forgot the name, I tried to look it up on the Internet, and thanks to IGN I now know that next time, we're probably going to be greeted by a 45-minute-long series of cutscenes. So prepare yourself mentally if you plan to join me next time.
Finally, don't forget to vote on the current game selection poll if you haven't already!
As always, I hope everyone enjoyed today's stream. Thank you all for joining :blobcatHeart:
-
CW: mental health, self-harm, checking out
On Thursday the Mental Health Services episode of my podcast The Autistic Rant Hour went online. And then I got a phone call from my mother’s cousin, a beloved elderly family member, where he heartbreakingly informed me of the passing of his 27 year old eldest grandson. It was self-inflicted and preceded by a lifetime in the Mental Healthcare system of a North-European country, with all the available resources at his disposal. I‘ve never met my first cousin twice removed, may his memory be a blessing, and I very barely know his father. So I cannot tell you whether he, like Rey, the wonderful guest on the podcast’s Mental Health Services episode, was also a misdiagnosed autistic person who got the wrong treatment for his condition, no accommodations, and often suffered extremely harmful neglect. Maybe he had a totally different mental struggle, maybe he did get the treatment he needed. I have no way of knowing. All I do know is that on his computer, his father found a document detailing the research he conducted regarding the recovery rate of people with the condition he was diagnosed with and about the kinds of help he could expect from Mental Health Services in his country. He came to the conclusion that his only way was the way out, and started planning his escape from life on a weekend off the ward he had coming.
Rey Rissanen, my guest on The Autistic Rant Hour’s 4th episode, was thankfully luckier. After years in and out of therapy and psych wards, they realized they were in fact, autistic, rather than depressive with a borderline personality disorder. This helped them understand that all their efforts to recover by following the prescribed treatment did not fail because they were a terrible person nor a terrible patient, but because they got the wrong diagnosis and the wrong treatment, if they even got any treatment at all. They learned to advocate for themself and figured out how to shape their life in a way that would enable them to pursue goals such as moving and attending university. There, they will also know how to request the accommodations they need and seek appropriate help in case of trouble.
Such a future was not to be for the family member we have lost, and we are left to mourn and wonder why.I would like to dedicate this episode to his memory, and hope that those of you who need to hear a story of hope rather than despair, can get that from this episode. Whether you choose to listen to it or not, please know that there might be an explanation to your plight that Mental Health professionals are often woefully misinformed about, and that if you feel your treatment is failing, it might very well not be because of your shortcomings, but that of the system. Figuring out what is at the root of your suffering can make a world of difference and help you forwards and upwards. I hope you and your loved ones who may be struggling right now can find hope in this message, and maybe give yourself a few more years to try and figure this out before making any irreversible decisions.
You are very welcome to share your experiences with Mental Health Services on this thread, but please remember to add content warnings. Also please keep in mind that neither I nor most of the people reading this can give you professional help, so in case of emergency, please contact your local crisis center and try to advocate for your needs as best you can.
You can find The Autistic Rant Hour wherever you get your podcasts.
Here’s a link to the podcast on Aut2Aut’s website, where you can find a human-proofread transcript: https://prepped.to/podcasts/autistic-rant-hour
#ActuallyAutistc #MentalHealth #misdiagnosis #selfharm #AutismAwareness
-
CW: mental health, self-harm, checking out
On Thursday the Mental Health Services episode of my podcast The Autistic Rant Hour went online. And then I got a phone call from my mother’s cousin, a beloved elderly family member, where he heartbreakingly informed me of the passing of his 27 year old eldest grandson. It was self-inflicted and preceded by a lifetime in the Mental Healthcare system of a North-European country, with all the available resources at his disposal. I‘ve never met my first cousin twice removed, may his memory be a blessing, and I very barely know his father. So I cannot tell you whether he, like Rey, the wonderful guest on the podcast’s Mental Health Services episode, was also a misdiagnosed autistic person who got the wrong treatment for his condition, no accommodations, and often suffered extremely harmful neglect. Maybe he had a totally different mental struggle, maybe he did get the treatment he needed. I have no way of knowing. All I do know is that on his computer, his father found a document detailing the research he conducted regarding the recovery rate of people with the condition he was diagnosed with and about the kinds of help he could expect from Mental Health Services in his country. He came to the conclusion that his only way was the way out, and started planning his escape from life on a weekend off the ward he had coming.
Rey Rissanen, my guest on The Autistic Rant Hour’s 4th episode, was thankfully luckier. After years in and out of therapy and psych wards, they realized they were in fact, autistic, rather than depressive with a borderline personality disorder. This helped them understand that all their efforts to recover by following the prescribed treatment did not fail because they were a terrible person nor a terrible patient, but because they got the wrong diagnosis and the wrong treatment, if they even got any treatment at all. They learned to advocate for themself and figured out how to shape their life in a way that would enable them to pursue goals such as moving and attending university. There, they will also know how to request the accommodations they need and seek appropriate help in case of trouble.
Such a future was not to be for the family member we have lost, and we are left to mourn and wonder why.I would like to dedicate this episode to his memory, and hope that those of you who need to hear a story of hope rather than despair, can get that from this episode. Whether you choose to listen to it or not, please know that there might be an explanation to your plight that Mental Health professionals are often woefully misinformed about, and that if you feel your treatment is failing, it might very well not be because of your shortcomings, but that of the system. Figuring out what is at the root of your suffering can make a world of difference and help you forwards and upwards. I hope you and your loved ones who may be struggling right now can find hope in this message, and maybe give yourself a few more years to try and figure this out before making any irreversible decisions.
You are very welcome to share your experiences with Mental Health Services on this thread, but please remember to add content warnings. Also please keep in mind that neither I nor most of the people reading this can give you professional help, so in case of emergency, please contact your local crisis center and try to advocate for your needs as best you can.
You can find The Autistic Rant Hour wherever you get your podcasts.
Here’s a link to the podcast on Aut2Aut’s website, where you can find a human-proofread transcript: https://prepped.to/podcasts/autistic-rant-hour
#ActuallyAutistc #MentalHealth #misdiagnosis #selfharm #AutismAwareness
-
Rails to Trails: the thread about how North Edinburgh got its cycle paths
On this day (June 1st) 40 years ago, to the tune of the pipes, a councillor cut the ceremonial ribbon and opened a section of cycle path in the north of Edinburgh. This was a rather special bit of cycle path; it was the result of direct action. Over the course of a single week it had been reclaimed from the trackbed of an old railway by a group of spade-wielding and wheelbarrow-pushing volunteers. Wind the clock forward four decades and from these humble beginnings has grown a network of almost 20km (12 miles) of such paths in this part of the city. The credit for this sits almost entirely with the relentless (and often thankless) hard work of a single, slightly anarchic organisation. This thread is the story of how the North Edinburgh Path Network came to be.
If the council won’t build your cycle path, build your own! Spokes volunteers of all ages hard at work on the Pilton Path in May 1986. Credit, Chris Hill via SpokesRailways arrived in Edinburgh in 1831 with the Edinburgh & Dalkeith Railway (better known as “The Innocent”) which approached a terminus at St. Leonard’s from the south. In the following decade four other lines converged on the city from the points of the compass. In 1842 the Edinburgh & Glasgow arrived from the west as far as Haymarket and the first section of the Edinburgh, Leith & Newhaven approached from the north to link the city with the Forth ports and from there north to Fife. In 1846 the North British blasted its way through Calton Hill from the east and in 1848 the Caledonian arrived at Princes Street from the southwest. These last two companies came to dominance, the NB in particular on the east coast. Over the next fifty or so years they fought a protracted and at times exceedingly bitter war with each other for traffic, routes and rights of access and Edinburgh was just one of the battlefields of this war. In particular each sought to corner the lucrative dock and industrial traffic of Leith and Granton, sprouting a tangled web of rival lines and counter-lines as they vied for supremacy.
1905 Railway Clearing House diagram showing the competing Caledonian (red) and North British (blue) lines snaking their way around and through the city.Most of these lines offered passenger services but many proved to be marginally profitable from the outset and as a result stations began to be closed as early as 1905. Wartime economies in 1917 saw further closures; some were temporary but others such as Powderhall were for good. These continued during the lean economic years of the 1920s. A few new suburban halts were built as the city began to sprawl outwards in the 1930s but in the years following WW2 closures began again. Most lines remained busy with freight traffic at this time but by the dawn of the ‘Sixties, the times were a-changin’. Shifting government priorities, industrial decline and the move of passengers from rails to the roads precipitated a rapid run-down and closure of nearly all the railways in the north of the city.
This left many miles of disused railway infrastructure in the north of the city, which for generations of local government and Scottish Office planners offered an irresistible blank canvas on which to build new roads. Much of it therefore found itself reserved in strategic plans for schemes such as the Western Approach Road or the Ferry Road Relief Road. Edinburgh Corporation and its successors began to acquire the land for this purpose. It is therefore ironic that it was this car-brained official thinking that would preserve these routes from other development until an alternative use presented itself.
Abandoned railway trackbeds in Edinburgh in the early 1980s. The purple lines were those reserved as road corridors in strategic plans (W = Western Approach Road, R = Roseburn to Ferry Road Link Road, D = Davidsons Mains Bypass, G = Granton Spur, F = Ferry Road Relief Road or West Approach Road to Leith, N = Northern Spur, S = St Leonard’s Spur). The dashed green sections remained nominally open for rail traffic until 1984. The black, dashed lines are routes that remained open. Base map 1:25,000 OS map, 1959, reproduced with the permission of the National Library of ScotlandOne such alternative use was first mooted way back in 1968 when Colinton Amenity Association approached both Edinburgh and Midlothian with a view to acquiring the abandoned Balerno Branch railway for conversion into a “unique walkway” along the Water of Leith. This would ultimately become part of the Water of Leith Walkway. The first such railway path – the term then in vogue for such schemes – in Scotland was an 860 yard route opened at Victoria Park in Glasgow in June 1970. Neither of these schemes were cycling routes however. The first planned from the outset as such in the UK was the High Peak Trail in Derbyshire, which began in 1971. In Edinburgh it was 1975 when such a proposal was first made as part of a £90m local development and regeneration plan for Leith. This referred to the formation of “footpath[s] and cycleway[s]” on former railway lines, suggesting routes between Warriston and Coburg Street and from Pilrig to Seafield.
Cover, City of Edinburgh, Leith Local Plan, Draft Final Report, April 1975. Volume Two. Schedules and Appendices.The Leith Local Plan was published at a time of great change in Scottish local government. That year the old unitary authority of the Corporation of the City of Edinburgh was abolished (along with all the old burgh, town and county councils in the country) to be replaced by a two tier system – Edinburgh District Council and Lothian Regional Council. While the Region had transport within its remit (thus, in theory, cycle paths) the District was responsible for recreation and regeneration and therefore also had them within its remit.
Lothian Regional Council ghost sign on the former Leith Tramway Depot, 20 plus years after that authority ceased to be. Photo © SelfIn 1977 Lothian Region published its first transport strategy in its inaugural Structural Plan. Detailed in its many pages there were multiple major road schemes but not a single mention of cycling. This mobilised members of Friends of the Earth in Edinburgh who formed SPOKES, the Lothian Cycle Campaign that year specifically to represent against the plan and to lobby in upcoming council elections.
To ensure that council policies actively encourage cycling and make full provision for it, as part of an overall strategy through which all members of the public can enjoy cheap, safe and efficient travel for work and leisure
The second of Spokes’ two founding objectives, from Spokes Newsletter no. 1, early 1978The campaign group got off to a good start with the unlikely assistance of Conservative District Councillor Ralph Brereton. His irate letter to The Scotsman about their campaign to permit cycling across the Meadows provoked an unintended backlash that garnered significant free publicity and support for his intended target:
Parks are for quiet, decent people. SPOKES can get lost and take its Commie friends with it. Who wants a proletarian dictatorship anyway? Not me, and not Marchmont.
Ralph Brereton, “Conservative Councillor for Marchmont, and proud of it”. The Scotsman, May 8th 1978In 1979 further campaign pressure was applied on the Region by the Scottish Association for Public Transport who recommended turning old railways in Edinburgh into cycle paths where there was not the money to turn them into a metro or tram system. This lobbying proved effective and in December 1979 council officials were instructed to investigate further. In 1980 a price of £305,000 was agreed with British Rail for former railways to Granton and North Leith (marked G and L in red on the map below). The overlapping remits of the two authority tiers for implementing cycle paths might have found them either either working in isolation or at cross purposes. But with remarkable foresight, Spokes had used the Structure Plan consultation to insert a policy on cycling that obliged the Region and District to co-operate in this area.
Principal abandoned (or soon to be abandoned) railway trackbeds in Edinburgh in the early 1980s, not including industrial or dock lines; blue lines are former North British Railway, red the Caledonian Railway. The letters correspond to the line and branch names in the table at the bottom of the page. The black, dashed lines are routes that remained open. Base map 1:25,000 OS map, 1959, reproduced with the permission of the National Library of ScotlandThe District therefore separately began acquiring former railway routes in North Leith (marked N in blue on above map) and also between Easter Road and Seafield (marked W in red). This was financed by the Scottish Development Agency (SDA) which had jointly inherited the 1975 Leith Local Plan and its cycle path proposals. The SDA had actually been trying to get this land off of British Rail since 1976 but had found itself in the “ludicrous situation” of two public bodies squabbling amongst themselves over something of relatively inconsequential financial value. The SDA wanted a quick and cheap sale of the land valued as derelict, BR was holding out for the higher price it could get for industrial development sites.
With the two council tiers now dipping their toes deeper into path schemes, Spokes saw the opportunity to coordinate their efforts towards a coherent, contiguous, off-road cycling network for the north of the city. To this end in January 1981 they published the report Rails to Trails, which detailed a vision to “provide safe and convenient commuter links between the northern suburbs and the city centre“. This was the genesis of what would become the North Edinburgh Path Network (NEPN). Although its focus was obviously on cycling it was made clear from the outset that nothing should “conflict with the needs of pedestrians using the routes“.
Maps of former railways in North Edinburgh in the “Rails to Trails” report by Carol Crawford, published by Spokes, January 1981In May 1981 the Secretary of State for Scotland, George Younger, gave Lothian Region permission to set aside £610,000 over five years to convert its railway trackbeds in Edinburgh into paths for cycling and walking. They also sought permission to formally abandon the road schemes planned for these same lines but the Secretary of State refused to allow them to be removed from the Structure Plan. A threat thus hung over these paths before they were even begun that they might find themselves turned into roads. On July 6th that year the Region formally adopted its cycling policy statement, one which was remarkably similar to the second of Spokes ‘ founding objectives!
It is the policy of the Regional Council to allow greater freedom of movement to pedestrians or and cyclists and to encourage more people to walk and cycle for work and leisure journeys (Structure Plan – paragraphs 76 and 13l4(a)).
Lothian Regional Council circular from the Director of Highways P. J. Mason, 1981In October the Region put its proposals – which looked awfully similar to those sketched out by Spokes in Rails to Trails – out to public consultation. The race was now set between them and the District to complete Edinburgh’s first railway cycle path. The latter won, just, and on June 15th 1982 the mile and a half route between Warriston Crescent and Couper Street in Leith was opened by Lord Provost Tom Morgan. It had cost £250,000, a significant amount of money on account of the retaining wall of the river bank and four bridges needing to be repaired. John McCracken of the SDA handed the route over to the city and said it would “make a significant contribution to the agency’s environmental improvement programme which is rapidly transforming Leith“. A further £110,000 was spent on landscaping the old coal yard at Junction Bridge into the Coalie Park area and in the November the project was awarded a Civic Trust Awards commendation.
Coalie Park area and the new path in 1982. The housing of The Quilts is yet to be built on the derelict industrial land on the south (left) bank of the river here. Photo via Water of Leith Conservation TrustFrom the outset this new route was part of the nascent Water of Leith Walkway and was signed as such. At this time it was strictly speaking two separate paths, the railway between Powderhall and Granton was still in active use and cut it in half at the Bonnington Level Crossing. This resulted in a detour through the allotments at Warriston, beneath the active line. As a result each half of the path got a separate name; from Coalie Park to the level crossing it is the Water of Leith Path and further west it becomes the Warriston Path. Initially the surface was compressed whindust and cycling was only officially “tolerated” at policy level rather than formally recognised by signage. In 1984 Spokes took the authorities to task over this ambiguity after one of its members was stopped by the police for daring to cycle here. Since then blue permission signs have appeared along these and other paths to this effect.
Coalie Park opening plaque at the entrance to the path from Coburg Street. Edinburgh and Scottish Collection, Edinburgh City LibrariesLothian Region were not far behind and the first section of their Innocent Path in the southeast of the city opened on 11th August 1982, running about a mile between Duddingston Road West and the Wells o’ Wearie. Here it terminated at the entrance to the Innocent Tunnel which remained closed at this time. Again the surface was compressed whindust, making it suitable for use as a bridleway but rather useless for cycling in the winter, and as it was felt to be a rural setting no street lighting was provided. Information boards on the history of the railway here were provided, this is something has been widely repeated for other railway paths in the city. The £40,000 project budget included £27,000 provided as labour by the Manpower Services Commission (MSC).
The original 1982 information board for the Innocent Railway pathThe ribbon was cut by Lynda Chalker MP, Under-Secretary of State for the Department of Transport. Spokes attended this ceremony “in force” to “confront the Minister” over the fact that Government policy towards cycling in Scotland was lagging far behind England and Wales. They charged that there were no central studies for turning disused railways into paths, the Scottish Office had no technical or policy documents in this area, had no cycling officer and made no grants available to Councils for cycling schemes. After a consultation in 1985 on options to extend this route into the city far as St Leonard’s work commenced in 1987 to refurbish the tunnel and it was reopened in 1989.
Dave de Feu of Spokes, right, forms part of the welcoming committee for Lynda Chalker at the opening of the Innocent Path. On the left, adjusting his tie, is Conservative Councillor Ian Cramond, Convenor of Lothian Region’s Transportation Committee at that time. Credit, Chris Hill via SpokesThe Innocent however can not be considered part of the North Edinburgh routes and it was September 1982 when the Region approved the laying of a whindust surface and adding street lighting for its two lines that forked north from Craigleith to Davidsons Mains and to Crewe Toll. The former section was opened on 21st November 1983 by Tony Gaffney of the Institute of Civil Engineers having cost £63,000, three quarters of it as labour provided by the MSC. The section to Crewe Toll followed the next year, as did work on the former Corstorphine branch from Balgreen. At this time Liberal councillor and Spokes member (the late) Donald Gorrie was able to push for the adoption of a 3 metre-wide tarmac surface as a standard for future work. This was best practice developed by the forerunner of Sustrans for the Bristol & Bath Railway Path, on which they had been working since 1979.
https://www.flickr.com/photos/127340508@N05/15255410973/
The District at this time began work on their path from Quarryholes on Easter Road to Seafield and Leith Links. They specified this as a “trim track“, with numerous pieces of wooden exercise equipment added along the route. The original 1975 plans connected this route all the way to Pilrig Park but the bridges that carried it across Easter Road and Leith Walk had been demolished in 1980. The Restalrig Railway Path has therefore always been somewhat cut off from the rest of the railway path network. Its surface was the usual whindust, seasonally impassable, it had no street lighting and most of its access points were narrow steps. This was a situation not improved upon until 2009.
https://www.flickr.com/photos/beqi/3282799986/
Meanwhile back in North Leith, the District Council and the SDA had been infilling the railway cutting that ran through Victoria Park and between Gosford Place and Connaught Place. As this work approached its conclusion a path was approved to connect with the new path along the Water of Leith. This scheme was adopted by the Leith Boys’ Brigade to mark their centenary in 1983 and they raised £1,000 towards the cost of the landscaping of this section. It would be named Stedfastgate in their honour (from the traditional spelling of their motto of Sure & Stedfast) when it was opened on October 8th 1983.
Plaque commemorating the opening of the Stedfastgate section in 1983. CC-by-SA 4.0 Mike Shaw via WikimediaIn 1983 the Scottish Office, after continuous pressure from Spokes, started to play catch-up with what was happening in England. They commissioned a national feasibility study on re-opening old railway lines as cycle routes – the Scottish Railway Path and Cycle Route Project – led by John Grimshaw of Bristol-based Cyclebag (the direct predecessor of Sustrans, now the Walk Wheel Cycle Trust). Again the MSC provided the labour for this project; ten unemployed professionals were engaged as surveyors and draughtsmen and their tasking included photographing every disused railway bridge in the country! At the same time Grimshaw was also contracted by Lothian Region to undertake a similar exercise within their territory. The reports for both of these projects would be published in 1985 and would propose more than 800 kilometres of routes, 250km of which were in Edinburgh and the Lothians.
Discussing Spokes’ Pilton Path project in 1986. From left to right, Dave de Feu of Spokes; Labour councillor Donald Anderson and MEP David Martin; Ewen Jeffrey of Spokes and John Grimshaw of Cyclebag / Sustrans. Photo Credit: Chris Hill1986 proved to be a very productive year for the path network in the north of the city. The Region had been pressing on with its projects and these were now coming to fruition. An extending of the path south from Craigleith, begun in 1984, was opened by Councillor Tom Ponton on May 5th as far as the former Murrayfield Station. The District Council contributed £14,000 in labour by youths on their Special Measures Programme. The viaduct over the Water of Leith here caused problems at first, with objects being thrown from it onto houses and parked cars below. Metal barriers were installed along the parapets but a proposal by local residents to completely enclose the bridge in a wire cage was rejected. Soon afterwards the section east from Crewe Toll to the former Granton Road station also opened. The latter site proved something of an obstacle to future progress however as the trackbed had become heavily flooded and turned into something of a quagmire.
Spokes was not however content with the pace of change and decided to take matters directly into their own hands. In March 1986 they publicly announced a project to mark European Road Safety Year – they would clear and resurface a mile-long section of path north of Crewe Toll all by themselves. They gave themselves just seven days to complete this ambitious scheme, coinciding with National Bike Week from May 24th to 31st. Around fifty enthusiastic volunteers signed up to work under the supervision of John Grimshaw. Lothian Region provided a mechanical grader to strip the surface and 1,000 tons of hardcore and 250 tons of whindust dressing were laid, much of it moved by hand. These materials had been paid for by the Region who had also arranged the lease on the land from British Rail and committed to laying a tarmac surface and installing lighting within three years. Pupils from nearby St David’s R.C. Primary School helped to plant trees along the route with the Lord Provost.
Harry Henniker of Spokes on the overgrown trackbed that would become the Pilton Path just before work started, May 1986. Beneath the bridge that carried West Granton Road over the tracks.Work was completed in time for the planned opening on June 1st and the ribbon was cut by Councillor Ron Muir, Vice-Chair of Lothian’s Transportation Committee, to the accompaniment of the Nor’ Loch Highland Pipe Band. However it very nearly didn’t happen: an administrative disaster almost befell the project at the 11th hour when council lawyers decide it required the same legal consent as a road project but that they were much too busy to deal with it. It took crucial inside assistance from long-time supporter Councillor Donald Gorrie for the necessary paperwork to be rushed through and the statutory neighbour notifications were delivered by bicycle in the nick of time. Completion of this route was seen as a missing link connecting the paths to the Silverknowes Promenade, a cycling ban on which had been lifted in 1985 after lobbying by Spokes.
Opening of the Pilton Path, June 1st 1986. Councillor Ron Muir, Lothian Region’s vice chair of the Transport Committee officiates, the Nor’ Loch Pipe Band ready to lead an inaugural procession. Various members of Spokes and some local councillors stand on the embankment beyond. Photo Credit: Chris HillThat same May the Labour Party won a resounding victory in elections for Lothian Region and took majority control. One of the first actions of its new Transport Chairman – the late Alistair Darling – was to fulfil an election promise and cancel the Western Relief Road. On May 21st, just days before Spokes started work on the Pilton Path, a special meeting voted to cancel that multi-million pound road scheme once and for all. This finally removed the threat it had posed to a number of sections of recently laid railway paths. (Incidentally, the Roseburn Corridor has always remained reserved in planning as a potential public transport corridor and it was not until February 2024 where its status as an active travel path was also so affirmed.) The year was rounded off with a final victory for Spokes when both council tiers agreed in October to throw out a housing development proposed by Safeway behind their supermarket at Davidson’s Mains and to safeguard the railway trackbed there as a path (which was eventually surfaced with tarmac within the last few years).
An early Spokes rally in Holyrood Park in 1979; member Canon Bill Brockie of St Martin’s Church in Dalry addresses the crowd. The man left of centre back with his arms folded is the late Alistair Darling. Credit, Chris Hill1986 was also the year that the final sections of abandoned tracks were lifted on the railways north of Powderhall; the last regular trains having run to an oil depot at Granton along the Lower Granton Road embankment in 1984. This delay in lifting the tracks had a knock-on effect on the timescale for the acquisition of the trackbed here by Lothian Region, something that would not complete until 1989.
https://flickr.com/photos/117983829@N03/13893423695/in/album-72157643950735923
While the growth of the path network in the north of the city had progressed reasonably well, Spokes remained critical of the Regional Council’s ability to deliver such projects in a consistent manner. This was due to a lack of dedicated resource they estimated up to £400k per annum, almost three quarters of the available budgets, was going unspent as a result. To remedy this, in 1987 another Labour Party manifesto commitment that Spokes had campaigned for was enacted and the authority’s Highways Department established a dedicated, three-member cycle team. This was headed by Richard Williams and with an annual budget of £300k maintained a centre of focus and knowledge within the labyrinthine, roads-focussed organisation. This team would prove remarkably adept at also making use of the underspends in other parts of the organisation at the end of the financial year; there was always tarmac to be laid somewhere.
Lothian Region’s dedicated cycling team. On the left is Matthew Simpson, centre is Rory Summerling and on the right is Richard Williams. This team found itself constantly under threat of disbandment due to cost-cutting, but survived through to April Fools’ 1996 when the Region was abolished and the City of Edinburgh Council came into being, a loss of expertise long lamented by Spokes. Credit, Spokes.org.ukCome 1988 and there were now six sections of railway paths and the Region’s councillors sat down to agree on what to call them. It was decided they should be named after the neighbourhoods through which they ran and that they should no longer be called railway paths. Just paths was fine, Councillors Neil Lindsay and Donald Gorrie had felt the established practice was “daft” and so for instance the path between Roseburn and Craigleith became the Roseburn Path, etc. These remain the official names as adopted by Edinburgh Council in their statutory list of roads and paths. A fuller list of the various path names and their chronology can be found in Table 1 at the foot of this post.
Warriston Path signage. The red 75 marker refers to the National Cycle Network route. Photo © SelfThe paths network in the north of Edinburgh city continued to grow in 1988. At Roseburn, the bridge over busy Roseburn Terrace was refurbished and the path extended south across it to a new access point down the embankment at Russell Road. £64,000 was also spent to improve walking and cycling routes around Trinity Academy, there having been a dozen road accidents in just 3 years involving its pupils. This resulted in the path through Victoria Park to Stedfastgate being improved and also in a westward extension from there towards the quagmire at Granton Road. A major issue began to impact cycling paths projects across the UK that year however when the MSC’s Community Programme was abolished by the Government. The sudden loss of access to funded labour precipitated a national crisis in the voluntary sector that had grown up around this resource.
“Fiveways Junction” c. 1995, showing the incomplete path branches leading south and the fingerprints of Lothian Regional Council’s Highways Department all over the painted road-style markings. To the top right the people are walking towards Granton Road Station, to the left is the route to Victoria Park and Trinity Academy. Bottom right leads to the Trinity Tunnel and the two incomplete forks are the beginnings of the Chancelot and the Goldenacre Paths south. Photo Credit: Chris HillIn 1989 Lothian Region and Lothian Health Board published a booklet of sixteen runs and cycles across the city as part of a healthy living campaign. The Evening News commissioned Richard Peploe, Scottish 12 hour Mountain Bike champion, to ride one of these and report back. Richard cycled from Roseburn to Trinity and his observations give us an insight into what the paths were like to use almost thirty years ago – and to compare with how they are now. He commended the gentle gradients and segregation from traffic, but criticised that access was “through a jungle of metal” (at this time the access points had obstructive barriers designed to stop motorbikes; sometimes laid directly across the paths themselves), the graffiti, “bags of rubbish and abandoned sofas” and an “enormous amount of broken glass“.
You come across all types of people: families out on bikes, young lovers out for a stroll, a group of teenagers, people walking their dogs. And dogs. Lots of dogs – and lots of dog dirt.
Users of the Roseburn Path, described by Richard Peploe. Edinburgh Evening News, 29th July 1989Peploe noted that the tarmac of his route ran east as far as Granton Road, beyond which it was passable by bike “only with great difficulty“. He finished with a call to the newspaper’s readership to go and explore the paths for themselves:
If you live anywhere near one of the many access points to the paths, you may have seen the blue and white signpost. Go and investigate them one day, and you will see parts of Edinburgh you’ve never seen before!
Users of the Roseburn Path, described by Richard Peploe. Edinburgh Evening News, 29th July 1989It was not just the benefits of paths to human health that were being recognised. That same year a study by Lothian Region highlighted the biodiversity value of the wildlife that had made its home along the embankments. In 1990 a management scheme and annual budget was approved to fund volunteer groups to help maintain and improve this habitat.
Come 1991 Sustrans’ engineer in Scotland, Dave Holladay, told the Scotsman that “Lothian stands out in front of the whole of the UK“. There were by this time a total of thirty miles of railway paths across the region, although much of this was outwith Edinburgh. A survey that year found 100 cyclists a day were using the path between Craigleith and Crewe Toll, half during commuter rush-hour. In an effort to better publicise the growing network in October that year Spokes published the second, improved edition of their cycling map of the city. These maps continue to be updated and published to this day and have become an exemplar standard of the genre.
The cover of the first edition of the Spokes cycling map of Edinburgh published in 1987. Credit, Spokes.org.ukCompletion of the section between the “impassible” quagmire at Granton Road Station through to Victoria Park that Peploe had commented upon had been delayed by years – something blamed by Spokes on the intransigence of British Rail. The actual work itself took a mere couple of weeks in 1994 after the final bureaucratic obstacles had been overcome. The drainage situation at Granton Road proved so severe that a more pragmatic solution was found to just leave it flooded and to run the path up and over the old railway platform – something that endures to this day.
With this missing link completed, Spokes now felt that their vision of a traffic-free cycling route through north Edinburgh was sufficiently complete that it constituted a network, describing it at the time as “a 7km path almost half around the city… and on 3m width tarmac”. To celebrate this achievement they distributed 50,000 of their maps via the Herald & Post paper to all houses in Trinity and Leith. On May 29th the North Edinburgh Path Network was formally inaugurated in a ceremony during Environment Week. After the ribbon was cut by Malcolm Chisholm MP there was a novelty bike ride through Victoria Park. Spokes put its success in bringing its vision to reality down to “consistent pressure, year-by-year” and recommended that all its members who had spent the last 13 years lobbying and letter-writing should now get out on their bikes and enjoy riding these paths.
Fiveways Junction in 2026, the hub from which the various spokes of the North Edinburgh Path Network radiate. Behind the camera is the route through Trinity Tunnel to the McKelvie Parade and Lower Granton Road. To the left is the Hawthornvale Path towards Victoria Park. To the right is the Ferry Road Path all the way to Roseburn and beyond, and forwards are the Chancelot Path (left fork) and Goldenacre Path (right fork) towards Canonmills. Photo © SelfIn the next few years incremental additions and improvements would be made to the network. In 1995 Spokes arranged for the path east of Craighall Road to Hawthornvale – passable only on foot and with some difficulty – to be opened up in conjunction with the arrival of the Cutty Sark Tall Ships in Leith. Over a long weekend, ten volunteers armed with a mini digger, roller and materials supplied by the Regional Council cleared and surface-dressed this quarter of a mile link.
The Hawthornvale Path clearance and surfacing by Spokes in 1995, at the former Newhaven Station. Photo credit, Chris HillThe following year, 1996, the volunteers were again out in force on the Pilton Path to extend it along the trackbed all the way to Granton Square (although this section has now been largely built over by a new roads and paths, or fenced off and has become totally overgrown.) A significant setback had come on April Fools’ Day however when a new unitary system of local government replaced Lothian Region and its cycle team (and also Edinburgh District Council) with the new City of Edinburgh Council (CEC). With the cycle team went decades of combined professional experience. The organisational upset caused by such a huge restructure and the emergence of new political priorities would now substantially set back the pace of progress on the path network.
Two wheels good, four hoofs better. The Chancelot Path from the St Mark’s Park / Warriston Allotments in the mid-1990s heading north to Fiveways Junction, before it was surfaced – something which would not happen for almost 20 years. Photo Credit: Chris HillInherited projects were initially continued with by CEC; in 1997 the path from Fiveways to Canonmills was surfaced, known as the Goldenacre Path for much of its length. This was followed in 1998 by the section north through Trinity Tunnel: the Trinity Path. New Council priorities however also soon brought a serious challenge to the continuity of the NEPN. In 1997 plans were announced to build a road over the Pilton Path (that built by Spokes back in 1986) and to demolish the bridge over the junction where it met Ferry Road, severing the Telford Path. This was to create a new access route for the Granton Waterfront regeneration. Initial plans replaced the bridge with a multi-stage road crossing and with these CEC was about to get its first real taste of Spokes’ ability to energetically apply political pressure. A vigorous counter-campaign ensued that would result both in a shared use path built alongside the new road and – most importantly – a new bridge being built across the junction. The Red Bridge as it has come to be known was opened in 1999 and the late Sandy Scotland, a Spokes stalwart, has been given much credit for this achievement.
Installing the Red Bridge in 1999. Photo credit, Tim Smith via Spokes1999 was also the year that Sustrans launched its Millennium National Cycle Network (NCN). Sections of the North Edinburgh paths were incorporated and branded into the NCN at this time into Routes 1 (the North Sea Cycle Route along the entire east coast of the UK) and 75 (the Clyde to Forth Cycle Route from Edinburgh to Kintyre). This brought with it funding for improvements such as better access and signage, and of course Sustrans’ trademark ornamental fingerposts.
National Cycle Network millennium finger post sign for Route 75 on the Water of Leith Path. Photo © SelfWith most of the former railways of north Edinburgh now converted to paths expansion naturally slowed in the 21st century. Further progress was not helped by shifting political priorities, allocation of resources by central government and endless pressure on council budgets. The mismatch between capital and revenue budgets continued to be a problem; maintenance went wanting but money was occasionally found for big-ticket items. In 2009 a substantial improvement was made by connecting the NEPN south to the New Town and Stockbridge by re-opening the blocked Rodney Street tunnel. This was something first suggested by Spokes over a decade before. The ceremony was performed on July 21st by then transport convenor Councillor Gordon Mackenzie.
The abandoned and impassible Rodney Street tunnel in 2006, looking south towards Scotland Street and King George V Park. Photo © SelfIn 2011 the poorly-surfaced and unlit Chancelot Path was tarmacced, signed and given lighting, upgrading it from something of a dog toilet and vandalism hot-spot to a useful route. Along the foreshore towards Wardie, where the railway embankment along Lower Granton Road had been demolished in 1989, a proper crossing was provided to the McKelvie Parade promenade in 2014. The path was finally extended all the way along the foreshore to Granton Square in 2019, opened on September 4th by then transport convenor Councillor Lesley Macinnes.
The Chancelot Path in 2006, a very muddy and unsatisfactory surface to cycle on, even in summer, before tarmac was laid and street lighting installed. This bridge carries Ferry Road over the trackbed, looking north. Photo © SelfThe last big addition to the NEPN was opened on December 9th 2024 when a long-campaigned-for link to (almost) the Union Canal opened; Roseburn to Union Canal or R2UC. This 800m stretch of 4m wide path had cost an eye-watering £17m due to substantial engineering challenges; a huge embankment had to be cut down, a significant new bridge laid across an active mainline railway, the embankment widened alongside the West Approach Road and a further bridge built across Dalry Road. A new crossing was installed on the West Approach Road to avoid the awkward Telfer Subway and environmental improvements such as a new park and planting were undertaken. As a result of all this work the NEPN was no longer isolated in the north of the city and the groundwork was laid to ultimately connect it to the city’s other key cycling corridors.
Transport Secretary Fiona Hislop MSP cuts the ribbon on the R2UC path, with city transport convenor Stephen Jenkinson to her right and Santa Claus behind. Credit, City of Edinburgh Council.At the time of writing the NEPN has almost completely rehabilitated all former railway trackbeds in north Edinburgh, with one glaring omission. Until 2016 a section of railway (marked A in red on the previous map) remained in use as far as Powderhall, where the Council’s waste transfer station sent landfill by rail to East Lothian once a week. That depot was demolished in 2019 but beyond its security fences there still lies three kilometres of technically active railway track – and the opportunity for a significant extension of the path network to the southeast. This would provide a further bridge across the Water of Leith and take you through the most densely populated neighbourhood in Scotland all the way to Meadowbank (and beyond?) Despite regular political support (such as inclusion in the SNP’s 2026 election manifesto for the Scottish Parliament) and enthusiastic noises from the Council there has been disappointingly little progress in the decade since the last train ran. Not for the first time does an arm of local government find itself in Kafkaesque legal and financial wrangling with a state-owned railway agency over disused tracks in Edinburgh… And not for the first time has a group of interested citizens felt the need to try and get things moving again with this opportunity.
The end of the line… for now? Looking south at the former Bonnington Level Crossing towards Powderhall. The unsurfaced trackbed here ends at a security fence 200m ahead, where the abandoned railway tracks of the former Powderhall waste transfer station are met. Photo © SelfThis thread would not have been possible without significant help from others. Chris Hill provided many of the photos and facts and months of motivation. Leslie Hills was most insistent on proof-reading it multiple times and gave much honest and constructive feedback. Dave du Feu trawled the back-catalogue of Spokes Bulletins to pin down missing dates. And of course Spokes, who have made a vast repository of almost fifty years of historical material freely available on their website.
Table 1. Chronology of Former Railways turned into Paths
Former RailwayPath known asRouteLengthOpened as a PathL – Leith North branchWater of Leith Path / Warriston PathCoalie Park to Warriston1,750m1982B – Barnton branchSilverknowes PathCraigleith to Davidson’s Mains1,780m1983G – Granton branchTelford PathCraigleith to Crewe Toll1,450m1983W – Leith New LinesVictoria Path / StedfastgateVictoria Park to North Leith Path250m1983W – Leith New LinesRestalrig Railway PathQuarryholes to Seafield and Leith Links2,450m1983G – Granton branchRoseburn PathCraigleith to Roseburn1,600m1986G – Granton branchPilton PathCrewe Toll to West Granton1,600m1986G – Granton branchRoseburn PathRoseburn to Russell Road300m1988G – Granton branchHawthornvale PathCraighall Road to Hawthornvale500m1995G – Granton branchPilton Path (extension)West Granton to Granton Square700m1996N – Edinburgh, Leith & NewhavenGoldenacre PathFiveways to Canonmills1,350m1997N – Edinburgh, Leith & NewhavenTrinity PathFiveways to Trinity Crescent650m1998N – Edinburgh, Leith & NewhavenRodney Street TunnelKing George V Park to Canonmills275m2009A – Abbeyhill DeviationChancelot Path Fiveways to North Leith Path800m2011N – Edinburgh, Leith & NewhavenMcKelvie ParadeTrinity Crescent to Lower Granton Road550m2014N – Edinburgh, Leith & Newhaven
McKelvie ParadeLower Granton Road to Granton Square600m2019G – Granton branchRoseburn to Union CanalRussell Road to West Approach Road800m2024Refer to following tableThe path names are as per the Council signage and formally adopted namesRounded to nearest 25mSurfaces and access varied when first opened, many were informally passable and in use long before officially surfaced and designatedTable 1 – chronological list of principal sections of railway cycle path in north EdinburghTable 2. List of principal closed former railway lines in Edinburgh
LineRailway (pre-1923)OpenedClosed (Passengers)Closed (Final)A – Abbeyhill DeviationNorth British188619642016B – Barnton branchCaledonian189419511960Y – CaledonianCaledonian184819651965C – Corstorphine branchNorth British190219681968I – Edinburgh & DalkeithNorth British183118471968N – Edinburgh, Leith & NewhavenNorth British184619471986G – Granton branchCaledonian1861196219681E – Leith Central branchNorth British190319521972W – Leith New LinesCaledonian1903n/a1973L – Leith North branchCaledonian186419621967Letters refer to the key of the map1923 was the year of “Grouping”, when North British passed to LNER and Caledonian to LMS. Both nationalised into British Railways in 1947The first opening date for passenger or goods trafficClosure may have been progressive, the date will reflect the last passenger station to close on the lineClosure may have been progressive, the date will reflect the last regular traffic of any form on the lineTable 2. List of principal former railway lines and their opening and closure dates in north Edinburgh.- The line closed progressively between 1960-68. A section to Granton oil depot remained in use until 1980, accessed from the former Edinburgh, Leith & Newhaven lines that were lifted in 1986 ↩︎
If you have found this site useful, informative or amusing then you can help contribute towards its running costs by supporting me on ko-fi. This includes my commitment to keeping it 100% advert and AI free for all time coming, and in helping to find further unusual stories to bring you by acquiring books and paying for research.
Or please do just share this post on social media or amongst friends and like-minded people, sites like this thrive on being shared.Explore Threadinburgh by map:
Travelers' Map is loading...
If you see this after your page is loaded completely, leafletJS files are missing.These threads © 2017-2026, Andy Arthur.
NO AI TRAINING: Any use of the contents of this website to “train” generative artificial intelligence (AI) technologies to generate text is expressly prohibited. The author reserves all rights to license uses of this work for generative AI training and development of machine learning language models.
#Lochend #Logan #Restalrig #StMargaret -
Causewayside Public School: the thread about the epicentre of a very sectarian Southside scandal
Preamble. The schools of the “School Board” era of public education (1872-1918) have for some reason a particular fascination for me, one which is more profound where they are either no longer in use as schools or have disappeared entirely. This thread began as a couple of lines for my own notes about each of the “Lost Board Schools of Edinburgh” but rapidly snowballed into an intention to cover each, in alphabetical order, on its own and in rather more detail, but not so much that they can’t be posted quite frequently.
The fourth chapter of our series looking at the “Lost Board Schools of Edinburgh” investigates Causewayside School. In 1875 Edinburgh School Board purchased the house of Grange Villa at 140 Causewayside for £3,218 13s 11d with the intention of erecting a new school. This half acre plot was a parallelogram in shape on account of its northern boundary being defined by an old drainage ditch that cut diagonally relative to the main road. Prior to this, schooling in the district was conducted at a school run by the United Presbyterian Church on Duncan Street, which moved with that church to the corner of Salisbury Place in 1864.
An overlay of the 1876 Ordnance Survey town plan of Edinburgh (Reproduced with the permission of the National Library of Scotland) and modern Google Earth aerial imagery showing the location of Causewayside School. Note the parallelogram shape of the building plot. The UP Church can be seen to the top of the map, its school building to the rear being marked as a Sunday School. Move the slider to compareThe Board had already held a competition in 1874 to find architects for its first batch of new schools and divided the work between the most successful applicants. Causewayside was awarded to Robert Rowand Anderson, who would rise to become one of Victorian Scotland’s most notable architects. He was also awarded the work for schools at West Fountainbridge and Stockbridge and the three shared a number of design and style features (“the dimensions of the various rooms repeat to within a few inches… and the ventilating and playground arrangements are also precisely similar“) but with significant variation in the layouts to make use of three very different sites, all of which had significant constraints.
Front elevation by Robert Rowand Anderson of the Causewayside School, dated 1875. University of Edinburgh Centre for Research Collections, Coll-31/2/EC.74Anderson set Causewayside back from the main road and spread it across two storeys, each with a large central school room with two smaller classrooms on either side at the rear, giving a roughly cruciform footprint. There was a single large gable projecting forwards whereas at Stockbridge (below) there was one on each flank. His early work designing churches translated easily to the Collegiate Gothic style much in favour at the time for schools except now the “steeples” did not contain bells, but hid an Archimedes screw ventilator to promote good air circulation through the buildings.
Stockbridge Primary School by Robert Rowand Anderson, sharing many design features with Causewayside. CC-by-SA 4.0, Drnoble via WikimediaThe construction contract was worth £7,974 11s 0d and work commenced in late June 1875. Progress by January 1876 was reported as “slow” but by June was “well advanced“. Although it was to be completed for 1st December that year opening did not happen until 9th January 1877. The chairman of the School Board, Professor Calderwood, performed the honours and at this time already 500 of its 600 spaces had been subscribed to.
Rear (left) and north side (right) elevations of Causewayside School, dated 1875. The pair of blocks to the back housed stairs, toilets and offices on intermediate floors, hence the extra sets of windows. University of Edinburgh Centre for Research Collections, Coll-31/2/EC.74An inspection in its second year of operation reported favourably on the quality of teaching at the school:
Report of HM Inspectors on the Edinburgh Board Schools for Session 1878-79.
Causewayside School.
Mixed School. — An extremely good tone pervaded this School, and the class movements were very orderly. As regards the work of the three lower Standards, some weakness appeared in the spelling and intelligence of the third Standard, but everything else was most satisfactory. Of the upper Standards, the fourth might have done rather better in arithmetic, and the fifth in composition, while both the fifth and sixth Standards answered unequally in history and geography. On the other hand, for grammar, general intelligence, and acquaintance with their specific subjects, all three Standards deserve praise. In judging of the School, it must, of course, be remembered that the staff is strong. Needlework and music are both carefully taught.
Infants’ School. — Discipline and instruction in this Department both deserve the highest praise. It is evident that the Mistress and her Staff exercise a most beneficial influence alike in quickening the intelligence and in regulating the behaviour of their young pupils.
A subsequent inspection in February 1885 by the local Superintendent, Colonel Campbell, “complained strongly” about the drawing examination at the school; the children were using their pencils as a measuring gauge when doing freehand work and that they were placing lined pages beneath their drawing paper as a further guide. The teacher protested that this was how she had been taught to draw but the Colonel demanded that the exam be cancelled: the matter was not dropped until representations in defence from both the Headmaster and Flora Stevenson of the School Board.
Flora Stevenson, a redoubtable figure on the Edinburgh School Board and in the Suffrage movement. 1895 photograph by G. Watson, from the Edinburgh & Scottish Collection of Edinburgh City Libraries.In common with the first wave of schools that the Board built, Causewayside was really too small to cope with demand and already by October 1878 it was over capacity, with 638 pupils. By 1883 it was so oversubscribed that an extension for 200 further children was authorised, widening the front of the building to the same width as the rear to add additional classrooms. In 1894 a further extension was approved but by the following year there were 250 vacant spaces on account of the recent opening in the district of Sciennes School. By 1901 the school was once again reported to be suffering form overcrowding – this was still a time of urban population growth.
1893 Ordnance Survey town plan centred on Causewayside School, with the original footprint (orange) drawn over the extended footprint which added additional classrooms either side at the front. The wall across the playground was to separate girls from boys, the structures with dotted outlines on the left (west) side being open play sheds. Reproduced with the permission of the National Library of ScotlandLocated as it was between the Grange and Newington, you could be forgiven for thinking this school as being in a middle-class catchment. However, like most Board schools at this time, it drew its intake largely from the working classes and its pupils were subject to a life in the harsh social environment of Edinburgh at this time. In a court case in February 1884 Helen Dick, or Taylor, was brought before Sheriff Rutherfurd and charged with “failing to provide elementary education for her children and also with failing to secure their regular attendance at school“. She told the court that “she could not do more than she had done” for her two children – Jessie (10) and George (8) – her husband had abandoned the family 6 years prior and to support them she worked anti-social hours at a laundry. She had to leave early in the morning and was not allowed to return home to wake her children and get them ready for school, so they inevitably did not go. The Sheriff ordered that they be made to go to school at Causewayside. Another example comes from an 1896 meeting of the School Board which heard that of the 722 children at the school only 21 had baths in their homes. 71 boys and six girls reported that they went – occasionally – to the Corporation baths to wash. In 1901, it was estimated in 1901 that 15 percent of the juvenile department of the school were working after their school day to help support their families.
Causewayside children, 1927, at Grange Court. The tall building with the Gothic window in the background is the UP Church where the Causewayside School was located prior to the opening of the Board school. Photograph by John Smith, via Edinburgh City Libraries.In 1905 the headmaster, Robert Mathewson, retired owing to ill health after 20 years in service. He was briefly replaced by James Clark, promoted from St Leonard’s Public School, who soon returned to the latter institution as its head to be replaced in turn by Thomas W. Paterson of North Canongate. Paterson had begun his career in 1879 at Causewayside and remained there until retiring in 1922 after 51 years in the profession, the pupils and parents presenting him with the gift of a typewriter for the occasion.
On October 1st 1913, pupils from Causewayside joined their compatriots from Davie Street, St Leonard’s and South Bridge in a spontaneous protest march through the district, a rumour having spread through the streets that they were to begin attending school on Saturday Mornings.
Evening schooling began at Causewayside only a month after it opened, when the Edinburgh School of Cookery was allowed by the School Board to run courses here which were open to the general public. This became known as Continuation Schooling; continuation of education for those who had left school (at 14) but had not qualified for a Higher Grade school (or could not afford to go to one). Causewayside became the principal such school for young women and girls in the city, offering both basic academic subjects and practical classes focussing on employable skills – cookery, millinery, laundrywork, dressmaking and needlework. While these classes were not free, in 1915 a term cost 5 shillings, an excellent attendance record could result in the fees being reimbursed. Completion of these classes could qualify women for the Edinburgh School of Cookery and Domestic Economy, where employers provided bursaries. In 1915, 177 pupils earned the return of their fees and forty qualified for the School of Cookery. Headmaster Paterson of Causewayside wrote to the editor of the Scotsman in 1917 that continuation classes were “to the better equipment for life’s battle for those children who leave school at 14 years of age without passing the qualifying examination.”
Advert for Edinburgh School Board’s Continuation Classes, including Causewayside, Musselburgh News, 21st September 1906An almighty brouhaha erupted at Causewayside in 1925 when the Education Authority announced plans to close the school, transfer its pupils to other nearby schools, and re-open it as a Roman Catholic school. The background is complex but stemmed from the fact that R. C. schooling in Scotland was not transferred from that church to the state until 1918 at which point the newly formed Education Authorities inherited a rather poor portfolio of school premises. Few, if any, of these had been purpose-built and almost none were really fit for purpose; St. Columba’s R. C. School, which served the Southside, was teaching 291 children (with a waiting list of 27) in a totally inadequate converted town house at 81 Newington Road. Causewayside’s school roll had slumped after WW1 due to urban depopulation and with only 321 children at less than half its capacity. The authority’s bean-counters were convinced that Sciennes, Preston Street and Bristo schools could comfortably accommodate Causewayside as they too had falling rolls and that nobody would have a problem with making the most economical use of their buildings.
81 Newington Road, former St Columba’s R. C. School.How wrong they were! Edinburgh, in case you didn’t know, was a hot-bed of radical, anti-Catholic political Protestantism in the first half of the 20th century and the nascent Scottish Protestant League, led by the rabble-rouser Alexander Ratcliffe, went all in on trying to use the school proposal as a wedge issue in their efforts to repeal the provisions of the Education (Scotland) Act 1918 that saw the state obliged to provide non-secular R. C. schooling. You can read the full details of the vitriolic campaign that they orchestrated to oppose this change in the thread about the Sciennes School Strike of 1925. Suffice to say, the Education Authority was unmoved by the accusations it was handing over a “Protestant school to the Roman Catholics” and “putting Rome on the Rates” in “the city of Knox“. It maintained its position that it had a legal obligation to meet and that its only other option was to build a new school in its entirety – which would add even further to the tax burden of the local rates! And so it was that Causewayside School closed at the end of the 1923-24 term and re-opened after the summer holidays as St Columba’s R. C. School.
Pupils and teacher nun of St. Columba’s R. C. School in 1925, the year after they moved – controversially – to Causewayside. Copy of photograph in “St Columba’s Edinburgh, Centenary Year” by Mark Dilworth OSB for St Columba’s Centenary Committee, 1989The Continuation School was unaffected by all this, a matter quietly and conveniently overlooked by those claiming the school was being “given” to the Catholic Church! The Scottish Protestant League were still publicly and vocally agitating against St Columba’s, well into 1925 – until the focus of their ire was drawn to the opening of a Carmelite Convent in Merchiston in September.
As St. Columba’s the school also became a Supplementary School, i.e. for children over the elementary age of 11 and below the leave age of 14 and who were not in High School education; what we might now call a Secondary School. It took children from other R. C. primaries in the city; St Mary’s on York Lane, St Patrick’s on St John’s Hill, St Ann’s in the Cowgate, St Peter’s in Morningside and St Ignatius’ at Tollcross, adding 300 students and 9 teachers to the school. This brought the school to over 600 pupils, but the effects of depopulation soon began to take their toll and by 1938 it had dropped to 409. There were only 190 children in the elementary department and so the following year it was closed, the pupils displaced to those other R. C. schools, and the girls’ supplementary department transferred to St Thomas of Aquin’s at Lauriston. St Columba’s was to be converted and expanded into a dedicated junior secondary school for boys aged 12 to 14 and the Education Committee authorised expenditure for this scheme. This coincided with the outbreak of WW2 and so no work ever took place. Evacuation caused a further drop in the remaining school roll, part of the school was requisitioned by the Auxiliary Fire Service and the remainder suffered from a lack of coal which caused the heating to stop working, pipes and toilets to freeze and then flooding when they thawed. In February 1940 the authorities called it quits and the remaining 150 boys were sent to other schools and it was closed permanently.
This was not the end for the building though and it was given a new lease of life by converting it into an emergency cooking centre, the work undertaken by John Kelly & Son (Kitchen Engineers) Ltd of Rose Street. What became “the largest kitchen in Edinburgh“, capable of cooking 10,000 meals at a time, was intended to help feed the populace in the event of a catastrophic air raid. Fortunately it was never required for this purpose and so was transferred to the Education Committee in 1942 as a central kitchen for producing school meals. Together with the existing centre at the former West Fountainbridge School, together they could produce 9,000 two course lunches daily, sufficient for every child in the city who wanted one. Its official opening took place on Friday 11th September, when Thomas Johnston MP, Secretary of State for Scotland, made a speech imploring the nation to double its consumption of home-grown oatmeal and potatoes. He also announced that school cookery classes would now focus on these ingredients and local and national schools competitions for their use.
Thomas Johnston in 1955 when chairman of the North of Scotland Hydro-Electric Board, by Sir Herbert James Gunn. © artist’s estate, via National Galleries Scotland.Closure of the Causewayside centre was proposed in 1952, both as an economy measure and also reflecting the fact that most schools now had their own kitchen facilities. Newspaper adverts from 1955 record the disposal of its cooking equipment to the highest bidders.
Adverts for staff at the Causewayside Cooking Centre. Edinburgh Evening News, 25th May 1943After this it lay vacant for a decade until in 1965 the newly formed Scottish Certificate of Education Examination Board (SCEEB) acquired and demolished it as a location for its new headquarters. A modern, three storey, brutalist office block by Alan Reiach & Eric Hall was built in its place, the only notable feature of an otherwise unremarkable building being an abstract concrete panel over the entrance by Charles Anderson. This includes the crest of the Board and their motto In Trutina Ponentur Eadem which, according to the Dictionary of Foreign Quotations, translates from Latin as “These Matters are to be Weighed in the Balance“. The SCEEB moved in during 1967 but lasted less than a decade, moving in 1975 to Dalkeith on account of needing more space. They were replaced in turn by the Scottish Law Commission but their coat of arms remained, the motto perhaps equally appropriate for both institutions.
Anderson’s relief above the entrance to the SCEEB buildingNo trace of the old school now remains and as of the time of writing (February 2026) the redevelopment in turn has been empty for a number of years and a full planning application for its demolition and replacement has been submitted to the Council. A previous plan for the site in 2023 was asked to consider the re-use of the sculptured panel but I the current developer has offered it as a gift to the Scottish Qualifications Authority – SQA, the spiritual successor of the SCEEB at Dalkeith. Thank you to Peter Gillett for this update on their future. The SQA of course now needs to follow through in accepting the gift and having it removed and appropriately relocated…
The previous chapter of this series looked at Castlehill School. The next chapter examines the Davie Street Schools.
Note to readers: unfortunately in April 2026, a third-party plug-in more than exceeded its authority and broke many of the image links on this site. No images were lost but I will have to restore them page-by-page, which may take some time. In the meantime please bear with me while I go about rectifying this issue.
If you have found this site useful, informative or amusing then you can help contribute towards its running costs by supporting me on ko-fi. This includes my commitment to keeping it 100% advert and AI free for all time coming, and in helping to find further unusual stories to bring you by acquiring books and paying for research.
Or please do just share this post on social media or amongst friends and like-minded people, sites like this thrive on being shared.Explore Threadinburgh by map:
Travelers' Map is loading...
If you see this after your page is loaded completely, leafletJS files are missing.These threads © 2017-2026, Andy Arthur.
NO AI TRAINING: Any use of the contents of this website to “train” generative artificial intelligence (AI) technologies to generate text is expressly prohibited. The author reserves all rights to license uses of this work for generative AI training and development of machine learning language models.
#Lochend #Logan #Restalrig #StMargaret -
The FreeBSD-native-ish home lab and network
For many years my setup was pretty simple: A FreeBSD home server running on my old laptop. It runs everything I need to be present on the internet, an email server, a web server (like the one you’ve accessed right now to see this blog post) and a public chat server (XMPP/Jabber) so I can be in touch with friends.
For my home network, I had a basic Access Point and a basic Router.
Lately, my setup has become more… intense. I have IPv6 thanks to Hurricane Electric, the network is passed to my home network (which we’ll talk about in a bit), a home network with multiple VLANs, since friends who come home also need WiFi.
I decided to blog about the details, hoping it would help someone in the future.
I’ll start with the simplest one.
The Home Server
I’ve been running home servers for a long time. I believe that every person/family needs a home server. Forget about buying your kids iPads and Smartphones. Their first devices should be a real computer (sorry Apple, iOS devices are still just a toy) like a desktop/laptop and a home server. The home server doesn’t need to be on the public internet, but mine is, for variety of reasons. This blog being one of them.
I get a static IP address from my ISP, Ucom. After the management change that happened couple of years ago, Ucom has become a very typical ISP (think shitty), but they are the only ones that provide a static IP address, instead of setting it on your router, where you have to do port forwarding.
My home server, hostnamed pingvinashen (meaning the town of the penguins, named after the Armenian cartoon) run FreeBSD. Historically this machine has run Debian, Funtoo, Gentoo and finally FreeBSD.
Hardware wise, here’s what it is:
root@pingvinashen:~ # dmidecode -s system-product-nameLatitude E5470root@pingvinashen:~ # sysctl hw.modelhw.model: Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHzroot@pingvinashen:~ # sysctl hw.physmemhw.physmem: 17016950784root@pingvinashen:~ # zpool listNAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOTzroot 420G 178G 242G - - 64% 42% 1.00x ONLINE -
While most homelabbers use hardware virtualization, I think that resources are a tight thing, and should be managed properly. Any company that markets itself as “green/eco-friendly” and uses hardware virtualization should do calculations using a pen and paper and prove if going native would save power/resources or not. (sometimes it doesn’t, usually it does)
I use containers, the old-school ones, Jails to be more specific.
I manage jails using Jailer, my own tool, that tries to stay out of your way when working with Jails.
Here are my current jails:
root@pingvinashen:~ # jailer listNAME STATE JID HOSTNAME IPv4 GWantranig Active 1 antranig.bsd.am 192.168.10.42/24 192.168.10.1antranigv Active 2 antranigv.bsd.am 192.168.10.52/24 192.168.10.1git Stoppedhuginn0 Active 4 huginn0.bsd.am 192.168.10.34/24 192.168.10.1ifconfig Active 5 ifconfig.bsd.am 192.168.10.33/24 192.168.10.1lucy Active 6 lucy.vartanian.am 192.168.10.37/24 192.168.10.1mysql Active 7 mysql.antranigv.am 192.168.10.50/24 192.168.10.1newsletter Active 8 newsletter.bsd.am 192.168.10.65/24 192.168.10.1oragir Active 9 oragir.am 192.168.10.30/24 192.168.10.1psql Active 10 psql.pingvinashen.am 192.168.10.3/24 192.168.10.1rss Active 11 rss.bsd.am 192.168.10.5/24 192.168.10.1sarian Active 12 sarian.am 192.168.10.53/24 192.168.10.1syuneci Active 13 syuneci.am 192.168.10.60/24 192.168.10.1znc Active 14 znc.bsd.am 192.168.10.152/24 192.168.10.1
You already get a basic idea of how things are. Each of my blogs (Armenian and English) has its own Jail. Since I’m using WordPress, I need a database, so I have a MySQL jail (which ironically runs MariaDB) inside of it.
I also have a Git server, running gitea, which is down at the moment as I’m doing maintanence. The Git server (and many other services) requires PostgreSQL, hence the existence of a PostgreSQL jail. I run huginn for automation (RSS to Telegram, RSS to XMPP). My sister has her own blog, using WordPress, so that’s a Jail of its own. Same goes about my fiancée.
Other Jails are Newsletter using Listmonk, Sarian (the Armenian instance of lobste.rs) and a personal ZNC server.
As an avid RSS advocate, I also have a RSS Jail, which runs Miniflux. Many of my friends use this service.
Oragir is an instance of WriteFreely, as I advocate public blogging and ActivityPub. Our community uses that too.
The web server that forwards all this traffic from the public to the Jails is nginx. All it does is
proxy_passas needed. It runs on the host.Other services that run on the host are DNS (BIND9), an email service running
OpenSMTPd(which will be moved to a Jail soon), the chat service runningprosody(which will be moved to a Jail soon) and finally, WireGuard, because I love VPNs.Finally, there’s a IPv6-over-IPv4 tunnel that I use to obtain IPv6 thanks to Hurricane Electric.
Yes, I have a firewall, I use
pf(4).For the techies in the room, here’s what my
rc.conflooks like.# cat /etc/rc.conf# Defaultsclear_tmp_enable="YES"syslogd_flags="-ss"sendmail_enable="NONE"#local_unbound_enable="YES"sshd_enable="YES"moused_enable="YES"ntpd_enable="YES"# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disabledumpdev="AUTO"zfs_enable="YES"hostname="pingvinashen.am"# Networkingdefaultrouter="37.157.221.1"gateway_enable="YES"ifconfig_em0="up"vlans_em0="37 1000" # 1000 -> WAN; 37 -> Home Routerifconfig_em0_1000="inet 37.157.221.130 netmask 255.255.255.0"ifconfig_em0_37="inet 192.168.255.2 netmask 255.255.255.0"static_routes="home"route_home="-net 172.16.100.0/24 -gateway 192.168.255.1"cloned_interfaces="bridge0 bridge6 bridge10"ifconfig_bridge10="inet 192.168.10.1 netmask 255.255.255.0"## IPv6ipv6_gateway_enable="YES"gif_interfaces="gif0"gifconfig_gif0="37.157.221.130 216.66.84.46"ifconfig_gif0="inet6 2001:470:1f14:ef::2 2001:470:1f14:ef::1 prefixlen 128"ipv6_defaultrouter="2001:470:1f14:ef::1"ifconfig_em0_37_ipv6="inet6 2001:470:7914:7065::2 prefixlen 64"ipv6_static_routes="home guest"ipv6_route_home="-net 2001:470:7914:6a76::/64 -gateway 2001:470:7914:7065::1"ipv6_route_guest="-net 2001:470:7914:6969::/64 -gateway 2001:470:7914:7065::1"ifconfig_bridge6_ipv6="inet6 2001:470:1f15:e4::1 prefixlen 64"ifconfig_bridge6_aliases="inet6 2001:470:1f15:e4::25 prefixlen 64 \inet6 2001:470:1f15:e4::80 prefixlen 64 \inet6 2001:470:1f15:e4::5222 prefixlen 64 \inet6 2001:470:1f15:e4:c0fe::53 prefixlen 64 \"# VPNwireguard_enable="YES"wireguard_interfaces="wg0"# Firewallpf_enable="YES"# Jailsjail_enable="YES"jailer_dir="zfs:zroot/jails"# DNSnamed_enable="YES"# Mailsmtpd_enable="YES"smtpd_config="/usr/local/etc/smtpd.conf"# XMPPprosody_enable="YES"turnserver_enable="YES"# Webnginx_enable="YES"tor_enable="YES"
The
gif0interface is a IPv6-over-IPv4 tunnel. I have static routes to my home network, so I don’t go to my server over the ISP every time. This also gives me the ability to get IPv6 in my home network that is routed via my home server.As you have guessed from this config file, I do have VLANs setup. So let’s get into that.
The Home Network
First of all, here’s a very cheap diagram
I have the following VLANs setup on the switch.
VLAN IDPurpose1Switch Management1000pingvinashen (home server) WAN1001evn0 (home router) WAN37pingvinashen ↔ evn042Internal Management100Home LAN69Home GuestHere are the active ports
PortVLANsPurpose24untagged: 1Switch management, connects to Port 222untagged: 1000pingvinashen WAN, from ISP21untagged: 1001Home WAN, from ISP20tagged: 1000, 37To pingvinashen, portem019untagged: 1001To home router, portigb118tagged: 42, 100, 69, 99To home router, portigb217untagged: 37To home router, portigb016tagged: 42, 100, 69To Lenovo T480s15untagged: 100To Raspberri Pi 42untagged: 99From Port 24, for switch management1untagged: 42; tagged: 100, 69; PoETo UAP AC ProThe home router, hostnamed
evn0(named after the IATA code of Yerevan’s Zvartnots International Airport) runs FreeBSD as well, the hardware is the followingroot@evn0:~ # dmidecode -s system-product-nameAPU2root@evn0:~ # sysctl hw.modelhw.model: AMD GX-412TC SOC root@evn0:~ # sysctl hw.physmemhw.physmem: 4234399744root@evn0:~ # zpool listNAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOTzroot 12.5G 9.47G 3.03G - - 67% 75% 1.00x ONLINE -
The home router does… well, routing. It also does DHCP, DNS, SLAAC, and can act as a syslog server.
Here’s what the
rc.conflooks likeclear_tmp_enable="YES"sendmail_enable="NONE"syslogd_flags="-a '172.16.100.0/24:*' -H"zfs_enable="YES"dumpdev="AUTO"hostname="evn0.illuriasecurity.com"pf_enable="YES"gateway_enable="YES"ipv6_gateway_enable="YES"sshd_enable="YES"# Get an IP address from the ISP's GPONifconfig_igb1="DHCP"# Internal routes with pingvinashenifconfig_igb0="inet 192.168.255.1 netmask 255.255.255.0"ifconfig_igb0_ipv6="inet6 2001:470:7914:7065::1 prefixlen 64"static_routes="pingvinashen"route_pingvinashen="-net 37.157.221.130/32 -gateway 192.168.255.2"ipv6_defaultrouter="2001:470:7914:7065::2"# Home Mgmt, Switch Mgmt, Home LAN, Home Guestifconfig_igb2="up"vlans_igb2="42 99 100 69"ifconfig_igb2_42="inet 172.31.42.1 netmask 255.255.255.0"ifconfig_igb2_99="inet 172.16.99.1 netmask 255.255.255.0"ifconfig_igb2_100="inet 172.16.100.1 netmask 255.255.255.0"ifconfig_igb2_100_ipv6="inet6 2001:470:7914:6a76::1 prefixlen 64"ifconfig_igb2_69="inet 192.168.69.1 netmask 255.255.255.0"ifconfig_igb2_69_ipv6="inet6 2001:470:7914:6969::1 prefixlen 64"# DNS and DHCPnamed_enable="YES"dhcpd_enable="YES"named_flags=""# NTPntpd_enable="YES"# Router Advertisement and LLDPrtadvd_enable="YES"lldpd_enable="YES"lldpd_flags=""
Here’s
pf.conf, because security is important.ext_if="igb1"bsd_if="igb0"int_if="igb2.100"guest_if="igb2.69"mgmt_if="igb2.42"sw_if="igb2.99"ill_net="172.16.0.0/16"nat pass on $ext_if from $int_if:network to any -> ($ext_if)nat pass on $ext_if from $mgmt_if:network to any -> ($ext_if)nat pass on $ext_if from $guest_if:network to any -> ($ext_if)set skip on { lo0 }block in allpass on $int_if from $int_if:network to anypass on $mgmt_if from $mgmt_if:network to anypass on $sw_if from $sw_if:network to anypass on $guest_if from $guest_if:network to anyblock quick on $guest_if from any to { $int_if:network, $mgmt_if:network, $ill_net, $sw_if:network }pass in on illuria0 from $ill_net to { $ill_net, $mgmt_if:network }pass inet proto icmppass inet6 proto icmp6pass out all keep stateI’m sure there are places to improve, but it gets the job done and keeps the guest network isolated.
Here’s
rtadvd.conf, for my IPv6 folksigb2.100:\ :addr="2001:470:7914:6a76::":prefixlen#64:\ :rdnss="2001:470:7914:6a76::1":\ :dnssl="evn0.loc.illuriasecurity.com,loc.illuriasecurity.com":igb2.69:\ :addr="2001:470:7914:6969::":prefixlen#64:\ :rdnss="2001:470:7914:6969::1":
For DNS, I’m running BIND, here’s the important parts
listen-on { 127.0.0.1; 172.16.100.1; 172.16.99.1; 172.31.42.1; 192.168.69.1; };listen-on-v6 { 2001:470:7914:6a76::1; 2001:470:7914:6969::1; };allow-query { 127.0.0.1; 172.16.100.0/24; 172.31.42.0/24; 192.168.69.0/24; 2001:470:7914:6a76::/64; 2001:470:7914:6969::/64;};And for DHCP, here’s what it looks like
subnet 172.16.100.0 netmask 255.255.255.0 { range 172.16.100.100 172.16.100.150; option domain-name-servers 172.16.100.1; option subnet-mask 255.255.255.0; option routers 172.16.100.1; option domain-name "evn0.loc.illuriasecurity.com"; option domain-search "loc.illuriasecurity.com evn0.loc.illuriasecurity.com";}host zvartnots { hardware ethernet d4:57:63:f1:5a:36; fixed-address 172.16.100.7;}host unifi0 { hardware ethernet 58:9c:fc:93:d1:0b; fixed-address 172.31.42.42;}
[…]subnet 172.31.42.0 netmask 255.255.255.0 { range 172.31.42.100 172.31.42.150; option domain-name-servers 172.31.42.1; option subnet-mask 255.255.255.0; option routers 172.31.42.1;}subnet 192.168.69.0 netmask 255.255.255.0 { range 192.168.69.100 192.168.69.150; option domain-name-servers 192.168.69.1; option subnet-mask 255.255.255.0; option routers 192.168.69.1;}So you’re wondering, what’s this
unifi0? Well, that brings us toT480s
This laptop has been gifted to me by [REDACTED] for my contributions to the Armenian government (which means when a server goes down and no one knows how to fix it, they called me and I showed up)
Here’s the hardware
root@t480s:~ # dmidecode -s system-versionThinkPad T480sroot@t480s:~ # sysctl hw.modelhw.model: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHzroot@t480s:~ # sysctl hw.physmemhw.physmem: 25602347008root@t480s:~ # zpool listNAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOTzroot 224G 109G 115G - - 44% 48% 1.00x ONLINE -
The T480s has access to VLAN 100, 42, 69, but the host itself has access only to VLAN 100 (LAN), while the jails can exist on other VLANs.
So I have a Jail named
unifi0that runs the Unifi Management thingie.Here’s what
rc.confof the host looks likeclear_tmp_enable="YES"syslogd_flags="-ss"sendmail_enable="NONE"sshd_enable="YES"ntpd_enable="YES"# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disabledumpdev="AUTO"zfs_enable="YES"hostname="t480s.evn0.loc.illuriasecurity.com"ifconfig_em0="up -rxcsum -txcsum"vlans_em0="100 42 69"ifconfig_em0_100="up"ifconfig_em0_42="up"ifconfig_em0_69="up"cloned_interfaces="bridge0 bridge100 bridge42 bridge69"create_args_bridge100="ether 8c:16:45:82:b4:10"ifconfig_bridge100="addm em0.100 SYNCDHCP"ifconfig_bridge100_ipv6="inet6 auto_linklocal"rtsold_flags="-i -F -m bridge100"rtsold_enable="YES"create_args_bridge42=" ether 8c:16:45:82:b4:42"create_args_bridge69=" ether 8c:16:45:82:b4:69"ifconfig_bridge42="addm em0.42"ifconfig_bridge69="addm em0.69"jail_enable="YES"jailer_dir="zfs:zroot/jailer"ifconfig_bridge0="inet 10.1.0.1/24 up"ngbuddy_enable="YES"ngbuddy_private_if="nghost0"dhcpd_enable="YES"lldpd_enable="YES"
I used Jailer to create the
unifi0jail, here’s what thejail.conflooks like# vim: set syntax=sh:exec.clean;allow.raw_sockets;mount.devfs;unifi0 { $id = "6"; devfs_ruleset = 10; $bridge = "bridge42"; $domain = "evn0.loc.illuriasecurity.com"; vnet; vnet.interface = "epair${id}b"; exec.prestart = "ifconfig epair${id} create up"; exec.prestart += "ifconfig epair${id}a up descr vnet-${name}"; exec.prestart += "ifconfig ${bridge} addm epair${id}a up"; exec.start = "/sbin/ifconfig lo0 127.0.0.1 up"; exec.start += "/bin/sh /etc/rc"; exec.stop = "/bin/sh /etc/rc.shutdown jail"; exec.poststop = "ifconfig ${bridge} deletem epair${id}a"; exec.poststop += "ifconfig epair${id}a destroy"; host.hostname = "${name}.${domain}"; path = "/usr/local/jailer/unifi0"; exec.consolelog = "/var/log/jail/${name}.log"; persist; mount.fdescfs; mount.procfs;}Here are the important parts inside the jail
root@t480s:~ # cat /usr/local/jailer/unifi0/etc/rc.confifconfig_epair6b="SYNCDHCP"sendmail_enable="NONE"syslogd_flags="-ss"mongod_enable="YES"unifi_enable="YES"root@t480s:~ # cat /usr/local/jailer/unifi0/etc/start_if.epair6b ifconfig epair6b ether 58:9c:fc:93:d1:0b
Don’t you love it that you can see what’s inside the jail from the host? God I love FreeBSD!
Did I miss anything? I hope not.
Oh, for the homelabbers out there, the T480s is the one that runs things like Jellyfin if needed.
Finally, the tiny
Raspberry Pi 4, Model B
I found this in a closed, so I decided to run it for TimeMachine.
I guess all you care about is
rc.confhostname="tm0.evn0.loc.illuriasecurity.com"ifconfig_DEFAULT="DHCP inet6 accept_rtadv"sshd_enable="YES"sendmail_enable="NONE"sendmail_submit_enable="NO"sendmail_outbound_enable="NO"sendmail_msp_queue_enable="NO"growfs_enable="YES"powerd_enable="YES"# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disabledumpdev="AUTO"zfs_enable="YES"rtsold_enable="YES"samba_server_enable="YES"
And the Samba Configuration
[global]# Network settingsworkgroup = WORKGROUPserver string = Samba Server %vnetbios name = RPi4# Logginglog file = /var/log/samba4/log.%mmax log size = 50log level = 0# Authenticationsecurity = userencrypt passwords = yespassdb backend = tdbsammap to guest = Bad Usermin protocol = SMB2max protocol = SMB3# Apple Time Machine settingsvfs objects = catia fruit streams_xattrfruit:metadata = streamfruit:resource = streamfruit:encoding = nativefruit:locking = nonefruit:time machine = yes# File System supportea support = yeskernel oplocks = nokernel share modes = noposix locking = nomangled names = nosmbd max xattr size = 2097152# Performance tuningread raw = yeswrite raw = yesgetwd cache = yesstrict locking = no# Miscellaneouslocal master = nopreferred master = nodomain master = nowins support = no[tm]comment = Time Machine RPi4path = /usr/local/timemachine/%Ubrowseable = yesread only = novalid users = antranigvvfs objects = catia fruit streams_xattrfruit:time machine = yesfruit:advertise_fullsync = truefruit:time machine max size = 800G # Adjust the size according to your needscreate mask = 0600directory mask = 0700
That’s pretty much it.
Conclusion
I love running homebrew servers, home networks and home labs. I love that (almost) everything is FreeBSD. The switch itself runs Linux, and the Unifi Access Point also runs Linux, both of which I’m pretty happy with.
While most homelabbers used ESXi in the past, I’m happy to see that most people are moving to open source solutions like Proxmox and Xen, but I think that FreeBSD Jails and bhyve is much better. I still don’t have a need for bhyve at the moment, but I would use it if I needed hardware virtualization.
Most homelabbers would consider the lack of Web/GUI interfaces as a con, but I think that it’s a pro. If I need to “replicate” this network, all I need to do is to copy some text files and modify some IP addresses / Interface names.
I hope this was informative and that it would be useful for anyone in the future.
That’s all folks…
Reply via email.
https://antranigv.am/posts/2024/06/freebsd-server-network-homelab/
#Containers #Dell #DellLatitudeE5470 #FreeBSD #homeServer #HowTo #Jailer #Jails #macOS #Networking #pf #Samba #Unifi #Unix #VNET
-
The FreeBSD-native-ish home lab and network
For many years my setup was pretty simple: A FreeBSD home server running on my old laptop. It runs everything I need to be present on the internet, an email server, a web server (like the one you’ve accessed right now to see this blog post) and a public chat server (XMPP/Jabber) so I can be in touch with friends.
For my home network, I had a basic Access Point and a basic Router.
Lately, my setup has become more… intense. I have IPv6 thanks to Hurricane Electric, the network is passed to my home network (which we’ll talk about in a bit), a home network with multiple VLANs, since friends who come home also need WiFi.
I decided to blog about the details, hoping it would help someone in the future.
I’ll start with the simplest one.
The Home Server
I’ve been running home servers for a long time. I believe that every person/family needs a home server. Forget about buying your kids iPads and Smartphones. Their first devices should be a real computer (sorry Apple, iOS devices are still just a toy) like a desktop/laptop and a home server. The home server doesn’t need to be on the public internet, but mine is, for variety of reasons. This blog being one of them.
I get a static IP address from my ISP, Ucom. After the management change that happened couple of years ago, Ucom has become a very typical ISP (think shitty), but they are the only ones that provide a static IP address, instead of setting it on your router, where you have to do port forwarding.
My home server, hostnamed pingvinashen (meaning the town of the penguins, named after the Armenian cartoon) run FreeBSD. Historically this machine has run Debian, Funtoo, Gentoo and finally FreeBSD.
Hardware wise, here’s what it is:
root@pingvinashen:~ # dmidecode -s system-product-nameLatitude E5470root@pingvinashen:~ # sysctl hw.modelhw.model: Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHzroot@pingvinashen:~ # sysctl hw.physmemhw.physmem: 17016950784root@pingvinashen:~ # zpool listNAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOTzroot 420G 178G 242G - - 64% 42% 1.00x ONLINE -
While most homelabbers use hardware virtualization, I think that resources are a tight thing, and should be managed properly. Any company that markets itself as “green/eco-friendly” and uses hardware virtualization should do calculations using a pen and paper and prove if going native would save power/resources or not. (sometimes it doesn’t, usually it does)
I use containers, the old-school ones, Jails to be more specific.
I manage jails using Jailer, my own tool, that tries to stay out of your way when working with Jails.
Here are my current jails:
root@pingvinashen:~ # jailer listNAME STATE JID HOSTNAME IPv4 GWantranig Active 1 antranig.bsd.am 192.168.10.42/24 192.168.10.1antranigv Active 2 antranigv.bsd.am 192.168.10.52/24 192.168.10.1git Stoppedhuginn0 Active 4 huginn0.bsd.am 192.168.10.34/24 192.168.10.1ifconfig Active 5 ifconfig.bsd.am 192.168.10.33/24 192.168.10.1lucy Active 6 lucy.vartanian.am 192.168.10.37/24 192.168.10.1mysql Active 7 mysql.antranigv.am 192.168.10.50/24 192.168.10.1newsletter Active 8 newsletter.bsd.am 192.168.10.65/24 192.168.10.1oragir Active 9 oragir.am 192.168.10.30/24 192.168.10.1psql Active 10 psql.pingvinashen.am 192.168.10.3/24 192.168.10.1rss Active 11 rss.bsd.am 192.168.10.5/24 192.168.10.1sarian Active 12 sarian.am 192.168.10.53/24 192.168.10.1syuneci Active 13 syuneci.am 192.168.10.60/24 192.168.10.1znc Active 14 znc.bsd.am 192.168.10.152/24 192.168.10.1
You already get a basic idea of how things are. Each of my blogs (Armenian and English) has its own Jail. Since I’m using WordPress, I need a database, so I have a MySQL jail (which ironically runs MariaDB) inside of it.
I also have a Git server, running gitea, which is down at the moment as I’m doing maintanence. The Git server (and many other services) requires PostgreSQL, hence the existence of a PostgreSQL jail. I run huginn for automation (RSS to Telegram, RSS to XMPP). My sister has her own blog, using WordPress, so that’s a Jail of its own. Same goes about my fiancée.
Other Jails are Newsletter using Listmonk, Sarian (the Armenian instance of lobste.rs) and a personal ZNC server.
As an avid RSS advocate, I also have a RSS Jail, which runs Miniflux. Many of my friends use this service.
Oragir is an instance of WriteFreely, as I advocate public blogging and ActivityPub. Our community uses that too.
The web server that forwards all this traffic from the public to the Jails is nginx. All it does is
proxy_passas needed. It runs on the host.Other services that run on the host are DNS (BIND9), an email service running
OpenSMTPd(which will be moved to a Jail soon), the chat service runningprosody(which will be moved to a Jail soon) and finally, WireGuard, because I love VPNs.Finally, there’s a IPv6-over-IPv4 tunnel that I use to obtain IPv6 thanks to Hurricane Electric.
Yes, I have a firewall, I use
pf(4).For the techies in the room, here’s what my
rc.conflooks like.# cat /etc/rc.conf# Defaultsclear_tmp_enable="YES"syslogd_flags="-ss"sendmail_enable="NONE"#local_unbound_enable="YES"sshd_enable="YES"moused_enable="YES"ntpd_enable="YES"# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disabledumpdev="AUTO"zfs_enable="YES"hostname="pingvinashen.am"# Networkingdefaultrouter="37.157.221.1"gateway_enable="YES"ifconfig_em0="up"vlans_em0="37 1000" # 1000 -> WAN; 37 -> Home Routerifconfig_em0_1000="inet 37.157.221.130 netmask 255.255.255.0"ifconfig_em0_37="inet 192.168.255.2 netmask 255.255.255.0"static_routes="home"route_home="-net 172.16.100.0/24 -gateway 192.168.255.1"cloned_interfaces="bridge0 bridge6 bridge10"ifconfig_bridge10="inet 192.168.10.1 netmask 255.255.255.0"## IPv6ipv6_gateway_enable="YES"gif_interfaces="gif0"gifconfig_gif0="37.157.221.130 216.66.84.46"ifconfig_gif0="inet6 2001:470:1f14:ef::2 2001:470:1f14:ef::1 prefixlen 128"ipv6_defaultrouter="2001:470:1f14:ef::1"ifconfig_em0_37_ipv6="inet6 2001:470:7914:7065::2 prefixlen 64"ipv6_static_routes="home guest"ipv6_route_home="-net 2001:470:7914:6a76::/64 -gateway 2001:470:7914:7065::1"ipv6_route_guest="-net 2001:470:7914:6969::/64 -gateway 2001:470:7914:7065::1"ifconfig_bridge6_ipv6="inet6 2001:470:1f15:e4::1 prefixlen 64"ifconfig_bridge6_aliases="inet6 2001:470:1f15:e4::25 prefixlen 64 \inet6 2001:470:1f15:e4::80 prefixlen 64 \inet6 2001:470:1f15:e4::5222 prefixlen 64 \inet6 2001:470:1f15:e4:c0fe::53 prefixlen 64 \"# VPNwireguard_enable="YES"wireguard_interfaces="wg0"# Firewallpf_enable="YES"# Jailsjail_enable="YES"jailer_dir="zfs:zroot/jails"# DNSnamed_enable="YES"# Mailsmtpd_enable="YES"smtpd_config="/usr/local/etc/smtpd.conf"# XMPPprosody_enable="YES"turnserver_enable="YES"# Webnginx_enable="YES"tor_enable="YES"
The
gif0interface is a IPv6-over-IPv4 tunnel. I have static routes to my home network, so I don’t go to my server over the ISP every time. This also gives me the ability to get IPv6 in my home network that is routed via my home server.As you have guessed from this config file, I do have VLANs setup. So let’s get into that.
The Home Network
First of all, here’s a very cheap diagram
I have the following VLANs setup on the switch.
VLAN IDPurpose1Switch Management1000pingvinashen (home server) WAN1001evn0 (home router) WAN37pingvinashen ↔ evn042Internal Management100Home LAN69Home GuestHere are the active ports
PortVLANsPurpose24untagged: 1Switch management, connects to Port 222untagged: 1000pingvinashen WAN, from ISP21untagged: 1001Home WAN, from ISP20tagged: 1000, 37To pingvinashen, portem019untagged: 1001To home router, portigb118tagged: 42, 100, 69, 99To home router, portigb217untagged: 37To home router, portigb016tagged: 42, 100, 69To Lenovo T480s15untagged: 100To Raspberri Pi 42untagged: 99From Port 24, for switch management1untagged: 42; tagged: 100, 69; PoETo UAP AC ProThe home router, hostnamed
evn0(named after the IATA code of Yerevan’s Zvartnots International Airport) runs FreeBSD as well, the hardware is the followingroot@evn0:~ # dmidecode -s system-product-nameAPU2root@evn0:~ # sysctl hw.modelhw.model: AMD GX-412TC SOC root@evn0:~ # sysctl hw.physmemhw.physmem: 4234399744root@evn0:~ # zpool listNAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOTzroot 12.5G 9.47G 3.03G - - 67% 75% 1.00x ONLINE -
The home router does… well, routing. It also does DHCP, DNS, SLAAC, and can act as a syslog server.
Here’s what the
rc.conflooks likeclear_tmp_enable="YES"sendmail_enable="NONE"syslogd_flags="-a '172.16.100.0/24:*' -H"zfs_enable="YES"dumpdev="AUTO"hostname="evn0.illuriasecurity.com"pf_enable="YES"gateway_enable="YES"ipv6_gateway_enable="YES"sshd_enable="YES"# Get an IP address from the ISP's GPONifconfig_igb1="DHCP"# Internal routes with pingvinashenifconfig_igb0="inet 192.168.255.1 netmask 255.255.255.0"ifconfig_igb0_ipv6="inet6 2001:470:7914:7065::1 prefixlen 64"static_routes="pingvinashen"route_pingvinashen="-net 37.157.221.130/32 -gateway 192.168.255.2"ipv6_defaultrouter="2001:470:7914:7065::2"# Home Mgmt, Switch Mgmt, Home LAN, Home Guestifconfig_igb2="up"vlans_igb2="42 99 100 69"ifconfig_igb2_42="inet 172.31.42.1 netmask 255.255.255.0"ifconfig_igb2_99="inet 172.16.99.1 netmask 255.255.255.0"ifconfig_igb2_100="inet 172.16.100.1 netmask 255.255.255.0"ifconfig_igb2_100_ipv6="inet6 2001:470:7914:6a76::1 prefixlen 64"ifconfig_igb2_69="inet 192.168.69.1 netmask 255.255.255.0"ifconfig_igb2_69_ipv6="inet6 2001:470:7914:6969::1 prefixlen 64"# DNS and DHCPnamed_enable="YES"dhcpd_enable="YES"named_flags=""# NTPntpd_enable="YES"# Router Advertisement and LLDPrtadvd_enable="YES"lldpd_enable="YES"lldpd_flags=""
Here’s
pf.conf, because security is important.ext_if="igb1"bsd_if="igb0"int_if="igb2.100"guest_if="igb2.69"mgmt_if="igb2.42"sw_if="igb2.99"ill_net="172.16.0.0/16"nat pass on $ext_if from $int_if:network to any -> ($ext_if)nat pass on $ext_if from $mgmt_if:network to any -> ($ext_if)nat pass on $ext_if from $guest_if:network to any -> ($ext_if)set skip on { lo0 }block in allpass on $int_if from $int_if:network to anypass on $mgmt_if from $mgmt_if:network to anypass on $sw_if from $sw_if:network to anypass on $guest_if from $guest_if:network to anyblock quick on $guest_if from any to { $int_if:network, $mgmt_if:network, $ill_net, $sw_if:network }pass in on illuria0 from $ill_net to { $ill_net, $mgmt_if:network }pass inet proto icmppass inet6 proto icmp6pass out all keep stateI’m sure there are places to improve, but it gets the job done and keeps the guest network isolated.
Here’s
rtadvd.conf, for my IPv6 folksigb2.100:\ :addr="2001:470:7914:6a76::":prefixlen#64:\ :rdnss="2001:470:7914:6a76::1":\ :dnssl="evn0.loc.illuriasecurity.com,loc.illuriasecurity.com":igb2.69:\ :addr="2001:470:7914:6969::":prefixlen#64:\ :rdnss="2001:470:7914:6969::1":
For DNS, I’m running BIND, here’s the important parts
listen-on { 127.0.0.1; 172.16.100.1; 172.16.99.1; 172.31.42.1; 192.168.69.1; };listen-on-v6 { 2001:470:7914:6a76::1; 2001:470:7914:6969::1; };allow-query { 127.0.0.1; 172.16.100.0/24; 172.31.42.0/24; 192.168.69.0/24; 2001:470:7914:6a76::/64; 2001:470:7914:6969::/64;};And for DHCP, here’s what it looks like
subnet 172.16.100.0 netmask 255.255.255.0 { range 172.16.100.100 172.16.100.150; option domain-name-servers 172.16.100.1; option subnet-mask 255.255.255.0; option routers 172.16.100.1; option domain-name "evn0.loc.illuriasecurity.com"; option domain-search "loc.illuriasecurity.com evn0.loc.illuriasecurity.com";}host zvartnots { hardware ethernet d4:57:63:f1:5a:36; fixed-address 172.16.100.7;}host unifi0 { hardware ethernet 58:9c:fc:93:d1:0b; fixed-address 172.31.42.42;}
[…]subnet 172.31.42.0 netmask 255.255.255.0 { range 172.31.42.100 172.31.42.150; option domain-name-servers 172.31.42.1; option subnet-mask 255.255.255.0; option routers 172.31.42.1;}subnet 192.168.69.0 netmask 255.255.255.0 { range 192.168.69.100 192.168.69.150; option domain-name-servers 192.168.69.1; option subnet-mask 255.255.255.0; option routers 192.168.69.1;}So you’re wondering, what’s this
unifi0? Well, that brings us toT480s
This laptop has been gifted to me by [REDACTED] for my contributions to the Armenian government (which means when a server goes down and no one knows how to fix it, they called me and I showed up)
Here’s the hardware
root@t480s:~ # dmidecode -s system-versionThinkPad T480sroot@t480s:~ # sysctl hw.modelhw.model: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHzroot@t480s:~ # sysctl hw.physmemhw.physmem: 25602347008root@t480s:~ # zpool listNAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOTzroot 224G 109G 115G - - 44% 48% 1.00x ONLINE -
The T480s has access to VLAN 100, 42, 69, but the host itself has access only to VLAN 100 (LAN), while the jails can exist on other VLANs.
So I have a Jail named
unifi0that runs the Unifi Management thingie.Here’s what
rc.confof the host looks likeclear_tmp_enable="YES"syslogd_flags="-ss"sendmail_enable="NONE"sshd_enable="YES"ntpd_enable="YES"# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disabledumpdev="AUTO"zfs_enable="YES"hostname="t480s.evn0.loc.illuriasecurity.com"ifconfig_em0="up -rxcsum -txcsum"vlans_em0="100 42 69"ifconfig_em0_100="up"ifconfig_em0_42="up"ifconfig_em0_69="up"cloned_interfaces="bridge0 bridge100 bridge42 bridge69"create_args_bridge100="ether 8c:16:45:82:b4:10"ifconfig_bridge100="addm em0.100 SYNCDHCP"ifconfig_bridge100_ipv6="inet6 auto_linklocal"rtsold_flags="-i -F -m bridge100"rtsold_enable="YES"create_args_bridge42=" ether 8c:16:45:82:b4:42"create_args_bridge69=" ether 8c:16:45:82:b4:69"ifconfig_bridge42="addm em0.42"ifconfig_bridge69="addm em0.69"jail_enable="YES"jailer_dir="zfs:zroot/jailer"ifconfig_bridge0="inet 10.1.0.1/24 up"ngbuddy_enable="YES"ngbuddy_private_if="nghost0"dhcpd_enable="YES"lldpd_enable="YES"
I used Jailer to create the
unifi0jail, here’s what thejail.conflooks like# vim: set syntax=sh:exec.clean;allow.raw_sockets;mount.devfs;unifi0 { $id = "6"; devfs_ruleset = 10; $bridge = "bridge42"; $domain = "evn0.loc.illuriasecurity.com"; vnet; vnet.interface = "epair${id}b"; exec.prestart = "ifconfig epair${id} create up"; exec.prestart += "ifconfig epair${id}a up descr vnet-${name}"; exec.prestart += "ifconfig ${bridge} addm epair${id}a up"; exec.start = "/sbin/ifconfig lo0 127.0.0.1 up"; exec.start += "/bin/sh /etc/rc"; exec.stop = "/bin/sh /etc/rc.shutdown jail"; exec.poststop = "ifconfig ${bridge} deletem epair${id}a"; exec.poststop += "ifconfig epair${id}a destroy"; host.hostname = "${name}.${domain}"; path = "/usr/local/jailer/unifi0"; exec.consolelog = "/var/log/jail/${name}.log"; persist; mount.fdescfs; mount.procfs;}Here are the important parts inside the jail
root@t480s:~ # cat /usr/local/jailer/unifi0/etc/rc.confifconfig_epair6b="SYNCDHCP"sendmail_enable="NONE"syslogd_flags="-ss"mongod_enable="YES"unifi_enable="YES"root@t480s:~ # cat /usr/local/jailer/unifi0/etc/start_if.epair6b ifconfig epair6b ether 58:9c:fc:93:d1:0b
Don’t you love it that you can see what’s inside the jail from the host? God I love FreeBSD!
Did I miss anything? I hope not.
Oh, for the homelabbers out there, the T480s is the one that runs things like Jellyfin if needed.
Finally, the tiny
Raspberry Pi 4, Model B
I found this in a closed, so I decided to run it for TimeMachine.
I guess all you care about is
rc.confhostname="tm0.evn0.loc.illuriasecurity.com"ifconfig_DEFAULT="DHCP inet6 accept_rtadv"sshd_enable="YES"sendmail_enable="NONE"sendmail_submit_enable="NO"sendmail_outbound_enable="NO"sendmail_msp_queue_enable="NO"growfs_enable="YES"powerd_enable="YES"# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disabledumpdev="AUTO"zfs_enable="YES"rtsold_enable="YES"samba_server_enable="YES"
And the Samba Configuration
[global]# Network settingsworkgroup = WORKGROUPserver string = Samba Server %vnetbios name = RPi4# Logginglog file = /var/log/samba4/log.%mmax log size = 50log level = 0# Authenticationsecurity = userencrypt passwords = yespassdb backend = tdbsammap to guest = Bad Usermin protocol = SMB2max protocol = SMB3# Apple Time Machine settingsvfs objects = catia fruit streams_xattrfruit:metadata = streamfruit:resource = streamfruit:encoding = nativefruit:locking = nonefruit:time machine = yes# File System supportea support = yeskernel oplocks = nokernel share modes = noposix locking = nomangled names = nosmbd max xattr size = 2097152# Performance tuningread raw = yeswrite raw = yesgetwd cache = yesstrict locking = no# Miscellaneouslocal master = nopreferred master = nodomain master = nowins support = no[tm]comment = Time Machine RPi4path = /usr/local/timemachine/%Ubrowseable = yesread only = novalid users = antranigvvfs objects = catia fruit streams_xattrfruit:time machine = yesfruit:advertise_fullsync = truefruit:time machine max size = 800G # Adjust the size according to your needscreate mask = 0600directory mask = 0700
That’s pretty much it.
Conclusion
I love running homebrew servers, home networks and home labs. I love that (almost) everything is FreeBSD. The switch itself runs Linux, and the Unifi Access Point also runs Linux, both of which I’m pretty happy with.
While most homelabbers used ESXi in the past, I’m happy to see that most people are moving to open source solutions like Proxmox and Xen, but I think that FreeBSD Jails and bhyve is much better. I still don’t have a need for bhyve at the moment, but I would use it if I needed hardware virtualization.
Most homelabbers would consider the lack of Web/GUI interfaces as a con, but I think that it’s a pro. If I need to “replicate” this network, all I need to do is to copy some text files and modify some IP addresses / Interface names.
I hope this was informative and that it would be useful for anyone in the future.
That’s all folks…
Reply via email.
https://antranigv.am/posts/2024/06/freebsd-server-network-homelab/
#Containers #Dell #DellLatitudeE5470 #FreeBSD #homeServer #HowTo #Jailer #Jails #macOS #Networking #pf #Samba #Unifi #Unix #VNET
-
The FreeBSD-native-ish home lab and network
For many years my setup was pretty simple: A FreeBSD home server running on my old laptop. It runs everything I need to be present on the internet, an email server, a web server (like the one you’ve accessed right now to see this blog post) and a public chat server (XMPP/Jabber) so I can be in touch with friends.
For my home network, I had a basic Access Point and a basic Router.
Lately, my setup has become more… intense. I have IPv6 thanks to Hurricane Electric, the network is passed to my home network (which we’ll talk about in a bit), a home network with multiple VLANs, since friends who come home also need WiFi.
I decided to blog about the details, hoping it would help someone in the future.
I’ll start with the simplest one.
The Home Server
I’ve been running home servers for a long time. I believe that every person/family needs a home server. Forget about buying your kids iPads and Smartphones. Their first devices should be a real computer (sorry Apple, iOS devices are still just a toy) like a desktop/laptop and a home server. The home server doesn’t need to be on the public internet, but mine is, for variety of reasons. This blog being one of them.
I get a static IP address from my ISP, Ucom. After the management change that happened couple of years ago, Ucom has become a very typical ISP (think shitty), but they are the only ones that provide a static IP address, instead of setting it on your router, where you have to do port forwarding.
My home server, hostnamed pingvinashen (meaning the town of the penguins, named after the Armenian cartoon) run FreeBSD. Historically this machine has run Debian, Funtoo, Gentoo and finally FreeBSD.
Hardware wise, here’s what it is:
root@pingvinashen:~ # dmidecode -s system-product-nameLatitude E5470root@pingvinashen:~ # sysctl hw.modelhw.model: Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHzroot@pingvinashen:~ # sysctl hw.physmemhw.physmem: 17016950784root@pingvinashen:~ # zpool listNAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOTzroot 420G 178G 242G - - 64% 42% 1.00x ONLINE -
While most homelabbers use hardware virtualization, I think that resources are a tight thing, and should be managed properly. Any company that markets itself as “green/eco-friendly” and uses hardware virtualization should do calculations using a pen and paper and prove if going native would save power/resources or not. (sometimes it doesn’t, usually it does)
I use containers, the old-school ones, Jails to be more specific.
I manage jails using Jailer, my own tool, that tries to stay out of your way when working with Jails.
Here are my current jails:
root@pingvinashen:~ # jailer listNAME STATE JID HOSTNAME IPv4 GWantranig Active 1 antranig.bsd.am 192.168.10.42/24 192.168.10.1antranigv Active 2 antranigv.bsd.am 192.168.10.52/24 192.168.10.1git Stoppedhuginn0 Active 4 huginn0.bsd.am 192.168.10.34/24 192.168.10.1ifconfig Active 5 ifconfig.bsd.am 192.168.10.33/24 192.168.10.1lucy Active 6 lucy.vartanian.am 192.168.10.37/24 192.168.10.1mysql Active 7 mysql.antranigv.am 192.168.10.50/24 192.168.10.1newsletter Active 8 newsletter.bsd.am 192.168.10.65/24 192.168.10.1oragir Active 9 oragir.am 192.168.10.30/24 192.168.10.1psql Active 10 psql.pingvinashen.am 192.168.10.3/24 192.168.10.1rss Active 11 rss.bsd.am 192.168.10.5/24 192.168.10.1sarian Active 12 sarian.am 192.168.10.53/24 192.168.10.1syuneci Active 13 syuneci.am 192.168.10.60/24 192.168.10.1znc Active 14 znc.bsd.am 192.168.10.152/24 192.168.10.1
You already get a basic idea of how things are. Each of my blogs (Armenian and English) has its own Jail. Since I’m using WordPress, I need a database, so I have a MySQL jail (which ironically runs MariaDB) inside of it.
I also have a Git server, running gitea, which is down at the moment as I’m doing maintanence. The Git server (and many other services) requires PostgreSQL, hence the existence of a PostgreSQL jail. I run huginn for automation (RSS to Telegram, RSS to XMPP). My sister has her own blog, using WordPress, so that’s a Jail of its own. Same goes about my fiancée.
Other Jails are Newsletter using Listmonk, Sarian (the Armenian instance of lobste.rs) and a personal ZNC server.
As an avid RSS advocate, I also have a RSS Jail, which runs Miniflux. Many of my friends use this service.
Oragir is an instance of WriteFreely, as I advocate public blogging and ActivityPub. Our community uses that too.
The web server that forwards all this traffic from the public to the Jails is nginx. All it does is
proxy_passas needed. It runs on the host.Other services that run on the host are DNS (BIND9), an email service running
OpenSMTPd(which will be moved to a Jail soon), the chat service runningprosody(which will be moved to a Jail soon) and finally, WireGuard, because I love VPNs.Finally, there’s a IPv6-over-IPv4 tunnel that I use to obtain IPv6 thanks to Hurricane Electric.
Yes, I have a firewall, I use
pf(4).For the techies in the room, here’s what my
rc.conflooks like.# cat /etc/rc.conf# Defaultsclear_tmp_enable="YES"syslogd_flags="-ss"sendmail_enable="NONE"#local_unbound_enable="YES"sshd_enable="YES"moused_enable="YES"ntpd_enable="YES"# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disabledumpdev="AUTO"zfs_enable="YES"hostname="pingvinashen.am"# Networkingdefaultrouter="37.157.221.1"gateway_enable="YES"ifconfig_em0="up"vlans_em0="37 1000" # 1000 -> WAN; 37 -> Home Routerifconfig_em0_1000="inet 37.157.221.130 netmask 255.255.255.0"ifconfig_em0_37="inet 192.168.255.2 netmask 255.255.255.0"static_routes="home"route_home="-net 172.16.100.0/24 -gateway 192.168.255.1"cloned_interfaces="bridge0 bridge6 bridge10"ifconfig_bridge10="inet 192.168.10.1 netmask 255.255.255.0"## IPv6ipv6_gateway_enable="YES"gif_interfaces="gif0"gifconfig_gif0="37.157.221.130 216.66.84.46"ifconfig_gif0="inet6 2001:470:1f14:ef::2 2001:470:1f14:ef::1 prefixlen 128"ipv6_defaultrouter="2001:470:1f14:ef::1"ifconfig_em0_37_ipv6="inet6 2001:470:7914:7065::2 prefixlen 64"ipv6_static_routes="home guest"ipv6_route_home="-net 2001:470:7914:6a76::/64 -gateway 2001:470:7914:7065::1"ipv6_route_guest="-net 2001:470:7914:6969::/64 -gateway 2001:470:7914:7065::1"ifconfig_bridge6_ipv6="inet6 2001:470:1f15:e4::1 prefixlen 64"ifconfig_bridge6_aliases="inet6 2001:470:1f15:e4::25 prefixlen 64 \inet6 2001:470:1f15:e4::80 prefixlen 64 \inet6 2001:470:1f15:e4::5222 prefixlen 64 \inet6 2001:470:1f15:e4:c0fe::53 prefixlen 64 \"# VPNwireguard_enable="YES"wireguard_interfaces="wg0"# Firewallpf_enable="YES"# Jailsjail_enable="YES"jailer_dir="zfs:zroot/jails"# DNSnamed_enable="YES"# Mailsmtpd_enable="YES"smtpd_config="/usr/local/etc/smtpd.conf"# XMPPprosody_enable="YES"turnserver_enable="YES"# Webnginx_enable="YES"tor_enable="YES"
The
gif0interface is a IPv6-over-IPv4 tunnel. I have static routes to my home network, so I don’t go to my server over the ISP every time. This also gives me the ability to get IPv6 in my home network that is routed via my home server.As you have guessed from this config file, I do have VLANs setup. So let’s get into that.
The Home Network
First of all, here’s a very cheap diagram
I have the following VLANs setup on the switch.
VLAN IDPurpose1Switch Management1000pingvinashen (home server) WAN1001evn0 (home router) WAN37pingvinashen ↔ evn042Internal Management100Home LAN69Home GuestHere are the active ports
PortVLANsPurpose24untagged: 1Switch management, connects to Port 222untagged: 1000pingvinashen WAN, from ISP21untagged: 1001Home WAN, from ISP20tagged: 1000, 37To pingvinashen, portem019untagged: 1001To home router, portigb118tagged: 42, 100, 69, 99To home router, portigb217untagged: 37To home router, portigb016tagged: 42, 100, 69To Lenovo T480s15untagged: 100To Raspberri Pi 42untagged: 99From Port 24, for switch management1untagged: 42; tagged: 100, 69; PoETo UAP AC ProThe home router, hostnamed
evn0(named after the IATA code of Yerevan’s Zvartnots International Airport) runs FreeBSD as well, the hardware is the followingroot@evn0:~ # dmidecode -s system-product-nameAPU2root@evn0:~ # sysctl hw.modelhw.model: AMD GX-412TC SOC root@evn0:~ # sysctl hw.physmemhw.physmem: 4234399744root@evn0:~ # zpool listNAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOTzroot 12.5G 9.47G 3.03G - - 67% 75% 1.00x ONLINE -
The home router does… well, routing. It also does DHCP, DNS, SLAAC, and can act as a syslog server.
Here’s what the
rc.conflooks likeclear_tmp_enable="YES"sendmail_enable="NONE"syslogd_flags="-a '172.16.100.0/24:*' -H"zfs_enable="YES"dumpdev="AUTO"hostname="evn0.illuriasecurity.com"pf_enable="YES"gateway_enable="YES"ipv6_gateway_enable="YES"sshd_enable="YES"# Get an IP address from the ISP's GPONifconfig_igb1="DHCP"# Internal routes with pingvinashenifconfig_igb0="inet 192.168.255.1 netmask 255.255.255.0"ifconfig_igb0_ipv6="inet6 2001:470:7914:7065::1 prefixlen 64"static_routes="pingvinashen"route_pingvinashen="-net 37.157.221.130/32 -gateway 192.168.255.2"ipv6_defaultrouter="2001:470:7914:7065::2"# Home Mgmt, Switch Mgmt, Home LAN, Home Guestifconfig_igb2="up"vlans_igb2="42 99 100 69"ifconfig_igb2_42="inet 172.31.42.1 netmask 255.255.255.0"ifconfig_igb2_99="inet 172.16.99.1 netmask 255.255.255.0"ifconfig_igb2_100="inet 172.16.100.1 netmask 255.255.255.0"ifconfig_igb2_100_ipv6="inet6 2001:470:7914:6a76::1 prefixlen 64"ifconfig_igb2_69="inet 192.168.69.1 netmask 255.255.255.0"ifconfig_igb2_69_ipv6="inet6 2001:470:7914:6969::1 prefixlen 64"# DNS and DHCPnamed_enable="YES"dhcpd_enable="YES"named_flags=""# NTPntpd_enable="YES"# Router Advertisement and LLDPrtadvd_enable="YES"lldpd_enable="YES"lldpd_flags=""
Here’s
pf.conf, because security is important.ext_if="igb1"bsd_if="igb0"int_if="igb2.100"guest_if="igb2.69"mgmt_if="igb2.42"sw_if="igb2.99"ill_net="172.16.0.0/16"nat pass on $ext_if from $int_if:network to any -> ($ext_if)nat pass on $ext_if from $mgmt_if:network to any -> ($ext_if)nat pass on $ext_if from $guest_if:network to any -> ($ext_if)set skip on { lo0 }block in allpass on $int_if from $int_if:network to anypass on $mgmt_if from $mgmt_if:network to anypass on $sw_if from $sw_if:network to anypass on $guest_if from $guest_if:network to anyblock quick on $guest_if from any to { $int_if:network, $mgmt_if:network, $ill_net, $sw_if:network }pass in on illuria0 from $ill_net to { $ill_net, $mgmt_if:network }pass inet proto icmppass inet6 proto icmp6pass out all keep stateI’m sure there are places to improve, but it gets the job done and keeps the guest network isolated.
Here’s
rtadvd.conf, for my IPv6 folksigb2.100:\ :addr="2001:470:7914:6a76::":prefixlen#64:\ :rdnss="2001:470:7914:6a76::1":\ :dnssl="evn0.loc.illuriasecurity.com,loc.illuriasecurity.com":igb2.69:\ :addr="2001:470:7914:6969::":prefixlen#64:\ :rdnss="2001:470:7914:6969::1":
For DNS, I’m running BIND, here’s the important parts
listen-on { 127.0.0.1; 172.16.100.1; 172.16.99.1; 172.31.42.1; 192.168.69.1; };listen-on-v6 { 2001:470:7914:6a76::1; 2001:470:7914:6969::1; };allow-query { 127.0.0.1; 172.16.100.0/24; 172.31.42.0/24; 192.168.69.0/24; 2001:470:7914:6a76::/64; 2001:470:7914:6969::/64;};And for DHCP, here’s what it looks like
subnet 172.16.100.0 netmask 255.255.255.0 { range 172.16.100.100 172.16.100.150; option domain-name-servers 172.16.100.1; option subnet-mask 255.255.255.0; option routers 172.16.100.1; option domain-name "evn0.loc.illuriasecurity.com"; option domain-search "loc.illuriasecurity.com evn0.loc.illuriasecurity.com";}host zvartnots { hardware ethernet d4:57:63:f1:5a:36; fixed-address 172.16.100.7;}host unifi0 { hardware ethernet 58:9c:fc:93:d1:0b; fixed-address 172.31.42.42;}
[…]subnet 172.31.42.0 netmask 255.255.255.0 { range 172.31.42.100 172.31.42.150; option domain-name-servers 172.31.42.1; option subnet-mask 255.255.255.0; option routers 172.31.42.1;}subnet 192.168.69.0 netmask 255.255.255.0 { range 192.168.69.100 192.168.69.150; option domain-name-servers 192.168.69.1; option subnet-mask 255.255.255.0; option routers 192.168.69.1;}So you’re wondering, what’s this
unifi0? Well, that brings us toT480s
This laptop has been gifted to me by [REDACTED] for my contributions to the Armenian government (which means when a server goes down and no one knows how to fix it, they called me and I showed up)
Here’s the hardware
root@t480s:~ # dmidecode -s system-versionThinkPad T480sroot@t480s:~ # sysctl hw.modelhw.model: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHzroot@t480s:~ # sysctl hw.physmemhw.physmem: 25602347008root@t480s:~ # zpool listNAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOTzroot 224G 109G 115G - - 44% 48% 1.00x ONLINE -
The T480s has access to VLAN 100, 42, 69, but the host itself has access only to VLAN 100 (LAN), while the jails can exist on other VLANs.
So I have a Jail named
unifi0that runs the Unifi Management thingie.Here’s what
rc.confof the host looks likeclear_tmp_enable="YES"syslogd_flags="-ss"sendmail_enable="NONE"sshd_enable="YES"ntpd_enable="YES"# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disabledumpdev="AUTO"zfs_enable="YES"hostname="t480s.evn0.loc.illuriasecurity.com"ifconfig_em0="up -rxcsum -txcsum"vlans_em0="100 42 69"ifconfig_em0_100="up"ifconfig_em0_42="up"ifconfig_em0_69="up"cloned_interfaces="bridge0 bridge100 bridge42 bridge69"create_args_bridge100="ether 8c:16:45:82:b4:10"ifconfig_bridge100="addm em0.100 SYNCDHCP"ifconfig_bridge100_ipv6="inet6 auto_linklocal"rtsold_flags="-i -F -m bridge100"rtsold_enable="YES"create_args_bridge42=" ether 8c:16:45:82:b4:42"create_args_bridge69=" ether 8c:16:45:82:b4:69"ifconfig_bridge42="addm em0.42"ifconfig_bridge69="addm em0.69"jail_enable="YES"jailer_dir="zfs:zroot/jailer"ifconfig_bridge0="inet 10.1.0.1/24 up"ngbuddy_enable="YES"ngbuddy_private_if="nghost0"dhcpd_enable="YES"lldpd_enable="YES"
I used Jailer to create the
unifi0jail, here’s what thejail.conflooks like# vim: set syntax=sh:exec.clean;allow.raw_sockets;mount.devfs;unifi0 { $id = "6"; devfs_ruleset = 10; $bridge = "bridge42"; $domain = "evn0.loc.illuriasecurity.com"; vnet; vnet.interface = "epair${id}b"; exec.prestart = "ifconfig epair${id} create up"; exec.prestart += "ifconfig epair${id}a up descr vnet-${name}"; exec.prestart += "ifconfig ${bridge} addm epair${id}a up"; exec.start = "/sbin/ifconfig lo0 127.0.0.1 up"; exec.start += "/bin/sh /etc/rc"; exec.stop = "/bin/sh /etc/rc.shutdown jail"; exec.poststop = "ifconfig ${bridge} deletem epair${id}a"; exec.poststop += "ifconfig epair${id}a destroy"; host.hostname = "${name}.${domain}"; path = "/usr/local/jailer/unifi0"; exec.consolelog = "/var/log/jail/${name}.log"; persist; mount.fdescfs; mount.procfs;}Here are the important parts inside the jail
root@t480s:~ # cat /usr/local/jailer/unifi0/etc/rc.confifconfig_epair6b="SYNCDHCP"sendmail_enable="NONE"syslogd_flags="-ss"mongod_enable="YES"unifi_enable="YES"root@t480s:~ # cat /usr/local/jailer/unifi0/etc/start_if.epair6b ifconfig epair6b ether 58:9c:fc:93:d1:0b
Don’t you love it that you can see what’s inside the jail from the host? God I love FreeBSD!
Did I miss anything? I hope not.
Oh, for the homelabbers out there, the T480s is the one that runs things like Jellyfin if needed.
Finally, the tiny
Raspberry Pi 4, Model B
I found this in a closed, so I decided to run it for TimeMachine.
I guess all you care about is
rc.confhostname="tm0.evn0.loc.illuriasecurity.com"ifconfig_DEFAULT="DHCP inet6 accept_rtadv"sshd_enable="YES"sendmail_enable="NONE"sendmail_submit_enable="NO"sendmail_outbound_enable="NO"sendmail_msp_queue_enable="NO"growfs_enable="YES"powerd_enable="YES"# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disabledumpdev="AUTO"zfs_enable="YES"rtsold_enable="YES"samba_server_enable="YES"
And the Samba Configuration
[global]# Network settingsworkgroup = WORKGROUPserver string = Samba Server %vnetbios name = RPi4# Logginglog file = /var/log/samba4/log.%mmax log size = 50log level = 0# Authenticationsecurity = userencrypt passwords = yespassdb backend = tdbsammap to guest = Bad Usermin protocol = SMB2max protocol = SMB3# Apple Time Machine settingsvfs objects = catia fruit streams_xattrfruit:metadata = streamfruit:resource = streamfruit:encoding = nativefruit:locking = nonefruit:time machine = yes# File System supportea support = yeskernel oplocks = nokernel share modes = noposix locking = nomangled names = nosmbd max xattr size = 2097152# Performance tuningread raw = yeswrite raw = yesgetwd cache = yesstrict locking = no# Miscellaneouslocal master = nopreferred master = nodomain master = nowins support = no[tm]comment = Time Machine RPi4path = /usr/local/timemachine/%Ubrowseable = yesread only = novalid users = antranigvvfs objects = catia fruit streams_xattrfruit:time machine = yesfruit:advertise_fullsync = truefruit:time machine max size = 800G # Adjust the size according to your needscreate mask = 0600directory mask = 0700
That’s pretty much it.
Conclusion
I love running homebrew servers, home networks and home labs. I love that (almost) everything is FreeBSD. The switch itself runs Linux, and the Unifi Access Point also runs Linux, both of which I’m pretty happy with.
While most homelabbers used ESXi in the past, I’m happy to see that most people are moving to open source solutions like Proxmox and Xen, but I think that FreeBSD Jails and bhyve is much better. I still don’t have a need for bhyve at the moment, but I would use it if I needed hardware virtualization.
Most homelabbers would consider the lack of Web/GUI interfaces as a con, but I think that it’s a pro. If I need to “replicate” this network, all I need to do is to copy some text files and modify some IP addresses / Interface names.
I hope this was informative and that it would be useful for anyone in the future.
That’s all folks…
Reply via email.
https://antranigv.am/posts/2024/06/freebsd-server-network-homelab/
#Containers #Dell #DellLatitudeE5470 #FreeBSD #homeServer #HowTo #Jailer #Jails #macOS #Networking #pf #Samba #Unifi #Unix #VNET
-
The FreeBSD-native-ish home lab and network
For many years my setup was pretty simple: A FreeBSD home server running on my old laptop. It runs everything I need to be present on the internet, an email server, a web server (like the one you’ve accessed right now to see this blog post) and a public chat server (XMPP/Jabber) so I can be in touch with friends.
For my home network, I had a basic Access Point and a basic Router.
Lately, my setup has become more… intense. I have IPv6 thanks to Hurricane Electric, the network is passed to my home network (which we’ll talk about in a bit), a home network with multiple VLANs, since friends who come home also need WiFi.
I decided to blog about the details, hoping it would help someone in the future.
I’ll start with the simplest one.
The Home Server
I’ve been running home servers for a long time. I believe that every person/family needs a home server. Forget about buying your kids iPads and Smartphones. Their first devices should be a real computer (sorry Apple, iOS devices are still just a toy) like a desktop/laptop and a home server. The home server doesn’t need to be on the public internet, but mine is, for variety of reasons. This blog being one of them.
I get a static IP address from my ISP, Ucom. After the management change that happened couple of years ago, Ucom has become a very typical ISP (think shitty), but they are the only ones that provide a static IP address, instead of setting it on your router, where you have to do port forwarding.
My home server, hostnamed pingvinashen (meaning the town of the penguins, named after the Armenian cartoon) run FreeBSD. Historically this machine has run Debian, Funtoo, Gentoo and finally FreeBSD.
Hardware wise, here’s what it is:
root@pingvinashen:~ # dmidecode -s system-product-nameLatitude E5470root@pingvinashen:~ # sysctl hw.modelhw.model: Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHzroot@pingvinashen:~ # sysctl hw.physmemhw.physmem: 17016950784root@pingvinashen:~ # zpool listNAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOTzroot 420G 178G 242G - - 64% 42% 1.00x ONLINE -
While most homelabbers use hardware virtualization, I think that resources are a tight thing, and should be managed properly. Any company that markets itself as “green/eco-friendly” and uses hardware virtualization should do calculations using a pen and paper and prove if going native would save power/resources or not. (sometimes it doesn’t, usually it does)
I use containers, the old-school ones, Jails to be more specific.
I manage jails using Jailer, my own tool, that tries to stay out of your way when working with Jails.
Here are my current jails:
root@pingvinashen:~ # jailer listNAME STATE JID HOSTNAME IPv4 GWantranig Active 1 antranig.bsd.am 192.168.10.42/24 192.168.10.1antranigv Active 2 antranigv.bsd.am 192.168.10.52/24 192.168.10.1git Stoppedhuginn0 Active 4 huginn0.bsd.am 192.168.10.34/24 192.168.10.1ifconfig Active 5 ifconfig.bsd.am 192.168.10.33/24 192.168.10.1lucy Active 6 lucy.vartanian.am 192.168.10.37/24 192.168.10.1mysql Active 7 mysql.antranigv.am 192.168.10.50/24 192.168.10.1newsletter Active 8 newsletter.bsd.am 192.168.10.65/24 192.168.10.1oragir Active 9 oragir.am 192.168.10.30/24 192.168.10.1psql Active 10 psql.pingvinashen.am 192.168.10.3/24 192.168.10.1rss Active 11 rss.bsd.am 192.168.10.5/24 192.168.10.1sarian Active 12 sarian.am 192.168.10.53/24 192.168.10.1syuneci Active 13 syuneci.am 192.168.10.60/24 192.168.10.1znc Active 14 znc.bsd.am 192.168.10.152/24 192.168.10.1
You already get a basic idea of how things are. Each of my blogs (Armenian and English) has its own Jail. Since I’m using WordPress, I need a database, so I have a MySQL jail (which ironically runs MariaDB) inside of it.
I also have a Git server, running gitea, which is down at the moment as I’m doing maintanence. The Git server (and many other services) requires PostgreSQL, hence the existence of a PostgreSQL jail. I run huginn for automation (RSS to Telegram, RSS to XMPP). My sister has her own blog, using WordPress, so that’s a Jail of its own. Same goes about my fiancée.
Other Jails are Newsletter using Listmonk, Sarian (the Armenian instance of lobste.rs) and a personal ZNC server.
As an avid RSS advocate, I also have a RSS Jail, which runs Miniflux. Many of my friends use this service.
Oragir is an instance of WriteFreely, as I advocate public blogging and ActivityPub. Our community uses that too.
The web server that forwards all this traffic from the public to the Jails is nginx. All it does is
proxy_passas needed. It runs on the host.Other services that run on the host are DNS (BIND9), an email service running
OpenSMTPd(which will be moved to a Jail soon), the chat service runningprosody(which will be moved to a Jail soon) and finally, WireGuard, because I love VPNs.Finally, there’s a IPv6-over-IPv4 tunnel that I use to obtain IPv6 thanks to Hurricane Electric.
Yes, I have a firewall, I use
pf(4).For the techies in the room, here’s what my
rc.conflooks like.# cat /etc/rc.conf# Defaultsclear_tmp_enable="YES"syslogd_flags="-ss"sendmail_enable="NONE"#local_unbound_enable="YES"sshd_enable="YES"moused_enable="YES"ntpd_enable="YES"# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disabledumpdev="AUTO"zfs_enable="YES"hostname="pingvinashen.am"# Networkingdefaultrouter="37.157.221.1"gateway_enable="YES"ifconfig_em0="up"vlans_em0="37 1000" # 1000 -> WAN; 37 -> Home Routerifconfig_em0_1000="inet 37.157.221.130 netmask 255.255.255.0"ifconfig_em0_37="inet 192.168.255.2 netmask 255.255.255.0"static_routes="home"route_home="-net 172.16.100.0/24 -gateway 192.168.255.1"cloned_interfaces="bridge0 bridge6 bridge10"ifconfig_bridge10="inet 192.168.10.1 netmask 255.255.255.0"## IPv6ipv6_gateway_enable="YES"gif_interfaces="gif0"gifconfig_gif0="37.157.221.130 216.66.84.46"ifconfig_gif0="inet6 2001:470:1f14:ef::2 2001:470:1f14:ef::1 prefixlen 128"ipv6_defaultrouter="2001:470:1f14:ef::1"ifconfig_em0_37_ipv6="inet6 2001:470:7914:7065::2 prefixlen 64"ipv6_static_routes="home guest"ipv6_route_home="-net 2001:470:7914:6a76::/64 -gateway 2001:470:7914:7065::1"ipv6_route_guest="-net 2001:470:7914:6969::/64 -gateway 2001:470:7914:7065::1"ifconfig_bridge6_ipv6="inet6 2001:470:1f15:e4::1 prefixlen 64"ifconfig_bridge6_aliases="inet6 2001:470:1f15:e4::25 prefixlen 64 \inet6 2001:470:1f15:e4::80 prefixlen 64 \inet6 2001:470:1f15:e4::5222 prefixlen 64 \inet6 2001:470:1f15:e4:c0fe::53 prefixlen 64 \"# VPNwireguard_enable="YES"wireguard_interfaces="wg0"# Firewallpf_enable="YES"# Jailsjail_enable="YES"jailer_dir="zfs:zroot/jails"# DNSnamed_enable="YES"# Mailsmtpd_enable="YES"smtpd_config="/usr/local/etc/smtpd.conf"# XMPPprosody_enable="YES"turnserver_enable="YES"# Webnginx_enable="YES"tor_enable="YES"
The
gif0interface is a IPv6-over-IPv4 tunnel. I have static routes to my home network, so I don’t go to my server over the ISP every time. This also gives me the ability to get IPv6 in my home network that is routed via my home server.As you have guessed from this config file, I do have VLANs setup. So let’s get into that.
The Home Network
First of all, here’s a very cheap diagram
I have the following VLANs setup on the switch.
VLAN IDPurpose1Switch Management1000pingvinashen (home server) WAN1001evn0 (home router) WAN37pingvinashen ↔ evn042Internal Management100Home LAN69Home GuestHere are the active ports
PortVLANsPurpose24untagged: 1Switch management, connects to Port 222untagged: 1000pingvinashen WAN, from ISP21untagged: 1001Home WAN, from ISP20tagged: 1000, 37To pingvinashen, portem019untagged: 1001To home router, portigb118tagged: 42, 100, 69, 99To home router, portigb217untagged: 37To home router, portigb016tagged: 42, 100, 69To Lenovo T480s15untagged: 100To Raspberri Pi 42untagged: 99From Port 24, for switch management1untagged: 42; tagged: 100, 69; PoETo UAP AC ProThe home router, hostnamed
evn0(named after the IATA code of Yerevan’s Zvartnots International Airport) runs FreeBSD as well, the hardware is the followingroot@evn0:~ # dmidecode -s system-product-nameAPU2root@evn0:~ # sysctl hw.modelhw.model: AMD GX-412TC SOC root@evn0:~ # sysctl hw.physmemhw.physmem: 4234399744root@evn0:~ # zpool listNAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOTzroot 12.5G 9.47G 3.03G - - 67% 75% 1.00x ONLINE -
The home router does… well, routing. It also does DHCP, DNS, SLAAC, and can act as a syslog server.
Here’s what the
rc.conflooks likeclear_tmp_enable="YES"sendmail_enable="NONE"syslogd_flags="-a '172.16.100.0/24:*' -H"zfs_enable="YES"dumpdev="AUTO"hostname="evn0.illuriasecurity.com"pf_enable="YES"gateway_enable="YES"ipv6_gateway_enable="YES"sshd_enable="YES"# Get an IP address from the ISP's GPONifconfig_igb1="DHCP"# Internal routes with pingvinashenifconfig_igb0="inet 192.168.255.1 netmask 255.255.255.0"ifconfig_igb0_ipv6="inet6 2001:470:7914:7065::1 prefixlen 64"static_routes="pingvinashen"route_pingvinashen="-net 37.157.221.130/32 -gateway 192.168.255.2"ipv6_defaultrouter="2001:470:7914:7065::2"# Home Mgmt, Switch Mgmt, Home LAN, Home Guestifconfig_igb2="up"vlans_igb2="42 99 100 69"ifconfig_igb2_42="inet 172.31.42.1 netmask 255.255.255.0"ifconfig_igb2_99="inet 172.16.99.1 netmask 255.255.255.0"ifconfig_igb2_100="inet 172.16.100.1 netmask 255.255.255.0"ifconfig_igb2_100_ipv6="inet6 2001:470:7914:6a76::1 prefixlen 64"ifconfig_igb2_69="inet 192.168.69.1 netmask 255.255.255.0"ifconfig_igb2_69_ipv6="inet6 2001:470:7914:6969::1 prefixlen 64"# DNS and DHCPnamed_enable="YES"dhcpd_enable="YES"named_flags=""# NTPntpd_enable="YES"# Router Advertisement and LLDPrtadvd_enable="YES"lldpd_enable="YES"lldpd_flags=""
Here’s
pf.conf, because security is important.ext_if="igb1"bsd_if="igb0"int_if="igb2.100"guest_if="igb2.69"mgmt_if="igb2.42"sw_if="igb2.99"ill_net="172.16.0.0/16"nat pass on $ext_if from $int_if:network to any -> ($ext_if)nat pass on $ext_if from $mgmt_if:network to any -> ($ext_if)nat pass on $ext_if from $guest_if:network to any -> ($ext_if)set skip on { lo0 }block in allpass on $int_if from $int_if:network to anypass on $mgmt_if from $mgmt_if:network to anypass on $sw_if from $sw_if:network to anypass on $guest_if from $guest_if:network to anyblock quick on $guest_if from any to { $int_if:network, $mgmt_if:network, $ill_net, $sw_if:network }pass in on illuria0 from $ill_net to { $ill_net, $mgmt_if:network }pass inet proto icmppass inet6 proto icmp6pass out all keep stateI’m sure there are places to improve, but it gets the job done and keeps the guest network isolated.
Here’s
rtadvd.conf, for my IPv6 folksigb2.100:\ :addr="2001:470:7914:6a76::":prefixlen#64:\ :rdnss="2001:470:7914:6a76::1":\ :dnssl="evn0.loc.illuriasecurity.com,loc.illuriasecurity.com":igb2.69:\ :addr="2001:470:7914:6969::":prefixlen#64:\ :rdnss="2001:470:7914:6969::1":
For DNS, I’m running BIND, here’s the important parts
listen-on { 127.0.0.1; 172.16.100.1; 172.16.99.1; 172.31.42.1; 192.168.69.1; };listen-on-v6 { 2001:470:7914:6a76::1; 2001:470:7914:6969::1; };allow-query { 127.0.0.1; 172.16.100.0/24; 172.31.42.0/24; 192.168.69.0/24; 2001:470:7914:6a76::/64; 2001:470:7914:6969::/64;};And for DHCP, here’s what it looks like
subnet 172.16.100.0 netmask 255.255.255.0 { range 172.16.100.100 172.16.100.150; option domain-name-servers 172.16.100.1; option subnet-mask 255.255.255.0; option routers 172.16.100.1; option domain-name "evn0.loc.illuriasecurity.com"; option domain-search "loc.illuriasecurity.com evn0.loc.illuriasecurity.com";}host zvartnots { hardware ethernet d4:57:63:f1:5a:36; fixed-address 172.16.100.7;}host unifi0 { hardware ethernet 58:9c:fc:93:d1:0b; fixed-address 172.31.42.42;}
[…]subnet 172.31.42.0 netmask 255.255.255.0 { range 172.31.42.100 172.31.42.150; option domain-name-servers 172.31.42.1; option subnet-mask 255.255.255.0; option routers 172.31.42.1;}subnet 192.168.69.0 netmask 255.255.255.0 { range 192.168.69.100 192.168.69.150; option domain-name-servers 192.168.69.1; option subnet-mask 255.255.255.0; option routers 192.168.69.1;}So you’re wondering, what’s this
unifi0? Well, that brings us toT480s
This laptop has been gifted to me by [REDACTED] for my contributions to the Armenian government (which means when a server goes down and no one knows how to fix it, they called me and I showed up)
Here’s the hardware
root@t480s:~ # dmidecode -s system-versionThinkPad T480sroot@t480s:~ # sysctl hw.modelhw.model: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHzroot@t480s:~ # sysctl hw.physmemhw.physmem: 25602347008root@t480s:~ # zpool listNAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOTzroot 224G 109G 115G - - 44% 48% 1.00x ONLINE -
The T480s has access to VLAN 100, 42, 69, but the host itself has access only to VLAN 100 (LAN), while the jails can exist on other VLANs.
So I have a Jail named
unifi0that runs the Unifi Management thingie.Here’s what
rc.confof the host looks likeclear_tmp_enable="YES"syslogd_flags="-ss"sendmail_enable="NONE"sshd_enable="YES"ntpd_enable="YES"# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disabledumpdev="AUTO"zfs_enable="YES"hostname="t480s.evn0.loc.illuriasecurity.com"ifconfig_em0="up -rxcsum -txcsum"vlans_em0="100 42 69"ifconfig_em0_100="up"ifconfig_em0_42="up"ifconfig_em0_69="up"cloned_interfaces="bridge0 bridge100 bridge42 bridge69"create_args_bridge100="ether 8c:16:45:82:b4:10"ifconfig_bridge100="addm em0.100 SYNCDHCP"ifconfig_bridge100_ipv6="inet6 auto_linklocal"rtsold_flags="-i -F -m bridge100"rtsold_enable="YES"create_args_bridge42=" ether 8c:16:45:82:b4:42"create_args_bridge69=" ether 8c:16:45:82:b4:69"ifconfig_bridge42="addm em0.42"ifconfig_bridge69="addm em0.69"jail_enable="YES"jailer_dir="zfs:zroot/jailer"ifconfig_bridge0="inet 10.1.0.1/24 up"ngbuddy_enable="YES"ngbuddy_private_if="nghost0"dhcpd_enable="YES"lldpd_enable="YES"
I used Jailer to create the
unifi0jail, here’s what thejail.conflooks like# vim: set syntax=sh:exec.clean;allow.raw_sockets;mount.devfs;unifi0 { $id = "6"; devfs_ruleset = 10; $bridge = "bridge42"; $domain = "evn0.loc.illuriasecurity.com"; vnet; vnet.interface = "epair${id}b"; exec.prestart = "ifconfig epair${id} create up"; exec.prestart += "ifconfig epair${id}a up descr vnet-${name}"; exec.prestart += "ifconfig ${bridge} addm epair${id}a up"; exec.start = "/sbin/ifconfig lo0 127.0.0.1 up"; exec.start += "/bin/sh /etc/rc"; exec.stop = "/bin/sh /etc/rc.shutdown jail"; exec.poststop = "ifconfig ${bridge} deletem epair${id}a"; exec.poststop += "ifconfig epair${id}a destroy"; host.hostname = "${name}.${domain}"; path = "/usr/local/jailer/unifi0"; exec.consolelog = "/var/log/jail/${name}.log"; persist; mount.fdescfs; mount.procfs;}Here are the important parts inside the jail
root@t480s:~ # cat /usr/local/jailer/unifi0/etc/rc.confifconfig_epair6b="SYNCDHCP"sendmail_enable="NONE"syslogd_flags="-ss"mongod_enable="YES"unifi_enable="YES"root@t480s:~ # cat /usr/local/jailer/unifi0/etc/start_if.epair6b ifconfig epair6b ether 58:9c:fc:93:d1:0b
Don’t you love it that you can see what’s inside the jail from the host? God I love FreeBSD!
Did I miss anything? I hope not.
Oh, for the homelabbers out there, the T480s is the one that runs things like Jellyfin if needed.
Finally, the tiny
Raspberry Pi 4, Model B
I found this in a closed, so I decided to run it for TimeMachine.
I guess all you care about is
rc.confhostname="tm0.evn0.loc.illuriasecurity.com"ifconfig_DEFAULT="DHCP inet6 accept_rtadv"sshd_enable="YES"sendmail_enable="NONE"sendmail_submit_enable="NO"sendmail_outbound_enable="NO"sendmail_msp_queue_enable="NO"growfs_enable="YES"powerd_enable="YES"# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disabledumpdev="AUTO"zfs_enable="YES"rtsold_enable="YES"samba_server_enable="YES"
And the Samba Configuration
[global]# Network settingsworkgroup = WORKGROUPserver string = Samba Server %vnetbios name = RPi4# Logginglog file = /var/log/samba4/log.%mmax log size = 50log level = 0# Authenticationsecurity = userencrypt passwords = yespassdb backend = tdbsammap to guest = Bad Usermin protocol = SMB2max protocol = SMB3# Apple Time Machine settingsvfs objects = catia fruit streams_xattrfruit:metadata = streamfruit:resource = streamfruit:encoding = nativefruit:locking = nonefruit:time machine = yes# File System supportea support = yeskernel oplocks = nokernel share modes = noposix locking = nomangled names = nosmbd max xattr size = 2097152# Performance tuningread raw = yeswrite raw = yesgetwd cache = yesstrict locking = no# Miscellaneouslocal master = nopreferred master = nodomain master = nowins support = no[tm]comment = Time Machine RPi4path = /usr/local/timemachine/%Ubrowseable = yesread only = novalid users = antranigvvfs objects = catia fruit streams_xattrfruit:time machine = yesfruit:advertise_fullsync = truefruit:time machine max size = 800G # Adjust the size according to your needscreate mask = 0600directory mask = 0700
That’s pretty much it.
Conclusion
I love running homebrew servers, home networks and home labs. I love that (almost) everything is FreeBSD. The switch itself runs Linux, and the Unifi Access Point also runs Linux, both of which I’m pretty happy with.
While most homelabbers used ESXi in the past, I’m happy to see that most people are moving to open source solutions like Proxmox and Xen, but I think that FreeBSD Jails and bhyve is much better. I still don’t have a need for bhyve at the moment, but I would use it if I needed hardware virtualization.
Most homelabbers would consider the lack of Web/GUI interfaces as a con, but I think that it’s a pro. If I need to “replicate” this network, all I need to do is to copy some text files and modify some IP addresses / Interface names.
I hope this was informative and that it would be useful for anyone in the future.
That’s all folks…
Reply via email.
https://antranigv.am/posts/2024/06/freebsd-server-network-homelab/
#Containers #Dell #DellLatitudeE5470 #FreeBSD #homeServer #HowTo #Jailer #Jails #macOS #Networking #pf #Samba #Unifi #Unix #VNET
-
Golden-mantled Tree Kangaroo Dendrolagus pulcherrimus
Golden-mantled Tree Kangaroo Dendrolagus pulcherrimus
Red List Status: Critically Endangered
Location: Papua New Guinea (Torricelli Range), West Papua (Foja Mountains)
In the misty cloud forests of New Guinea’s mountains, where ancient trees emerge from perpetual fog and birdsong echoes through emerald canopies, Golden-mantled Tree Kangaroos move with quiet grace through their vanishing world.
Golden-mantled Tree Kangaroos are one of the world’s rarest marsupials. Rarely glimpsed in the wild, their distinctive chestnut coats are adorned with golden stripes. These remarkable climbing kangaroos have suffered a catastrophic 90% population decline over three generations, leaving fewer than 500 individuals clinging on for survival in two remote mountain ranges. Palm oil expansion strips away their ancient forest homes while hunting pressure decimates remaining populations. The Tenkile Conservation Alliance protects the Torricelli population through community-based conservation, offering hope for recovery. #BoycottPalmOil #Boycott4Wildlife
Golden-mantled Tree #Kangaroos 🦘🤎 are critically endangered #marsupials of #PapuaNewGuinea 🇵🇬 They’re on the edge of #extinction from #palmoil #deforestation and #hunting. Resist for them and #Boycottpalmoil 🌴☠️🤮🙊⛔️ #Boycott4Wildlife @palmoildetect https://palmoildetectives.com/2021/01/26/golden-mantled-tree-kangaroo-dendrolagus-pulcherrimus/
Share to BlueSky Share to TwitterAppearance and behaviour
The lowland areas of their distribution are earmarked for deforestation and oil palm expansion.
IUCN Red List
These resilient Tree Kangaroos display the physiological adaptations of arboreal marsupials with chestnut-brown coats, pale bellies, and distinctive double golden stripes running down their backs. Their yellowish necks, cheeks, and feet create a striking contrast against their darker fur, while their powerful tails marked with pale rings provide essential balance during canopy travel. These compact marsupials measure 40-77 centimetres in body length with tails reaching 40-87 centimetres.
Golden-mantled Tree Kangaroos possess powerful forelimbs and curved claws perfectly adapted for gripping bark and branches. Their shorter hind legs allow independent movement essential for navigating complex three-dimensional forest environments. Unlike ground kangaroos, these arboreal specialists can move both forwards and backwards along branches, using their long tails as fifth limbs for stability and balance.
Diet
Golden-mantled Tree Kangaroos are primarily folivorous, feeding on leaves from dozens of plant species found throughout their montane forest habitat. They supplement their diet with seasonal fruits, herbs, and sedges, spending considerable time foraging both in trees and on the forest floor. These selective feeders prefer young leaves and shoots from specific plant species, making them vulnerable when preferred food sources disappear.
Their feeding behaviour includes both arboreal and terrestrial foraging, with Golden-mantled Tree Kangaroos descending to ground level to access fallen fruits and herbs. This dietary flexibility has allowed them to persist in their restricted mountain habitats, though their dependence on specific plant species makes them particularly vulnerable to habitat conversion and fragmentation.
Reproduction and mating
Golden-mantled Tree Kangaroos reach sexual maturity at approximately two years of age with no defined breeding season. Females have an oestrous cycle estimated at 54 days with a gestation period of about 45 days. Once born, the tiny joey remains in the mother’s pouch for 10 months before emerging to spend another 2-3 months at foot, learning essential climbing and foraging skills.
These marsupials live relatively long lives, with captive individuals surviving over 14 years, suggesting wild Golden-mantled Tree Kangaroos could live 8-10 years under optimal conditions. Their extended dependency period reflects the complex skills required for arboreal survival, with mothers teaching joeys essential climbing techniques and food recognition during their extended care period.
Geographic Range
Golden-mantled Tree Kangaroos now survive in only two isolated mountain ranges across New Guinea. The Torricelli Range population in Papua New Guinea extends from Weight to Kuliek, while a smaller population persists in West Papua’s Foja Mountains. Fossil records indicate they once ranged across the Vogelkop Peninsula and other areas, but have been extirpated from 99% of their historical range.
Unconfirmed sightings from Papua New Guinea’s Prince Alexander Range suggest possible remnant populations, though these require verification. Their extremely restricted range of just 300 square kilometres makes Golden-mantled Tree Kangaroos particularly vulnerable to local extinctions from habitat loss, hunting, or natural disasters.
Threats
Industrial palm oil deforestation
Palm oil companies systematically bulldoze and burn Golden-mantled Tree Kangaroo habitat across West Papua, replacing mid-montane rainforests with lifeless monocultures. Korean company Korindo has destroyed 11,700 hectares of pristine rainforest in recent years, eliminating the complex canopy structure these arboreal marsupials require for survival. The company burns forests illegally, knowing this practice destroys critical habitat for tree kangaroos, birds of paradise, and cassowaries. Palm oil expansion has eliminated lowland portions of their range entirely, forcing Golden-mantled Tree Kangaroos into higher elevation refuges. Plantation development fragments the continuous forest cover essential for these territorial animals, creating isolated patches too small to support viable populations.
Hunting for bushmeat
Local communities hunt Golden-mantled Tree Kangaroos for subsistence protein, targeting them with guns during opportunistic forest expeditions. Hunting pressure intensifies near human settlements where access improves through road development and infrastructure expansion. The species’ small group sizes and territorial nature make them particularly vulnerable to hunting pressure, with entire local populations eliminated through intensive harvesting.
Infrastructure and road projects
Road construction opens previously inaccessible mountain areas to human exploitation, bringing hunting pressure and habitat disturbance into formerly secure territories. Small-scale agriculture eliminates forest understory vegetation while creating edge effects that degrade remaining habitat quality. The conversion of traditional forest management systems to intensive agriculture removes the ecological balance that historically supported both human communities and wildlife populations.
Take Action!
Use your wallet as a weapon and #BoycottPalmOil #Boycott4Wildlife every time you shop. Adopt a vegan lifestyle protecting both wild and farmed animals from agricultural expansion. Support the Tenkile Conservation Alliance’s community-based protection programmes recognising indigenous land rights. Refuse products containing palm oil, as this is driving Golden-mantled Tree Kangaroos towards extinction. #BoycottPalmOil #Boycott4Wildlife #Vegan
FAQs
How do Golden-mantled Tree Kangaroos climb trees?
Golden-mantled Tree Kangaroos have powerful forelimbs with curved claws that grip bark securely, while their shorter hind legs allow independent movement essential for navigating branches. They possess strong grips on their paws and foot soles providing non-slip traction when climbing. Their long tails act as fifth limbs, pressing against tree trunks for balance and stability during movement.
What do Golden-mantled Tree Kangaroos eat?
Golden-mantled Tree Kangaroos are primarily herbivorous, feeding on leaves from 91 known plant species, seasonal fruits, herbs, and sedges found in their montane forest habitat. They spend considerable time foraging both in trees and on the forest floor, preferring young leaves and shoots from specific plant species. Some sources suggest they occasionally consume young birds and bird eggs, though their diet consists predominantly of plant matter. Their selective feeding habits make them vulnerable when preferred food sources disappear due to habitat conversion or climate change.
How long do Golden-mantled Tree Kangaroos live?
In the wild, they typically live approximately 8-10 years, though current threats including hunting and habitat destruction may be reducing average lifespans. Captive individuals have survived over 14 years, suggesting they have potential for longer lifespans when protected from human pressures. Their generation length is approximately 10 years, indicating they reach reproductive maturity relatively late compared to smaller marsupials.
How big are Golden-mantled Tree Kangaroos?
Golden-mantled Tree Kangaroos measure 40-77 centimetres in body length with tails reaching 40-87 centimetres, making them substantially smaller than ground kangaroos. They weigh approximately 15.5 kilograms, a relatively light build essential for their arboreal lifestyle where they must be supported by tree branches. Both males and females are similar in size, showing less sexual dimorphism than many other kangaroo species.
Why are Golden-mantled Tree Kangaroos endangered?
Tragically, these tree kangaroos have experienced a catastrophic 90% population decline over three generations due to palm oil deforestation and hunting pressure. Palm oil companies have destroyed 99% of their historical habitat, replacing mid-montane rainforests with monoculture plantations offering no food or shelter. Hunting for bushmeat provides essential protein for local communities but removes breeding individuals from critically small populations. Their extremely restricted range of just 300 square kilometres makes them vulnerable to local extinctions, while habitat fragmentation prevents genetic exchange between isolated populations.
Can Golden-mantled Tree Kangaroos jump?
Golden-mantled Tree Kangaroos are capable jumpers, able to leap distances of up to 9 metres between trees and drop up to 18 metres to the forest floor without injury. They can climb heights equivalent to a 10-storey building, using their powerful hind legs and long tails for balance during aerial manoeuvres. Their jumping ability allows them to navigate between the treetops without descending to the dangerous ground level where predators pose greater threats. Their remarkable leaping capacity is essential for accessing food sources and escaping danger in their three-dimensional forest environment.
https://www.youtube.com/watch?v=5WAiBl_b2cE
Further Information
Eldridge, M. D. B., Potter, S., Helgen, K. M., Sinaga, M. H., Aplin, K. P., Flannery, T. F., & Johnson, R. N. (2018). Phylogenetic analysis of the tree-kangaroos (Dendrolagus) reveals multiple divergent lineages within New Guinea. Molecular Phylogenetics and Evolution, 127, 589-599. https://doi.org/10.1016/j.ympev.2018.05.030
Flannery, T. F. (1993). Taxonomy of Dendrolagus goodfellowi with description of a new subspecies. Records of the Australian Museum, 45(1), 33-42.
Leary, T., Wright, D., Hamilton, S., Helgen, K., Singadan, R., Aplin, K., … & Seri, L. (2016). Dendrolagus pulcherrimus. The IUCN Red List of Threatened Species 2016: e.T136696A21957219.
Porolak, G., Dabek, L., & Krockenberger, A. K. (2014). Ranging behaviour of tree kangaroos in upper montane forest. PLoS ONE, 9(4), e91870.
Leary, T., Wright, D., Hamilton, S., Helgen, K., Singadan, R., Aplin, K., Dickman, C., Salas, L., Flannery, T., Martin, R. & Seri, L. 2016. Dendrolagus pulcherrimus. The IUCN Red List of Threatened Species 2016: e.T136696A21957219. https://dx.doi.org/10.2305/IUCN.UK.2016-2.RLTS.T136696A21957219.en. Downloaded on 26 January 2021.
You can support the conservation of this animal:
Golden-mantled Tree Kangaroo Dendrolagus pulcherrimus
How can I help the #Boycott4Wildlife?
Take Action in Five Ways
1. Join the #Boycott4Wildlife on social media and subscribe to stay in the loop: Share posts from this website to your own network on Twitter, Mastadon, Instagram, Facebook and Youtube using the hashtags #Boycottpalmoil #Boycott4Wildlife.
Enter your email address
Sign Up
Join 3,529 other subscribers2. Contribute stories: Academics, conservationists, scientists, indigenous rights advocates and animal rights advocates working to expose the corruption of the palm oil industry or to save animals can contribute stories to the website.
Mel Lumby: Dedicated Devotee to Borneo’s Living Beings
Anthropologist and Author Dr Sophie Chao
Health Physician Dr Evan Allen
The World’s Most Loved Cup: A Social, Ethical & Environmental History of Coffee by Aviary Doert
How do we stop the world’s ecosystems from going into a death spiral? A #SteadyState Economy
3. Supermarket sleuthing: Next time you’re in the supermarket, take photos of products containing palm oil. Share these to social media along with the hashtags to call out the greenwashing and ecocide of the brands who use palm oil. You can also take photos of palm oil free products and congratulate brands when they go palm oil free.
https://twitter.com/CuriousApe4/status/1526136783557529600?s=20
https://twitter.com/PhillDixon1/status/1749010345555788144?s=20
https://twitter.com/mugabe139/status/1678027567977078784?s=20
4. Take to the streets: Get in touch with Palm Oil Detectives to find out more.
5. Donate: Make a one-off or monthly donation to Palm Oil Detectives as a way of saying thank you and to help pay for ongoing running costs of the website and social media campaigns. Donate here
Pledge your support#Boycott4wildlife #BoycottPalmOil #CriticallyEndangeredSpecies #deforestation #Dendrolagus #extinction #ForgottenAnimals #GoldenMantledTreeKangarooDendrolagusPulcherrimus #hunting #Indonesia #Kangaroos #Macropod #Mammal #mammals #Marsupial #marsupials #palmoil #PapuaNewGuinea #PapuaNewGuineaSpeciesEndangeredByPalmOilDeforestation #PapuaNewGuinea #TreeKangaroo #treekangaroos #vegan #WestPapua #WestPapua
-
Golden-mantled Tree Kangaroo Dendrolagus pulcherrimus
Golden-mantled Tree Kangaroo Dendrolagus pulcherrimus
Red List Status: Critically Endangered
Location: Papua New Guinea (Torricelli Range), West Papua (Foja Mountains)
In the misty cloud forests of New Guinea’s mountains, where ancient trees emerge from perpetual fog and birdsong echoes through emerald canopies, Golden-mantled Tree Kangaroos move with quiet grace through their vanishing world.
Golden-mantled Tree Kangaroos are one of the world’s rarest marsupials. Rarely glimpsed in the wild, their distinctive chestnut coats are adorned with golden stripes. These remarkable climbing kangaroos have suffered a catastrophic 90% population decline over three generations, leaving fewer than 500 individuals clinging on for survival in two remote mountain ranges. Palm oil expansion strips away their ancient forest homes while hunting pressure decimates remaining populations. The Tenkile Conservation Alliance protects the Torricelli population through community-based conservation, offering hope for recovery. #BoycottPalmOil #Boycott4Wildlife
Golden-mantled Tree #Kangaroos 🦘🤎 are critically endangered #marsupials of #PapuaNewGuinea 🇵🇬 They’re on the edge of #extinction from #palmoil #deforestation and #hunting. Resist for them and #Boycottpalmoil 🌴☠️🤮🙊⛔️ #Boycott4Wildlife @palmoildetect https://palmoildetectives.com/2021/01/26/golden-mantled-tree-kangaroo-dendrolagus-pulcherrimus/
Share to BlueSky Share to TwitterAppearance and behaviour
The lowland areas of their distribution are earmarked for deforestation and oil palm expansion.
IUCN Red List
These resilient Tree Kangaroos display the physiological adaptations of arboreal marsupials with chestnut-brown coats, pale bellies, and distinctive double golden stripes running down their backs. Their yellowish necks, cheeks, and feet create a striking contrast against their darker fur, while their powerful tails marked with pale rings provide essential balance during canopy travel. These compact marsupials measure 40-77 centimetres in body length with tails reaching 40-87 centimetres.
Golden-mantled Tree Kangaroos possess powerful forelimbs and curved claws perfectly adapted for gripping bark and branches. Their shorter hind legs allow independent movement essential for navigating complex three-dimensional forest environments. Unlike ground kangaroos, these arboreal specialists can move both forwards and backwards along branches, using their long tails as fifth limbs for stability and balance.
Diet
Golden-mantled Tree Kangaroos are primarily folivorous, feeding on leaves from dozens of plant species found throughout their montane forest habitat. They supplement their diet with seasonal fruits, herbs, and sedges, spending considerable time foraging both in trees and on the forest floor. These selective feeders prefer young leaves and shoots from specific plant species, making them vulnerable when preferred food sources disappear.
Their feeding behaviour includes both arboreal and terrestrial foraging, with Golden-mantled Tree Kangaroos descending to ground level to access fallen fruits and herbs. This dietary flexibility has allowed them to persist in their restricted mountain habitats, though their dependence on specific plant species makes them particularly vulnerable to habitat conversion and fragmentation.
Reproduction and mating
Golden-mantled Tree Kangaroos reach sexual maturity at approximately two years of age with no defined breeding season. Females have an oestrous cycle estimated at 54 days with a gestation period of about 45 days. Once born, the tiny joey remains in the mother’s pouch for 10 months before emerging to spend another 2-3 months at foot, learning essential climbing and foraging skills.
These marsupials live relatively long lives, with captive individuals surviving over 14 years, suggesting wild Golden-mantled Tree Kangaroos could live 8-10 years under optimal conditions. Their extended dependency period reflects the complex skills required for arboreal survival, with mothers teaching joeys essential climbing techniques and food recognition during their extended care period.
Geographic Range
Golden-mantled Tree Kangaroos now survive in only two isolated mountain ranges across New Guinea. The Torricelli Range population in Papua New Guinea extends from Weight to Kuliek, while a smaller population persists in West Papua’s Foja Mountains. Fossil records indicate they once ranged across the Vogelkop Peninsula and other areas, but have been extirpated from 99% of their historical range.
Unconfirmed sightings from Papua New Guinea’s Prince Alexander Range suggest possible remnant populations, though these require verification. Their extremely restricted range of just 300 square kilometres makes Golden-mantled Tree Kangaroos particularly vulnerable to local extinctions from habitat loss, hunting, or natural disasters.
Threats
Industrial palm oil deforestation
Palm oil companies systematically bulldoze and burn Golden-mantled Tree Kangaroo habitat across West Papua, replacing mid-montane rainforests with lifeless monocultures. Korean company Korindo has destroyed 11,700 hectares of pristine rainforest in recent years, eliminating the complex canopy structure these arboreal marsupials require for survival. The company burns forests illegally, knowing this practice destroys critical habitat for tree kangaroos, birds of paradise, and cassowaries. Palm oil expansion has eliminated lowland portions of their range entirely, forcing Golden-mantled Tree Kangaroos into higher elevation refuges. Plantation development fragments the continuous forest cover essential for these territorial animals, creating isolated patches too small to support viable populations.
Hunting for bushmeat
Local communities hunt Golden-mantled Tree Kangaroos for subsistence protein, targeting them with guns during opportunistic forest expeditions. Hunting pressure intensifies near human settlements where access improves through road development and infrastructure expansion. The species’ small group sizes and territorial nature make them particularly vulnerable to hunting pressure, with entire local populations eliminated through intensive harvesting.
Infrastructure and road projects
Road construction opens previously inaccessible mountain areas to human exploitation, bringing hunting pressure and habitat disturbance into formerly secure territories. Small-scale agriculture eliminates forest understory vegetation while creating edge effects that degrade remaining habitat quality. The conversion of traditional forest management systems to intensive agriculture removes the ecological balance that historically supported both human communities and wildlife populations.
Take Action!
Use your wallet as a weapon and #BoycottPalmOil #Boycott4Wildlife every time you shop. Adopt a vegan lifestyle protecting both wild and farmed animals from agricultural expansion. Support the Tenkile Conservation Alliance’s community-based protection programmes recognising indigenous land rights. Refuse products containing palm oil, as this is driving Golden-mantled Tree Kangaroos towards extinction. #BoycottPalmOil #Boycott4Wildlife #Vegan
FAQs
How do Golden-mantled Tree Kangaroos climb trees?
Golden-mantled Tree Kangaroos have powerful forelimbs with curved claws that grip bark securely, while their shorter hind legs allow independent movement essential for navigating branches. They possess strong grips on their paws and foot soles providing non-slip traction when climbing. Their long tails act as fifth limbs, pressing against tree trunks for balance and stability during movement.
What do Golden-mantled Tree Kangaroos eat?
Golden-mantled Tree Kangaroos are primarily herbivorous, feeding on leaves from 91 known plant species, seasonal fruits, herbs, and sedges found in their montane forest habitat. They spend considerable time foraging both in trees and on the forest floor, preferring young leaves and shoots from specific plant species. Some sources suggest they occasionally consume young birds and bird eggs, though their diet consists predominantly of plant matter. Their selective feeding habits make them vulnerable when preferred food sources disappear due to habitat conversion or climate change.
How long do Golden-mantled Tree Kangaroos live?
In the wild, they typically live approximately 8-10 years, though current threats including hunting and habitat destruction may be reducing average lifespans. Captive individuals have survived over 14 years, suggesting they have potential for longer lifespans when protected from human pressures. Their generation length is approximately 10 years, indicating they reach reproductive maturity relatively late compared to smaller marsupials.
How big are Golden-mantled Tree Kangaroos?
Golden-mantled Tree Kangaroos measure 40-77 centimetres in body length with tails reaching 40-87 centimetres, making them substantially smaller than ground kangaroos. They weigh approximately 15.5 kilograms, a relatively light build essential for their arboreal lifestyle where they must be supported by tree branches. Both males and females are similar in size, showing less sexual dimorphism than many other kangaroo species.
Why are Golden-mantled Tree Kangaroos endangered?
Tragically, these tree kangaroos have experienced a catastrophic 90% population decline over three generations due to palm oil deforestation and hunting pressure. Palm oil companies have destroyed 99% of their historical habitat, replacing mid-montane rainforests with monoculture plantations offering no food or shelter. Hunting for bushmeat provides essential protein for local communities but removes breeding individuals from critically small populations. Their extremely restricted range of just 300 square kilometres makes them vulnerable to local extinctions, while habitat fragmentation prevents genetic exchange between isolated populations.
Can Golden-mantled Tree Kangaroos jump?
Golden-mantled Tree Kangaroos are capable jumpers, able to leap distances of up to 9 metres between trees and drop up to 18 metres to the forest floor without injury. They can climb heights equivalent to a 10-storey building, using their powerful hind legs and long tails for balance during aerial manoeuvres. Their jumping ability allows them to navigate between the treetops without descending to the dangerous ground level where predators pose greater threats. Their remarkable leaping capacity is essential for accessing food sources and escaping danger in their three-dimensional forest environment.
https://www.youtube.com/watch?v=5WAiBl_b2cE
Further Information
Eldridge, M. D. B., Potter, S., Helgen, K. M., Sinaga, M. H., Aplin, K. P., Flannery, T. F., & Johnson, R. N. (2018). Phylogenetic analysis of the tree-kangaroos (Dendrolagus) reveals multiple divergent lineages within New Guinea. Molecular Phylogenetics and Evolution, 127, 589-599. https://doi.org/10.1016/j.ympev.2018.05.030
Flannery, T. F. (1993). Taxonomy of Dendrolagus goodfellowi with description of a new subspecies. Records of the Australian Museum, 45(1), 33-42.
Leary, T., Wright, D., Hamilton, S., Helgen, K., Singadan, R., Aplin, K., … & Seri, L. (2016). Dendrolagus pulcherrimus. The IUCN Red List of Threatened Species 2016: e.T136696A21957219.
Porolak, G., Dabek, L., & Krockenberger, A. K. (2014). Ranging behaviour of tree kangaroos in upper montane forest. PLoS ONE, 9(4), e91870.
Leary, T., Wright, D., Hamilton, S., Helgen, K., Singadan, R., Aplin, K., Dickman, C., Salas, L., Flannery, T., Martin, R. & Seri, L. 2016. Dendrolagus pulcherrimus. The IUCN Red List of Threatened Species 2016: e.T136696A21957219. https://dx.doi.org/10.2305/IUCN.UK.2016-2.RLTS.T136696A21957219.en. Downloaded on 26 January 2021.
You can support the conservation of this animal:
Golden-mantled Tree Kangaroo Dendrolagus pulcherrimus
How can I help the #Boycott4Wildlife?
Take Action in Five Ways
1. Join the #Boycott4Wildlife on social media and subscribe to stay in the loop: Share posts from this website to your own network on Twitter, Mastadon, Instagram, Facebook and Youtube using the hashtags #Boycottpalmoil #Boycott4Wildlife.
Enter your email address
Sign Up
Join 3,529 other subscribers2. Contribute stories: Academics, conservationists, scientists, indigenous rights advocates and animal rights advocates working to expose the corruption of the palm oil industry or to save animals can contribute stories to the website.
Mel Lumby: Dedicated Devotee to Borneo’s Living Beings
Anthropologist and Author Dr Sophie Chao
Health Physician Dr Evan Allen
The World’s Most Loved Cup: A Social, Ethical & Environmental History of Coffee by Aviary Doert
How do we stop the world’s ecosystems from going into a death spiral? A #SteadyState Economy
3. Supermarket sleuthing: Next time you’re in the supermarket, take photos of products containing palm oil. Share these to social media along with the hashtags to call out the greenwashing and ecocide of the brands who use palm oil. You can also take photos of palm oil free products and congratulate brands when they go palm oil free.
https://twitter.com/CuriousApe4/status/1526136783557529600?s=20
https://twitter.com/PhillDixon1/status/1749010345555788144?s=20
https://twitter.com/mugabe139/status/1678027567977078784?s=20
4. Take to the streets: Get in touch with Palm Oil Detectives to find out more.
5. Donate: Make a one-off or monthly donation to Palm Oil Detectives as a way of saying thank you and to help pay for ongoing running costs of the website and social media campaigns. Donate here
Pledge your support#Boycott4wildlife #BoycottPalmOil #CriticallyEndangeredSpecies #deforestation #Dendrolagus #extinction #ForgottenAnimals #GoldenMantledTreeKangarooDendrolagusPulcherrimus #hunting #Indonesia #Kangaroos #Macropod #Mammal #mammals #Marsupial #marsupials #palmoil #PapuaNewGuinea #PapuaNewGuineaSpeciesEndangeredByPalmOilDeforestation #PapuaNewGuinea #TreeKangaroo #treekangaroos #vegan #WestPapua #WestPapua
-
Fragments from the Book of Job #6: chapters 38-42
In his concluding speech in chapter 31, Job did demand that God appear before him, and in a sense, it is somewhat surprising for Elihu to appear instead. But can a man command God to appear? Do we have the right or authority to demand the Most High to appear before us?
Image via Wikipedia
Job’s concluding remarks in chapter 31 could unlikely in some way compel the Almighty Elohimto appear.Elihu came in between the discussion because he found lots of things said to Job but also about God were not right. He had found that multiple words against God were uttered, charging God of doing nothing about wickedness or even using evil things to vindicate. Though we can find some kind of truth and authority in the words from Job’s three friends Eliphaz, Bildad, and Zophar, they grated on the nerves of Elihu and angered God. It was not because God kept His silence that He did not listen or did not care, nor lost control over nation or man (Job 34:29-30). Also Elihu had the wrong idea about God working with His people. This sometimes arrogant looking person ends up offering a similar argument to that of the three friends: God is greater than man (Job 33:12) and thus he must have intended to warn or rebuke Job (Job 33:14–30). He even hopes that Job’s trials will continue either until he recants or, if he does not recant, until he dies (Job 34:36-37) and states Job’s complaint that godliness avails a man nothing (Job 35:1-4). He also declared that God is too lofty to be affected either by godliness or ungodliness, which only affect other people (Job 35:5-8). An other fault brought forwards to those who are unlucky is that unanswered prayers would be because of the lack of faith of those who pray and to the emptiness of the prayer (Job 35:-16). Elihu at moments continued to attack Job in the line of the other three older friends (e.g., Job 34:10-37; 35:16). He also suggested that Job had not recognized and maybe even had ignored the ways in which God had spoken to him (Job 33:14). The continual appeal for Job by the four friends to simply repent of whatever evil he has done is an obvious misdiagnosis, in light of the prologue (chapters 1-2) and on the other elements Job brought forward to plea for his justice, recapitulated by Elihu at the opening of his speech (Job 33:6, 9; 34:5-9).
Elihu, who sometimes handled as if he were thinking to be like a prophet, shed already a further light on the matter that the creator of the universe cannot be unjust (Job 32:18–20; 34:10-28). Perhaps we may be called men of understanding, but there are a lot of things we do not understand and who are to complex to grasp and to get over with. Often we can’t make God out because He is beyond us. We sometimes can’t get His meaning or miss the point of what He says and does. The Spirit God seems difficult to grasp, but He is not so incomprehensible as we think. We just should concentrate more on the essentials of Him.
In the Book of Job we got an idea in what ways evil come to this earth and how evil people suffer as well (Job 15:14-16, 20-35). Failure comes to many. In the many speeches from chapters 3 to 37 we heard the flawless logic but wounding thrusts of those who insisted on the traditional theology that it was indisputable that God is almighty, perfectly just and that no human can be pure in Gods sight. On the other hand we have to face the problem of godly, just people who suffer. In this Book from the Book of Books the author can give us some encouragement by showing us that our suffering provides an occasion like no other for exemplifying what true godliness is for human beings. As in the other books of the Bible we can get a picture of righteous people who suffer ‘unjust’ but, though they have to fight against certain thoughts, still continue to go strong for their beloved Creator and His creation.
Job being answered by God – from Byzantine manuscript – Megisti Lavra Monastery,Codex B. 100, 12th centuryWhen we started this study of the Book of Job we mentioned the accuser of God. Satan, the adversary who brought a radical assault on God and godly people. When God called up the name of Job before the accuser and testified to his righteous, the Almighty is called a fool and His followers even more fools. Is it not that humans prefer to love the gifts of the Creator then the Creator Himself? It is up to men to proof that he not tries to pleases God merely for the sake of his benefits. Job did good things he told us, but not in the hope to get something in return. Are you “religious” and “good” because it pays? Do you want something in return for the good things you do?
That is an other subject tackled in the Book of Job. Which position do we as humans want to take in our life here on earth? How do we want to place ourselves against other people. How do we want to face the One from who we get all this around us? Job faced toward God with anguish, puzzlement, anger and bitter complaints. How do we want to look at our Creator? And when we do not hear our answers, at first, answered how can we cope with that seemingly silent Authority? but are we sure that this God, ruler of the universe, is really silent? We should know that He has given His Words to be with us every day. Most of the answers we have to know are handed over to us. We just have to grasp them. It is to us to take them at hand and to read them, to be able to hear them. So we cannot say God does not give the answers to us. He has given them already to all those who want to have them.Only we do have to understand that we can not desire to get to know God thoroughly. Longing to know God is very good. But to read Him like a book is not possible. It is not so easy to have God taped in full. We cannot expect hat at the end of our life we shall know everything about God. It would be foolish wisdom to think that. We shall not be able to control everything, because that belongs to God. But He is willing to share parts of His knowledge with us. He is willing to give wisdom to His creatures. However Job’s experience makes bitterly clear to him that his friends “wisdom” cannot fathom the truth of his situation. No, the wisdom we can get does not bring the answers we would like to hear or see. Sometimes it can frustrate us. It can make us hungry. Wisdom and truth is discerned through hearing, just as the quality of food is discerned through tasting (Job 34:3). We better listen today to the Wisdom of God to get some ray of understanding some things and be satisfied with what we already can get for answers at the moment. Patience is a good virtue. We should be pleased already that we can receive enough wisdom to comprehend those difficult creatures around us. And as we saw from the different answers of Job friends we do not always have to go by age, or by popularity. We always should remember that from these creaturely things, we as humans cannot learn all of God’s ways. And who are we mere human beings to to talk back to God? Does any object that is created riposte to its maker or will what is formed say to him who formed it, “why did you make me this way?” (Isaiah 29:16,45:9; Romans 9:20) “Nay but, O man, who art thou that repliest against God? Shall the thing formed say to him that formed it, Why didst thou make me thus?” (Romans 9:20 ASV)
Who in the world do we think we are to second-guess God? Do you for one moment suppose any of us knows enough to call God into question? Clay doesn’t talk back to the fingers that mould it, saying, “Why did you shape me like this?”
For us it is perhaps best to recognise who is the Superior and not to deny God above (Job 31:28), recognising also the fact that our time on earth is also just a temporarily situation, and that the man who responds submissively to God’s dealings with him will regain health and joy (Job 33:25-28) Yes the Book of Job sheds also a light on what we might expect after death. When we die we shall all land up in the grave, the oppressors and the oppressed, they all shall perish and we shall not be able to take anything of our wealth or fame into our grave, the place of departure (Job 27:15-23; Psalm 164:4; Isaiah 38:18). For the wealthy as well as the poor, the happy as the sufferers it shall be be as the animals (Ecclesiastes 3:19-20) When God does not look at them any more, or His face is veiled, they shall be troubled; when He takes away their breath, they come to an end, and go back to the dust. “Thou hidest thy face, they are troubled; Thou {1} takest away their breath, they die, And return to their dust. {1) Or gatherest in}” (Psalms 104:29 ASV) “and the dust returneth to the earth as it was, and the spirit returneth unto God who gave it.” (Ecclesiastes 12:7 ASV) Let us take Paul’s words into our hearth: “We speak wisdom, however, among them that are fullgrown: yet a wisdom not of this {1} world, nor of the rulers of this {1} world, who are coming to nought: {1) Or age; and so in verses 7, 8; but not in verse 12}” (1 Corinthians 2:6 ASV)
Job will pass the supreme test of all true godliness, namely, to live by the wisdom God had given him, having the fear of the Most High Jehovah God and to depart from evil (Job 28:28), and acknowledging the limits of human wisdom. Are we prepared to be satisfied with the brain we got and with what it can cope?Elihu repeatedly stated that the purpose of God’s speaking to a person in the way he described is to keep “his soul from the pit” (also Job 33:18, 22, 24, 28, 30). Thus he implies that Job’s suffering may be a corrective of his overall path rather than simply punishment for some hidden sin. Though God does not five a warning finger to Elihu we can find God answer in the rest of the Bible. God response to Job will include some vocabulary and references that are similar to portions of Elihu Barachel (meaning either “may God bless” or “God has blessed”) his speeches, but He does not commend either Elihu’s suggested reasons for Job’s suffering or his anger against Job.
The Holy Spirit = Power of GodElihu had played on the words “spirit” and “breath” in his early speeches (see also Job 33:4; 34:14) in the way most likely to evoke Job’s earlier plea (Job 27:2–3) as he asserted his own right to speak. But he rightly let us know that God is the Spirit, and it is His breath, the live in Him that brings us His Words. It is this breath or Holy “Spirit” which is the “power” that can enlighten us.
“For he (God) needeth not further to consider a man, That he should go before God in judgment.” (Job 34:23 ASV) So God Almighty will not lay upon man more than right, that he should enter into judgement with God. Let us look at these words of the Lord of lords where He asks what evil or iniquity people have seen in Him that they have gone far from Him, and have walked after what is false, worthless idols, worthlessness, vanity, and are become vain or become themselves nothings?
“thus saith Jehovah, What unrighteousness have your fathers found in me, that they are gone far from me, and have walked after vanity, and are become vain?” (Jeremiah 2:5 ASV)***
Brenton Translation
1851 by Lancelot BrentonJob Chapters 38-41
Job 38:1 And after Elius had ceased from speaking, the Lord spoke to Job through the whirlwind and clouds, [saying],
Job 38:2 Who is this that hides counsel from me, and confines words in [his] heart, and thinks to conceal [them] from me?Job 38:3 Gird thy loins like a man; and I will ask thee, and do thou answer me.
Job 38:4 Where wast thou when I founded the earth? tell me now, if thou hast knowledge,
Job 38:5 who set the measures of it, if thou knowest? or who stretched a line upon it?
Job 38:6 On what are its rings fastened? and who is he that laid the corner-stone upon it?Job 38:7 When the stars were made, all my angels praised me with a loud voice.
Job 38:8 And I shut up the sea with gates, when it rushed out, coming forth out its mother’s womb.
Job 38:9 And I made a cloud its clothing, and swathed it in mist.
Job 38:10 And I set bounds to it, surrounding it with bars and gates.
Job 38:11 And I said to it, Hitherto shalt thou come, but thou shalt not go beyond, but thy waves shall be confined within thee.
Job 38:12 Or did I order the morning light in thy time; and [did] the morning star [then first] see his appointed place;
Job 38:13 to lay hold of the extremities of the earth, to cast out the ungodly out of it?Job 38:14 Or didst thou take clay of the ground, and form a living creature, and set it with the power of speech upon the earth?
Job 38:15 And hast thou removed light from the ungodly, and crushed the arm of the proud?
Job 38:16 Or hast thou gone to the source of the sea, and walked in the tracks of the deep?
Job 38:17 And do the gates of death open to thee for fear; and did the porters of hell quake when they saw thee?
Job 38:18 And hast thou been instructed in the breadth of the [whole earth] under heaven? tell me now, what is the extent of it?
Job 38:19 And in what kind of a land does the light dwell? and of what kind is the place of darkness?
Job 38:20 If thou couldest bring me to their [utmost] boundaries, and if also thou knowest their paths;
Job 38:21 I know then that thou wert born at that time, and the number of thy years is great.Job 38:22 But hast thou gone to the treasures of snow? and hast thou seen the treasures of hail?
Job 38:23 And is there a store [of them], for thee against the time of [thine] enemies, for the day of wars and battle?
Job 38:24 And whence proceeds the frost? or [whence] is the south wind dispersed over the [whole world] under heaven?Job 38:25 And who prepared a course for the violent rain, and a way for the thunders;
Job 38:26 to rain upon the land where [there is] no man, the wilderness, where there is not a man in it; so as to feed the untrodden and uninhabited [land],
Job 38:27 and cause it to send forth a crop of green herbs?
Job 38:28 Who is the rain’s father? and who has generated the drops of dew?Job 38:29 And out of whose womb comes the ice? and who has produced the frost in the sky,
Job 38:30 which descends like flowing water? who has terrified the face of the ungodly?Job 38:31 And dost thou understand the band of Pleias, and hast thou opened the barrier of Orion?
Job 38:32 Or wilt thou reveal Mazuroth in his season, and the evening star with his rays? Wilt thou guide them?Job 38:33 And knowest thou the changes of heaven, or the events which take place together under heaven?
Job 38:34 And wilt thou call a cloud with thy voice, and will it obey thee with a violent shower of much rain?
Job 38:35 And wilt thou send lightnings, and they shall go? and shall they say to thee, What is [thy pleasure]?Job 38:36 And who has given to women skill in weaving, or knowledge of embroidery?
Job 38:37 And who is he that numbers the clouds in wisdom, and has bowed the heaven [down] to the earth?
Job 38:38 For it is spread out as dusty earth, and I have cemented it as one hewn stone to another.Job 38:39 And wilt thou hunt a prey for the lions? and satisfy the desires of the serpents?
Job 38:40 For they fear in their lairs, and lying in wait couch in the woods.
Job 38:41 And who has prepared food for the raven? for its young ones wander and cry to the Lord, in search of food.+
Job 39:1 [Say] if thou knowest the time of the bringing forth of the wild goats of the rock, and [if] thou hast marked the calving of the hinds:
Job 39:2 and [if] thou has hast numbered the full months of their being with young, and [if] thou hast relieved their pangs:
Job 39:3 and hast reared their young without fear; and wilt thou loosen their pangs?
Job 39:4 Their young will break forth; they will be multiplied with offspring: [their young] will go forth, and will not return to them.Job 39:5 And who is he that sent forth the wild ass free? and who loosed his bands?
Job 39:6 whereas I made his habitation the wilderness, and the salt land his coverts.Job 39:7 He laughs to scorn the multitude of the city, and hears not the chiding of the tax-gatherer.
Job 39:8 He will survey the mountains [as] his pasture, and he seeks after every green thing.Job 39:9 And will the unicorn be willing to serve thee, or to lie down at thy manger?
Job 39:10 And wilt thou bind his yoke with thongs, or will he plough furrows for thee in the plain?
Job 39:11 And dost thou trust him, because his strength is great? and wilt thou commit thy works to him?
Job 39:12 And wilt thou believe that he will return to thee thy seed, and bring [it] in [to] thy threshing-floor?Job 39:13 The peacock has a beautiful wing: if the stork and the ostrich conceive, [it is worthy of notice],
Job 39:14 for [the ostrich] will leave her eggs in the ground, and warm them on the dust,
Job 39:15 and has forgotten that the foot will scatter them, and the wild beasts of the field trample them.
Job 39:16 She has hardened [herself] against her young ones, as though [she bereaved] not herself: she labours in vain without fear.
Job 39:17 For God has withholden wisdom from her, and not given her a portion in understanding.
Job 39:18 In her season she will lift herself on high; she will scorn the horse and his rider.Job 39:19 Hast thou invested the horse with strength, and clothed his neck with terror?
Job 39:20 And hast thou clad him in perfect armour, and made his breast glorious with courage?
Job 39:21 He paws exulting in the plain, and goes forth in strength into the plain.
Job 39:22 He laughs to scorn a king as he meets him, and will by no means turn back from the sword.
Job 39:23 The bow and sword resound against him; and [his] rage will swallow up the ground:
Job 39:24 and he will not believe until the trumpet sounds.
Job 39:25 And when the trumpet sounds, he says, Aha! and afar off he smells the war with prancing and neighing.Job 39:26 And does the hawk remain steady by thy wisdom, having spread out her wings unmoved, looking toward the region of the south?
Job 39:27 And does the eagle rise at thy command, and the vulture remain sitting over his nest,
Job 39:28 on a crag of a rock, and in a secret [place]?
Job 39:29 Thence he seeks food, his eyes observe from far.
Job 39:30 And his young ones roll themselves in blood, and wherever the carcasses may be, immediately they are found.+
Job 40:1 (39:31) And the Lord God answered Job, and said,
Job 40:2 (39:32) Will [any one] pervert judgment with the Mighty One? and he that reproves God, let him return it for answer.Job 40:3 (39:33) And Job answered and said to the Lord,
Job 40:4 (39:34) Why do I yet plead? being rebuked even while reproving the Lord: hearing such things, whereas I am nothing: and what shall I answer to these [arguments]? I will lay my hand upon my mouth.
Job 40:5 (39:35) I have spoken once; but I will not do so a second time.Job 40:6 (40:1) And the Lord yet again answered and spoke to Job out of the cloud, [saying],
Job 40:7 (40:2) Nay, gird up now thy loins like a man; and I will ask thee, and do thou answer me.
Job 40:8 (40:3) Do not set aside my judgment: and dost thou think that I have dealt with thee in any other way, than that thou mightest appear to be righteous?Job 40:9 (40:4) Hast thou an arm like the Lord’s? or dost thou thunder with a voice like his?
Job 40:10 (40:5) Assume now a lofty bearing and power; and clothe thyself with glory and honour.
Job 40:11 (40:6) And send forth messengers with wrath; and lay low every haughty one.
Job 40:12 (40:7) Bring down also the proud man; and consume at once the ungodly.
Job 40:13 (40:8) And hide them together in the earth; and fill their faces with shame.
Job 40:14 (40:9) [Then] will I confess that thy right hand can save [thee].Job 40:15 (40:10) But now look at the wild beasts with thee; they eat grass like oxen.
Job 40:16 (40:11) Behold now, his strength is in his loins, and his force is in the navel of his belly.
Job 40:17 (40:12) He sets up his tail like a cypress; and his nerves are wrapped together.
Job 40:18 (40:13) His sides are sides of brass; and his backbone is [as] cast iron.Job 40:19 (40:14) This is the chief of the creation of the Lord; made to be played with by his angels.
Job 40:20 (40:15) And when he has gone up to a steep mountain, he causes joy to the quadrupeds in the deep.Job 40:21 (40:16) He lies under trees of every kind, by the papyrus, and reed, and bulrush.
Job 40:22 (40:17) And the great trees make a shadow over him with their branches, and [so do] the bushes of the field.
Job 40:23 (40:18) If there should be a flood, he will not perceive it; he trust that Jordan will rush up into his mouth.
Job 40:24 (40:19) [Yet one] shall take him in his sight; [one] shall catch [him] with a cord, and pierce his nose.+
Job 41:1 (40:20) But wilt thou catch the serpent with a hook, and put a halter about his nose?
Job 41:2 (40:21) Or wilt thou fasten a ring in his nostril, and bore his lip with a clasp?
Job 41:3 (40:22) Will he address thee with a petition? softly, with the voice of a suppliant?
Job 41:4 (40:23) And will he make a covenant with thee? and wilt thou take him for a perpetual servant?
Job 41:5 (40:24) And wilt thou play with him as with a bird? or bind him as a sparrow for a child?
Job 41:6 (40:25) And do the nations feed upon him, and the nations of the Phoenicians share him?Job 41:7 (40:26) And all the ships come together would not be able to bear the mere skin of his tail; neither [shall they carry] his head in fishing-vessels.
Job 41:8 (40:27) But thou shalt lay thy hand upon him [once], remembering the war that is waged by his mouth; and let it not be done any more.Job 41:9 (41:0) Hast thou not seen him? and hast thou not wondered at the things said [of him]?
Job 41:10 (41:1) Dost thou not fear because preparation has been made by me? for who is there that resists me?Job 41:11 (41:2) Or who will resist me, and abide, since the whole [world] under heaven is mine?
Job 41:12 (41:3) I will not be silent because of him: though because of his power [one] shall pity his antagonist.
Job 41:13 (41:4) Who will open the face of his garment? and who can enter within the fold of his breastplate?
Job 41:14 (41:5) Who will open the doors of his face? terror is round about his teeth.
Job 41:15 (41:6) His inwards are as brazen plates, and the texture of his [skin] as a smyrite stone.
Job 41:16 (41:7) One [part] cleaves fast to another, and the air cannot come between them.
Job 41:17 (41:8) They will remain united each to the other: they are closely joined, and cannot be separated.Job 41:18 (41:9) At his sneezing a light shines, and his eyes are [as] the appearance of the morning star.
Job 41:19 (41:10) Out of his mouth proceed as it were burning lamps, and as it were hearths of fire are cast abroad.
Job 41:20 (41:11) Out of his nostrils proceeds smoke of a furnace burning with fire of coals.
Job 41:21 (41:12) His breath is [as] live coals, and a flame goes out of his mouth.
Job 41:22 (41:13) And power is lodged in his neck, before him destruction runs.
Job 41:23 (41:14) The flesh also of his body is joined together: [if one] pours [violence] upon him, he shall not be moved.
Job 41:24 (41:15) His heart is firm as a stone, and it stands like an unyielding anvil.
Job 41:25 (41:16) And when he turns, [he is] a terror to the four-footed wild beasts which leap upon the earth.Job 41:26 (41:17) If spears should come against him, [men] will effect nothing, [either with] the spear or the breast-plate.
Job 41:27 (41:18) For he considers iron as chaff, and brass as rotten wood.
Job 41:28 (41:19) The bow of brass shall not would him, he deems a slinger as grass.
Job 41:29 (41:20) Mauls are counted as stubble; and he laughs to scorn the waving of the firebrand.
Job 41:30 (41:21) His lair is [formed of] sharp points; and all the gold of the sea under him is an immense [quantity of] clay.Job 41:31 (41:22) He makes the deep boil like a brazen caldron; and he regards the sea as a pot of ointment,
Job 41:32 (41:23) and the lowest part of the deep as a captive: he reckons the deep as [his] range.Job 41:33 (41:24) There is nothing upon the earth like to him, formed to be sported with by my angels.
Job 41:34 (41:25) He beholds every high thing: and he is king of all that are in the waters.+
Job 42:1 Then Job answered and said to the Lord,
Job 42:2 I know that thou canst do all things, and nothing is impossible with thee.
Job 42:3 For who is he that hides counsel from thee? or who keeps back his words, and thinks to hide them from thee? and who will tell me what I knew not, great and wonderful things which I understood not?
Job 42:4 But hear me, O Lord, that I also may speak: and I will ask thee, and do thou teach me.
Job 42:5 I have heard the report of thee by the ear before; but now mine eye has seen thee.
Job 42:6 Wherefore I have counted myself vile, and have fainted: and I esteem myself dust and ashes.Job 42:7 And it came to pass after the Lord had spoken all these words to Job, [that] the Lord said to Eliphaz the Thaemanite, Thou hast sinned, and thy two friends: for ye have not said anything true before me, as my servant Job [has].
Job 42:8 Now then take seven bullocks, and seven rams, and go to my servant Job, and he shall offer a burnt-offering for you. And my servant Job shall pray for you, for I will only accept him: for but his sake, I would have destroyed you, for ye have not spoken the truth against my servant Job.
Job 42:9 So Eliphaz the Thaemanite, and Baldad the Sauchite, and Sophar the Minaean, went and did as the Lord commanded them: and he pardoned their sin for the sake of Job.Job 42:10 And the Lord prospered Job: and when he prayed also for his friends, he forgave them [their] sin: and the Lord gave Job twice as much, even the double of what he had before.
Job 42:11 And all his brethren and his sisters heard all that had happened to him, and they came to him, and [so did] all that had known him from the first: and they ate and drank with him, and comforted him, and wondered at all that the Lord had brought upon him: and each one gave him a lamb, and four drachms’ weight of gold, even of unstamped [gold].Job 42:12 And the Lord blessed the latter end of Job, [more] than the beginning: and his cattle were fourteen thousand sheep, six thousand camels, a thousand yoke of oxen, a thousand she-asses of the pastures.
Job 42:13 And there were born to him seven sons and three daughters.
Job 42:14 And he called the first Day, and the second Casia, and the third Amalthaea’s horn.
Job 42:15 And there were not found in comparison with the daughters of Job, fairer [women] than they in all the world: and their father gave them an inheritance among their brethren.Job 42:16 And Job lived after [his] affliction a hundred and seventy years: and all the years he lived were two hundred and forty: and Job saw his sons and his sons’ sons, the fourth generation.
Job 42:17 And Job died, an old man and full of days: (42:17A) and it is written that he will rise again with those whom the Lord raises up. (42:17B) This man is described in the Syriac book [as] living in the land of Ausis, on the borders of Idumea and Arabia: and his name before was Jobab; (42:17C) and having taken an Arabian wife, he begot a son whose name was Ennon. And he himself was the son of his father Zare, one of the sons of Esau, and of his mother Bosorrha, so that he was the fifth from Abraam. (42:17D) And these were the kings who reigned in Edom, which country he also ruled over: first, Balac, the son of Beor, and the name of his city was Dennaba: but after Balac, Jobab, who is called Job, and after him Asom, who was governor out of the country of Thaeman: and after him Adad, the son of Barad, who destroyed Madiam in the plain of Moab; and the name of his city was Gethaim. (42:17E) And [his] friends who came to him were Eliphaz, of the children of Esau, king of the Thaemanites, Baldad sovereign of the Sauchaeans, Sophar king of the Minaeans.+
Continues: Fragments from the Book of Job #7 Epilogue
+++
“For He will not lay upon man more than right, that he should enter into judgment with God.” (Job 34:23 KJ21)
+++
Note:
The Holy Spirit is the Author of Scripture; therefore the Word of God is inseparable from the Spirit of God. God is Spirit and the Holy spirit is not on other entity, it is the Power of God itself. The Scriptures introduce the reader to the Holy Spirit and the Spirit applies the truths of the Word to the hearts of the reader. Scripture must be interpreted in the immediate context of personal prayer. The Bible promises over and over that when we seek God, he will be found. The same is true if we seek his power. The “knowledge of God” is an essential feature of Christian attainment, according to the apostolic standard. Those “who know not God” are among those whom vengeance is to overtake (2 Thessalonians 1: 8). Knowledge of God is the basis of sonship to God. Without it, we cannot enter the divine family. How can we love and serve a being whom we do not know? Knowledge is the foundation of all. It is the rock upon which everlasting life itself is built. “This is life eternal, that they might know Thee, The Only True God, and Jesus Christ, whom Thou hast sent” (John 27: 3).
Prayer is the medium that brings individuals into contact with the same Spirit who inspired the writers of the Bible. To hear what the Spirit of the Only One God is saying through the Word you must encounter God through prayer. Prayer is the means that we must use to understand the Word of God. Without the assistance of the Holy Spirit in prayer, our Bible study will be in vain. Let us ask for the Spirit to speak to us through the Word.
+++
2015 update = related articles added:Related articles
- The Book of Job and the Problem of Evil
- The Message of Forgiveness: Please! Please Let Go of Anger and Justice and Give
- Helping Those Who Hurt Intensely
- Carl Jung: “Man then counts for more in the unconscious than he does consciously.”
- Soul Food Sunday – Job, the man who was blessed through suffering
- The Glory that Gives Hope
- Rowan Williams responds to Stephen Fry
- Newcastle Phil and Lit: Technology and Heidegger
- Was Elihu Right? – Martin Shields.
- Three awesome ways to spend Sunday
Rate this:
#Accuser #Adversary #AdversaryOfGod #Age #Almighty #Animal #AnswerFromGod #Authority #Bible #Bildad #BookOfJob #BooksOfTheBible #Breath #Counsel #Courage #Covenant #Creation #Creator #CreatorDeity #DayOfJehovah #Death #Ecclesiastes127 #Ecclesiastes31920 #Elihu #Eliphaz #Elohim #Evil #Evildoers #Failure #Faith #Forgiving #FriendsOfJob #God #GodSpeaking #GodSCharacter #Godliness #GodsKnowledge #GodsWord #GoodPeople #HolySpirit #Human #Iniquity #Isaiah3818 #JehovahDerAllmächtigeGott #Jeremiah25 #Job #Job151416 #Job152035 #Job271523 #Job2723 #Job28 #Job2828 #Job31 #Job3128 #Job321820 #Job33 #Job3312 #Job3314 #Job331430 #Job3318 #Job3322 #Job3324 #Job332528 #Job3328 #Job3330 #Job334 #Job336 #Job339 #Job34 #Job341028 #Job341037 #Job3414 #Job3423 #Job342930 #Job343 #Job343637 #Job3459 #Job35 #Job3514 #Job3516 #Job3558 #Job38 #Job39 #Job40 #Job41 #Job42 #Job4216 #Job421011 #Job421215 #Job421617 #Job4279 #Judgement #KnowingGod #Knowledge #Listening #LivingCreature #LordOfLords #Nature #OldTestament #Oppressed #Oppressor #Patience #Prayer #Psalm1644 #Psalms10429 #Religiosity #Resurrection #rise #Romans920 #Satan #Seasons #SilenceOfGod #Sin #Spirit #SpiritOfHuman #Suffering #temporarilySituation #Terror #Time #Understanding #Ungodliness #Wealth #Weather #Wickedness #Wisdom #Zophar
-
Mid-Year Writing Round-Up: Progress and Projects
It’s June, the sixth month of the year, and 2026 is half over already. Now we’re halfway, I thought I’d do a post that looks at my writing journey for the last six months! I’ll be doing a June Writing Round-up as well just for this month, as well as my usual Media Round-up.
Post Contents
Writing-Adjacent Mid-Year Achievements
These are the things I count as achievements, which aren’t publishing or writing related, but are definitely adjacent! I often find that I just don’t put my work out there, or I don’t put myself out there. I’m quite pleased with myself for doing some things this year so far.
- Entered Yelen & Yelena into the Rubery Book Awards 2026.
- Accepted for the WriteHive Conference – running the Writing Queernormative Worlds Workshop.
- Sent Thirteenth to the British Fantasy Society for a review (no guarantees).
Publishing Round-Up
- Best Friends Bury Bodies (Jan 2026) – wide release.
- Birds of a Feather (Jan 2026) – wider release. Originally a Ko-Fi exclusive.
- Overexposure (Mar 2026) – sold to The Weird Library, produced for Women In Horror Month.
- “There’s Something Wrong With Sylvia’s Mother” (written in Jan 2026) – short story sold (English-language print rights only) to Dead Fox Publishing (royalties only) in June 2026, for their untitled undead-themed anthology coming 2027.
Writing Round-Up: The Big Fiction
To get previews of these, and to get other monthly fiction, join my Ko-Fi.
- FEED started the year at 57K words. I wanted this to be my main WIP this month, but then I got really into the Contemporary stuff, and sucked back into the characters for the AU. This is a tricky one to get right, and I’m not happy with the shape of this draft yet.
- Genre: Horror-Fantasy
- Series: Pagham-on-Sea Book 4
- Current status: ~active~
- Current word count: 63K words
- THE BUTTERFLY BRIDE is a Dark Fantasy novella I started and completed this year, as I want to submit it to Neon Hemlock’s open call for novellas in October. It is complete at 34.7K words. I wasn’t sure what I wanted to do with it, so if it’s rejected, I might use it to query agents or something instead. In case I wanted to do that, I have already written:
- 1 query letter – aimed at agents
- 1 cover letter – aimed at small presses
- 1 page synopsis – written for querying
- 4 page full synopsis – written for querying
- THREE FOR A GIRL started the year at 14.2K of experimental writing but 0 words of a draft. I started writing this not long after Birds of a Feather (2022), but the experimental sections I have are all patchy and scrappy. I decided to use a couple of scenes from the experiments, but mostly started from scratch. This is the book where I introduce AU Katy.
- Genre: Contemporary Suspense
- Series: AU Carrie & Ricky Book 2
- Current status: ~active~
- Current word count: 25K words
- THE RELUCTANT HUSBAND (Audio Drama) – The original ~18K word prose text is currently an 11K word script with 7 characters, but can be played by 2 actors (a male voice for 4 characters, and a female voice for 3 characters). I’m enjoying the process. It has 13 scenes so far, and is nearly complete.
- UNTITLED VICTORIAN WIP was a new thing I played about with after re-reading/re-listening to Arthur Machen’s novel, The Three Imposters, and Algernon Blackwood’s The Willows and John Silence stories. It’s not something I think I’ll complete this year (or at all, maybe) but it’s a fun idea and I might cannibalise it for something else.
- Genre: Historical Paranormal
- Series: Standalone
- Current status: ~experimental~
- Current word count: 2.1K
Writing Round-Up: The Ko-Fi Fiction
- January 2026 Letter – Yule update from Carrie & local folklore
January Giveaway Draw – Eldritch Family only
BIRDS OF A FEATHER signed paperback winner announced.- January 2026 Reward – Members of the Eldritch Seeker and Eldritch Family tiers can download the new release, BEST FRIENDS BURY BODIES, for free with their memberships. RRP £4.99.
- February 2026 Letter – Carrie updates on family arguments, and a little history project on The Mermaid pub.
February Giveaway Draw – Eldritch Family only
BEST FRIENDS BURY BODIES signed paperback winner announced.- March 2026 Reward – Draft of Chapter 1 of FEED (Pagham-on-Sea Book 4).
March Giveaway Draw – Eldritch Family only
THE SUSSEX FRETSAW MASSACRE & OTHER STORIES signed paperback winner announced.- April 2026 Reward – Draft of Chapter 2 of FEED (Pagham-on-Sea Book 4).
- May 2026 Reward – 5K of experimental writing of Carrie & Ricky in the non-supernatural AU of Birds of a Feather. Ricky buys a ring.
- June 2026 Reward – 950 word short Urban Gothic piece entitled, “On The Street Where You Live”. Not Pagham-on-Sea set, but it feels like the same universe…
Divination Hollow Reviews & Listicles Published
- LISTICLE: Holiday Horror: Dec 2025
- LISTICLE: 10 International Gothic Films Part 1: Jan 2026
- LISTICLE: 10 International Gothic Films Part 2: Jan 2026
- LISTICLE: Welsh Horror to Watch Out For in 2026: Mar 2026
- REVIEW: What the Fog Conceals by R.A. Marno: Dec 2025
- REVIEW: Linghun by Ai Jiang: Jan 2026
- REVIEW: The Lodgers (2017): Jan 2026
- REVIEW: Once Upon A Song by Nadine Bells: Mar 2026
- REVIEW: The Dreaming of Man by Nikoline Kaiser: Apr 2026
- SPECIAL FEATURE: Women In Horror Month (a list of WiH features on this website, not including ones added as the month went on!): Mar 2026
- SPECIAL FEATURE: Classic Short Horror Stories by Women (a cross-post with Part 1 of my classic short horror stories found here, in March): Apr 2026
Website Articles
Here are the articles I’ve written in the last six months (excluding updates, ads for bundles and published works, interviews, round-ups, and Author Spotlights).
https://cmrosens.com/2026/01/01/2026-looking-forwards/
https://cmrosens.com/2026/01/04/happy-birthday-to-me-the-crows-1st-edn/
https://cmrosens.com/2026/01/12/5-books-i-will-think-about-until-i-die/
https://cmrosens.com/2026/02/09/west-country-tales/
https://cmrosens.com/2026/02/13/crime-doesnt-pay-when-the-hideout-mark-goes-bad-horror/
https://cmrosens.com/2026/02/17/happy-lunar-new-year/
https://cmrosens.com/2026/02/23/essay-darklands-1996-and-the-question-of-welsh-national-identity/
https://cmrosens.com/2026/03/16/classic-short-horror-stories-by-women/
https://cmrosens.com/2026/03/30/classic-short-horror-stories-by-women-part-2/
Website Stats
Views To Date: 20K
Top 10 Most Read Articles
Visitors To Date: 15.6K
Word Count: 102.1Khttps://cmrosens.com/2024/03/21/rapunzel-in-cinema-1897-2024/
https://cmrosens.com/2024/02/20/red-riding-hood-in-films-1901-2024/
https://cmrosens.com/2020/03/23/werewolf-films-1910-1950/
https://cmrosens.com/2024/02/08/sleeping-beauty-in-cinema-1903-2023/
https://cmrosens.com/2025/12/12/letterboxd-wrapped-2025/
https://cmrosens.com/2019/12/19/welsh-gothic-tropes-iv-the-cwn-annwn/
https://cmrosens.com/2019/12/23/welsh-gothic-tropes-v-the-sin-eater/
https://cmrosens.com/2024/01/19/bluebeard-in-cinema-1901-2023/
Top 10 Most Read Author Spotlightshttps://cmrosens.com/2025/06/20/author-spotlight-a-j-barlowe/
https://cmrosens.com/2025/04/11/author-spotlight-arden-powell/
https://cmrosens.com/2025/06/06/author-spotlight-miranda-kate-mk-boers/
https://cmrosens.com/2025/09/17/author-spotlight-morgan-dante/
https://cmrosens.com/2025/09/03/author-spotlight-ian-haramaki/
https://cmrosens.com/2025/08/06/author-spotlight-ruby-dare/
https://cmrosens.com/2026/02/11/author-spotlight-pd-alleva/
https://cmrosens.com/2026/01/21/author-spotlight-eskay/
https://cmrosens.com/2025/07/18/author-spotlight-sandra-bond/
https://cmrosens.com/2026/02/18/author-spotlight-tasha-he/
Top 10 Most Read Podcast Transcriptshttps://cmrosens.com/2025/03/31/caitlin-starling/
https://cmrosens.com/2021/10/11/author-interview-transcript-s-t-saint-gibson/
https://cmrosens.com/2023/04/24/interview-with-lucy-rose-gothic-filmmaking/
https://cmrosens.com/2022/02/07/author-interview-with-ally-wilkes/
https://cmrosens.com/2025/05/05/author-jamison-shea-on-monsters-monster-lovers-and-monstrous-media/
https://cmrosens.com/2023/05/08/interview-with-suzan-palumbo-skin-thief-coming-oct-2023/
Top 10 Most Read Women In Horror Featureshttps://cmrosens.com/women-in-horror-month/sandra-bond/
https://cmrosens.com/women-in-horror-month/abby-vail/
https://cmrosens.com/women-in-horror-month/madeleine-swann/
https://cmrosens.com/women-in-horror-month/c-m-rosens/
https://cmrosens.com/women-in-horror-month/victoria-dalpe/
https://cmrosens.com/women-in-horror-month/emily-ruth-verona/
https://cmrosens.com/women-in-horror-month/leanna-renee-hieber/
https://cmrosens.com/women-in-horror-month/tabitha-potts/
https://cmrosens.com/women-in-horror-month/paula-cappa/
https://cmrosens.com/women-in-horror-month/lcw-allingham/
Subscribe to my newsletter to stay updated! I send newsletters around once a month. You can also subscribe to my site so you don't miss a post, but I also do a post round-up in my monthly newsletters, along with what I've been working on, what I've been reading, and what I've been watching. I will often update newsletter subscribers first with news, so stay ahead of the game with my announcements and discount codes, etc! #writing #writingUpdate -
The Mound’s Electric Blanket: the thread about keeping buses (and rugby) running during “winter’s fierce onslaught”
Once again we somehow find that it is December in Edinburgh, temperatures are forecast to drop below freezing within the week and it is only be a matter of time before Edinburgh Live treats us to doom-laden predictions of the “exact time” we will be hit by “Arctic blasts” and “snow bombs“. Relatively speaking our city isn’t actually a particularly cold one and it is even less a snowy one, but when the temperatures do drop the steep gradients of its north-facing streets can prove treacherous if the council hasn’t been out with its gritters. Seventy-odd years ago, the authorities faced a particular headache from one such street: with few surrounding buildings and a deliberately adverse camber, factors conspired to make The Mound an accident black-spot, one so prone to icing that it was the most intensely gritted road in the city.
The Mound and National Galleries, George Washington Wilson photograph of 1880. Edinburgh and Scottish Collection, Edinburgh City Libraries.The Mound is one of the most dangerous street surfaces in winter for the motorist.
William Scott, chairman of the Edinburgh Accident Prevention Council, 1958The Mound posed a particular risk to buses. Three people were injured in April 1940 when a single decker Corporation bus skidded in wet weather and hit one of the bollards on the outside of the bend. In October 1945 a double-decker had an even more dramatic accident; losing grip in the wet it skidded across the road and flopped over onto its side: a plummet down the precipitous embankment and onto the railway below being arrested only by the slender cast iron railings. Although 29 people were injured, the railings held and a real catastrophe was avoided. They held again in the winter of 1951 when two more buses ended up being caught by them but it was time for the authorities to act. A particular problem was the adverse road camber, which had been deliberately engineered so that any horse carts which ran away downhill would be directed into the kerb and naturally brought to a halt. In an age of faster, heavier, motorised vehicles this meant that those travelling downhill were pushed outwards towards the kerb by the laws of physics and were more prone to skidding.
The aftermath of a bus crash on the corner of The Mound on October 10th 1945, the number 9 from Greenbank to Blackhall has ended up on its side, propped up by the cast iron railings and hanging precipitously over the embankment and down onto the railway lines far below. Evening News photograph.The Corporation spent £2,500 altering the camber on the corner, lowering the roadway on the inside of the curve, a change which explains why the pavement here now has two courses of kerbstones and a double step down to road level. One part of the problem had been dealt with but the risk from cold weather remained and – with buses rapidly replacing tramcars as the city’s public transport of choice – was actually increasing. Tired of the effort and expense of gritting, the city sought a more permanent solution. Harold Wilson’s “White Heat of Technology” speech was still a few years away but it was the heat of technology that the Corporation sought to harness. Encouraged by experiments in carriageway heating conducted by the Ministry of Transport on the Chiswick fly-over in 1956 and with the newly-formed South of Scotland Electricity Board (SSEB) keen to support anything electrical, in December 1958 a proposal was made to install the UK’s first operational sub-surface road heating system on The Mound. Approval was forthcoming from the Corporation’s Works Committee for the installation of 372 mats formed of 47 miles of electrical wire and covering some 5,500 square yards of the road surface, buried one and a half inches beneath it and fed by 760 kilowatts of heating power from a dedicated sub-station, discreetly tucked into the embankment with West Princes Street Gardens.
Edinburgh in Snow, William Crozier’s famous 1928 oil painting looking down on West Princes Street garden from The Mound. National Galleries of Scotland collectionThe heating was to be sufficient to raise the ground temperature to 35°F (1.7°C) when the ambient temperature was as low as 20°F (-6.7°C). Even before the scheme had come before the committee for approval the papers had taken to calling it an “electric blanket” and the name stuck – even though one Scotsman journalist pointed out that this was “a complete misnomer” and it was in fact “merely a simple grid of wires“.
Workmen inspect some of the panels that make up the “simple grid of wires” of The Blanket prior to installation. © Scotsman Publications Ltd. via Scran, 000-000-042-292-RThe contract for £4,556 plus a further £1,000 on the control equipment was awarded to Messrs George Wimpey Ltd. and included the removal of the now redundant tramway rails and relaying the surface with a special smooth tarmac that would not damage the wires embedded within it. The electrical equipment was sub-contracted to E. N. Bray Ltd. of Waltham Cross, Hertfordshire and was installed by William Allan, Smith & Co. of Edinburgh. This was a significant capital outlay in lean times, but it was hoped it would be offset by a £300 annual reduction in the gritting bill.
A crowd gathers to oversee the laying of the final road surface over The Blanket at the foot of The Mound in September 1959Work to lift the tramway and granite setts of the old road surface commenced in January 1959 with installation of The Blanket beginning on 22nd September. Progress was swift and the system was ready for commissioning by mid-December, a short ceremony being held on the 17th to mark the occasion. Bailie Bruce Russell, chairman of the Corporation’s Works Committee, threw an oversized, novelty switch on a temporary kiosk on The Mound to energise the substation, remarking that it demonstrated the Corporation were “pioneers in this field“.
Activating The Blanket, Bailie Bruce Russell suitably dressed for the cold weather.Those keen to see how (or if!) the expense might prove worthwhile did not have long to wait. A cold snap hit the city on 18th January 1960 and proved to be the coldest since the treacherous winter of 1947. Blizzards swept across the east of Scotland and The Scotsman reported “chaos and crashes on the roads” across the country with 150 people hospitalised as a result in Dundee alone. The Blanket was run for two consecutive days and kept the road surface clear to such an extent that the same paper declared it had “triumphantly defied the winter’s first fierce onslaught” and that while some buses were “floundering and skidding all over the place in Morningside, others sailed serenely and steadily down the Mound”.
January 1960, The Mound is clear after the blizzards allowing a pair of Corporation double decker buses to climb unmolested uphill. © Edinburgh City Archives, Street Lighting Collection SL/90/8. Photo Ref. AG Ingram B897/2Despite the obvious success of its first winter of operation, the £300 reduction in the city’s gritting overhead was more than cancelled out by the Blanket’s electricity bill of £1,018; more than twice what had been anticipated! The City Engineer, Mr W. P. Haldane, remained positive however and told the Works Committee that this would be reduced significantly in future by the commissioning of an automatic controller that would only switch the system on when both the temperature dropped below zero and humidity was sufficient to allow ice to form. This concept was later commercialised by the Penicuik-based firm of Findlay, Irvine Ltd. as the Icelert.
Evening News Cartoon by Donald Macdonald, two police officers in discussion. “What aboot a walk up the Mound tae get oor feet warm?”For the first three years of its life The Blanket actually remained the property of the SSEB, not being handed formally over to the city until they were fully satisfied. A ceremony was held on 8th October 1962 when the key to the substation door was handed over by Mr C. H. A. Collins of the Board to the chairman of the city’s Works Committee with a small speech that declared it to be a complete success, one that had “contributed greatly to road safety in Edinburgh”. It would now face its ultimate test – the “Big Freeze” of 1963. During one of the coldest winters on record, from mid-December all the way through to early March, the Blanket was run for a total of over four hundred hours and kept the road free of snow and ice throughout.
December 1962 on Melville Street, the city was already bitterly cold before the Big Freeze of ’63 took hold.Such was the interest generated in The Blanket that before shovels were even in the ground other institutions were already wondering if they too could benefit from some sort of subterranean heating. A few miles away at Murrayfield, the home of Scottish Rugby, the SRU realised that such a thing could be a real boon to them too and a significant improvement of their current frost-prevention method of covering the playing surface with tons of straw and erecting marquees heated by paraffin stoves over the pitch before winter games.
Murrayfield in the snow, with evidence of defrosting efforts afoot. Aerial photo taken some time between the 1930s and 1950s.Once again the SSEB was keen to propose an electric solution and in stepped a benevolent Glaswegian distiller – Charles A. Hepburn – who put up £10,000 to install the first under-soil heating at a British rugby stadium. Again the equipment was provided by E. N. Bray and 39 miles of electric wire were laid 6 inches beneath the turf late in 1959, sufficient to keep the 6,000 tons of grass and soil from freezing. The system took only a week to lay using a specially adapted tractor that cut a channel, laid the cable and then covered it back over with turf all in one action.
SSEB advert, October 1959, celebrating the growing use of electricity. Not only domestic heating for the new tower block housing, but the heating of The Mound and the pitch at Murrayfield are referenced.The running costs to the SRU of £100 a day were not cheap, but were less than the old methods and in the bitter 1963 season it more than proved its worth. There were twelve consecutive weeks when all rugby games in Scotland were cancelled – all except those at Murrayfield, where play continued uninterrupted. As a measure of how cold it had been, the frost was so severe that it caused £10,000 in damage to the concrete terracing of the stadium! The other national theatre of sport – Hampden Park – would not get a “blanket” until 1979.
Scotland v. Wales at Murrayfield, 1963, a game which was only playable on account of the Blanket. Unfortunately this was a game widely considered one of the worst ever international tests – after an incredible 111 deliberate line-outs by Wales, they ground out an excruciating 0-6 victory over their hosts.The success of Edinburgh’s Blankets compelled one Scotsman reader to pen a verse in their honour:
Now may the Lord be thankit
Poem submitted to the editor of The Scotsman by David Griffiths, published 9th January 1963
For my electric blanket:
We’re a’ as pleased as can be,
The Mound and Murrayfield,
AND ME.The installation at The Mound was expected to last twenty years but at the age of just fifteen there were already several sub-surface breakages which proved uneconomical to repair. The only realistic option for refurbishment was lifting and relaying the entire carriageway for which there was no political or economic appetite. With little ceremony therefore in April 1975 it was announced by the Corporation’s Highways and Road Safety Committee that the system was to be abandoned. Coincidentally, less than a month later, on May 16th, Corporation of The City and Royal Burgh of Edinburgh also found itself redundant, replaced by a two-tier system of local government. Roads and highways were now the responsibility of the new Lothian Regional Council who were now responsible for keeping The Mound free of snow and ice by old-fashioned gritting.
Thirty years after Lothian Regional Council itself was abolished, its grit bins still abound.Being laid under turf and with nothing heavier than the forwards of the First Fifteen pressing down upon it, the system at Murrayfield was less prone to breakage and easier to repair and it lasted in use until 1991 when increasing maintenance costs saw it replaced during the reconstruction of the stadium.
Note to readers: unfortunately in April 2026, a third-party plug-in more than exceeded its authority and broke many of the image links on this site. No images were lost but I will have to restore them page-by-page, which may take some time. In the meantime please bear with me while I go about rectifying this issue.
If you have found this site useful, informative or amusing then you can help contribute towards its running costs by supporting me on ko-fi. This includes my commitment to keeping it 100% advert and AI free for all time coming, and in helping to find further unusual stories to bring you by acquiring books and paying for research.
Or please do just share this post on social media or amongst friends and like-minded people, sites like this thrive on being shared.Explore Threadinburgh by map:
Travelers' Map is loading...
If you see this after your page is loaded completely, leafletJS files are missing.These threads © 2017-2026, Andy Arthur.
NO AI TRAINING: Any use of the contents of this website to “train” generative artificial intelligence (AI) technologies to generate text is expressly prohibited. The author reserves all rights to license uses of this work for generative AI training and development of machine learning language models.
#Lochend #Logan #Restalrig #StMargaret -
The Rule of the Strap: the thread about the peculiar corporal punishment of Scottish education
On April 2nd 1982, Lothian Region Council implemented a ban on corporal punishment in its schools, making it the first Scottish authority to do so. Some other regions were less enlightened however and would hold on to the practice until a UK-wide ban came into force in 1987. In Scotland, corporal punishment in schools almost universally meant hitting the upturned palms of children with an official instrument that is variously called the belt, the strap, the tawse or the Lochgelly. So what is this device, why and how did it evolve, how did it meet its end? (and, importantly for this sites locale of interest, what part did Edinburgh have to play?)
The maker’s stamp of a Lochgelly tawse. Photo © SelfTawis or tawes is a Scots word going back to the 16th century and was a plural for a leather belt or strap. This word in turn came from the Middle English tawe, for leather tanned so as to keep it supple. A strap or belt across the palms or buttocks was long the favoured instrument of corporal punishment in Scottish education. In the mid-19th century illustration below we see the schoolmaster (Dominie) flicking his leather strap towards the upturned palms of his fearful-looking victim; the boy behind is rubbing his already leathered hands to try and soothe them.
“The Dominie Functions”, George Harvey, mid-19th c. © The Stirling Smith Art Gallery & Museum via ArtUKIn 1848, George Mckarsie sued Archibald Dickson, schoolmaster of Auchtermuchty parish, for assaulting his son without provocation with a tawse “severely on the head, face and arms to the effusion of his blood and to the loss, injury and damage of the pursuer“. £200 in damages were sought and although the court found in the pursuer’s favour he was awarded only a shilling and had to pay all expenses of the defender! English education in contrast favoured birch rods or canes for classroom punishment and so where Scottish education was influenced by English practice (e.g. in Roman Catholic schools, or preparatory schools modelled after the English system) these devices could also be found in use in Scotland. They were also the form of judicial corporal punishment of minors in Scotland; the belt or strap was somewhat unique to the education setting.
A schoolmaster preparing to dispense classroom justice with his cane. 1870 engraving.In 1860 the master of a private boarding School in Eastbourne, Thomas Hopley, shocked the Victorian world when he beat a 15 year old pupil, Reginald Cancellor, to death with a skipping rope and walking stick as the boy “refused to learn“. Hopley administered the “severe corporal punishment” with the full permission of the boy’s father to try and force him to learn. Reginald had been written off as unteachable and an imbecile; he was quite probably suffering from hydrocephaly and undiagnosed learning difficulties. In the subsequent trial that was sensationalised by the press, Hopley was convicted of manslaughter and sentenced to four years in prison. In summing up however, Chief Justice Alexander Cockburn stated that parents or schoolmasters were legally authorised to administer “moderate and reasonable corporal punishment” for the purpose of “correcting what is evil in the child“. As a result, the death of Reginald Cancellor became a test case for defending the use of educational corporal punishment. It also also set the Victorian educational establishment thinking about how it could formalise and legitimise the practice, rather than leave it to the individual devices of potentially sociopathic teachers
Ne’er wield the tawse, when a gloom will dae the trick
Scottish proverb, from “The dominie : a profile of the Scottish headmaster ” by William F. HendrieNorth of the border, in 1872 the Education (Scotland) Act had made education mandatory for all between the ages of five and thirteen, putting it largely under the control of city, burgh and parish School Boards. These bodies could issue their own regulations on the use of corporal punishment and it was in the Fife town of Lochgelly where the ultimate instrument of Scottish school discipline would appear around the year 1884. Saddler Robert Philp made a pair of tawse to his own design for his son and daughter, pupil teachers1 at the East Public School in the parish. His creation was split into a pair of thongs at the “punishment end” and was both stiff enough to stand up straight but flexible enough to swoosh through the air and make a good contact with the target, ideally wrapping around the hand to cause maximum effect. He rounded off the edges of the leather and used no stitching in order that his instrument would leave no permanent scars.
A two-thonged Lochgelly-pattern Tawse. The punched hole was for hanging it on a wall (in full view of a class).It is hard to the modern mind to imagine, but this was genuinely felt by the establishment to be a more humane and progressive form of discipline than the rod or cane. But the tawse was no soft option; Albert Morris wrote in the Scotsman that it “stung like a serpent and bit like an adder“, literary historian David Daiches saying “I was astonished at the amount of real pain inflicted and the length of time it lasted“.
- Pupil Teachers were part of the Madras system of Education widely in use in Scotland at the time; older (teenage) students would stay on at school beyond 13 to assist the schoolmaster in educating their very large classes of mixed ages. They were allowed to inflict corporal punishment on their charges. ↩︎
When other teachers saw the custom tawse used by Catherine and David Philp, they soon wanted their own, and their father started taking orders. The leather for the Tawse came from Edinburgh, it was specially “dry tanned” to prevent cracking but remain both stiff and flexible. And so it was that 102 Main Street in Lochgelly became the birthplace of a profitable and unlikely Fife industry in the manufacture of devices with which to hurt children.
102 Main Street, LochgellyRobert’s son, Robert W., was apprenticed to his father and the firm became Robert Philp & Son. The latter would continue the business when his father died in 1926. There were imitators such as Brownlee of Bathgate or Campbell of Renfrewshire, but the Philp’s had much of the market and Lochgelly became a common name for all education tawse in Scotland. When Robert W. Philp died, the business was bought over by its senior journeyman leatherworker, James Heggie, who continued to trade under the established name. He kept a stock of 300 in the shop in Lochgelly of single, double and triple-thonged types in a variety of weights and lengths, suitable for both male and female teachers and for belting children of all ages with progressively stronger effects with age.
Tawse stamped with the mark of R. Philp & Son, Makers, Lochgelly.When Heggie retired in 1948 he sold the business to an established local saddlery and ironmongery firm, G. W. Dick & Son, who had been producing their own Lochgellies since 1942. George W. Dick (who was married to a cousin of Jimmy Shand) concentrated the tawse business at his shop at 150 Main Street, Lochgelly. His son, John J. Dick, in turn bought him out when he retired in 1950. The “miniature school straps” listed at the bottom of the page are something one of the Dicks had produced for a child as a toy for playing schools and which had caught on. Teachers bought them for their children as a plaything; one imagines they were meant to beat their teddies. They were also popular retirement trinkets for teachers, something to remember the good old days.
John J. Dick price list for Tawse from 1971By this time, Lochgelly was reckoned to account for probably 70% of all tawse production in Scotland. An exception to its dominance was in Glasgow, where the school authorities were particularly strict around its use and mandated the locally made, triple-thong Black Straps of lighter weight, thinner, black leather (which is softer than that used by the Lochgelly). Many teachers used the genuine item regardless of these regulations.
J. G. Stevenson manufacturer’s stamp on a Glasgow “black strap”.But regardless of where the strap was made or if it was black or brown, the tawse was “the dominie’s rod of office“, indeed the ubiquity of its use may well be the origin of the phrase “getting leathered“. The education system believed firmness of discipline equated to the quality of teaching. Wherever the Scottish education system influenced those of the colonies and dominions, orders would be sent back to Lochgelly for its tool of classroom discipline. The tawsemakers took out adverts in teaching journals and sent their salesmen to the education colleges to take orders. James Heggie would get orders of 20 or more at a time whenever a new school opened. Junior teachers were encouraged by their seniors to give children the belt as soon as they could so that the class knew they meant business and to earn the respect of both children and parents. Some new teachers didn’t want to be marked out as a rookie with a shiny new tawse and so wrote into the wanted section of the newspapers asking to buy a visibly well worn second hand one, as did R. McKinnon to the Sunday Post in September 1965
In use the tawse was held over the shoulder and rapidly flicked forwards. Teachers were encouraged to practice on a piece of chalk on the desk – a successful strike got a puff of white dust. This became a trick of many experienced hands to try and scare children into compliance. But while judicial corporal punishment was abolished in 1948 with the authorities recognising it just didn’t work as a deterrent, the educational establishment hung on doggedly to their legal right to apply it to children right down to the age of 4 as they saw fit. As a result, business remained good in Lochgelly, indeed in 1974 John J. Dick moved his premises to Cowdenbeath to concentrate on the tawse and updated the process by investing in a metric cutting press and a blocking machine with a heated stamp. When suitably heavyweight leather from cattle hides began to decline as a result of changing farm practices, Dicks started using Buffalo Butts instead to meet demand, which is actually horse leather.
Support for corporal punishment in education was publicly and officially high, but was certainly not universal. However, it was hard to speak up in an educational and political establishment that did not readily tolerate dissenting voices. But as early as 1931, Moderate councillor for George Square in Edinburgh, Charles Mackenzie, tried to have it banned by the city Education Committee. He said education “should not be thrashed in” and noted a school nicknamed “the butcher’s shop” on account of the strength of beatings. He was voted down 14-3 by the rest of the committee, with former teachers and a church minister who sat on it speaking up firmly in favour of the practice and to “uphold teachers’ rights“.
In 1959, the Edinburgh Education Committee issued restrictive rules for corporal punishment in children’s homes – it could only be inflicted by a matron, house-mother or house-father, men could not punish girls, there could be no more than 3 strokes to each hand and only by the tawse. By the 1960s, a new generation of post-war born, progressively-minded teachers was coming into the system with new ideas. Dissent slowly began to grow within the teaching establishment and there was a recognition that there were alternatives to trying to simply beat children into compliance or knowledge into them. But while the Educational Institute of Scotland (EIS, the principal teachers’ union) accepted change was inevitable regarding corporal punishment in schools, it took something of a “circle the wagons” approach that it was up to the profession alone to regulate it and not the authorities.
In Edinburgh in 1970 it was reported some schools strapped any child who was late more than three times. Education Committee chairman Councillor Malcolm Knox fretted this might make children run across the road but his Progressive party colleague Councillor Cornelius Waugh defended the idea, otherwise it might “open the door to malingerers“. In February 1972, a relatively new member on the Committee, Councillor George Foulkes (that’s Baron Foulkes of Cumnock these days) tried to have a ban on corporal punishment instituted in primary and special schools – and severe restrictions put on its use in secondary schools – but was voted down. The local EIS branch was having none of this challenge; they “deplored the fact that the committee had adopted the anti-corporal punishment resolution without first consulting teachers“. Its position was steadfast that it was the teachers and teachers alone who “were the sole judges” of when conditions had been achieved for any forms of restriction. One parent wrote into the Scotsman in response with the astute observation that teachers had never consulted parents over their right to belt children.
“Edinburgh EIS want strap kept meantime”. Scotsman – Tuesday 14 March 1972The following month, Foulkes instead had the committee agree to explore options as to how to achieve the phasing-out of corporal punishment in the city’s schools. Bailie John Bateman (a senior Progressive councillor) criticised Foulkes and those in his party who motivated his position as “a few young hotheads with a bee on their bonnets“. But others on the Progressive side, including former committee chairman Malcolm Knox, supported him. By November 1972 the Corporation of Edinburgh was under control of a Labour administration for the first time and the Education Committee passed a vote by 16-9 which compelled headteachers to keep a log of all occasions on which children were belted in the city’s schools. The EIS – described in the Scotsman as “the body most vehemently opposed” to this idea – and four other teaching unions (the Association of Head Teachers, Scottish Schoolmasters Association, Diploma College Education Association and Scottish Secondary Teachers Association) sent unsuccessful deputations against it. A year later, November 1973, the Education Committee finally took a vote on abolition of corporal punishment. The EIS threatened to take legal action, stating that 98% of its membership supported it and that a ban would result in children attacking each other with broken bottles and stones in the playground. Eric Thompson, “a teacher of 20 years” wrote to the papers to state that such a ban would “result in anarchy in many of our schools“. Faced with such challenges, Foulkes replied “as long as I am receiving complaints from parents of terrorisation by teachers in the classroom I think this is an excellent reason for getting rid of corporal punishment“.
Despite the vocal nature of the official opposition, on November 19th, the Committee voted by the slim margin of 14-13 to progressively ban corporal punishment. From 1974 it was to be banned from Primary 1-4; in Primary 5-7 from 1975; in Secondary 4-6 in 1975-6 and Secondary 1-3 in 1976-77. But this ban never materialised. Why was that? Between 1974-75, the Local Government (Scotland) Act 1973 abolished the old Corporation of the City of Edinburgh and split its powers and functions between the new Lothian Regional Council and Edinburgh District Council. Education went to the much larger body of Lothian Regional Council, which also included what is now Mid, West and East Lothian, and Edinburgh’s recent unilateral ban fell by the wayside.
https://www.flickr.com/photos/peteredin/2426922759
But the ball against corporal punishment in schools had started to roll and despite this setback it began to gather pace. In 1976 Grace Campbell, whose son attended St. Matthew’s in Bishopbriggs and Jane Cosans, whose son attended Beath High in Fife, lodged an action in the European Court of Human Rights against the British government, objecting to its use on the grounds that it was against parental human rights to go against their wishes for their children not to receive corporal punishment. (Jeffrey Cosans had been told to receive punishment with the tawse for taking a short-cut home from school through a cemetery but with his parents’ approval had been told to refuse to accept it. The school excluded him on this basis and aged just 15, he never returned to education) Although this case however would not begin to progress within the ECHR until 1980 and would not start hearing until late 1981, it was followed closely and assumptions began to be made based on the likely outcome. Returning to 1977, George Foulkes – by now Chairman of Lothian Region’s Education Committee – was “flabbergasted” to find out the tawse was being used in the Region’s special schools. “I find this barbaric, abhorrent and amazing” he said and ordered the Region’s Director of Education to assure him it would cease henceforth. The response was that the Director did not know if he had the legal powers to prevent its use and so a 17-member working group was established to evaluate options.
The working group, supported (and in part, driven) by organisations such as the Scottish Council for Civil Liberties and STOPP (Society of Teachers Opposed to Physical Punishment), commissioned the first thorough survey on the use of the tawse in schools, based on the logging that had been instituted in Edinburgh way back in 1973. While it was found that some primary schools were not using it at all (around 10 in Lothian had informally given it up), it also reported that only 1 in 20 boys could expect to get through their schooling without receiving the tawse and that it was disproportionately used against boys as opposed to girls. But there was one, perhaps unlikely, secondary school which was bucking the trend – Craigroyston. This was a former junior secondary which the council had repeatedly threatened to close and whose pupils came from some of the most deprived housing schemes in the city. Under an enlightened, reformist headteacher, Hugh Mackenzie, the school had seen a 95% decline in the use of corporal punishment during the study period. Mackenzie was determined to steer his school away from authoritarianism and to an institution for simply maintaining discipline until children could be kicked out the door into one that would instead give hope and respect to children otherwise labelled by the system as failures.
Hugh Mackenzie, from his autobiography “Craigroyston Days, 1972-93”Mackenzie had relaxed policies on uniform, realising his students came from families who could ill afford it.He was careful tried to include and build consensus with both his staff and his students when it came to policy-making and literally “threw open the front door” to the latter; previously they had not been allowed to use it. In August 1980, he put it to the staff that they should withdraw the use of the tawse completely, for 1 session, on a trial basis. The staff debated the idea and supported their head. At the end of the trial, it was the staff themselves who raised the motion to ban it completely. And so it was in August 1981 that Craigroyston High formally voted to ban the use of Corporal Punishment within its walls, the first in Scotland to do so. It is notable that this ban came from within the teaching establishment itself, showing how much things had changed.
Craigroyston Community High School, 2009, prior to demolition of the old buildings. CC-by-SA 2.0 Denna JonesOver in the west of the country, Strathclyde Regional Council was being rather less enlightened. In 1980 it took Margaret Mcguire to court over as 13-year old son Danny had not been at school for 14 months since refusing to accept the Black Strap. The boy had been caught playing tig in a corridor and had been sent to the headmaster for punishment; when he refused to accept this he was sent home. His parents supported him in this refusal and asked the school to withdraw the punishment; when this in turn was refused, the school excluded him until such time as he would submit to the belting. The first court case fell apart when it was found that it was Danny’s father (and not mother) who had initially supported him in his act of defiance and therefore the wrong parent was in court. It then failed on appeal when Lord Emslie was ruled that it was the school which had excluded the boy, rather than his parents refusing to ensure he attended. This was something of a watershed as it effectively removed the unchallengeable right of the local authority to apply the corporal punishment against parental wishes.
On January 20th 1982, Lothian Regional Council took the bold step and voted to abolish corporal punishment in all its schools – the first local authority in Scotland or the UK to do so. The vote was put forward by Labour Councillor John Mulvey and went through despite opposition from the Conservative grouping and the EIS. Henry Philip, chairman of the regional branch, said “young people would roam the streets” if it was banned, that teachers would not accept it and that they would take the Region to court. The case of Campbell and Cosans vs. The United Kingdom at the ECHR in Strasbourg would make its landmark ruling 5 days later that it was against parental human rights for the authorities to apply corporal punishment to a child against their wishes. Lothian’s ban came into effect on April 2nd 1982. Strathclyde had voted in favour of a ban around the same time, but this did not come into effect until August. Conservative Councillor Leonard Turpie said the “decision would haunt the council for years to come.”
In anticipation of the ECHR judgement Scottish Secretary George Younger had issued advice (but not an order) that all Regions should consult on the phasing out corporal punishment in the 1983-4 teaching session. The previous year, Younger had rejected a move to ban corporal punishment on children with special needs when confronted with the example of an eleven year old boy with one hand who was to be given “six of the best” on each palm but instead received the whole punishment on his sole hand and that of an eight year old girl strapped on a hand that had suffered a recent finger amputation. In the face of Younger’s refusal to take a hard line on the issue, some of the Regional Councils set a course of defying the Scottish Secretary. In 1983, Grampian voted against banning corporal punishment in its schools. In January 1984, Borders did likewise, against the recommendations of its own Education Committee. David Steel MP, leader of the Liberal Party, wrote to Younger in February to ask him if he would overrule the hold-out authorities by introducing legislation. When he declined to do so, Tayside Regional Council sensed weakness and reversed their previous decision to ban the belt. Tom Daveney, Rector of Monifieth High, said “phasing-out corporal punishment without adequate safeguards could jeopardise freedom to teach and learn“, a prime example of the entrenched position of many in the teaching profession which equated education and physical discipline.
The demolition of Tayside House, Tayside Regional Council’s HQ, in 2013. CC-0 LaerolGrampian Region now joined the pile-on. Their Education Vice Convenor, Conservative Harry Sim, said he was “quite convinced that [corporal punishment is] the wish of the majority of the parents“. But his Region also let it be known they might consider changing their position if more money was made available to them; George Younger declined, unsurprisingly. The dominoes continued to tumble in the face Younger; Western Isles reversed their decision to ban the belt in secondary schools in June 1984 after representations from the EIS and retained a limited use policy instead. Faced with such defiance, in July Younger finally declared that a partial ban would be introduced, in line with what Borders, Tayside and Grampian wanted. By January 1985, all except those hold-out authorities and Western Isles had moved to introduce a voluntary phase-out. In September that year, the Labour grouping in Grampian attempted to force a ban through. At this time the belt was still in use in about half the secondary schools in the area, but the council voted by a resounding 26-6 vote against any change to the status quo.
Down in Westminster, in an attempt to comply with the letter but perhaps not the spirit of the ECHR judgement, the Conservative Government had moved to bring in a bill for a partial ban for all of UK state-sector education, but one complete with various opt-outs. Labour and the Liberal Alliance refused to support this, or anything other than a full ban. Despite the hold outs of some Scottish local authorities and parts of the teaching establishment, on July 1st 1986 the matter was resolved by Westminster – by a single vote – with the introduction of a complete ban in all (state) schools on corporal punishment. This came into effect in August 1987.
But that wasn’t quite the end of our story, or the tawse. These devices were still in demand for domestic use and in private schools (where corporal punishment was allowed until 1998 in England, 2000 in Scotland and 2003 in Northern Ireland). There was also a substantial adult market and kink magazines carried adverts such as this:
Advert for Lochgelly and Glasgow straps, “Wildfire Catalogue”.The tawse has also spawned a whole sub-genre of lascivious of fiction, including the fictionalised memoirs of a Miss Mary Mackenzie, “Mistress in a Scottish Girl’s Corrective Institution“.
“The Rule of the Strap by Mary Mackenzie”In 1986, a rather embarrassed cobbler on St. Stephen Street in Stockbridge – Wladyk Borak – admitted to the reporter of the Scotland on Sunday that the tawse he was making and selling in his shop had a dedicated following; “people use them privately, to chastise… each other“
Wladyk Borak’s tawse for sale, Scotland on Sunday – 10th November 1996In an odd finale to our story, in 2000 the daughter of the late John J. Dick, tawsemaker of Lochgelly, returned to the family craft of leatherworking and now once again makes Lochgelly tawse for sale in Fife. Again, for the appreciation of curious and consenting adults only…
Note to readers: unfortunately in April 2026, a third-party plug-in more than exceeded its authority and broke many of the image links on this site. No images were lost but I will have to restore them page-by-page, which may take some time. In the meantime please bear with me while I go about rectifying this issue.
If you have found this site useful, informative or amusing then you can help contribute towards its running costs by supporting me on ko-fi. This includes my commitment to keeping it 100% advert and AI free for all time coming, and in helping to find further unusual stories to bring you by acquiring books and paying for research.
Or please do just share this post on social media or amongst friends and like-minded people, sites like this thrive on being shared.Explore Threadinburgh by map:
Travelers' Map is loading...
If you see this after your page is loaded completely, leafletJS files are missing.These threads © 2017-2026, Andy Arthur.
NO AI TRAINING: Any use of the contents of this website to “train” generative artificial intelligence (AI) technologies to generate text is expressly prohibited. The author reserves all rights to license uses of this work for generative AI training and development of machine learning language models.
#Lochend #Logan #Restalrig #StMargaret -
I see History of Knowledge has migrated from WordPress.com to Hypotheses.org. Given all the nonsense that Automattic has been putting its clients through, I am glad. It should have a nice long life on that platform.
The current domain, https://historyofknowledge.net points or forwards there, although I don’t know if it will over the long term. Fortunately, the new domain pops right up on a DuckDuckGo search for “History of Knowledge blog” – https://historyofknowledge.hypotheses.org.
-
This is an excellent series of short videos from @[email protected] showing loads of examples of #CommunityOwnership - which must surely be the way forwards. www.youtube.com/playlist?lis...
Community Britain - YouTube -
🚀 Propel your R initiatives forward! The RUGS 2024 Program is accepting applications. Check out the grants for user groups, conferences, and special projects. Apply today!
#RStats #RConsortium #RUGS2024
🔗https://www.r-consortium.org/all-projects/r-user-group-support-program
-
🚀 Propel your R initiatives forward! The RUGS 2024 Program is accepting applications. Check out the grants for user groups, conferences, and special projects. Apply today!
#RStats #RConsortium #RUGS2024
🔗https://www.r-consortium.org/all-projects/r-user-group-support-program
-
Forward Rain Boy - Keine Probe/Abgesagt - Debütsingle
#DeutschPop #IndiePop #IndieRock #MusikBlogNewcomer #Sprechgesang #ForwardRainBoy #MusikBlogNewcomer_BERLIN #MusikBlogNewcomer_MÜNCHEN
https://www.musikblog.de/2024/10/forward-rain-boy-keine-probe-abgesagt-debuetsingle/ -
Forward Rain Boy - Keine Probe/Abgesagt - Debütsingle
#DeutschPop #IndiePop #IndieRock #MusikBlogNewcomer #Sprechgesang #ForwardRainBoy #MusikBlogNewcomer_BERLIN #MusikBlogNewcomer_MÜNCHEN
https://www.musikblog.de/2024/10/forward-rain-boy-keine-probe-abgesagt-debuetsingle/ -
Forward Rain Boy - Keine Probe/Abgesagt - Debütsingle
#DeutschPop #IndiePop #IndieRock #MusikBlogNewcomer #Sprechgesang #ForwardRainBoy #MusikBlogNewcomer_BERLIN #MusikBlogNewcomer_MÜNCHEN
https://www.musikblog.de/2024/10/forward-rain-boy-keine-probe-abgesagt-debuetsingle/