Urgent.News

What's breaking now, across thousands of outlets.

Tech

I built a world history map where every ruler links to a source

Most history maps show the borders. I wanted one that also says who was in charge, and where that claim came from. You drag a year slider from 1000 BC to today, the borders move, and you can click any state to see who ruled it and what government sat below them. Every ruler, office and event links to its source. This is enforced in code, not by trust. The fact schema rejects any entry without a…

Most history maps focus solely on geographical borders. However, I aimed to create a map that also identifies who held power in a given region and what the source of that claim was. As you adjust the year slider from 1000 BC to the present day, the map's borders will shift accordingly. By clicking on any state, you can view the ruler(s) who governed it and the type of government that existed beneath them.

Each ruler, office, and event on the map is linked to its source, and this rule is enforced through code, not trust. The map's data schema rejects any entry that doesn't include a source URL and a quote, ensuring that unsupported claims won't appear. Here are a few tips if you plan to build a similar project: The map is fully static, requiring no server.

Its geometry and facts are generated beforehand, and the browser only fetches one TopoJSON file per year, minimizing loading times. The map is displayed using a single Canvas 2D element powered by d3-geo, contained within a single React environment. The website itself consists of plain Astro pages. Each state has its own dedicated page for further exploration, such as "who ruled France in 1960".

The data behind each state comes from open datasets, and their licenses are listed on the About page. This project is still in progress, with some regions lacking sourced rulers. Leaving these areas blank allows us to avoid making potentially inaccurate assumptions. Every page includes a link to report any corrections. You can access it live at https://whoruled.nitinsijwali.com or view the code on GitHub at https://github.com/nsijwali/WhoRuled.

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

Your JSON is valid and your invoice is wrong

Imagine a perfectly reasonable backend refactor. client.name becomes customer.legalName . The new shape is clearer. The JSON parses. The application tests are green. Then someone opens an invoice.

  • Bitavu API converts JSON to PDF documents
  • Missing customer field in generated invoice
  • Guard function needed for required fields

How to Compress a Video Without Uploading It (Free, Right in Your Browser)

You filmed a 90 second clip on your phone and it is 180 MB. Your email limit is 25 MB, the chat app will squash it into mush, and the class portal says "file too large".

  • Compress videos in browser without uploading, using H.264 codec
  • Adjust quality (CRF), resolution, and frame rate to reduce size
  • OpenFile toolkit runs ffmpeg in browser via WebAssembly for compression

Building an EV-vs-petrol cost model: total cost of ownership in the browser

An electric car that costs $10,000 more than its petrol equivalent breaks even after 8.6 years at 12,000 miles a year — and never breaks even at all if you charge it mostly at public fast chargers.

  • EV costing $10,000 more than petrol car breaks even after 8.6 years with 12,000 miles/year usage
  • Model calculates annual cost of each car type using miles, fuel price, and maintenance
  • EV cheaper to fuel due to lower fuel consumption per mile compared to petrol cars

More from Tuesday 3 November →