The World is Your War Zone / / No Comments There are quite a few ugly buildings in my town that I’d like to demolish. Now I have the chance to actually knock them down (if only virtually) with World Strike. World Strike is a fun new open-world, real-time multiplayer tank game where the arena is literally the entire planet – and every single building can be reduced to rubble. So if you’ve ever looked at a building and thought, “This would benefit from some high-explosive ordnance,” then World Strike is the browser game you’ve been waiting for. From a web mapping perspective, World Strike is an impressive technical showcase of Three.js integrated directly inside MapLibre GL JS. Rather than rendering standard... more → Posted in: Interactive Maps Tagged with: World, Zone
Adding Google Auth to TinyJS / / No Comments A few days ago I posted about my experience playing around with TinyJS. This is a very light "web to desktop app" platform for – well – building desktop apps. Its simplicity and similarity to PhoneGap (at least for the desktop) has got me interested in seeing what I can build with the project. One of my ideas would be improved with a login system so I naturally looked into adding a "Login with Google" feature. While this was mostly straightforward, I ran into some oddities and figured I’d share it here. I went into this exploration with a basic idea of how I’d approach it: Create an app in the Google Cloud console to represent my app, getting the client... more → Posted in: JavaScript Tagged with: Adding, Auth, Google, TinyJS
Mapping the Cosmos / / No Comments Want to explore the night sky? Two new interactive maps offer very different ways to do it. Skyviewer lets you explore the vast astronomical survey being created by the new Vera C. Rubin Observatory, while Stargazing for Beginners helps you work out what you can actually see in the sky above you. Skyviewer is an interactive window onto Rubin Observatory’s survey of the cosmos. Located in Chile, Rubin will repeatedly scan the sky for the next ten years, creating an enormous time-lapse record of the changing universe. You can use Skyviewer to explore the results from these scans, navigating around Rubin’s imagery to discover stars, galaxies and other celestial objects. The experience... more → Posted in: Interactive Maps Tagged with: Cosmos, Mapping
Tiny Apps with TinyJS / / No Comments About a year ago, I was still running my live stream (Code Break) and my final three streams all covered one topic – building desktop applications with non-native code. I covered Tauri (HTML on the front, Rust on the back) and Flet (all Python). Recently I came across another option, tinyjs. TinyJS (technically the name is "tinyjs" but I can’t make myself use the lowercase in my writing like that 😉 is a lot like PhoneGap/Apache Cordova. Your application is the system web view shipped along with the ability to make system calls via a bridge to txiki.js. This bridge gives you full access to the file system and more, like any other native app. Unlike PhoneGap, this is just... more → Posted in: JavaScript Tagged with: apps, Tiny, TinyJS
Find Movies – by Location & Period! / / No Comments In September, we were graced with the Movie Scene Map, an interactive map that makes it easy to find where iconic movie scenes were filmed, and the World Cinema Atlas, which allows you to discover movies by where they were set Now, a new interactive map lets you discover films by both where and when they take place. If you have a keen interest in watching a movie set in a particular time and place, then TitleAtlas is the interactive map for you. For example, you could use TitleAtlas to search for films set in 19th-century New York (Gangs of New York, Little Women, etc), or to find movies set in London during the Swinging Sixties (The Krays, Quadrophenia, etc). The TitleAtlas search... more → Posted in: Interactive Maps Tagged with: Find, location, Movies, period
Adding My Latest CodePens to My Blog / / No Comments I’ve been a fan of CodePen for many, many years, and it’s one of the few services I spend money on to help support. A few months back, they released an entirely new version that dramatically improved the service (CodePen 2.0) and it just made me more happy I was a supporter. Just a few days ago they announced more changes including a full API. I thought it would be fun to add a display of my recent pens. Yes, I thought that would be fun, because that’s the kind of nerd I am. Adding Dynamic Content to a SSG It has been a very long time since I blogged about anything related to static site generators. There’s no particular reason for that, but I figure this is a good time... more → Posted in: JavaScript Tagged with: Adding, blog, CodePens, latest
A Year of Lightning / / No Comments This animated map shows a year’s worth of lightning strikes across the United States. The animation reveals the clear seasonal patterns of lightning storms across the U.S. As you watch the animation, you can see the country’s lightning season move northwards with the changing seasons. During winter, lightning is largely confined to the Gulf Coast before activity spreads north in spring. By summer, thunderstorms are lighting up much of the country, with particularly intense activity across Florida and the Southwest, before the storms retreat south again in autumn. The map is one of the latest visualizations from the ever impressive mapped.earth. I recently featured mapped.earth’s... more → Posted in: Interactive Maps Tagged with: Lightning, year
A Not-So-Simple RSS App in TypeScript / / No Comments Ok, I lie, this demo is also pretty simple, but I wanted to break the pattern of the last few posts and at least pretend this example is a bit more complex. As I try to find excuses to write more TypeScript, I thought a great example of that would be a simple RSS aggregator. You hit the site, tell it the feeds you care about, and it renders a date sorted list of entries. Because RSS typically can’t be parsed in client-side JavaScript (don’t know why? ask me below!) so I’d have to make use of a serverless function to proxy the calls (and at the same time, handle turning the XML into JSON). Now, to be fair, I had built nearly the same thing back in February: Building an RSS Aggregator... more → Posted in: JavaScript Tagged with: NotSoSimple, TypeScript