Hacker Newsnew | past | comments | ask | show | jobs | submit | depressedpanda's commentslogin

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 have good news for you: if you prefer running a PWA in your browser of choice, you can. Nothing forces you to install the PWA.


Generally true yes. Solid point!

(Unless you are on iOS, where a variety of capabilities are only given to PWAs.)


How? Do I need to configure something in uBlock Origin? If I go to, e.g., Reddit I still see the annoying "Open app" button.


Should be in one of the "annoyances" subscriptions.

My guess would be one of those two:

* AdGuard – Mobile App Banners under AdGuard

* EasyList – Notifications under EasyList


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?


Thanks!

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.


Nifty.

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.


There is a return, it's disguised as "await"

*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);
    });


> Russia has attacked Ukraine. Not Europe.

Ukraine is most definitely a part of Europe.


Yes, and so is big parts of Russia. Attacking one country is not the same as attacking a continent.


Their very justification for the war is supposed "NATO encroachment". It is very clearly a proxy war against the EU.


> 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?


Why haven't wolves made laws for themselves that prevent them from eating sheep?


How is red meat connected to it?


Agreed.

After starting my new job and coming back to Python after many years I was happy to see that they had added `match` to the language. Then I was immediately disappointed as soon as I started using it as I ran into its weird limitations and quirks.

Why did they design it so poorly? The language would be better off without it in its current hamstrung form, as it only adds to the already complex syntax of the language.

> PEP: In most other languages pattern matching is represented by an expression, not statement. But making it an expression would be inconsistent with other syntactic choices in Python. All decision making logic is expressed almost exclusively in statements, so we decided to not deviate from this.

> We've had conditional expressions for a long time.

Also, maybe most other languages represent it as an expression because it's the sane thing to do? Python doing its own thing here isn't the win they think it is.


The Python core team has kind of run the language off the rails post 3.7 or 3.8 or so. There's been so much crap bolted on to the language for dubious reasons, and often times it comes with whole new sets of weird problems without really making life easier (async was a quintessential example of this in my mind). There's a lot of design choices core to the language itself that make it a poor choice for many tasks, but that never stops anyone from doing it anyways and bolting on lots of chincy "features" along the way.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: