Urgent.News

One page, thousands of outlets. See who else covered it.

Editions

Tech

I run a surf forecast for 20 breaks in Morocco on EUR 0/month. Here's the stack.

I live on the Taghazout coast in Morocco - a strip of Atlantic between Agadir and Imsouane that's basically one long right-hand point break after another. Two years ago the only way to know if tomorrow was worth it was to check three different global forecast sites, none of which knew the difference between Anchor Point and the beach break 400m south of it. So I built taghazout.io . It now covers…

I operate a surf forecast service for 20 breaks along Morocco's Taghazout coast, a stretch of Atlantic coastline between Agadir and Imsouane. Previously, surf enthusiasts had to rely on three global forecast sites, none of which accurately distinguished between individual breaks. To address this, I created taghazout.io, a platform covering 20 named breaks, available in 10 languages, and operates at zero cost per month.

The platform's architecture is straightforward, utilizing hand-rolled PHP with no frameworks, build steps, or dependencies. The server-rendered pages are optimized for users accessing the information via mobile phones or cafe Wi-Fi connections, often on slow 3G connections, making time-to-content the primary metric. The forecast data is sourced from two ocean models: Open-Meteo, under a CC BY 4.0 license, and NOAA WaveWatch III via PacIOOS.

These models often disagree, with WaveWatch III sometimes providing readings up to 55% higher than Open-Meteo. To address this discrepancy, the platform computes agreement over a 72-hour window, displaying a confidence flag (agree, mixed, or diverge) to users. This information is crucial for surfers in shallow-reef setups, where coastal bathymetry can significantly impact wave conditions.

The platform also emphasizes the importance of honest data over impressive data, providing clear caveats for each derived number and its source. The tide readout, for example, specifies the sea level based on the low tide of the current window, rather than presenting it as a harbor gauge. All forecast data is publicly available as keyless JSON, encouraging transparency and collaboration.

The platform's source code is open-source, licensed under MIT, with Python and JavaScript clients available on GitHub.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Linux Kernel 7.2 Has Been Officially Released with Many New Features

Linux Kernel 7.2 has just been officially released with a slew of new features, reports the blog 9to5Linux. Highlights of Linux 7.2 "include cache-aware load-balancing support, initial HDMI 2.1 FRL…

  • Linux Kernel 7.2 officially released with cache-aware load-balancing support
  • Initial HDMI 2.1 Full Rate Line Rate (FRL) support for AMDGPU driver added
  • Fair(er) GPU scheduler improves graphics processing resource allocation

Four Failures That Made a Weekly launchd Job Actually Run

Every skill my AI setup learns lives in one folder on my laptop — and none of it reaches the repo I created yesterday. That gap is why I built a weekly job that pushes my accumulated skills into every…

  • Weekly launchd job named com.shun.autoskills-sync runs Sunday morning
  • Script scans all git repositories for skills to distribute
  • Ensures newly opened projects have latest skills automatically

How Do I Send Password Reset Emails from a Backend App Using an Email API?

Here's the full flow the way I've built it, using Notify as the email API. The shape of this is the same regardless of which provider you pick — generate a token, send a link, verify it on submit — so…

  • Generate secure reset token using cryptographically secure random value generator.
  • Build reset URL with hashed token as parameter for password verification.
  • Send password reset email via email API, handling bounced emails with webhook.

More from Monday 17 August →