Sign in

Alex Courtiol 🐘🦇🦅👨‍💻

@datazoogang.de
417 followers 67 following 64 posts

Quantitative wildlife biologist based at IZW Berlin 🇩🇪 / datazoogang.de / #wildlife #ecology #demography #conservation #evolution #rstats #linux

PostsRepliesMedia
Reposted by Alex Courtiol 🐘🦇🦅👨‍💻
ASAB @asab.org · 09/07/2026
It's official: #Behaviour2027 is happening in Vienna next summer!
03917
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 24/07/2026
@marta-mosna.bsky.social presented this week at @isbe2026.bsky.social her great work "The legacy of privilege: Social inheritance reverses sex differences in reproductive inequality in the spotted hyena". The paper came out today in Science Advances: www.science.org/doi/10.1126/... Do check it out!
science.org
The legacy of privilege: Social inheritance reverses sex differences in reproductive inequality in the spotted hyena
The social transmission of privilege from mother to daughters reverses typical male-biased reproductive inequality.
062
Reposted by Alex Courtiol 🐘🦇🦅👨‍💻
Ecological Dynamics Dept. | IZW Berlin @ecodynizw.bsky.social · 18/01/2026
Led by Viktoriia Radchuk, an international collaboration shows phenological shifts in response to changing temperatures allow populations to remain stable or even increase in numbers. Support from #sDiv @idiv-research.bsky.social
13217
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 09/08/2025
- 3. gold: publicdelivery.org/sebastiao-sa... Feel free to link to others!!
publicdelivery.org
Sebastião Salgado’s impressive photos: This was Brazil’s largest & most dangerous gold mine
Salgado’s Serra Pelada Serra Pelada is a series of photographs taken in 1986 depicting endless numbers of mine workers distributed on various parts of a…
000
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 09/08/2025
- 2. amber: www.nationalgeographic.com/history/article/illegal-amber-mining-ukraine
nationalgeographic.com
The Dramatic Impact of Illegal Amber Mining in Ukraine’s Wild West
A chaotic scene in Ukraine has miners pitted against each other and the government, often with deadly consequences and significant environmental harm.
100
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 09/08/2025
Enjoying my low carbon footprint form of travel toward #ecobhvr2025, I am re-reading some accounts of environmental/societal destruction caused by the extraction of rare natural products that dazzle most of us... My selection of illustrated stories: - 1. mammoth ivory: www.rferl.org/a/the-mammot...
rferl.org
The Mammoth Pirates
In Russia's Arctic north, a new kind of gold rush is under way.
110
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 09/08/2025
It turns out that since the 2 legs (Berlin -> Paris and Paris -> Montpellier) had not been purchased together, the SNCF could not put me up in an hotel at their own cost. They did, after a smile, gave me a free 1st class ticket for the next day, so I am now in a fast train towards Montpellier 🛤️
000
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 08/08/2025
It looks like that the direct train between Berlin and Paris is so delayed that I will miss my connection to the night train... So I'll spent a night in Paris, exciting... The adventure continues. #SlowTravel & #SustainableTravel to #ecobhvr2025!!
000
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 08/08/2025
Just boarded a train with my bike in Berlin. If all goes smoothly I should reach Montpellier within 21 hours, with plenty of time before the launch of #ecobhvr2025. Only one change in Paris... So, time to unpack the laptop and check my slides (perhaps after an episode of Wednesday #2...).
230
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 12/07/2025
I have just read the Anti-Autocracy Handbook and I think everyone else should too: sks.to/autocracy Thanks to @lewan.bsky.social and others for putting this together!!
sks.to
The Anti-Autocracy Handbook: A Scholars' Guide to Navigating Democratic Backsliding
The Anti-Autocracy Handbook is a call to action, resilience, and collective defence of democracy, truth, and academic freedom in the face of mounting authoritarianism. It tries to provide guidance to ...
0115
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 15/06/2025
😱😱😱
030
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 18/05/2025
I just wrote a tutorial about how to use #Rstats & RStudio using a container system (podman): gist.github.com/courtiol/ce0... I did this for myself (a linux user), but it may be useful to others too. Let me know what you think of it.
gist.github.com
using R & Rstudio using podman.md
GitHub Gist: instantly share code, notes, and snippets.
040
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 09/05/2025
Do Spix's macaws really behave as they do in the animated films Rio? To find out, read our new preprint: doi.org/10.1101/2025...
010
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 05/05/2025
Our paper on how climate change impacts bat hibernation is out🎉 It was a long journey paved with many desk rejections despite a huge amount of work put in collecting and analysing the data, but we are proud of the result and very happy with the one journal that did review it: doi.org/10.1111/ele....
doi.org
Shorter and Warmer Winters Expand the Hibernation Area of Bats in Europe
Our study pioneers a methodology integrating empirical physiology measurements with climate models, enabling accurate predictions of the distribution of hibernating animals under projected climate ch....
011
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 29/04/2025
The survey link: workforce-survey.marine-conservation.org/who-protects...
workforce-survey.marine-conservation.org
who-protects-the-ocean
formr survey framework. chain simple surveys into long runs, use the power of R to generate pretty feedback and complex designs
000
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 29/04/2025
Working in or with Marine Protected Areas?🌊 We need your help! In this video, Christine Ward-Paige, introduces our workforce survey: youtu.be/M3Nm5KuyN_Q?... This is an effort involving Blue Nature Alliance, MCI, IUCN, @rewildorg.bsky.social, Leibniz-IZW and others. Please share!!
youtu.be
MPA Workforce Study 2025 — Overview | 🌊eOceans®🦀
YouTube video by eOceans
110
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 12/01/2025
Our paper on ducks in the city is out! Using 16 yrs of data (>1000 breeding events) collected by NABU Berlin (berlin.nabu.de), we looked at why many ducks nest on buildings. The landscape doesn't matter much, it's more an individual choice and the appeal of the breeding site: doi.org/10.1093/jue/...
doi.org
Breeding site fidelity in the concrete jungle: implications for the management of urban mallards
Abstract. Understanding the selection of breeding sites in cities is key for the effective management of urban bird populations. We analysed 16 years of da
010
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 02/12/2024
Yes, strict double blind requirements from the journal.
000
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 02/12/2024
Anonymizing an #rstats 📦 for a submission to Methods in Eco Evo, I replaced names in DESCRIPTION, README, vignettes, doc... But calling packageDescription("pkg.tar.gz") revealed that the computer name is used as metadata 🤨 Solution: build your tar.gz in a terminal using R CMD build --user=anonymous
130
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 27/11/2024
Done! I reworked the filters and reduced the rate of both false positives and false negatives. It should now catch your pics @matkempphotos.bsky.social
110
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 27/11/2024
Na, to find wildlife pics I should make sure that #wildlifephotography is enough. I personally like the combo 🪶📷 as it is short and pertinent albeit bird biased.
110
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 27/11/2024
To repost wildlife pics I simply detect messages with at least one element among "#photography #picture #pics #camera 📷 📸 🖼️" AND one among "#wildlife #bird #animal 🪶". I also try to remove messages with keywords that tend to be associated with false positives. These rules could be expanded!
120
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 11/11/2024
What do you call usual? Using c_across? If so, lay runs much faster. Check the vignette or README on GitHub.
000
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 08/07/2024
Landed in Budapest. About to spend a week with the Finnish national team of horseback archery! 🏹🐴🇫🇮
010
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 02/05/2024
Why a growing population is not necessary a sign of its environment getting better? Check out our latest preprint: doi.org/10.1101/2024... -> huge amount of work from former postdoc Liam Bailey, now data wizard for WWF. It is also the result of the amazing data collected by hyena-project.com
doi.org
Effects of environmental change on population growth: monitoring time-varying carrying capacity in free-ranging spotted hyenas
bioRxiv - the preprint server for biology, operated by Cold Spring Harbor Laboratory, a research and educational institution
011
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 19/11/2023
I've just created a feed called "wildlife photography". It catches posts with pictures that are about wildlife through a collection of hashtags that I will continuously refine to improve the feed. It was easy thanks to skyfeed.app Please pin/save and let me know what you think. #wildlifephotography
120
Reposted by Alex Courtiol 🐘🦇🦅👨‍💻
The Hunting of the Snark @snarkhunt.bsky.social · 18/11/2023
I took that photo in Tokyo (Higashi-Yukigaya 2002). The birds sometimes install such nests on power lines of Japan Railways and need to be removed in order to avoid power outages.
44310
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 19/11/2023
If people wonder why {terra} and not {stars}. My main answer would be that all plotting functionalities of the #rstats 📦 IsoriX are based on {lattice} via {rasterVis}. The latter 📦 now handles {terra} objects very well. Had I switched to {stars}, all plotting functions would have had to be recoded.
000
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 19/11/2023
Without {raster}, the #rstats 📦 IsoriX lost the ability to store objects it creates as binaries. So I had to implement S3 & S4 methods for that, building on {terra}'s wrapping functionalities. I also discovered that `raster::aggregate` and `terra::aggregate` have different default `na.rm` behaviour.
020
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 19/11/2023
I thought that the transition would be trivial, but it turned out not to be. Without {sp}, IsoriX initially lost the ability to plot oceans, which are polygons with holes (i.e. polypaths). So we had to add this feature in #rstats 📦 {lattice} and {rasterVis}, which IsoriX uses. More 👇
200
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 19/11/2023
IsoriX v0.9.2 -- an #rstats 📦 for building isoscapes using mixed models and inferring the geographic origin of samples based on their isotopic ratios -- is now on CRAN. The main change between v0.9.1/v0.9.2 and earlier versions is that it no longer imports {raster} & {sp}, but {terra}. More 👇
110
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 17/11/2023
You should not decide based on the effect sizes but on how well it fits. If you impose a continuous effect, it can indeed artificially increase effect sizes if the real effect is not linear. Then the predict functions can sample different values along the continuum, hence your problem. -> factor
020
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 17/11/2023
Did you make sure to declare "height" as a factor?
110
Reposted by Alex Courtiol 🐘🦇🦅👨‍💻
Posit @posit.co · 14/11/2023
R? In the browser? What?!  #WebR makes it possible to run #RStats code in the browser without the need for an R server to execute the code: the R interpreter runs directly on the user’s machine. George Stagg shares an overview of the 0.2.0 release on YouTube: www.youtube.com/watch?v=Mpq9...
youtube.com
webR 0.2 Overview: R in the browser | George Stagg | Posit
WebR is a version of the statistical language R compiled for the browser and Node.js using WebAssembly, via Emscripten.WebR makes it possible to run R code i...
05126
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 14/11/2023
Because it does the same things but also much more... e.g.: - those reading your document can copy a full chunk of code by clicking on 🗒️. - you can highlight specific lines of codes in presentations. - you can create text boxes ( quarto.org/docs/authori... ) with special formatting for documents.
120
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 14/11/2023
It is indeed a formatting issue triggered by 100000 being a double, so the following also works as expected: > as.character(100000L)
000
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 13/11/2023
A more simple illustration of the same #rstats coercion oddity 👇
131
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 13/11/2023
Visiting the website of Even Rouault (a core developer behind GDAL and other spatial libraries used by many packages in #rstats, #python...), I bumped into this mini opinion about "Fighting misconceptions about Open source": www.spatialys.com/en/opinions/
000
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 12/11/2023
I just rediscovered that `lintr::lint_package()` is a great solution to check #rstats code in your package. lintr.r-lib.org
020
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 12/11/2023
Yes, but I've learned my lesson and opted for not having to coerce in the first place.
020
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 11/11/2023
`as.numeric()` turns the text into decimal numbers (type "double" in R), while a sequence such as `99998:100001` is made of integers ("integer"). The transformation of numbers into text ("character") behave differently in those 2 situations as shown in underlying C code: github.com/wch/r-source...
110
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 11/11/2023
One would first need to know how to add webfonts to RStudio 🤔
000
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 11/11/2023
Just discovered the root of a #rstats bug emerging only every 100,000 iterations 👇... (coercing is always dangerous, but I had not seen that one coming)
292
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 10/11/2023
I expect so too, but I did not check that yet.
110
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 10/11/2023
👍
010
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 10/11/2023
My fresh trials confirms this (see 👇, the red is the expectation). Depending on sample size, parameters, and runs, it can be quite far from perfection however. This is I believe a limitation of smoothers in general. I am planning to do this: github.com/courtiol/tim... to help.
210
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 10/11/2023
Don't expect a line if the correlation is fixed, but the CI should encompass a horizontal line. According to the original paper which I relied on, the coverage of the confidence interval should be quite OK overall: link.springer.com/article/10.1...).
100
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 10/11/2023
🤔 I did test that when the bandwidth used for the smoothing is infinite, the correlation does form a straight horizontal line and the value is the same as the one given by `cor()`. What I did not (*yet*) test is whether a constant correlation does lead the smoothers to select a large bandwidth.
100
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 10/11/2023
Ah! Perhaps I misunderstood, I thought that the point was that each R package (and not just pak) would ultimately (via the pak system) carry all R packages it must import within it, which for some packages would probably lead to much more than 10MB.
010
Alex Courtiol 🐘🦇🦅👨‍💻 @datazoogang.de · 09/11/2023
Tempted to measure how the correlation between 2 variables varies over time? If the answer is YES, you may find my #rstats 📦 **timevarcorr** (newly on CRAN) useful: courtiol.github.io/timevarcorr/ I implemented the method described in this paper: link.springer.com/article/10.1... Enjoy!
1131