remus

Badges

OG100 Contributions1,000 Contributions10,000 Contributions100,000 Contributions10 Posts100 Posts

Contributions

Posts

1 Day

125

7 Days

847

4 Weeks

7364

All Time

182730

Current Streak

149

Longest Streak

181

Contributions Map

Contributions by Country

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

Recent Contributions

Date Time User Type Name Attribute
38781 29th January 2026 13:12:16 UTC remus climb Wizard Ridge ukc_url
Before
None
After
https://www.ukclimbing.com/logbook/crags/burbage_south_quarries-1310/wizzard_ridge-148964
38782 29th January 2026 13:12:16 UTC remus climb Wizard Ridge climb_type
Before
None
After
3
38783 29th January 2026 13:07: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 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 cr.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 desc
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 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 cr.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
Diff
--- before

+++ after

@@ -56,4 +56,4 @@

order by
case when cm1.climb_id is not null then 1 else 0 end desc -- project
,g.order_on desc
- ,g2.order_on desc
+ ,g2.order_on
38784 29th January 2026 13:06:39 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 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 cr.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
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 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 cr.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 desc
Diff
--- before

+++ after

@@ -55,4 +55,5 @@


order by
case when cm1.climb_id is not null then 1 else 0 end desc -- project
- ,g.order_on desc
+ ,g.order_on desc
+ ,g2.order_on desc
38785 29th January 2026 13:04:14 UTC remus climb Meshuga notes_pretty
Before
<p>The prow at Black Rocks is one of the most impressive and uncompromising features on gritstone and for decades was regarded as a Last Great Problem. Attention in the late ‘80s and early ‘90s focused on the prow’s left arête, with climbing said to be around 8b. </p> <p>Whilst top-roping <a href="/climber/547/seb-grieve">Seb Grieve</a> on the line, <a href="/climber/475/quentin-fisher">Quentin Fisher</a> suggested trying to link to a line of better holds on the right arête. With a bit of beta refinement from <a href="/climber/2812/dave-jones">Dave Jones</a>, the line of Meshuga was unlocked and Seb made his ascent in 1997. It was perhaps the boldest route on gritstone at the time, comprising unpredictable 7c climbing, a long way above a terrible landing. [1]</p> <p>Despite its boldness, it has become one of the most repeated E9s.</p> <p>The left arête remains unclimbed. </p> <p>The name comes from the Yiddish word for Insane.</p> <h3>References</h3> <p>[1] ‘Peak Rock’, Vertebrate Publishing, 2013. </p>
After
<p>The prow at Black Rocks is one of the most impressive and uncompromising features on gritstone and for decades was regarded as a Last Great Problem. Attention in the late ‘80s and early ‘90s focused on the prow’s left arête, with climbing said to be around 8b.</p> <p>Whilst top-roping <a href="/climber/547/seb-grieve" rel="noopener noreferrer">Seb Grieve</a> on the line, <a href="/climber/475/quentin-fisher" rel="noopener noreferrer">Quentin Fisher</a> suggested trying to link to a line of better holds on the right arête. With a bit of beta refinement from <a href="/climber/2812/dave-jones" rel="noopener noreferrer">Dave Jones</a>, the line of Meshuga was unlocked and Seb made his ascent in 1997. It was perhaps the boldest route on gritstone at the time, comprising unpredictable 7c climbing, a long way above a terrible landing. The name comes from the Yiddish word for Insane. [1]</p> <p>Despite its boldness, it has become one of the most repeated E9s.</p> <p>The left arête remains unclimbed.</p> <blockquote> <p>Not much gear until all the hard climbing is completed (though initial pocket may take a F1.5). Instead, protection would appear to take the form of several futon mattresses and a wandering clutch of Frenchmen lashed down to prevent them from running off. The landing is possibly the worst on gritstone although Neil Gresham miraculously only got concussion when he fell off the crux slap. One other thing to think about to savour the full atmosphere is that The Promontory is a historically popular suicide spot. [2]</p> </blockquote> <h3>References</h3> <p>[1] ‘Peak Rock’, Vertebrate Publishing, 2013. </p> <p>[2] <a href="https://www.geocities.ws/readza1/climbing/gritlist/grit_e9.html" rel="noopener noreferrer">https://www.geocities.ws/readza1/climbing/gritlist/grit_e9.html</a></p>
38786 29th January 2026 13:04:14 UTC remus climb Meshuga notes
Before
The prow at Black Rocks is one of the most impressive and uncompromising features on gritstone and for decades was regarded as a Last Great Problem. Attention in the late ‘80s and early ‘90s focused on the prow’s left arête, with climbing said to be around 8b. Whilst top-roping [Seb Grieve](/climber/547/seb-grieve) on the line, [Quentin Fisher](/climber/475/quentin-fisher) suggested trying to link to a line of better holds on the right arête. With a bit of beta refinement from [Dave Jones](/climber/2812/dave-jones), the line of Meshuga was unlocked and Seb made his ascent in 1997. It was perhaps the boldest route on gritstone at the time, comprising unpredictable 7c climbing, a long way above a terrible landing. [1] Despite its boldness, it has become one of the most repeated E9s. The left arête remains unclimbed. The name comes from the Yiddish word for Insane. ### References [1] ‘Peak Rock’, Vertebrate Publishing, 2013.
After
The prow at Black Rocks is one of the most impressive and uncompromising features on gritstone and for decades was regarded as a Last Great Problem. Attention in the late ‘80s and early ‘90s focused on the prow’s left arête, with climbing said to be around 8b. Whilst top-roping [Seb Grieve](/climber/547/seb-grieve) on the line, [Quentin Fisher](/climber/475/quentin-fisher) suggested trying to link to a line of better holds on the right arête. With a bit of beta refinement from [Dave Jones](/climber/2812/dave-jones), the line of Meshuga was unlocked and Seb made his ascent in 1997. It was perhaps the boldest route on gritstone at the time, comprising unpredictable 7c climbing, a long way above a terrible landing. The name comes from the Yiddish word for Insane. [1] Despite its boldness, it has become one of the most repeated E9s. The left arête remains unclimbed. > Not much gear until all the hard climbing is completed (though initial pocket may take a F1.5). Instead, protection would appear to take the form of several futon mattresses and a wandering clutch of Frenchmen lashed down to prevent them from running off. The landing is possibly the worst on gritstone although Neil Gresham miraculously only got concussion when he fell off the crux slap. One other thing to think about to savour the full atmosphere is that The Promontory is a historically popular suicide spot. [2] ### References [1] ‘Peak Rock’, Vertebrate Publishing, 2013. [2] [https://www.geocities.ws/readza1/climbing/gritlist/grit_e9.html](https://www.geocities.ws/readza1/climbing/gritlist/grit_e9.html)
Diff
--- before

+++ after

@@ -1,13 +1,15 @@

-The prow at Black Rocks is one of the most impressive and uncompromising features on gritstone and for decades was regarded as a Last Great Problem. Attention in the late ‘80s and early ‘90s focused on the prow’s left arête, with climbing said to be around 8b.
+The prow at Black Rocks is one of the most impressive and uncompromising features on gritstone and for decades was regarded as a Last Great Problem. Attention in the late ‘80s and early ‘90s focused on the prow’s left arête, with climbing said to be around 8b.

-Whilst top-roping [Seb Grieve](/climber/547/seb-grieve) on the line, [Quentin Fisher](/climber/475/quentin-fisher) suggested trying to link to a line of better holds on the right arête. With a bit of beta refinement from [Dave Jones](/climber/2812/dave-jones), the line of Meshuga was unlocked and Seb made his ascent in 1997. It was perhaps the boldest route on gritstone at the time, comprising unpredictable 7c climbing, a long way above a terrible landing. [1]
+Whilst top-roping [Seb Grieve](/climber/547/seb-grieve) on the line, [Quentin Fisher](/climber/475/quentin-fisher) suggested trying to link to a line of better holds on the right arête. With a bit of beta refinement from [Dave Jones](/climber/2812/dave-jones), the line of Meshuga was unlocked and Seb made his ascent in 1997. It was perhaps the boldest route on gritstone at the time, comprising unpredictable 7c climbing, a long way above a terrible landing. The name comes from the Yiddish word for Insane. [1]

Despite its boldness, it has become one of the most repeated E9s.

-The left arête remains unclimbed.
+The left arête remains unclimbed.

-The name comes from the Yiddish word for Insane.
+> Not much gear until all the hard climbing is completed (though initial pocket may take a F1.5). Instead, protection would appear to take the form of several futon mattresses and a wandering clutch of Frenchmen lashed down to prevent them from running off. The landing is possibly the worst on gritstone although Neil Gresham miraculously only got concussion when he fell off the crux slap. One other thing to think about to savour the full atmosphere is that The Promontory is a historically popular suicide spot. [2]

### References

-[1] ‘Peak Rock’, Vertebrate Publishing, 2013.
+[1] ‘Peak Rock’, Vertebrate Publishing, 2013.
+
+[2] [https://www.geocities.ws/readza1/climbing/gritlist/grit_e9.html](https://www.geocities.ws/readza1/climbing/gritlist/grit_e9.html)
38787 29th January 2026 13:01:52 UTC remus climb Born Slippy notes_pretty
Before
<p>Generally considered to be a little too close <a href="/climb/644/knockin'-on-heaven's-door" rel="noopener noreferrer">Knockin' on Heaven's Door</a> to be considered an independent line but recorded here for posterity.</p> <p>The intent was to climb <a href="/climb/644/knockin'-on-heaven's-door" rel="noopener noreferrer">Knockin' on Heaven's Door</a> without the peg, instead doing a little traverse and placing a small cam.</p>
After
<p>Generally considered to be a little too close <a href="/climb/644/knockin'-on-heaven's-door" rel="noopener noreferrer">Knockin' on Heaven's Door</a> to be an independent line but recorded here for posterity.</p> <p>The intent was to climb <a href="/climb/644/knockin'-on-heaven's-door" rel="noopener noreferrer">Knockin' on Heaven's Door</a> without the peg, instead doing a little traverse and placing a small cam.</p>
38788 29th January 2026 13:01:52 UTC remus climb Born Slippy notes
Before
Generally considered to be a little too close [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) to be considered an independent line but recorded here for posterity. The intent was to climb [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) without the peg, instead doing a little traverse and placing a small cam.
After
Generally considered to be a little too close [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) to be an independent line but recorded here for posterity. The intent was to climb [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) without the peg, instead doing a little traverse and placing a small cam.
Diff
--- before

+++ after

@@ -1,3 +1,3 @@

-Generally considered to be a little too close [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) to be considered an independent line but recorded here for posterity.
+Generally considered to be a little too close [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) to be an independent line but recorded here for posterity.

The intent was to climb [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) without the peg, instead doing a little traverse and placing a small cam.
38789 29th January 2026 13:00:04 UTC remus climb Samson Alternate Grade
Before
None
After
62
38790 29th January 2026 12:59:07 UTC remus climb Knockin' on Heaven's Door Alternate Grade
Before
None
After
9
38791 29th January 2026 12:58:49 UTC remus climb Born Slippy grade
Before
E9
After
E8
38792 29th January 2026 12:58:49 UTC remus climb Born Slippy grade_id
Before
62
After
61
38793 29th January 2026 12:58:41 UTC remus climb Born Slippy Alternate Grade
Before
None
After
9
38794 29th January 2026 12:58:36 UTC remus climb Born Slippy notes_pretty
Before
<p>Generally considered to be a little too close <a href="/climb/644/knockin'-on-heaven's-door" rel="noopener noreferrer">Knockin' on Heaven's Door</a> to be considered an independent line but recorded here for posterity.</p>
After
<p>Generally considered to be a little too close <a href="/climb/644/knockin'-on-heaven's-door" rel="noopener noreferrer">Knockin' on Heaven's Door</a> to be considered an independent line but recorded here for posterity.</p> <p>The intent was to climb <a href="/climb/644/knockin'-on-heaven's-door" rel="noopener noreferrer">Knockin' on Heaven's Door</a> without the peg, instead doing a little traverse and placing a small cam.</p>
38795 29th January 2026 12:58:36 UTC remus climb Born Slippy notes
Before
Generally considered to be a little too close [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) to be considered an independent line but recorded here for posterity.
After
Generally considered to be a little too close [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) to be considered an independent line but recorded here for posterity. The intent was to climb [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) without the peg, instead doing a little traverse and placing a small cam.
Diff
--- before

+++ after

@@ -1 +1,3 @@

-Generally considered to be a little too close [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) to be considered an independent line but recorded here for posterity.
+Generally considered to be a little too close [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) to be considered an independent line but recorded here for posterity.
+
+The intent was to climb [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) without the peg, instead doing a little traverse and placing a small cam.
38796 29th January 2026 12:53:53 UTC remus climb Born Slippy notes_pretty
Before
<p>Generally considered to be a little too close <a href="/climb/644/knockin'-on-heaven's-door">Knockin' on Heaven's Door</a> to be considered an independent line.</p>
After
<p>Generally considered to be a little too close <a href="/climb/644/knockin'-on-heaven's-door" rel="noopener noreferrer">Knockin' on Heaven's Door</a> to be considered an independent line but recorded here for posterity.</p>
38797 29th January 2026 12:53:53 UTC remus climb Born Slippy notes
Before
Generally considered to be a little too close [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) to be considered an independent line.
After
Generally considered to be a little too close [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) to be considered an independent line but recorded here for posterity.
Diff
--- before

+++ after

@@ -1 +1 @@

-Generally considered to be a little too close [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) to be considered an independent line.
+Generally considered to be a little too close [Knockin' on Heaven's Door](/climb/644/knockin'-on-heaven's-door) to be considered an independent line but recorded here for posterity.
38798 29th January 2026 12:52:47 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 ,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 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 where cr.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
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 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 cr.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
Diff
--- before

+++ after

@@ -15,6 +15,12 @@

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
@@ -34,6 +40,13 @@

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
cr.rock_type_id = 6 -- grit
38799 29th January 2026 12:47:59 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" ,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 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 where cr.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
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 ,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 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 where cr.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
Diff
--- before

+++ after

@@ -10,6 +10,11 @@

else
null
end as "Alternative Grade"
+ ,case
+ when cm1.value is not null then '✓'
+ else
+ null
+ end as Project
,c.notes_pretty as Notes

from
38800 29th January 2026 12:46:16 UTC remus list The Grit List V2 list_type_name
Before
None
After
Trad Climbing

< Page 1940 >