Yeah. Try comparing texts written in Old English and Old Norse. It's basically the same language. (I'm not surprised at all that Beowulf takes place in Scandinavia.)
But I think they would both be easier to decipher for someone speaking Swedish than English.
There are strong indications that Half Life 3 (or at least a Half Life game) is coming soon. Of course, Valve might decide to pan the project, but I wouldn't be surprised seeing an announcement for 2026.
I am very much interested in local-first/only (backend-less) PWAs, and have built a couple of them myself.
Unfortunately, I don't think I have any use for a time-boxing app. Nice work though.
Is there a reason you went with localStorage rather than indexedDB?
One useful thing is supporting 3rd party sync services. One of the apps I built allowed syncing data across devices via Dropbox. I never got Google Drive working, though, their API was horrible to work with in comparison. Is sync support something you've considered?
Yeah — I started with localStorage mostly because FocusBox’s data model is super lightweight (a few task objects + session state). It kept the initial version simple and easy to reason about.
That said, I’ve definitely thought about moving to IndexedDB (or a wrapper like Dexie) if/when I add features like session history or richer analytics.
sync — I’ve been exploring ideas around optional, user-controlled sync (Dropbox or even GitHub Gist). I love your approach of using 3rd-party storage rather than a backend — keeps things local-first but still portable.
how did you handle conflict resolution with Dropbox? That’s one piece I’ve been thinking through for sync.
I've long wanted a scrollable/zoomable desktop, with a minimap that shows the overall layout. Think the UI of an RTS game, where instead of units you move around and resize windows. This seems like something in that direction, at least.
How does Karousel work with full screen applications, e.g., games?
Karousel knows when application wants to be fullscreen and allows it to take the screen. If you use hotkey for "move focus to left/right window" you can even exit fullscreen to see other programs. You can also force any program to fullscreen with a key. This is a pretty good workflow as you can fullscreen something and still keep the layout, just not visibly.
No, I think you misunderstand how it works. The problem is that task 4, as you call it, runs after the navigation triggered by the redirect value.
The the author expects the side-effect -- navigation to a new page -- of the window.location.href setter to abort the code running below it. This obviously won't happen because there is no return in the first if-statement.
*simplified*, the symantics of "await" are just syntactic sugar
const value = await someFunction()
console.log(value);
is syntactic sugar for
return someFunction().then(function(value) {
// this gets executed after the return IF
// something else didn't remove all events like
// loading a new page
console.log(value);
});
> the politicians do a 180 once they get voted to power or forget about them because political promises are worthless and non-binding, meaning they lied themselves into power.
Why is this allowed? Why aren't there laws in place to hold politicians accountable for the promises they make to get elected?
But I think they would both be easier to decipher for someone speaking Swedish than English.
reply