Sign in

James Goldie

@jamesgoldie.dev
706 followers 615 following 199 posts

Frontend Engineer @ countercurrent.ai, former #climatehealth 🌡️ + #datajournalism 🗺️ Building, coding and storytelling with #rstats, #js and #swift for fun and for good 😊

PostsRepliesMedia
James Goldie @jamesgoldie.dev · 27/05/2026
Australia Post: we should teach people how to avoid phishing scams Also Australia Post: we should save 7 characters in our texts by making a shortener with a domain from an overseas ccTLD and then not even stand a page or a redirect up on that site
Screenshot of Australia Post video, showing three genuine AusPost text messages featuring mypo.st URLs, and one scam message with a different URL.Screenshot of Australia Post video, showing a genuine AusPost message with the mypo.st domain, alongside the words "Look for: Non-Australia Post web address"
020
James Goldie @jamesgoldie.dev · 23/05/2026
They're too small to see in that thumbnail, but in the full size version you get a lovely star field 😊 @tylermw.com has thought of everything with this package 🥳
Physically modelled iImage of the stars from 15 km above the Antarctic Circle, with the sun hidden behind the horizon.
231
James Goldie @jamesgoldie.dev · 22/05/2026
@tylermw.com's skymodelr package is so rad. So incredible what we can do with just a bit of #rstats code in 2026. Made myself a lovely new macOS Dynamic Wallpaper with skymodelr and the (also great) equinoxmac.com app.
1135
James Goldie @jamesgoldie.dev · 07/05/2026
Deeply disappointed that UniSuper is furthering loosening the negative screens in its green investment options to allow more weaponry.
SUSTAINABLE AND ENVIRONMENTAL BRANDED OPTIONS SCREENING
We offer our members three sustainable and environmental branded investment options. These are:
• Sustainable Balanced
• Sustainable High Growth, and
• Global Environmental Opportunities.
In managing these options, we seek to limit exposure to companies operating in certain sectors that may cause significant harm by using negative screens. We may also consider positive attributes to identify investments that are consistent with our investment philosophy of sustainable business practices or exhibiting quality environmental, social and governance characteristics.
It is important that the negative screens we apply allow for the appropriate management of these options and remain consistent with the investment strategy and objectives of the sustainable and environmental branded investment options.
Effective 1 July 2026, our negative screens will allow the portion of reported revenue that a company may derive from conventional weapons systems' and components to be up to 5%. This negative screen will also no longer consider reported revenue derived from weapon support systems (for example, software and/or telecommunication systems and services).
This replaces the previous negative screen of up to 1% of reported revenue, including reported revenue derived from support systems.
As at the date of this 'Important product changes' notice all other negative screens are unchanged across these three sustainable and environmental branded investment options. UniSuper continues to screen companies with any reported revenue from the manufacture of whole weapon systems or components developed for exclusive use of controversial and/or nuclear weapons.
More information about these changes and some examples of how the screen operates is available at unisuper.com.au/update-may-2026.
Sustainable and environmental investing means different things to different people. Different products have different investment criteria. For more inform…
030
James Goldie @jamesgoldie.dev · 24/03/2026
I’m generally ambivalent about Liquid Glass, but if a real bubble meter sloshed around like this I would be quite frustrated
110
James Goldie @jamesgoldie.dev · 26/01/2026
ACCESS-C VT has Mildura touching 52 °C, but I have to assume this is an outlying model! Is the hourly output that Windy displays a temporal interpolation, or does it actually run at hourly timesteps?
Screenshot of Windy, with Mildura in Australia selected for a point forecast. With the ACCESS C-VT model selected, temperatures of 52 degrees Celsius are shown at 4 PM.
332
James Goldie @jamesgoldie.dev · 15/10/2025
Yeeeeees. It even reports run time without any extra config! #rstats
macOS notification says:

Code
Task "Run my R script" finished in 6s.
120
James Goldie @jamesgoldie.dev · 15/10/2025
Real excited that @vscode.dev can do OS notifications when Tasks finish now. I've been wanting this one for years — plenty of #rstats devs who want to be able to minimise their code editor while a chunky analysis runs!
Screenshot of Visual Studio Code changlog says:

Tasks
OS notification for long-running task completion
Setting: task.notifyWindowOnTaskCompletion
When a user-initiated, long-running task completes while the VS Code window is not focused, an OS badge and notification toast are shown. Selecting the notification focuses the window where the task completed. You can configure this behavior with the task. notifyWindowOnTaskCompletion setting.
2152
James Goldie @jamesgoldie.dev · 30/06/2025
Flags like --csv, --json, --html, --markdown, --latex, etc. make @duckdb.org feel like Pandoc for data. Lots of quick data tasks that would either require a dedicated tool or a small #rstats or #python script end up being quick one-liners: duckdb.org/docs/stable/...
Plain text table: duckdb -c "select user, id, completed from 'todos.json' limit 5"Markdown table: duckdb --markdown \
  -c "select user, id, completed from 'todos.json' limit 5"CSV export: duckdb --csv \
  -c "select user, id, completed from 'todos.json' limit 5"HTML table fragment: duckdb --html \
  -c "select user, id, completed from 'todos.json' limit 5"
0102
James Goldie @jamesgoldie.dev · 30/05/2025
“This is going straight to the pool room.”
020
James Goldie @jamesgoldie.dev · 15/05/2025
Love that I'm building a growing family of Teams organisations that I cannot sign into, cannot sign out of and cannot remove with any amount of reinstalling or Keychain-nuking 😮‍💨 Also great to be kicked back to the login screen every other time I refocus the window, 10/10
Screenshot of Teams account switcher, showing an account with two organisations that both have an exclamation mark icon next to them.
120
James Goldie @jamesgoldie.dev · 25/04/2025
Pleeeeeeeaaaaaase
Bernie: I am once again asking you not to license datasets under CC ND
010
James Goldie @jamesgoldie.dev · 07/04/2025
Tired: learn to download data through APIs in #rstats Wired: learn to animate WLED strips using their API in #rstats
1182
James Goldie @jamesgoldie.dev · 04/03/2025
TIL that repeat is a control flow keyword in #rstats for a rare form of loop that can only end manually... which means you can't use "repeat" as a column name without backticks 😅
R code showing importing a CSV with base R or rear. The data frame contains a column named "repeat", but base R imports it as "repeat." and read surrounds it with backticks, indicating that it cannot be used on its own. When the column name is used directly, the error "Unexpected 'repeat' in..." appears.
091
James Goldie @jamesgoldie.dev · 25/01/2025
I know there're lots of #ttrpg and #dnd nerds who use @obsidian.md on here! I've been using Canvas for my DM maps for a while, but I recently started using the fantastic Advanced Canvas plugin to hack together canvas cards that appear as icons when not focused. Makes things a lot easier to follow!
060
James Goldie @jamesgoldie.dev · 09/01/2025
Oooh, windy.com Premium has ACCESS-C for Aussie users now.
000
James Goldie @jamesgoldie.dev · 29/12/2024
There's still a week left to enter your @quarto.org scrollytelling story in the Closeread Prize and maybe win some swag generously provided by Posit PBC! Entries close Jan 5, Anywhere on Earth. 🏁 Enter here: posit.co/blog/closere... 🎓 Learn Closeread: closeread.dev
081
James Goldie @jamesgoldie.dev · 22/12/2024
🙏🏻
iOS setting: Restrict Stories in Today
000
James Goldie @jamesgoldie.dev · 22/12/2024
Also how do I make whatever this is stop
Notification reads, “Apple News Most Read. The 21 signs you’re attracted to someone (and hire to tell if they feel the same)”
110
James Goldie @jamesgoldie.dev · 22/12/2024
I’m giving Apple News Plus a whirl… surely there’s a better way to jump to a specific outlet than making a shortcut 😭
Screenshot from the Shortcuts app has the action, “See stories from Guardian Australia”
100
James Goldie @jamesgoldie.dev · 05/12/2024
The Closeread Prize has been extended to Jan 5! And scrollytelling with @quarto.org is easier than you think. Aspiring data scientists and data journalists, prize details are here: posit.co/blog/closere...
2147
James Goldie @jamesgoldie.dev · 23/11/2024
Ready for that #Melbourne change! Don’t usually get days and nights this hot in November. isithotrightnow.com #wx
Distribution of Melbourne City daily average temperatures for the two weeks around November 23 since 1910. Distribution has a median temperature of 16.2C and 95th percentile (“bloody hot”) of 24C. Today is 29.6C.Here’s how today compares. 22.7C today at 2:55 AM. 36.5C today at 3:15 PM. 29.6 C average so far hotter than 99.8% of days for this time of year.
020
James Goldie @jamesgoldie.dev · 02/11/2024
I should have led with this excellent @posit.co video, which sells the #Closeread Prize much better 😂 Come try out scrollytelling in #QuartoPub and win some rad prizes along the way! #dataviz #rstats #julialang posit.co/blog/closere...
083
James Goldie @jamesgoldie.dev · 01/11/2024
We're keen to see what people love about #Closeread, as well as what confuses or limits them! Build up a complicated plot one bit at a time, take people on an educational journey, or explain something you love. We have some examples to get you started on the new docs! closeread.dev
020
James Goldie @jamesgoldie.dev · 15/10/2024
Has the Australian Government considered having… fewer apps
Login screen for myGovID, which notes that it is separate from myGov and also that it is changing its name soon to myID.
000
James Goldie @jamesgoldie.dev · 03/10/2024
💡 TIL that the #rstats {httr2} package has some very nice helpers if you're getting data from API that paginates its responses. This one paginates responses over 5000 rows. You write a function to check that and give it to httr2's helper, it bumps a query param for you and gets 'em all. Easy!
R code snippet follows.

request_complete <- function(resp) {
  n_rows <-
    resp |>
    resp_body_string() |>
    read_csv() |>
    nrow()
  n_rows < 5000
}

request(api_root) |>
  req_url_path_append("endpoint") |>
  req_url_path_append("read.csv") |>
  req_url_query(
    key = api_key,
    email = api_email,
    country = "XXX") |>
  req_throttle(1 / 3) |>
  req_perform_iterative(next_req =
    iterate_with_offset("page",
      resp_complete = request_complete)) ->
events
040
James Goldie @jamesgoldie.dev · 02/10/2024
NEVER MIND ugh
Screenshot of Stand By mode on an iPhone. The right side has an Apple Home widget, but it says “No Home Hub”
100
James Goldie @jamesgoldie.dev · 13/09/2024
Teachin' the kids about reshaping data with gganimate #rstats
An animation showing a spreadsheet of the scores of 3 different teams across 3 different games. The data morphs back and forth between two forms: a longer one with the columns "Team", "Game" and "Score", and a wider form with the columns "Team", "Game 1", "Game 2" and "Game 3". The cells are colour coded to show their movement between data shapes.
020