| Country | Contributions | Between | Climbers | Crags | Summits | Climbs | Ascents | |
|---|---|---|---|---|---|---|---|---|
| 1 | United Kingdom | 50223 | 14th November 2023 – 17th August 2026 | 1387 | 674 | 0 | 2990 | 4724 |
| 2 | USA | 24171 | 14th November 2023 – 16th August 2026 | 785 | 179 | 2 | 840 | 2324 |
| 3 | France | 11785 | 14th November 2023 – 16th August 2026 | 258 | 125 | 1 | 542 | 1004 |
| 4 | Switzerland | 8789 | 14th November 2023 – 16th August 2026 | 74 | 41 | 1 | 297 | 1042 |
| 5 | Spain | 8244 | 15th November 2023 – 13th August 2026 | 88 | 73 | 0 | 441 | 885 |
| 6 | Italy | 4266 | 16th November 2023 – 10th August 2026 | 114 | 56 | 0 | 176 | 330 |
| 7 | South Africa | 3460 | 16th November 2023 – 15th August 2026 | 12 | 35 | 0 | 122 | 379 |
| 8 | Germany | 3053 | 16th November 2023 – 16th August 2026 | 115 | 47 | 0 | 102 | 221 |
| 9 | Canada | 3006 | 16th November 2023 – 13th August 2026 | 62 | 21 | 3 | 105 | 256 |
| 10 | Japan | 2386 | 16th November 2023 – 11th June 2026 | 74 | 11 | 0 | 96 | 227 |
| Date | Time | User | Type | Name | Attribute | ||
|---|---|---|---|---|---|---|---|
| 38701 | 30th January 2026 | 06:12:11 UTC | remus | climb | Betara | climb_name | |
|
Before
None
After
Betara
|
|||||||
| 38702 | 29th January 2026 | 15:05:51 UTC | remus | list | The Grit List V2 | list_definition | |
|
Before
select
'<a href="/climb/' || c.climb_id::varchar || '/' || replace(lower(c.climb_name), ' ', '-') || '">' || c.climb_name || '</a>' as "Climb"
,'<a href="/crag/' || coalesce(cr2.crag_id, cr.crag_id)::varchar || '/' || replace(lower(coalesce(cr2.crag_name, cr.crag_name)), ' ', '-') || '">' || coalesce(cr2.crag_name, cr.crag_name) || '</a>' as "Crag"
,case
when c.grade_approx then g.grade || ' (approx)'
else
g.grade
end as "Grade"
,case
when g2.grade is not null then '~' || g2.grade || ' ' || lower(ct.climb_type)
else
null
end as "Alternative Grade"
,case
when cm1.value is not null then '✓'
else
null
end as Project
,case
when pretty_dt(a.ascent_dt_start, a.ascent_dt_end) is not null then
'<a href="/climber/' || cl.climber_id::varchar || '/' || replace(lower(cl.climber_name), ' ', '-') || '">' || cl.climber_name || '</a>, ' || pretty_dt(a.ascent_dt_start, a.ascent_dt_end)
else
'<a href="/climber/' || cl.climber_id::varchar || '/' || replace(lower(cl.climber_name), ' ', '-') || '">' || cl.climber_name || '</a>'
end as "FA"
,c.notes_pretty as Notes
from
climbs c
inner join crags cr
on c.ukc_crag_id = cr.crag_id
and c.deleted_on is null
left join crags cr2
on cr.group_crag_id = cr2.crag_id
inner join grades g
on c.grade_id = g.grade_id
left join climb_meta cm1
on c.climb_id = cm1.climb_id
and cm1.climb_meta_key_id = 20 -- project
left join climb_meta cm2
on cm2.climb_id = c.climb_id
and cm2.climb_meta_key_id = 9
left join grades g2
on g2.grade_id = cm2.value::int
left join climb_types ct
on g2.climb_type_id = ct.climb_type_id
left join ascents a
on c.climb_id = a.climb_id
and a.deleted_on is null
and a.fa = true
left join climbers cl
on a.climber_id = cl.climber_id
and cl.deleted_on is null
where
coalesce(cr.rock_type_id, cr2.rock_type_id) = 6 -- grit
and c.climb_type_id = 3 -- trad
and g.order_on >= 60
and not cr.crag_id = 845
order by
case when cm1.climb_id is not null then 1 else 0 end desc -- project
,g.order_on desc
,g2.order_on
After
select
'<a href="/climb/' || c.climb_id::varchar || '/' || replace(lower(c.climb_name), ' ', '-') || '">' || c.climb_name || '</a>' as "Climb"
,'<a href="/crag/' || coalesce(cr2.crag_id, cr.crag_id)::varchar || '/' || replace(lower(coalesce(cr2.crag_name, cr.crag_name)), ' ', '-') || '">' || coalesce(cr2.crag_name, cr.crag_name) || '</a>' as "Crag"
,case
when c.grade_approx then g.grade || ' (approx)'
else
g.grade
end as "Grade"
,case
when g2.grade is not null then '~' || g2.grade || ' ' || lower(ct.climb_type)
else
null
end as "Alternative Grade"
,case
when cm1.value is not null then 'Project'
when pretty_dt(a.ascent_dt_start, a.ascent_dt_end) is not null then
'<a href="/climber/' || cl.climber_id::varchar || '/' || replace(lower(cl.climber_name), ' ', '-') || '">' || cl.climber_name || '</a>, ' || pretty_dt(a.ascent_dt_start, a.ascent_dt_end)
else
'<a href="/climber/' || cl.climber_id::varchar || '/' || replace(lower(cl.climber_name), ' ', '-') || '">' || cl.climber_name || '</a>'
end as "FA"
,c.notes_pretty as Notes
from
climbs c
inner join crags cr
on c.ukc_crag_id = cr.crag_id
and c.deleted_on is null
left join crags cr2
on cr.group_crag_id = cr2.crag_id
inner join grades g
on c.grade_id = g.grade_id
left join climb_meta cm1
on c.climb_id = cm1.climb_id
and cm1.climb_meta_key_id = 20 -- project
left join climb_meta cm2
on cm2.climb_id = c.climb_id
and cm2.climb_meta_key_id = 9
left join grades g2
on g2.grade_id = cm2.value::int
left join climb_types ct
on g2.climb_type_id = ct.climb_type_id
left join ascents a
on c.climb_id = a.climb_id
and a.deleted_on is null
and a.fa = true
left join climbers cl
on a.climber_id = cl.climber_id
and cl.deleted_on is null
where
coalesce(cr.rock_type_id, cr2.rock_type_id) = 6 -- grit
and c.climb_type_id = 3 -- trad
and g.order_on >= 60
and not cr.crag_id = 845
order by
case when cm1.climb_id is not null then 1 else 0 end desc -- project
,g.order_on desc
,g2.order_on
Diff
--- before
|
|||||||
| 38703 | 29th January 2026 | 15:04:31 UTC | remus | list | The Grit List V2 | list_definition | |
|
Before
select
'<a href="/climb/' || c.climb_id::varchar || '/' || replace(lower(c.climb_name), ' ', '-') || '">' || c.climb_name || '</a>' as "Name"
,case
when c.grade_approx then g.grade || ' (approx)'
else
g.grade
end as "Grade"
,case
when g2.grade is not null then '~' || g2.grade || ' ' || lower(ct.climb_type)
else
null
end as "Alternative Grade"
,case
when cm1.value is not null then '✓'
else
null
end as Project
,case
when pretty_dt(a.ascent_dt_start, a.ascent_dt_end) is not null then
'<a href="/climber/' || cl.climber_id::varchar || '/' || replace(lower(cl.climber_name), ' ', '-') || '">' || cl.climber_name || '</a>, ' || pretty_dt(a.ascent_dt_start, a.ascent_dt_end)
else
'<a href="/climber/' || cl.climber_id::varchar || '/' || replace(lower(cl.climber_name), ' ', '-') || '">' || cl.climber_name || '</a>'
end as "FA"
,c.notes_pretty as Notes
from
climbs c
inner join crags cr
on c.ukc_crag_id = cr.crag_id
and c.deleted_on is null
left join crags cr2
on cr.group_crag_id = cr2.crag_id
inner join grades g
on c.grade_id = g.grade_id
left join climb_meta cm1
on c.climb_id = cm1.climb_id
and cm1.climb_meta_key_id = 20 -- project
left join climb_meta cm2
on cm2.climb_id = c.climb_id
and cm2.climb_meta_key_id = 9
left join grades g2
on g2.grade_id = cm2.value::int
left join climb_types ct
on g2.climb_type_id = ct.climb_type_id
left join ascents a
on c.climb_id = a.climb_id
and a.deleted_on is null
and a.fa = true
left join climbers cl
on a.climber_id = cl.climber_id
and cl.deleted_on is null
where
coalesce(cr.rock_type_id, cr2.rock_type_id) = 6 -- grit
and c.climb_type_id = 3 -- trad
and g.order_on >= 60
and not cr.crag_id = 845
order by
case when cm1.climb_id is not null then 1 else 0 end desc -- project
,g.order_on desc
,g2.order_on
After
select
'<a href="/climb/' || c.climb_id::varchar || '/' || replace(lower(c.climb_name), ' ', '-') || '">' || c.climb_name || '</a>' as "Climb"
,'<a href="/crag/' || coalesce(cr2.crag_id, cr.crag_id)::varchar || '/' || replace(lower(coalesce(cr2.crag_name, cr.crag_name)), ' ', '-') || '">' || coalesce(cr2.crag_name, cr.crag_name) || '</a>' as "Crag"
,case
when c.grade_approx then g.grade || ' (approx)'
else
g.grade
end as "Grade"
,case
when g2.grade is not null then '~' || g2.grade || ' ' || lower(ct.climb_type)
else
null
end as "Alternative Grade"
,case
when cm1.value is not null then '✓'
else
null
end as Project
,case
when pretty_dt(a.ascent_dt_start, a.ascent_dt_end) is not null then
'<a href="/climber/' || cl.climber_id::varchar || '/' || replace(lower(cl.climber_name), ' ', '-') || '">' || cl.climber_name || '</a>, ' || pretty_dt(a.ascent_dt_start, a.ascent_dt_end)
else
'<a href="/climber/' || cl.climber_id::varchar || '/' || replace(lower(cl.climber_name), ' ', '-') || '">' || cl.climber_name || '</a>'
end as "FA"
,c.notes_pretty as Notes
from
climbs c
inner join crags cr
on c.ukc_crag_id = cr.crag_id
and c.deleted_on is null
left join crags cr2
on cr.group_crag_id = cr2.crag_id
inner join grades g
on c.grade_id = g.grade_id
left join climb_meta cm1
on c.climb_id = cm1.climb_id
and cm1.climb_meta_key_id = 20 -- project
left join climb_meta cm2
on cm2.climb_id = c.climb_id
and cm2.climb_meta_key_id = 9
left join grades g2
on g2.grade_id = cm2.value::int
left join climb_types ct
on g2.climb_type_id = ct.climb_type_id
left join ascents a
on c.climb_id = a.climb_id
and a.deleted_on is null
and a.fa = true
left join climbers cl
on a.climber_id = cl.climber_id
and cl.deleted_on is null
where
coalesce(cr.rock_type_id, cr2.rock_type_id) = 6 -- grit
and c.climb_type_id = 3 -- trad
and g.order_on >= 60
and not cr.crag_id = 845
order by
case when cm1.climb_id is not null then 1 else 0 end desc -- project
,g.order_on desc
,g2.order_on
Diff
--- before
|
|||||||
| 38704 | 29th January 2026 | 15:02:14 UTC | remus | list | The Grit List V2 | list_description | |
|
Before
This is a refreshed version of [The Grit List](https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html). In the words the list's creator Jonathan Read
> This is a compendium of selected hard grit routes (E5 and above [ed. now E7]) catagorised by difficulty, boldness, tricksomeness and absurdity.
> The aim of this list is to provide further information on these routes for the on-sighter (such as crucial or trick gear), and to highlight particularly soft and hard routes within a grade. Also included are relatively new routes that haven't made it into guidebooks yet.
> Routes at the top of a catagory listing tend to be a soft touch for the grade, and routes at the bottom of a catagory list outright sandbags! Liberal pinches of salt should be taken daily.
> On the harder grades, routes with a recognised toprope French grade have this included, and some have guesstimates just to spice up debate!
This list is a bit more clinical than the original but hopefully it captures some of the same spirit. For practicality this list only includes routes of E7 and up rather the the original list's E5 and up.
> Talent, power, stamina, bottle, technique, squeeky clean boots, 'unusual' gear, frontal lobotomy, belay slave, spotting circus, £1000 worth of Metolius mats. These are some of the requirements for potential suitors of Last Great Problems. Choose your line, spend a life-time getting good enough to do it, and then pull the crucial pebble off. All yours ...
### References
[1] [https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html](https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html)
After
This is a refreshed version of [The Grit List](https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html). In the words the list's creator [Jon Read](/climber/1146/jon-read):
> This is a compendium of selected hard grit routes (E5 and above [ed. now E7]) catagorised by difficulty, boldness, tricksomeness and absurdity.
> The aim of this list is to provide further information on these routes for the on-sighter (such as crucial or trick gear), and to highlight particularly soft and hard routes within a grade. Also included are relatively new routes that haven't made it into guidebooks yet.
> Routes at the top of a catagory listing tend to be a soft touch for the grade, and routes at the bottom of a catagory list outright sandbags! Liberal pinches of salt should be taken daily.
> On the harder grades, routes with a recognised toprope French grade have this included, and some have guesstimates just to spice up debate!
This list is a bit more clinical than the original but hopefully it captures some of the same spirit. For practicality this list only includes routes of E7 and up rather the the original list's E5 and up.
> Talent, power, stamina, bottle, technique, squeeky clean boots, 'unusual' gear, frontal lobotomy, belay slave, spotting circus, £1000 worth of Metolius mats. These are some of the requirements for potential suitors of Last Great Problems. Choose your line, spend a life-time getting good enough to do it, and then pull the crucial pebble off. All yours ...
### References
[1] [https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html](https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html)
Diff
--- before
|
|||||||
| 38705 | 29th January 2026 | 15:02:14 UTC | remus | list | The Grit List V2 | list_description_pretty | |
|
Before
<p>This is a refreshed version of <a href="https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html" rel="noopener noreferrer">The Grit List</a>. In the words the list's creator Jonathan Read</p>
<blockquote>
<p>This is a compendium of selected hard grit routes (E5 and above [ed. now E7]) catagorised by difficulty, boldness, tricksomeness and absurdity.</p>
<p>The aim of this list is to provide further information on these routes for the on-sighter (such as crucial or trick gear), and to highlight particularly soft and hard routes within a grade. Also included are relatively new routes that haven't made it into guidebooks yet.</p>
<p>Routes at the top of a catagory listing tend to be a soft touch for the grade, and routes at the bottom of a catagory list outright sandbags! Liberal pinches of salt should be taken daily.</p>
<p>On the harder grades, routes with a recognised toprope French grade have this included, and some have guesstimates just to spice up debate!</p>
</blockquote>
<p>This list is a bit more clinical than the original but hopefully it captures some of the same spirit. For practicality this list only includes routes of E7 and up rather the the original list's E5 and up.</p>
<blockquote>
<p>Talent, power, stamina, bottle, technique, squeeky clean boots, 'unusual' gear, frontal lobotomy, belay slave, spotting circus, £1000 worth of Metolius mats. These are some of the requirements for potential suitors of Last Great Problems. Choose your line, spend a life-time getting good enough to do it, and then pull the crucial pebble off. All yours ...</p>
</blockquote>
<h3>References</h3>
<p>[1] <a href="https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html" rel="noopener noreferrer">https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html</a></p>
After
<p>This is a refreshed version of <a href="https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html" rel="noopener noreferrer">The Grit List</a>. In the words the list's creator <a href="/climber/1146/jon-read" rel="noopener noreferrer">Jon Read</a>:</p>
<blockquote>
<p>This is a compendium of selected hard grit routes (E5 and above [ed. now E7]) catagorised by difficulty, boldness, tricksomeness and absurdity.</p>
<p>The aim of this list is to provide further information on these routes for the on-sighter (such as crucial or trick gear), and to highlight particularly soft and hard routes within a grade. Also included are relatively new routes that haven't made it into guidebooks yet.</p>
<p>Routes at the top of a catagory listing tend to be a soft touch for the grade, and routes at the bottom of a catagory list outright sandbags! Liberal pinches of salt should be taken daily.</p>
<p>On the harder grades, routes with a recognised toprope French grade have this included, and some have guesstimates just to spice up debate!</p>
</blockquote>
<p>This list is a bit more clinical than the original but hopefully it captures some of the same spirit. For practicality this list only includes routes of E7 and up rather the the original list's E5 and up.</p>
<blockquote>
<p>Talent, power, stamina, bottle, technique, squeeky clean boots, 'unusual' gear, frontal lobotomy, belay slave, spotting circus, £1000 worth of Metolius mats. These are some of the requirements for potential suitors of Last Great Problems. Choose your line, spend a life-time getting good enough to do it, and then pull the crucial pebble off. All yours ...</p>
</blockquote>
<h3>References</h3>
<p>[1] <a href="https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html" rel="noopener noreferrer">https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html</a></p>
|
|||||||
| 38706 | 29th January 2026 | 15:00:28 UTC | remus | list | The Grit List V2 | list_description | |
|
Before
This is a refreshed version of [The Grit List](https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html). It's a bit more clinical, but hopefully it captures some of the same spirit. For practicality this list only includes routes of E7 and up rather the the original list's E5 and up.
> Talent, power, stamina, bottle, technique, squeeky clean boots, 'unusual' gear, frontal lobotomy, belay slave, spotting circus, £1000 worth of Metolius mats. These are some of the requirements for potential suitors of Last Great Problems. Choose your line, spend a life-time getting good enough to do it, and then pull the crucial pebble off. All yours ...
### References
[1] [https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html](https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html)
After
This is a refreshed version of [The Grit List](https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html). In the words the list's creator Jonathan Read
> This is a compendium of selected hard grit routes (E5 and above [ed. now E7]) catagorised by difficulty, boldness, tricksomeness and absurdity.
> The aim of this list is to provide further information on these routes for the on-sighter (such as crucial or trick gear), and to highlight particularly soft and hard routes within a grade. Also included are relatively new routes that haven't made it into guidebooks yet.
> Routes at the top of a catagory listing tend to be a soft touch for the grade, and routes at the bottom of a catagory list outright sandbags! Liberal pinches of salt should be taken daily.
> On the harder grades, routes with a recognised toprope French grade have this included, and some have guesstimates just to spice up debate!
This list is a bit more clinical than the original but hopefully it captures some of the same spirit. For practicality this list only includes routes of E7 and up rather the the original list's E5 and up.
> Talent, power, stamina, bottle, technique, squeeky clean boots, 'unusual' gear, frontal lobotomy, belay slave, spotting circus, £1000 worth of Metolius mats. These are some of the requirements for potential suitors of Last Great Problems. Choose your line, spend a life-time getting good enough to do it, and then pull the crucial pebble off. All yours ...
### References
[1] [https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html](https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html)
Diff
--- before
|
|||||||
| 38707 | 29th January 2026 | 15:00:28 UTC | remus | list | The Grit List V2 | list_description_pretty | |
|
Before
<p>This is a refreshed version of <a href="https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html" rel="noopener noreferrer">The Grit List</a>. It's a bit more clinical, but hopefully it captures some of the same spirit. For practicality this list only includes routes of E7 and up rather the the original list's E5 and up.</p>
<blockquote>
<p>Talent, power, stamina, bottle, technique, squeeky clean boots, 'unusual' gear, frontal lobotomy, belay slave, spotting circus, £1000 worth of Metolius mats. These are some of the requirements for potential suitors of Last Great Problems. Choose your line, spend a life-time getting good enough to do it, and then pull the crucial pebble off. All yours ...</p>
</blockquote>
<h3>References</h3>
<p>[1] <a href="https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html" rel="noopener noreferrer">https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html</a></p>
After
<p>This is a refreshed version of <a href="https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html" rel="noopener noreferrer">The Grit List</a>. In the words the list's creator Jonathan Read</p>
<blockquote>
<p>This is a compendium of selected hard grit routes (E5 and above [ed. now E7]) catagorised by difficulty, boldness, tricksomeness and absurdity.</p>
<p>The aim of this list is to provide further information on these routes for the on-sighter (such as crucial or trick gear), and to highlight particularly soft and hard routes within a grade. Also included are relatively new routes that haven't made it into guidebooks yet.</p>
<p>Routes at the top of a catagory listing tend to be a soft touch for the grade, and routes at the bottom of a catagory list outright sandbags! Liberal pinches of salt should be taken daily.</p>
<p>On the harder grades, routes with a recognised toprope French grade have this included, and some have guesstimates just to spice up debate!</p>
</blockquote>
<p>This list is a bit more clinical than the original but hopefully it captures some of the same spirit. For practicality this list only includes routes of E7 and up rather the the original list's E5 and up.</p>
<blockquote>
<p>Talent, power, stamina, bottle, technique, squeeky clean boots, 'unusual' gear, frontal lobotomy, belay slave, spotting circus, £1000 worth of Metolius mats. These are some of the requirements for potential suitors of Last Great Problems. Choose your line, spend a life-time getting good enough to do it, and then pull the crucial pebble off. All yours ...</p>
</blockquote>
<h3>References</h3>
<p>[1] <a href="https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html" rel="noopener noreferrer">https://www.geocities.ws/readza1/climbing/gritlist/gritlist.html</a></p>
|
|||||||
| 38708 | 29th January 2026 | 14:54:36 UTC | remus | list | The Grit List V2 | list_definition | |
|
Before
select
'<a href="/climb/' || c.climb_id::varchar || '/' || replace(lower(c.climb_name), ' ', '-') || '">' || c.climb_name || '</a>' as "Name"
,case
when c.grade_approx then g.grade || ' (approx)'
else
g.grade
end as "Grade"
,case
when g2.grade is not null then '~' || g2.grade || ' ' || lower(ct.climb_type)
else
null
end as "Alternative Grade"
,case
when cm1.value is not null then '✓'
else
null
end as Project
,case
when pretty_dt(a.ascent_dt_start, a.ascent_dt_end) is not null then
'<a href="/climber/' || cl.climber_id::varchar || '/' || replace(lower(cl.climber_name), ' ', '-') || '">' || cl.climber_name || '</a>, ' || pretty_dt(a.ascent_dt_start, a.ascent_dt_end)
else
'<a href="/climber/' || cl.climber_id::varchar || '/' || replace(lower(cl.climber_name), ' ', '-') || '">' || cl.climber_name || '</a>'
end as "FA"
,c.notes_pretty as Notes
from
climbs c
inner join crags cr
on c.ukc_crag_id = cr.crag_id
and c.deleted_on is null
left join crags cr2
on cr.group_crag_id = cr2.crag_id
inner join grades g
on c.grade_id = g.grade_id
left join climb_meta cm1
on c.climb_id = cm1.climb_id
and cm1.climb_meta_key_id = 20 -- project
left join climb_meta cm2
on cm2.climb_id = c.climb_id
and cm2.climb_meta_key_id = 9
left join grades g2
on g2.grade_id = cm2.value::int
left join climb_types ct
on g2.climb_type_id = ct.climb_type_id
left join ascents a
on c.climb_id = a.climb_id
and a.deleted_on is null
and a.fa = true
left join climbers cl
on a.climber_id = cl.climber_id
and cl.deleted_on is null
where
coalesce(cr.rock_type_id, cr2.rock_type_id) = 6 -- grit
and c.climb_type_id = 3 -- trad
and g.order_on >= 60
order by
case when cm1.climb_id is not null then 1 else 0 end desc -- project
,g.order_on desc
,g2.order_on
After
select
'<a href="/climb/' || c.climb_id::varchar || '/' || replace(lower(c.climb_name), ' ', '-') || '">' || c.climb_name || '</a>' as "Name"
,case
when c.grade_approx then g.grade || ' (approx)'
else
g.grade
end as "Grade"
,case
when g2.grade is not null then '~' || g2.grade || ' ' || lower(ct.climb_type)
else
null
end as "Alternative Grade"
,case
when cm1.value is not null then '✓'
else
null
end as Project
,case
when pretty_dt(a.ascent_dt_start, a.ascent_dt_end) is not null then
'<a href="/climber/' || cl.climber_id::varchar || '/' || replace(lower(cl.climber_name), ' ', '-') || '">' || cl.climber_name || '</a>, ' || pretty_dt(a.ascent_dt_start, a.ascent_dt_end)
else
'<a href="/climber/' || cl.climber_id::varchar || '/' || replace(lower(cl.climber_name), ' ', '-') || '">' || cl.climber_name || '</a>'
end as "FA"
,c.notes_pretty as Notes
from
climbs c
inner join crags cr
on c.ukc_crag_id = cr.crag_id
and c.deleted_on is null
left join crags cr2
on cr.group_crag_id = cr2.crag_id
inner join grades g
on c.grade_id = g.grade_id
left join climb_meta cm1
on c.climb_id = cm1.climb_id
and cm1.climb_meta_key_id = 20 -- project
left join climb_meta cm2
on cm2.climb_id = c.climb_id
and cm2.climb_meta_key_id = 9
left join grades g2
on g2.grade_id = cm2.value::int
left join climb_types ct
on g2.climb_type_id = ct.climb_type_id
left join ascents a
on c.climb_id = a.climb_id
and a.deleted_on is null
and a.fa = true
left join climbers cl
on a.climber_id = cl.climber_id
and cl.deleted_on is null
where
coalesce(cr.rock_type_id, cr2.rock_type_id) = 6 -- grit
and c.climb_type_id = 3 -- trad
and g.order_on >= 60
and not cr.crag_id = 845
order by
case when cm1.climb_id is not null then 1 else 0 end desc -- project
,g.order_on desc
,g2.order_on
Diff
--- before
|
|||||||
| 38709 | 29th January 2026 | 14:41:58 UTC | remus | climber | Ken Nichols | notes | |
|
Before
Prolific and controversial Connecticut and [Shawangunks](/crag/8123/shawangunks) developer, guidebook writer, and staunch traditionalist.
> Once I chop a route, it will remain chopped, no matter how many times I have to return to keep it that way. Until the bolting stops, apparently the cliffs will have to be destroyed to save them [2]
### References
[1] [https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849](https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849)
[2] *Climbing* magazine, June/July 1991
[3] [https://www.stopken.org/](https://www.stopken.org/)
After
Prolific and controversial Connecticut and [Shawangunks](/crag/8123/shawangunks) developer, guidebook writer, and staunch traditionalist.
> Once I chop a route, it will remain chopped, no matter how many times I have to return to keep it that way. Until the bolting stops, apparently the cliffs will have to be destroyed to save them [2]
### References
[1] [https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849](https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849)
[2] *Climbing* magazine, June/July 1991
[3] [https://web.archive.org/web/20130223061856/http://www.stopken.org/Home.html](https://web.archive.org/web/20130223061856/http://www.stopken.org/Home.html)
Diff
--- before
|
|||||||
| 38710 | 29th January 2026 | 14:41:58 UTC | remus | climber | Ken Nichols | notes_pretty | |
|
Before
<p>Prolific and controversial Connecticut and <a href="/crag/8123/shawangunks" rel="noopener noreferrer">Shawangunks</a> developer, guidebook writer, and staunch traditionalist.</p>
<blockquote>
<p>Once I chop a route, it will remain chopped, no matter how many times I have to return to keep it that way. Until the bolting stops, apparently the cliffs will have to be destroyed to save them [2]</p>
</blockquote>
<h3>References</h3>
<p>[1] <a href="https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849" rel="noopener noreferrer">https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849</a></p>
<p>[2] <em>Climbing</em> magazine, June/July 1991</p>
<p>[3] <a href="https://www.stopken.org/" rel="noopener noreferrer">https://www.stopken.org/</a></p>
After
<p>Prolific and controversial Connecticut and <a href="/crag/8123/shawangunks" rel="noopener noreferrer">Shawangunks</a> developer, guidebook writer, and staunch traditionalist.</p>
<blockquote>
<p>Once I chop a route, it will remain chopped, no matter how many times I have to return to keep it that way. Until the bolting stops, apparently the cliffs will have to be destroyed to save them [2]</p>
</blockquote>
<h3>References</h3>
<p>[1] <a href="https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849" rel="noopener noreferrer">https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849</a></p>
<p>[2] <em>Climbing</em> magazine, June/July 1991</p>
<p>[3] <a href="https://web.archive.org/web/20130223061856/http://www.stopken.org/Home.html" rel="noopener noreferrer">https://web.archive.org/web/20130223061856/http://www.stopken.org/Home.html</a></p>
|
|||||||
| 38711 | 29th January 2026 | 14:41:40 UTC | remus | climber | Ken Nichols | notes_pretty | |
|
Before
<p>Prolific and controversial Connecticut and <a href="/crag/8123/shawangunks" rel="noopener noreferrer">Shawangunks</a> developer, guidebook writer, and staunch traditionalist.</p>
<blockquote>
<p>Once I chop a route, it will remain chopped, no matter how many times I have to return to keep it that way. Until the bolting stops, apparently the cliffs will have to be destroyed to save them [2]</p>
</blockquote>
<h3>References</h3>
<p>[1] <a href="https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849" rel="noopener noreferrer">https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849</a></p>
<p>[2] <em>Climbing</em> magazine, June/July 1991</p>
After
<p>Prolific and controversial Connecticut and <a href="/crag/8123/shawangunks" rel="noopener noreferrer">Shawangunks</a> developer, guidebook writer, and staunch traditionalist.</p>
<blockquote>
<p>Once I chop a route, it will remain chopped, no matter how many times I have to return to keep it that way. Until the bolting stops, apparently the cliffs will have to be destroyed to save them [2]</p>
</blockquote>
<h3>References</h3>
<p>[1] <a href="https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849" rel="noopener noreferrer">https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849</a></p>
<p>[2] <em>Climbing</em> magazine, June/July 1991</p>
<p>[3] <a href="https://www.stopken.org/" rel="noopener noreferrer">https://www.stopken.org/</a></p>
|
|||||||
| 38712 | 29th January 2026 | 14:41:40 UTC | remus | climber | Ken Nichols | notes | |
|
Before
Prolific and controversial Connecticut and [Shawangunks](/crag/8123/shawangunks) developer, guidebook writer, and staunch traditionalist.
> Once I chop a route, it will remain chopped, no matter how many times I have to return to keep it that way. Until the bolting stops, apparently the cliffs will have to be destroyed to save them [2]
### References
[1] [https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849](https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849)
[2] *Climbing* magazine, June/July 1991
After
Prolific and controversial Connecticut and [Shawangunks](/crag/8123/shawangunks) developer, guidebook writer, and staunch traditionalist.
> Once I chop a route, it will remain chopped, no matter how many times I have to return to keep it that way. Until the bolting stops, apparently the cliffs will have to be destroyed to save them [2]
### References
[1] [https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849](https://www.ukclimbing.com/news/2007/07/us_bolt_chopper_banned_by_judge_from_chopping_bolts-38849)
[2] *Climbing* magazine, June/July 1991
[3] [https://www.stopken.org/](https://www.stopken.org/)
Diff
--- before
|
|||||||
| 38713 | 29th January 2026 | 14:40:25 UTC | remus | crag | East Peak | longitude | |
|
Before
None
After
-72.833862
|
|||||||
| 38714 | 29th January 2026 | 14:40:25 UTC | remus | crag | East Peak | latitude | |
|
Before
None
After
41.557034
|
|||||||
| 38715 | 29th January 2026 | 14:40:25 UTC | remus | crag | East Peak | rock_type_id | |
|
Before
None
After
1
|
|||||||
| 38716 | 29th January 2026 | 14:40:25 UTC | remus | crag | East Peak | rock_type | |
|
Before
None
After
Basalt
|
|||||||
| 38717 | 29th January 2026 | 14:31:55 UTC | remus | crag | Craig Ddu | longitude | |
|
Before
None
After
-4.064205
|
|||||||
| 38718 | 29th January 2026 | 14:31:55 UTC | remus | crag | Craig Ddu | latitude | |
|
Before
None
After
53.095607
|
|||||||
| 38719 | 29th January 2026 | 14:30:43 UTC | remus | ascent | Paul Pritchard's ascent of The Bog of the Eternal Stench | Ascent # | |
|
Before
None
After
1
|
|||||||
| 38720 | 29th January 2026 | 14:30:42 UTC | remus | ascent | Paul Pritchard's ascent of The Bog of the Eternal Stench | climb_id | |
|
Before
None
After
6965
|
|||||||