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

For those out of the know, Nova Launcher is an Android home screen replacement... so hits home when the root of your phone existence gets shook piece by piece.


There have been enshitification clouds looming on the horizon for Nova Launcher for so long, I think many people (including me) were hoping it would just never happen.

That said, check out Octopi Launcher. I installed it for the first time tonight[0] and it is exactly what you are looking for - a smoother, better Nova Launcher.

[0] https://news.ycombinator.com/item?id=46688336


Crashes like a Windows ME screensaver. Jokes aside, it's very fun to see open firehose access like this. I seem to recall that Dorsey had said that twitter limiting their api access was a mistake, hope we can keep this going.


For people experiencing crashes, Theo mentioned that this will likely work: https://firehose3d.theo.io/?discardFrac=0.6


I was hoping it was some RegEdit hack to fix driver settings.


If I understand correctly, the whole point of At-Proto being decentralized is that if bluesky were to shut down we’d still have access to this data. Someone else could create a client for posting and we’d be off to the races. But maybe not?


Fun hypothetical, or can someone solve? How long, would this regex prime check [1] (via hn 2009) take to run on this on todays average machine?

Hitchhiker's Guide's Deep Thought "42" was 7.5 million years, just for a guide-post.

- [1] https://news.ycombinator.com/item?id=707236


https://stackoverflow.com/a/17189376/308851 claims it's O(N^2). 10^82 operations ... say you can run 10^10 iterations in a second which no current CPU is capable of but let's pretend, it's not like a factor of 10 or 100 will make a big difference given how this is like 10^54 times the age of universe.

This algorithm is not practical.


Here N should be interpreted as the number itself, not the number of digits (in any base). So the actual complexity is exponential in terms of the number of digits and in fact it will take about 10^(10^8) times the age of universe to build the string alone.


Oh.

It's really not practical.


Isn't it basically this algorithm + overhead from using strings/regex?

  def is_prime(n):
    if n < 2:
      return False
    for i in range(2, int(n ** 0.5) + 1):
      if n%i==0:
        return False
    return True
Haven't tested this, just quickly jotted it down in the HackerNews textarea, but theoretically it should be python code, which checks if n is divisible by any number between 2 and sqrt(n).

And wouldn't this algorithm be just O(n), what does the regex engine do differently (except the string overhead)?


Fine. It's now only 10^10 times the age of the universe. much better.


Heavily depends on how sophisticated are regex engines. Regex engines are like compilers, in that they are free to do anything as long as the result doesn't change (in a certain defined manner, of course), so engines can of course specialize for that particular regex. They don't even have to specially target the non-prime regex (yes, that matches 0, 1 or n*m copies of ones where n, m >= 2) by the way, because backreferences are already pretty rare and there are lots of potential optimizations to be made if they were much more popular. So the answer can greatly vary even when we limit ourselves to contemporary libraries. That said, it would be extremely more impractical to build a string made of 2^136279841 - 1 ones to run that regexp.

(Seriously though, it would make a very good April fools' day PR to recognize that particular regex and trigger a non-trivial prime check routine to match them.)


I love a good useless program, I may have written more useless ones than useful. Here's a few of my faves from the last 10 years!

- A password strength page that insults you based on strength https://trypap.com/

- Minesweeper with 1 square https://onesquareminesweeper.com/

- Adding elevator music to "go to top" buttons https://tholman.com/elevator.js/

- CSS Animation library of obnoxious over the top animations https://tholman.com/obnoxious/

- A fake mosquito with the web audio api https://tholman.com/mosquito-js/


I can't believe you didn't even mention your website dedicated to this, Tim! https://theuselessweb.com/

Longer list here: https://tholman.com/


I will admit that I clicked the one square in the mine sweeper.

Not sure what I expected.


Seems to me it would already be solved by Minesweepers rules, the clock should be stopped.


Also first click is never a mine (if there's one where you click it's moved to the top left corner).


Does this mean that the top left corner had a higher probability of being a mine? Or even a lower probability, seeing as the dev would have had to ensure that it's not a mine before the user clicks.

Now that I think about it, the dev strategy of leaving the spot without a mine but moving one there, probably does not affect the probability that there will be a mine there during gameplay.


I don't think the dev would leave the top left without a mine until one is moved there, as that would always be a safe square to click first.

So if the probability of finding a mine at any given spot is given by p, then the probability of finding a mine in the top left during gameplay for cases where one does not click it first (in which case it is 0?) is 1 for the case where you clicked on a mine first with probability p, and then p for the remainder.

So the total probability p' is p * 1 + (1 - p) * p, or 2p - p^2.

Wikipedia says

> Beginner is usually on an 8x8 or 9x9 board containing 10 mines, Intermediate is usually on a 16x16 board with 40 mines and expert is usually on a 30x16 board with 99 mines; however, there is usually an option to customise board size and mine count.

  8x8   10 mines  p = 0.16 p' = 0.29 ratio = 1.84
  9x9   10 mines  p = 0.12 p' = 0.23 ratio = 1.88
  16x16 40 mines  p = 0.16 p' = 0.29 ratio = 1.84
  30x16 99 mines  p = 0.21 p' = 0.37 ratio = 1.79
I was curious to see the concrete effects for no reason other than to procrastinate.


  > I don't think the dev would leave the top left without a mine until one is moved there, as that would always be a safe square to click first.
All squares are safe to click first, that's the point.


AFAIK, it wasn't like that on Windows 3.11, it would be interesting to know when this was added.


It's just as easy to win.


Is it too much to ask that the back to top elevator animate an actual elevator travelling up the side of the web page. The elevator music is good but I need it to sound like it would in an actual elevator too. Thanks for these links, they gave me a chuckle.


The Factorio (1) website has something like that - scroll down to the bottom and click on the rocket ship.

1: https://factorio.com/


Thanks for sharing these. It's really inspiring to see some fun antics like this to bring back the joy of frontend work.


This stuff is amazing. Thank you! I especially love the mosquito app.


99% sure i bought a website template years ago with elevator.js


Here's the HN conversation from 2020 [1], a little closer to when this came out.

- [1] https://news.ycombinator.com/item?id=25507942


Thanks! Macroexpanded:

Hotwire: HTML over the Wire - https://news.ycombinator.com/item?id=25507942 - Dec 2020 (545 comments)

Also related:

Why Hotwire Could be the Future of Front-end Dev - https://news.ycombinator.com/item?id=26195969 - Feb 2021 (6 comments)

Hotwire: A new old way to build web apps - https://news.ycombinator.com/item?id=25942864 - Jan 2021 (56 comments)


How does the macroexpansion actually work? Does it automatically grab the relevant links, or do you have to manually get them?


It's sort of in between. I wrote a browser extension (in Arc btw!) that has Emacs-style keyboard shortcuts that let me do things quickly. I look via HN search for related past submissions, open the relevant threads en masse in browser tabs, and build a list of IDs of the ones that are interesting. Then the browser extension sends the list of IDs to the server and gets back formatted text like you see in those lists ("title - link - mm yyyy (n comments)).

(This comes up a lot! https://news.ycombinator.com/item?id=35668525)


We've come a long way from console.frog [2016]

- https://tholman.com/console-dot-frog/


I've got maybe 4 extensions that are manifest V2 that just purely don't seem worth upgrading/fixing up (my largest with 5-10k installs) due to the time/5+ year old code that has been working fine on the old apis... Has chrome done some outreach to the popular extensions, or maybe just gone past a point where they're happy to kill off the old and move onto the new? Or is this purely about ublock etc?


Not even about Ublock.

Do you control your browser? Manifest V2 you can write a plugin to modify the page in pretty much any way. This is used by adblockers but philisophically important because this is no longer possible in V3 in the name of security. Instead chrome mitigated the adblock concern in-particular.

But manifest v2 isn't actually disappearing, it's a chrome web store policy. You can still manually install the crx.


> But manifest v2 isn't actually disappearing, it's a chrome web store policy. You can still manually install the crx.

It is actually disappearing. Re-read the announcement. Google Chrome will be disabling MV2 extensions. It's not just a Web Store policy.


It does say they’ll be automatically disability, but it seems strategically ambiguous to me. What would be the point of saying “you can’t install from the Chrome webstore” if they’re permanently disabling them and not allowing sideloading?

My read was that they’ll disable existing installs (which may be manually re-enable-able by the user), and they definitely won’t let users install them from the Chrome webstore. But it isn’t clear whether these can be sideloaded. My guess is that it will depend on how the rollout goes, and what the antitrust landscape looks like.


It's not strategically ambiguous, just unintentionally ambiguous. Google's earlier announcement was clearer, before the long delay occcured: "The Chrome browser will no longer run Manifest V2 extensions." https://developer.chrome.com/blog/mv2-transition/

> What would be the point of saying “you can’t install from the Chrome webstore” if they’re permanently disabling them and not allowing sideloading?

It's a gradual rollout:

"We will begin disabling Manifest V2 extensions in pre-stable versions of Chrome (Dev, Canary, and Beta) as early as June 2024, in Chrome 127 and later. Users impacted by the rollout will see Manifest V2 extensions automatically disabled in their browser and will no longer be able to install Manifest V2 extensions from the Chrome Web Store. Also in June 2024, Manifest V2 extensions will lose their Featured badge in the Chrome Web Store if they currently have one.

We will gradually roll out this change, gathering user feedback and collecting data to make sure Chrome users understand the change and what actions they can take to find alternative, up-to-date extensions."

MV2 extensions will remain in the Chrome Web Store for some time. The rollout starts in the pre-release Chrome channels and eventually moves to the stable channel. So Chrome canary users will start seeing MV2 disabled even while Chrome stable users can continue to install and use MV2 extensions. Even the stable release will be a gradual rollout.

Let me ask you the reverse question: What would be the point of toggling off MV2 extensions if users could just immediately open the Extensions window and toggle them right back on? That would be a pointless, silly waste of time and effort. Google is not that dumb.


> What would be the point of toggling off MV2 extensions if users could just immediately open the Extensions window and toggle them right back on?

The point would be to get people off MV2 by default, but giving themselves more cover on the antitrust front by technically still allowing people to use these extensions.

Given the ways in which the story has changed about this rollout, my default is to assume that nothing that is projected is set in stone. This is certainly the case for things that have been left unsaid, like the possibility of sideloading.


> giving themselves more cover on the antitrust front

There's no antitrust front on the MV2 to MV3 transition. You're imagining something that doesn't exist.

> Given the ways in which the story has changed about this rollout, my default is to assume that nothing that is projected is set in stone.

That's fine, and Google itself said in the announcement that they're doing a slow rollout in order to collect data and see the effects, but it has nothing to do with antitrust. The MV2 deprecation was delayed because Chrome extension developers complained that MV3 still had serious shortcomings that prevented them from migrating their extensions from MV2, so Google paused to address many of those issues.


> There's no antitrust front on the MV2 to MV3 transition. You're imagining something that doesn't exist.

My understanding is that there is a widespread perception that the transition is largely being executed to neuter adblockers since Google makes so much money on ads. Given how aggressive the federal antitrust authorities have been in pursuing novel claims, I could easily see them going after Google if they prevent users from accessing MV2 extensions at all.


> I could easily see them going after Google

Like I said, you're imagining something that doesn't exist.

There are several points worth noting:

1) Mobile Chrome doesn't even have extension support. This transition affects only desktop.

2) Chrome is not the default web browser on either Windows or Mac.

3) Chrome's Declarative Net Request API is very similar to Safari's content blocker API.

4) Given what Adguard says about MV3 on their blog and indeed in HN comments on this thread, such an imagined antitrust case would seem very hard to win. https://adguard.com/en/blog/chrome-manifest-v3-where-we-stan...

5) I suspect that the majority of desktop Chrome users don't even have ad blocking extensions installed in the first place.

The more I think about this, the closer I come to the conclusion that an antitrust case here is wildly implausible.


> Like I said, you're imagining something that doesn't exist.

My point is that this is Lina Khan's specialty. Everyone knows it, and Google is undoubtedly calibrating many of their business decisions to make sure that they don't attract scrutiny. This would be especially true where the product involved has over 60% market share globally.


> My point is that this is Lina Khan's specialty.

So what? I've already explained in detail why there's no case here. I would hope that Khan isn't dumb enough to start a futile, unwinnable fight.

Google has plenty of antitrust problems, for example, paying Apple $billions per year to be the default search engine on iOS. But the desktop Chrome extension API is not one of those problems.

> Google is undoubtedly calibrating many of their business decisions to make sure that they don't attract scrutiny.

The word "undoubtedly" is incorrect. I'm explicitly doubting you. Not to mention that if Google was actually worried, they wouldn't be doing this extension transition in the first place.


TBH, it gives me pause to be in protracted disagreement with someone whose comments I often find insightful. But I guess what it comes down to is I don't think we can accurately predict the path of the transition, especially because it has already changed several times. If you have an inside scoop on how this is unfolding inside Google, or have worked there in the past, then you'd be in a better position to know.


> But I guess what it comes down to is I don't think we can accurately predict the path of the transition, especially because it has already changed several times.

The schedule was pushed back. That's the only change. Could the schedule be pushed back again? Perhaps. But speculations about various other unspecified changes are entirely imagined and not based on the evidence.

> If you have an inside scoop on how this is unfolding inside Google, or have worked there in the past, then you'd be in a better position to know.

I'm a professional browser extension developer and have been watching this closely for quite some time, for obvious reasons.


I guess we're on the same footing, as I run a company whose products are browser extensions.

Only time will tell what Google will do; look forward to seeing your opinions as this continues to unfold.


I may be wrong, but my read is they can be enabled and installed manually.

Disabling them is not good though and removing from web store is a death sentence for commercial apps.


> I may be wrong, but my read is they can be enabled and installed manually.

You are wrong. Disabling them means that they won't work, end of story. Dead. Gone.


As someone that works in media/advertising, the first thing I check when I see something like this is their ads.txt [1] -- It looks like they're managed by ezoic whom you forward your entire dns and they inject ads in the middle (AI is mentioned, naturally). Definitely ruining this whole site's experience.

[1] https://samagame.com/ads.txt


Ahh, this is super nice!

One thing I'd love to know or see is common mistakes I make or the type of mistake/trap I fall into in the pivotal moments of games (some kind of fork/pin combo for me I suspect) ... and/or repeated mistakes I've made in the same position.


I'm currently not doing Stockfish evaluations (everything is based on simple win/loss-rate) but I hope I'm able to integrate this in the future. Then I can show much more in-depth statistics like the one you mention.


I'd noticed some strange changes at our veterinary office, where they'd usually give my dog a full round of shots once a year, suddenly they decided to break it up into multiple different rounds, meaning I'd pay 3 times instead of the one. After a little research I'd found that they'd been bought by a private equity firm, and on further inspection had found a lot (NYC) of practices had changed hands the last few years.

There's been some antitrust cases, but the FTC clearly can't block many. The changes are clearly costing everyone more money for no reason, but can anyone really block this?

- [1] https://www.ftc.gov/news-events/news/press-releases/2022/06/...


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

Search: