remus

Badges

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

Contributions

Posts

1 Day

222

7 Days

25343

4 Weeks

27603

All Time

219553

Current Streak

210

Longest Streak

210

Contributions Map

Contributions by Country

Country Contributions Between Climbers Crags Summits Climbs Ascents
1 United Kingdom 59554 14th November 2023 – 16th October 2026 1792 704 0 3085 4932
2 USA 25200 14th November 2023 – 16th October 2026 814 181 2 851 2379
3 France 12361 14th November 2023 – 14th October 2026 272 126 1 552 1039
4 Switzerland 9576 14th November 2023 – 16th October 2026 79 43 1 309 1115
5 Spain 8644 15th November 2023 – 16th October 2026 89 75 0 456 913
6 Italy 4690 16th November 2023 – 15th October 2026 119 59 0 184 362
7 South Africa 3684 16th November 2023 – 16th October 2026 12 35 0 128 401
8 Canada 3287 16th November 2023 – 13th October 2026 67 21 3 109 274
9 Germany 3178 16th November 2023 – 13th October 2026 120 48 0 103 224
10 Austria 2635 16th November 2023 – 16th October 2026 75 26 0 105 226

Recent Contributions

Date Time User Type Name Attribute
1 17th October 2026 07:37:12 UTC remus ascent Shauna Coxsey's ascent of Pilgrim notes_pretty
Before
<p>Shauna was 18 at the time. As of 2020, the youngest British woman to climb 8A+? </p> <p>Probably also the first british woman to climb 8A+? <a href="/climber/338">Claire Murphy</a> climbed some which were later downgraded.</p> <h3>References</h3> <p>[1] <a href="https://www.ukclimbing.com/news/2011/06/shauna_coxsey_climbs_pilgrim_-_v12-62564">https://www.ukclimbing.com/news/2011/06/shauna_coxsey_climbs_pilgrim_-_v12-62564</a></p> <p>[2] <a href="https://www.youtube.com/watch?v=h4D6SioHNuE">https://www.youtube.com/watch?v=h4D6SioHNuE</a></p>
After
<p>Shauna was 18 at the time. As of 2020, likely youngest British woman to climb 8A+. Likely also the first British woman to climb 8A+. <a href="/climber/338" rel="noopener noreferrer">Claire Murphy</a> climbed some which were later downgraded.</p> <h3>References</h3> <p>[1] <a href="https://www.ukclimbing.com/news/2011/06/shauna_coxsey_climbs_pilgrim_-_v12-62564" rel="noopener noreferrer">https://www.ukclimbing.com/news/2011/06/shauna_coxsey_climbs_pilgrim_-_v12-62564</a></p> <p>[2] <a href="https://www.youtube.com/watch?v=h4D6SioHNuE" rel="noopener noreferrer">https://www.youtube.com/watch?v=h4D6SioHNuE</a></p>
2 17th October 2026 07:37:12 UTC remus ascent Shauna Coxsey's ascent of Pilgrim notes
Before
Shauna was 18 at the time. As of 2020, the youngest British woman to climb 8A+? Probably also the first british woman to climb 8A+? [Claire Murphy](/climber/338) climbed some which were later downgraded. ### References [1] [https://www.ukclimbing.com/news/2011/06/shauna_coxsey_climbs_pilgrim_-_v12-62564](https://www.ukclimbing.com/news/2011/06/shauna_coxsey_climbs_pilgrim_-_v12-62564) [2] [https://www.youtube.com/watch?v=h4D6SioHNuE](https://www.youtube.com/watch?v=h4D6SioHNuE)
After
Shauna was 18 at the time. As of 2020, likely youngest British woman to climb 8A+. Likely also the first British woman to climb 8A+. [Claire Murphy](/climber/338) climbed some which were later downgraded. ### References [1] [https://www.ukclimbing.com/news/2011/06/shauna_coxsey_climbs_pilgrim_-_v12-62564](https://www.ukclimbing.com/news/2011/06/shauna_coxsey_climbs_pilgrim_-_v12-62564) [2] [https://www.youtube.com/watch?v=h4D6SioHNuE](https://www.youtube.com/watch?v=h4D6SioHNuE)
Diff
--- before

+++ after

@@ -1,6 +1,4 @@

-Shauna was 18 at the time. As of 2020, the youngest British woman to climb 8A+?
-
-Probably also the first british woman to climb 8A+? [Claire Murphy](/climber/338) climbed some which were later downgraded.
+Shauna was 18 at the time. As of 2020, likely youngest British woman to climb 8A+. Likely also the first British woman to climb 8A+. [Claire Murphy](/climber/338) climbed some which were later downgraded.

### References
3 17th October 2026 06:39:37 UTC remus list Hardest Trad Routes by Country list_definition
Before
select coalesce( nullif(split_part(cr.location_breadcrumb, ' / ', 1), '') ,co.name ) as "Country" ,count(*) as "Count" ,string_agg( '<a href="' || c.url || '">' || c.climb_name || '</a> (' || case when c.grade_approx then '~' else '' end || g.grade || ')' ,', ' order by g.order_on desc, c.climb_name ) as "Climbs" from climbs c inner join grades g on c.grade_id = g.grade_id left join crags cr on c.crag_id = cr.crag_id left join crag_meta cmco on cr.crag_id = cmco.crag_id and cmco.crag_meta_key_id = 6 left join countries co on cmco.value::int = co.country_id left join climb_meta cmp on c.climb_id = cmp.climb_id and cmp.climb_meta_key_id = 20 where c.deleted_on is null and c.climb_type_id = 3 and g.order_on >= 63.0 and cmp.value is null and coalesce( nullif(split_part(cr.location_breadcrumb, ' / ', 1), '') ,co.name ) is not null group by coalesce( nullif(split_part(cr.location_breadcrumb, ' / ', 1), '') ,co.name ) order by count(*) desc ,1
After
select coalesce( nullif(split_part(cr.location_breadcrumb, ' / ', 1), '') ,co.name ) as "Country" ,count(*) as "Count" ,string_agg( '<a href="' || c.url || '">' || c.climb_name || '</a> (' || case when exists ( select 1 from climb_meta cmag where cmag.climb_id = c.climb_id and cmag.climb_meta_key_id = 42 -- Approximate Grade ) then '~' else '' end || g.grade || ')' ,', ' order by g.order_on desc, c.climb_name ) as "Climbs" from climbs c inner join grades g on c.grade_id = g.grade_id left join crags cr on c.crag_id = cr.crag_id left join crag_meta cmco on cr.crag_id = cmco.crag_id and cmco.crag_meta_key_id = 6 left join countries co on cmco.value::int = co.country_id left join climb_meta cmp on c.climb_id = cmp.climb_id and cmp.climb_meta_key_id = 20 where c.deleted_on is null and c.climb_type_id = 3 and g.order_on >= 63.0 and cmp.value is null and coalesce( nullif(split_part(cr.location_breadcrumb, ' / ', 1), '') ,co.name ) is not null group by coalesce( nullif(split_part(cr.location_breadcrumb, ' / ', 1), '') ,co.name ) order by count(*) desc ,1
Diff
--- before

+++ after

@@ -6,7 +6,11 @@

,count(*) as "Count"
,string_agg(
'<a href="' || c.url || '">' || c.climb_name || '</a> ('
- || case when c.grade_approx then '~' else '' end
+ || case when exists (
+ select 1 from climb_meta cmag
+ where cmag.climb_id = c.climb_id
+ and cmag.climb_meta_key_id = 42 -- Approximate Grade
+ ) then '~' else '' end
|| g.grade || ')'
,', '
order by g.order_on desc, c.climb_name
@@ -46,4 +50,3 @@

order by
count(*) desc
,1
-
4 17th October 2026 06:39:34 UTC remus list The Hardest Trad Routes in the World (By Physical Difficulty) list_definition
Before
select c.climb_uuid as row_uuid ,'<a href="/climb/' || c.climb_id::varchar || '">' || c.climb_name || '</a>' as Climb ,g2.grade || ' (' || g.grade || ')' as "Grade" ,string_agg('<a href="/climber/' || cl.climber_id::varchar || '">' || cl.climber_name || '</a>', ', ' order by cl.climber_name) as "First Ascent" ,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as Date from climbs c inner join grades g on c.grade_id = g.grade_id inner join climb_meta cm on c.climb_id = cm.climb_id and cm.climb_meta_key_id = 9 inner join grades g2 on g2.grade_id = cm.value::int and g2.climb_type_id = 1 left join ascents a on a.climb_id = c.climb_id and a.fa = true and a.deleted_on is null left join climbers cl on a.climber_id = cl.climber_id left join climb_meta cm2 on cm2.climb_id = c.climb_id and cm2.climb_meta_key_id = 11 -- pitches left join climb_meta cm3 on cm3.climb_id = c.climb_id and cm3.climb_meta_key_id = 20 -- project where c.deleted_on is null and c.climb_type = 3 and g2.order_on >= 15 and c.grade_approx = false and cm2.value is null and cm3.value is null group by c.climb_uuid ,c.climb_id ,c.climb_name ,g.grade ,g.order_on ,a.ascent_dt_start ,a.ascent_dt_end ,g2.grade ,g2.order_on order by g2.order_on desc ,g.order_on desc ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
After
select c.climb_uuid as row_uuid ,'<a href="/climb/' || c.climb_id::varchar || '">' || c.climb_name || '</a>' as Climb ,g2.grade || ' (' || g.grade || ')' as "Grade" ,string_agg('<a href="/climber/' || cl.climber_id::varchar || '">' || cl.climber_name || '</a>', ', ' order by cl.climber_name) as "First Ascent" ,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as Date from climbs c inner join grades g on c.grade_id = g.grade_id inner join climb_meta cm on c.climb_id = cm.climb_id and cm.climb_meta_key_id = 9 inner join grades g2 on g2.grade_id = cm.value::int and g2.climb_type_id = 1 left join ascents a on a.climb_id = c.climb_id and a.fa = true and a.deleted_on is null left join climbers cl on a.climber_id = cl.climber_id left join climb_meta cm2 on cm2.climb_id = c.climb_id and cm2.climb_meta_key_id = 11 -- pitches left join climb_meta cm3 on cm3.climb_id = c.climb_id and cm3.climb_meta_key_id = 20 -- project where c.deleted_on is null and c.climb_type = 3 and g2.order_on >= 15 and not exists ( select 1 from climb_meta cmag where cmag.climb_id = c.climb_id and cmag.climb_meta_key_id = 42 -- Approximate Grade ) and cm2.value is null and cm3.value is null group by c.climb_uuid ,c.climb_id ,c.climb_name ,g.grade ,g.order_on ,a.ascent_dt_start ,a.ascent_dt_end ,g2.grade ,g2.order_on order by g2.order_on desc ,g.order_on desc ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
Diff
--- before

+++ after

@@ -1,54 +1,57 @@

-select
- c.climb_uuid as row_uuid
- ,'<a href="/climb/' || c.climb_id::varchar || '">' || c.climb_name || '</a>' as Climb
- ,g2.grade || ' (' || g.grade || ')' as "Grade"
- ,string_agg('<a href="/climber/' || cl.climber_id::varchar || '">' || cl.climber_name || '</a>', ', ' order by cl.climber_name) as "First Ascent"
-,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as Date
-
-from
- climbs c
- inner join grades g
- on c.grade_id = g.grade_id
- inner join climb_meta cm
- on c.climb_id = cm.climb_id
- and cm.climb_meta_key_id = 9
- inner join grades g2
- on g2.grade_id = cm.value::int
- and g2.climb_type_id = 1
- left join ascents a
- on a.climb_id = c.climb_id
- and a.fa = true
- and a.deleted_on is null
- left join climbers cl
- on a.climber_id = cl.climber_id
- left join climb_meta cm2
- on cm2.climb_id = c.climb_id
- and cm2.climb_meta_key_id = 11 -- pitches
- left join climb_meta cm3
- on cm3.climb_id = c.climb_id
- and cm3.climb_meta_key_id = 20 -- project
-
-where
- c.deleted_on is null
- and c.climb_type = 3
- and g2.order_on >= 15
- and c.grade_approx = false
- and cm2.value is null
- and cm3.value is null
-
-group by
- c.climb_uuid
- ,c.climb_id
- ,c.climb_name
- ,g.grade
- ,g.order_on
- ,a.ascent_dt_start
- ,a.ascent_dt_end
- ,g2.grade
- ,g2.order_on
-
-order by
- g2.order_on desc
- ,g.order_on desc
- ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
+select
+ c.climb_uuid as row_uuid
+ ,'<a href="/climb/' || c.climb_id::varchar || '">' || c.climb_name || '</a>' as Climb
+ ,g2.grade || ' (' || g.grade || ')' as "Grade"
+ ,string_agg('<a href="/climber/' || cl.climber_id::varchar || '">' || cl.climber_name || '</a>', ', ' order by cl.climber_name) as "First Ascent"
+,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as Date

+from
+ climbs c
+ inner join grades g
+ on c.grade_id = g.grade_id
+ inner join climb_meta cm
+ on c.climb_id = cm.climb_id
+ and cm.climb_meta_key_id = 9
+ inner join grades g2
+ on g2.grade_id = cm.value::int
+ and g2.climb_type_id = 1
+ left join ascents a
+ on a.climb_id = c.climb_id
+ and a.fa = true
+ and a.deleted_on is null
+ left join climbers cl
+ on a.climber_id = cl.climber_id
+ left join climb_meta cm2
+ on cm2.climb_id = c.climb_id
+ and cm2.climb_meta_key_id = 11 -- pitches
+ left join climb_meta cm3
+ on cm3.climb_id = c.climb_id
+ and cm3.climb_meta_key_id = 20 -- project
+
+where
+ c.deleted_on is null
+ and c.climb_type = 3
+ and g2.order_on >= 15
+ and not exists (
+ select 1 from climb_meta cmag
+ where cmag.climb_id = c.climb_id
+ and cmag.climb_meta_key_id = 42 -- Approximate Grade
+ )
+ and cm2.value is null
+ and cm3.value is null
+
+group by
+ c.climb_uuid
+ ,c.climb_id
+ ,c.climb_name
+ ,g.grade
+ ,g.order_on
+ ,a.ascent_dt_start
+ ,a.ascent_dt_end
+ ,g2.grade
+ ,g2.order_on
+
+order by
+ g2.order_on desc
+ ,g.order_on desc
+ ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
5 17th October 2026 06:39:32 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 '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.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 exists ( select 1 from climb_meta cmag where cmag.climb_id = c.climb_id and cmag.climb_meta_key_id = 42 -- Approximate Grade ) 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.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

+++ after

@@ -2,7 +2,11 @@

'<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)'
+ when exists (
+ select 1 from climb_meta cmag
+ where cmag.climb_id = c.climb_id
+ and cmag.climb_meta_key_id = 42 -- Approximate Grade
+ ) then g.grade || ' (approx)'
else g.grade
end as "Grade"
,case
@@ -55,4 +59,3 @@

case when cm1.climb_id is not null then 1 else 0 end desc -- project
,g.order_on desc
,g2.order_on
-
6 17th October 2026 06:39:29 UTC remus list The Hardest Trad Routes in the World list_definition
Before
select c.climb_uuid as row_uuid ,'<a href="/climb/' || c.climb_id::varchar || '">' || c.climb_name || '</a>' as Climb ,g.grade as "Grade" ,string_agg('<a href="/climber/' || cl.climber_id::varchar || '">' || cl.climber_name || '</a>', ', ' order by cl.climber_name) as "First Ascent" ,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as Date from climbs c inner join grades g on c.grade_id = g.grade_id left join ascents a on a.climb_id = c.climb_id and a.fa = true and a.deleted_on is null left join climbers cl on a.climber_id = cl.climber_id left join climb_meta cm on cm.climb_id = c.climb_id and cm.climb_meta_key_id = 11 -- pitches where c.deleted_on is null and c.climb_type = 3 and g.order_on >= 63 and c.grade_approx = false and cm.value is null and not exists ( select 1 from climb_meta cm2 where cm2.climb_id = c.climb_id and cm2.climb_meta_key_id = 20 -- Project ) group by c.climb_uuid ,c.climb_id ,c.climb_name ,g.grade ,g.order_on ,a.ascent_dt_start ,a.ascent_dt_end order by g.order_on desc ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
After
select c.climb_uuid as row_uuid ,'<a href="/climb/' || c.climb_id::varchar || '">' || c.climb_name || '</a>' as Climb ,g.grade as "Grade" ,string_agg('<a href="/climber/' || cl.climber_id::varchar || '">' || cl.climber_name || '</a>', ', ' order by cl.climber_name) as "First Ascent" ,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as Date from climbs c inner join grades g on c.grade_id = g.grade_id left join ascents a on a.climb_id = c.climb_id and a.fa = true and a.deleted_on is null left join climbers cl on a.climber_id = cl.climber_id left join climb_meta cm on cm.climb_id = c.climb_id and cm.climb_meta_key_id = 11 -- pitches where c.deleted_on is null and c.climb_type = 3 and g.order_on >= 63 and not exists ( select 1 from climb_meta cmag where cmag.climb_id = c.climb_id and cmag.climb_meta_key_id = 42 -- Approximate Grade ) and cm.value is null and not exists ( select 1 from climb_meta cm2 where cm2.climb_id = c.climb_id and cm2.climb_meta_key_id = 20 -- Project ) group by c.climb_uuid ,c.climb_id ,c.climb_name ,g.grade ,g.order_on ,a.ascent_dt_start ,a.ascent_dt_end order by g.order_on desc ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
Diff
--- before

+++ after

@@ -1,46 +1,50 @@

-select
- c.climb_uuid as row_uuid
- ,'<a href="/climb/' || c.climb_id::varchar || '">' || c.climb_name || '</a>' as Climb
- ,g.grade as "Grade"
- ,string_agg('<a href="/climber/' || cl.climber_id::varchar || '">' || cl.climber_name || '</a>', ', ' order by cl.climber_name) as "First Ascent"
-,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as Date
-
- from
- climbs c
- inner join grades g
- on c.grade_id = g.grade_id
- left join ascents a
- on a.climb_id = c.climb_id
- and a.fa = true
- and a.deleted_on is null
- left join climbers cl
- on a.climber_id = cl.climber_id
- left join climb_meta cm
- on cm.climb_id = c.climb_id
- and cm.climb_meta_key_id = 11 -- pitches
-
- where
- c.deleted_on is null
- and c.climb_type = 3
- and g.order_on >= 63
- and c.grade_approx = false
- and cm.value is null
- and not exists (
- select 1
- from climb_meta cm2
- where cm2.climb_id = c.climb_id
- and cm2.climb_meta_key_id = 20 -- Project
- )
-
- group by
- c.climb_uuid
- ,c.climb_id
- ,c.climb_name
- ,g.grade
- ,g.order_on
- ,a.ascent_dt_start
- ,a.ascent_dt_end
-
- order by
- g.order_on desc
+select
+ c.climb_uuid as row_uuid
+ ,'<a href="/climb/' || c.climb_id::varchar || '">' || c.climb_name || '</a>' as Climb
+ ,g.grade as "Grade"
+ ,string_agg('<a href="/climber/' || cl.climber_id::varchar || '">' || cl.climber_name || '</a>', ', ' order by cl.climber_name) as "First Ascent"
+,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as Date
+
+ from
+ climbs c
+ inner join grades g
+ on c.grade_id = g.grade_id
+ left join ascents a
+ on a.climb_id = c.climb_id
+ and a.fa = true
+ and a.deleted_on is null
+ left join climbers cl
+ on a.climber_id = cl.climber_id
+ left join climb_meta cm
+ on cm.climb_id = c.climb_id
+ and cm.climb_meta_key_id = 11 -- pitches
+
+ where
+ c.deleted_on is null
+ and c.climb_type = 3
+ and g.order_on >= 63
+ and not exists (
+ select 1 from climb_meta cmag
+ where cmag.climb_id = c.climb_id
+ and cmag.climb_meta_key_id = 42 -- Approximate Grade
+ )
+ and cm.value is null
+ and not exists (
+ select 1
+ from climb_meta cm2
+ where cm2.climb_id = c.climb_id
+ and cm2.climb_meta_key_id = 20 -- Project
+ )
+
+ group by
+ c.climb_uuid
+ ,c.climb_id
+ ,c.climb_name
+ ,g.grade
+ ,g.order_on
+ ,a.ascent_dt_start
+ ,a.ascent_dt_end
+
+ order by
+ g.order_on desc
,order_dt(a.ascent_dt_start, a.ascent_dt_end)
7 16th October 2026 21:46:47 UTC remus climb The Finnish Line Website
Before
None
After
https://thetopo.com/crags/the-coop-rocklands/routes/the-finnish-line-223576
8 16th October 2026 21:46:30 UTC remus climb The Finnish Line Website
Before
None
After
https://www.thecrag.com/en/climbing/south-africa/rocklands/route/2755082004
9 16th October 2026 21:42:41 UTC remus media https://www.instagram.com/reel/DejzgZVBrg9/ url
Before
None
After
https://www.instagram.com/reel/DejzgZVBrg9/
10 16th October 2026 21:42:41 UTC remus media https://www.instagram.com/reel/DejzgZVBrg9/ missing_right_to_reproduce
Before
None
After
false
11 16th October 2026 21:42:41 UTC remus ascent Rémi Duboz's ascent of The Finnish Line notes_pretty
Before
<h3>References</h3> <p>[1] <a href="https://www.instagram.com/p/DdT_inBjG15/" rel="noopener noreferrer">https://www.instagram.com/p/DdT_inBjG15/</a></p> <p>[2] <a href="https://fanatic-climbing.com/remi-duboz-empoche-the-finnish-line-the-finnish-line-repeated-by-remi-duboz/" rel="noopener noreferrer">https://fanatic-climbing.com/remi-duboz-empoche-the-finnish-line-the-finnish-line-repeated-by-remi-duboz/</a></p>
After
<h3>References</h3> <p>[1] <a href="https://www.instagram.com/p/DdT_inBjG15/" rel="noopener noreferrer">https://www.instagram.com/p/DdT_inBjG15/</a></p> <p>[2] <a href="https://fanatic-climbing.com/remi-duboz-empoche-the-finnish-line-the-finnish-line-repeated-by-remi-duboz/" rel="noopener noreferrer">https://fanatic-climbing.com/remi-duboz-empoche-the-finnish-line-the-finnish-line-repeated-by-remi-duboz/</a></p> <p>[3] <a href="https://www.instagram.com/reel/DejzgZVBrg9/" rel="noopener noreferrer">https://www.instagram.com/reel/DejzgZVBrg9/</a></p>
12 16th October 2026 21:42:41 UTC remus ascent Rémi Duboz's ascent of The Finnish Line notes
Before
### References [1] [https://www.instagram.com/p/DdT_inBjG15/](https://www.instagram.com/p/DdT_inBjG15/) [2] [https://fanatic-climbing.com/remi-duboz-empoche-the-finnish-line-the-finnish-line-repeated-by-remi-duboz/](https://fanatic-climbing.com/remi-duboz-empoche-the-finnish-line-the-finnish-line-repeated-by-remi-duboz/)
After
### References [1] [https://www.instagram.com/p/DdT_inBjG15/](https://www.instagram.com/p/DdT_inBjG15/) [2] [https://fanatic-climbing.com/remi-duboz-empoche-the-finnish-line-the-finnish-line-repeated-by-remi-duboz/](https://fanatic-climbing.com/remi-duboz-empoche-the-finnish-line-the-finnish-line-repeated-by-remi-duboz/) [3] [https://www.instagram.com/reel/DejzgZVBrg9/](https://www.instagram.com/reel/DejzgZVBrg9/)
Diff
--- before

+++ after

@@ -2,4 +2,6 @@


[1] [https://www.instagram.com/p/DdT_inBjG15/](https://www.instagram.com/p/DdT_inBjG15/)

-[2] [https://fanatic-climbing.com/remi-duboz-empoche-the-finnish-line-the-finnish-line-repeated-by-remi-duboz/](https://fanatic-climbing.com/remi-duboz-empoche-the-finnish-line-the-finnish-line-repeated-by-remi-duboz/)
+[2] [https://fanatic-climbing.com/remi-duboz-empoche-the-finnish-line-the-finnish-line-repeated-by-remi-duboz/](https://fanatic-climbing.com/remi-duboz-empoche-the-finnish-line-the-finnish-line-repeated-by-remi-duboz/)
+
+[3] [https://www.instagram.com/reel/DejzgZVBrg9/](https://www.instagram.com/reel/DejzgZVBrg9/)
13 16th October 2026 21:10:15 UTC remus group Alpine Club of Canada notes
Before
Canada's national mountaineering club, founded in Winnipeg in 1906 by Arthur Oliver Wheeler and Elizabeth Parker. Its national office is now in Canmore, Alberta. [1] [2] ### References [1] Wikipedia [https://en.wikipedia.org/wiki/Alpine_Club_of_Canada](https://en.wikipedia.org/wiki/Alpine_Club_of_Canada) [2] ACC honorary membership [https://alpineclubofcanada.ca/award/honorary-membership/](https://alpineclubofcanada.ca/award/honorary-membership/)
After
Canada's national mountaineering club, founded in Winnipeg in 1906 by [Arthur Oliver Wheeler](/climber/4612/arthur-oliver-wheeler) and [Elizabeth Parker](/climber/4613/elizabeth-parker). Its national office is now in Canmore, Alberta. [1, 2] ### References [1] Wikipedia [https://en.wikipedia.org/wiki/Alpine_Club_of_Canada](https://en.wikipedia.org/wiki/Alpine_Club_of_Canada) [2] ACC honorary membership [https://alpineclubofcanada.ca/award/honorary-membership/](https://alpineclubofcanada.ca/award/honorary-membership/)
Diff
--- before

+++ after

@@ -1,7 +1,7 @@

-Canada's national mountaineering club, founded in Winnipeg in 1906 by Arthur Oliver Wheeler and Elizabeth Parker. Its national office is now in Canmore, Alberta. [1] [2]
-
-### References
-
-[1] Wikipedia [https://en.wikipedia.org/wiki/Alpine_Club_of_Canada](https://en.wikipedia.org/wiki/Alpine_Club_of_Canada)
-
+Canada's national mountaineering club, founded in Winnipeg in 1906 by [Arthur Oliver Wheeler](/climber/4612/arthur-oliver-wheeler) and [Elizabeth Parker](/climber/4613/elizabeth-parker). Its national office is now in Canmore, Alberta. [1, 2]
+
+### References
+
+[1] Wikipedia [https://en.wikipedia.org/wiki/Alpine_Club_of_Canada](https://en.wikipedia.org/wiki/Alpine_Club_of_Canada)
+
[2] ACC honorary membership [https://alpineclubofcanada.ca/award/honorary-membership/](https://alpineclubofcanada.ca/award/honorary-membership/)
14 16th October 2026 21:10:15 UTC remus group Alpine Club of Canada notes_pretty
Before
<p>Canada's national mountaineering club, founded in Winnipeg in 1906 by Arthur Oliver Wheeler and Elizabeth Parker. Its national office is now in Canmore, Alberta. [1] [2]</p> <h3>References</h3> <p>[1] Wikipedia <a href="https://en.wikipedia.org/wiki/Alpine_Club_of_Canada" rel="noopener noreferrer">https://en.wikipedia.org/wiki/Alpine_Club_of_Canada</a></p> <p>[2] ACC honorary membership <a href="https://alpineclubofcanada.ca/award/honorary-membership/" rel="noopener noreferrer">https://alpineclubofcanada.ca/award/honorary-membership/</a></p>
After
<p>Canada's national mountaineering club, founded in Winnipeg in 1906 by <a href="/climber/4612/arthur-oliver-wheeler" rel="noopener noreferrer">Arthur Oliver Wheeler</a> and <a href="/climber/4613/elizabeth-parker" rel="noopener noreferrer">Elizabeth Parker</a>. Its national office is now in Canmore, Alberta. [1, 2]</p> <h3>References</h3> <p>[1] Wikipedia <a href="https://en.wikipedia.org/wiki/Alpine_Club_of_Canada" rel="noopener noreferrer">https://en.wikipedia.org/wiki/Alpine_Club_of_Canada</a></p> <p>[2] ACC honorary membership <a href="https://alpineclubofcanada.ca/award/honorary-membership/" rel="noopener noreferrer">https://alpineclubofcanada.ca/award/honorary-membership/</a></p>
15 16th October 2026 21:03:14 UTC remus climb Spots of Time notes
Before
The first 9A in Britain. Sitting on the slopes of Helvellyn, the name is a reference to a poem by Lakeland poet William Wordsworth: > There are in our existence spots of time, > That with distinct pre-eminence retain > A renovating virtue, whence, depressed, > By false opinion and contentious thought, > Or aught of heavier or more deadly weight, > In trivial occupations, and the round > Of ordinary intercourse, our minds > Are nourished and invisibly repaired; > A virtue, by which pleasure is enhanced, > That penetrates, enables us to mount > When high, more high, and lifts us up when fallen [3] ### References [1] [https://www.youtube.com/watch?v=GHE6FsicWVk](https://www.youtube.com/watch?v=GHE6FsicWVk) [2] [https://www.flickr.com/photos/beastmaker/53188941620/in/photostream/](https://www.flickr.com/photos/beastmaker/53188941620/in/photostream/) [3] [https://users.scc.spokane.edu/JRoth/Courses/World Masterpieces/POETRYCOMPENDIUM/spots_of_time.htm](https://users.scc.spokane.edu/JRoth/Courses/World%20Masterpieces%20272/POETRY%20COMPENDIUM/There%20are%20in%20our%20existence%20spots%20of%20time.htm)
After
The first 9A in Britain. Sitting on the slopes of Helvellyn, the name is a reference to a poem by the Lakeland poet William Wordsworth: > There are in our existence spots of time, > That with distinct pre-eminence retain > A renovating virtue, whence, depressed, > By false opinion and contentious thought, > Or aught of heavier or more deadly weight, > In trivial occupations, and the round > Of ordinary intercourse, our minds > Are nourished and invisibly repaired; > A virtue, by which pleasure is enhanced, > That penetrates, enables us to mount > When high, more high, and lifts us up when fallen [3] ### References [1] [https://www.youtube.com/watch?v=GHE6FsicWVk](https://www.youtube.com/watch?v=GHE6FsicWVk) [2] [https://www.flickr.com/photos/beastmaker/53188941620/in/photostream/](https://www.flickr.com/photos/beastmaker/53188941620/in/photostream/) [3] [https://users.scc.spokane.edu/JRoth/Courses/World Masterpieces/POETRYCOMPENDIUM/spots_of_time.htm](https://users.scc.spokane.edu/JRoth/Courses/World%20Masterpieces%20272/POETRY%20COMPENDIUM/There%20are%20in%20our%20existence%20spots%20of%20time.htm)
Diff
--- before

+++ after

@@ -1,4 +1,4 @@

-The first 9A in Britain. Sitting on the slopes of Helvellyn, the name is a reference to a poem by Lakeland poet William Wordsworth:
+The first 9A in Britain. Sitting on the slopes of Helvellyn, the name is a reference to a poem by the Lakeland poet William Wordsworth:

> There are in our existence spots of time,
> That with distinct pre-eminence retain
16 16th October 2026 21:03:14 UTC remus climb Spots of Time notes_pretty
Before
<p>The first 9A in Britain. Sitting on the slopes of Helvellyn, the name is a reference to a poem by Lakeland poet William Wordsworth:</p> <blockquote> <p>There are in our existence spots of time,<br> That with distinct pre-eminence retain<br> A renovating virtue, whence, depressed,<br> By false opinion and contentious thought,<br> Or aught of heavier or more deadly weight,<br> In trivial occupations, and the round<br> Of ordinary intercourse, our minds<br> Are nourished and invisibly repaired;<br> A virtue, by which pleasure is enhanced,<br> That penetrates, enables us to mount<br> When high, more high, and lifts us up when fallen [3]</p> </blockquote> <h3>References</h3> <p>[1] <a href="https://www.youtube.com/watch?v=GHE6FsicWVk" rel="noopener noreferrer">https://www.youtube.com/watch?v=GHE6FsicWVk</a></p> <p>[2] <a href="https://www.flickr.com/photos/beastmaker/53188941620/in/photostream/" rel="noopener noreferrer">https://www.flickr.com/photos/beastmaker/53188941620/in/photostream/</a></p> <p>[3] <a href="https://users.scc.spokane.edu/JRoth/Courses/World%20Masterpieces%20272/POETRY%20COMPENDIUM/There%20are%20in%20our%20existence%20spots%20of%20time.htm" rel="noopener noreferrer">https://users.scc.spokane.edu/JRoth/Courses/World Masterpieces/POETRYCOMPENDIUM/spots_of_time.htm</a></p>
After
<p>The first 9A in Britain. Sitting on the slopes of Helvellyn, the name is a reference to a poem by the Lakeland poet William Wordsworth:</p> <blockquote> <p>There are in our existence spots of time,<br> That with distinct pre-eminence retain<br> A renovating virtue, whence, depressed,<br> By false opinion and contentious thought,<br> Or aught of heavier or more deadly weight,<br> In trivial occupations, and the round<br> Of ordinary intercourse, our minds<br> Are nourished and invisibly repaired;<br> A virtue, by which pleasure is enhanced,<br> That penetrates, enables us to mount<br> When high, more high, and lifts us up when fallen [3]</p> </blockquote> <h3>References</h3> <p>[1] <a href="https://www.youtube.com/watch?v=GHE6FsicWVk" rel="noopener noreferrer">https://www.youtube.com/watch?v=GHE6FsicWVk</a></p> <p>[2] <a href="https://www.flickr.com/photos/beastmaker/53188941620/in/photostream/" rel="noopener noreferrer">https://www.flickr.com/photos/beastmaker/53188941620/in/photostream/</a></p> <p>[3] <a href="https://users.scc.spokane.edu/JRoth/Courses/World%20Masterpieces%20272/POETRY%20COMPENDIUM/There%20are%20in%20our%20existence%20spots%20of%20time.htm" rel="noopener noreferrer">https://users.scc.spokane.edu/JRoth/Courses/World Masterpieces/POETRYCOMPENDIUM/spots_of_time.htm</a></p>
17 16th October 2026 19:54:49 UTC remus climb Kelly's Overhang notes_pretty
Before
<p>Named after <a href="/climber/4729/harry-kelly" rel="noopener noreferrer">Harry Kelly</a> who is supposed to have tried the route in descent, as was common at the time, though there is not much to corroborate this.</p>
After
<p>Named after <a href="/climber/4729/harry-kelly" rel="noopener noreferrer">Harry Kelly</a> who is supposed to have tried the route in descent, as was common at the time, though there is not much to corroborate this.</p> <h3>References</h3> <p>[1] Kelly, P, Hoey, G, Barker B (2013) Peak Rock. p45 UK: vertebrate publishing</p>
18 16th October 2026 19:54:49 UTC remus climb Kelly's Overhang notes
Before
Named after [Harry Kelly](/climber/4729/harry-kelly) who is supposed to have tried the route in descent, as was common at the time, though there is not much to corroborate this.
After
Named after [Harry Kelly](/climber/4729/harry-kelly) who is supposed to have tried the route in descent, as was common at the time, though there is not much to corroborate this. ### References [1] Kelly, P, Hoey, G, Barker B (2013) Peak Rock. p45 UK: vertebrate publishing
Diff
--- before

+++ after

@@ -1 +1,5 @@

-Named after [Harry Kelly](/climber/4729/harry-kelly) who is supposed to have tried the route in descent, as was common at the time, though there is not much to corroborate this.
+Named after [Harry Kelly](/climber/4729/harry-kelly) who is supposed to have tried the route in descent, as was common at the time, though there is not much to corroborate this.
+
+### References
+
+[1] Kelly, P, Hoey, G, Barker B (2013) Peak Rock. p45 UK: vertebrate publishing
19 16th October 2026 19:54:16 UTC remus climb Kelly's Overhang notes_pretty
Before
None
After
<p>Named after <a href="/climber/4729/harry-kelly" rel="noopener noreferrer">Harry Kelly</a> who is supposed to have tried the route in descent, as was common at the time, though there is not much to corroborate this.</p>
20 16th October 2026 19:54:16 UTC remus climb Kelly's Overhang notes
Before
None
After
Named after [Harry Kelly](/climber/4729/harry-kelly) who is supposed to have tried the route in descent, as was common at the time, though there is not much to corroborate this.
Diff
--- before

+++ after

@@ -1 +1 @@

-
+Named after [Harry Kelly](/climber/4729/harry-kelly) who is supposed to have tried the route in descent, as was common at the time, though there is not much to corroborate this.

Page 1 >