Explanation of the state of uBlock Origin and other blockers for Safari - <AUTHOR> https://github.com/el1t/uBlock-Safari/issues/158 <comment><USER3> There is a lot of confusion around this issue. Some people are taking this to mean that Safari has completely banned ad blockers, which isn't the case. Instead they've switched to a model that matches what they've been doing on iOS which is content blocking[1]. Content blockers give Safari a list of triggers and actions to take when something matches a trigger.

For example; you can have a trigger which contains a regex that matches all images and stylesheets for a given domain. The action can be one of several options, one of which is to block that item.

One advantage this technique provides over ad blocking is that there's no data to be phoned back home. It is, in essence, a mask that is applied to a web page before rendering. Also, it's very lightweight. It's literally just a JSON document which means Safari can perform better.

Now, I'll admit it's not foolproof. Apple and the content blockers have some work to do on it. I'm noticing some issues with it myself after having upgraded to Safari 13. But from a privacy perspective, I personally much prefer this technique.

1: [https://developer.apple.com/documentation/safariservices/cre...](https://developer.apple.com/documentation/safariservices/creating_a_content_blocker)

<comment><USER4> This is exactly what Chrome intends to do and everybody hates Google for it. Defending this when Apple does it is a double standard.

<comment><USER5> When Apple says "We're designing this API in a way that allows you to block ads without having full visibility to monitor everything that any user does every web page they visit" it's totally believable because it's in line with the last 10+ years of their product direction.

Yeah, it makes ad blockers less powerful. It also makes them less of an enormous security risk in that all of your web traffic is redirected through them, and a compromised extension could do whatever it wanted with that.

People are more skeptical of Google's motives because nearly all of their money comes from selling ads and for all we know they're more concerned about their very very very large piles of cash than they are about browser extension security. That's not a motivation that Apple would have for their Content Blocker limitations.

<comment><USER6> Adblockers don't redirect all traffic though them. If you think about it for a moment you will see how absurd that idea is. This would incur one of the most massive bandwidth bills on the internet for negligible financial gain.

Current ublock origin.

Your adblocker frequently updates lists of patterns to block via any of many user configurable lists.

When you load a site ON YOUR COMPUTER it consults all those lists including custom ones you create yourself for annoying elements on particular sites before loading content. It NEVER sends said content to the adblocker or leaks your information.

Ublock origin provides both the adblocking engine and the lists and can innovate on the former and iterate on the latter as fast as you please.

New chrome restrictions.

Google provides an adblocking engine substantially inferior to ublock. Extensions are able to provide only a list much smaller than current lists and can only update that list when the extension itself is updated. They cannot innovate on the adblocking engine as they are stuck with the crummy one an ad company provides. This basically ensures that ad providers win the arms race with adblockers.

Safari

Shares the same inherent flaw with chrome that Apple will be providing the adblocking engine with the possible benefit that apple isn't directly making money off ads and has less incentive to directly break adblocking.

<comment><USER5> I don't mean that it sends the actual web traffic through some uBlock server, I mean that the uBlock browser extension sees all of the requests to load a webpage and decides what to do. It can decide to block them or not. It could also decide to scoop up all of your personal information and do bad things with it.

If someone were able to compromise the developer account and get a malicious version distributed through the Chrome browser gallery, that would be a huge problem. The kind of thing that has been making headlines with compromised npm modules recently.

Google has reviews in place to prevent malicious extensions from being distributed, but they can't be perfect. We've seen that repeatedly with both Chrome extensions and Android apps.

Every extension with permissions set for "This can read and change site data on all sites" has a huge target on it, and the fewer things using that level of access the better. Ad blocking extensions are an obvious place to look for improvement because they're so popular.

I hope that Google can put a blocking system together that will be able to perform as well as existing solutions without adding any huge security risks, but I also agree that it's problematic that their incentives are to do the exact opposite.

<comment><USER7> So enforce human reviews for any update to extension with "read all requests" permission and over X users.

<comment><USER8> Nah. If they feel inclined to do something more powerful than the Content Blocker API then they should build the ad blocker themselves into Safari. It can be off by default and configurable by users.

It'd make the Content Blocker API kind of pointless but that'd be safer than letting third parties in.

<comment><USER6> I don't see much value in ecosystems that where only one party can build powerful tools

<comment><USER8> I don't think "ecosystems" are a priority in and of themselves for Apple.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Well i have no complains about Safari but their Extension system is really costing them users. At this point I uBlock Origin is by far the most reliable AdBlocker you can find and my having the developers explaining that in the future maybe only Firefox will support it it's kinda of sad.

Of course we know that Google has to make money from Ads so its understandable but what about Apple ? They are putting heavy focus in privacy, would it be good if they open their browser to make sure their users will not move to Chrome/Firefox or other browser ?

<comment><USER10> The day ublock origin doesn't work on chrome is the day users will flock to firefox. We have seen time and time again that users aren't afraid of switching browsers. This is because since their core functionality is so similar, small advantages will tip the scales.

<comment><USER11> You'd be surprised how many people don't use adblockers. There will be a few people switching but I don't think anymore than 1% of total Chrome users

<comment><USER12> Yes but power users do. And power users are the ones who set up and influence their friends and families browser choices.

At least that is my theory on it.

<comment><USER13> Thanks, I just realized I have to switch my mother from Safari to Firefox now that Apple decided to forbid uBlock.

<comment><USER14> It's less Apple forbidding uBlock, and more uBlock deciding to not turn itself into a content blocker for the newer version.

<comment><USER15> That's just wrong. It's impossible for uBlock Origin to turn itself into a content blocker while retaining its current functionality.

Content blockers in Safari are limited to 50k filters. uBlock Origin's default filters have more than that. Therefore, the choice is between a new, but much less useful extension, or no extension at all. uBlock Origin decided on the latter.

<comment><USER16> There's a way around the 50k limit:

[https://backstage.1blocker.com/say-hello- to-1blocker-x-8b55e...](https://backstage.1blocker.com/say-hello- to-1blocker-x-8b55efe1ae36)

<comment><USER17> To be fair, multiple extensions is a huge hack and has complexities of its own.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> This is not good!

I thought Apple were way out in front when it came to tracking and whatnot...

My wife uses a MAC at home and was complaining about how slow our internet was (70Mb down... not slow) a while back.

She mainly looks at news sites and when I saw what she was looking at I knew the problem wasn't the internet connection.

The entire page, apart from a tiny bit in the middle, was cluttered with moving shit!

I installed uBlock Origin and... the result was fantastic: pages loaded in a fraction of the time.

When she realised that the articles were a tiny proportion of the downloaded crap she realised she'd been missing out for so long.

Once, when the MAC went back for repair, it was replaced with a new one and OMG the horror when she fired up Safari and it had no blocker... UBlock Origin to the rescue.

I agree with one of the other comments on here: The web is utterly unusable without it.

<comment><USER19> Apple is trying to thread the needle. They want to allow content blocking, but they _do not_ want to allow content blocking plugins to see and potentially report on what sites you visit.

Personally, I'm totally cool with the trade-off of having less capable ad blocking functionality, if I can be sure my web plugins aren't a security or privacy risk.

<comment><USER20> uBlock Origin is completely free and open source.

[https://github.com/gorhill/uBlock/](https://github.com/gorhill/uBlock/)

It's a very popular project on GitHub with many developers scrutinizing any changes to the codebase. Fears of uBlock Origin being a "security or privacy risk" based on code in the extension are unfounded.

<comment><USER21> So long as it's not sold. It's happened before - a popular ad blocker is bought up for millions of dollars by an ad agency, and turned into an already installed vehicle for new ads.

I see nothing about "free and open source" which prevents this.

<comment><USER22> It can be forked?

<comment><USER17> The last fork of uBlock Origin didn't do so well: [https://ublock.org/](https://ublock.org/)

<comment><USER23> Didn't do so well how? It's very popular, used by many people who don't realize how terrible it is!

<comment><USER17> Ok, let's say it didn't do good :)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> It's interesting that Google and Apple seem to be converging on this issue (ad-blocking extensions) even though they're probably coming from two different directions.

Google probably wants to discourage ad-blocking because it's a threat to their business model. Apple just dislikes not having full control on what the users run (and sometimes for good reasons, they probably want to avoid malware extensions). Still, in the end they both end up with subpar ad blocking facilities as a result.

Firefox really needs to become a worthy competitor once again. And no I don't consider forks of Chromium to be reasonable alternatives in the long term, at least until those teams prove that they can maintain a deep fork of the browser on their own which will be necessary if they need to maintain functionality that Google removes from upstream.

<comment><USER25> > Firefox really needs to become a worthy competitor once again.

For me it's always been, I've used Firefox without pause since it was called Phoenix. I know there was a small exodus to Chrome when it had better parallelization, but as far as I know Firefox is leading on that front again.

So what do you mean by "worthy"? Higher market share or some missing features? I'm obviously biased as I never left for competition but I don't have any complaints, neither on desktop nor with the Android version.

<comment><USER26> Same here. Crazy to think that I've been using it for over 15 years and never had a reason to change. I've tried other browsers, but none of them gave me a compelling reason to continue with them.

I think the most probable reason for that has been the complete support for addons that no other browser ever did. For instance, why doesn't Chrome have support for vertical/tree-style tabs without using a separate window? That one feature alone keeps me on firefox. By removing the tab bar at the top of the screen, you regain a significant amount of vertical space on a laptop.

<comment><USER27> > That one feature alone keeps me on firefox. By removing the tab bar at the > top of the screen, you regain a significant amount of vertical space on a > laptop.

Last time I tried tree tab, it wasn't possible to remove the tab bar. Has this changed? And if so, would you mind sharing how to do it?

<comment><USER28> Just add this to your `userChrome.css` file

        #TabsToolbar {
            visibility: hidden;
        }

</comment></comment></comment></comment></comment><comment><USER29> I like using Safari and uBlock Origin. I notice that I am not a power user of browsers - give tabs, a forward and backward button and any adblocker and I used to be happy. This mean that I could easily use Safari and Firefox - <USER2> prefer not to use Chrome derivatives to do my part in preventing developers from forgetting about other browsers.

However, I have recently become a power user of uBlock Origin specifically to curtail the general attention hacking on the web. uBlock Origin is already a very great ad blocker in its default installation, but I've recently got into using its powerful cosmetic filters to block out "attention hacking features", such as (all of) YouTube's recommendations, comments on various sites, and stuff like the "Hot Network Questions" on StackOverflow. Things I've discovered that are too good at distracting my mind. With a few uBlock Origin cosmetic filter rules, those website elements remain hidden when I visit them.

I wonder if it's possible to continue using Safari with my own distraction filters. It's a shame if I have to stop using it.

<comment><USER30> I need to block attention hacking features also, have been thinking about this recently. Stupid youtube.

<comment><USER29> In uBlock Origin settings > My filters, paste the following rules to turn YouTube in just a search bar + video player:

      youtube.com##ytd-browse[page-subtype='home']
      youtube.com##ytd-watch-next-secondary-results-renderer
      youtube.com##app-drawer
      youtube.com##ytd-item-section-renderer.ytd-comments
      youtube.com##ytd-guide-renderer
      youtube.com##ytd-mini-guide-renderer
      youtube.com##ytd-topbar-menu-button-renderer
      youtube.com###buttons.ytd-masthead
      youtube.com##yt-icon-button
      youtube.com##.ytp-endscreen-content

Note this is only accurate at the time of writing, only works partially on mobile, and may break some edge cases I don't use :)

[1]: [https://github.com/gorhill/uBlock/wiki/Static-filter- syntax](https://github.com/gorhill/uBlock/wiki/Static-filter-syntax)

</comment></comment></comment><comment><USER31> This is a serious impending problem for Safari users. The web has become nearly unusable without a high-quality, uncompromised ad blocker like uBO.

<comment><USER32> I use a blocker too, but the problem is if everyone starts blocking ads then the current free internet cannot be sustained as it is today. We'll have to move to a paid model, which won't be cheap if you choose to visit many sites, like today, and also the clearing entity will know about what sites you browse. It can't be anonymous, because in case of a dispute it has to be known who paid for what.

<comment><USER33> Serve un-obstrusive first party ads. I have no problem with that. Otherwise, go and die.

<comment><USER34> So only the websites that are big enough to make deals with specific advertisers are allowed to make money on the internet?

<comment><USER33> So you're only allowed to sell stuff nationwide if you're big enough? Oh wait, there's EBay... I am sure solutions for this will spring up if need be. There's money involved, after all.

Edit to add: These solutions will not be as convenient as the current state of affairs, I contest that.

<comment><USER35> "Oh wait"

Nobody needs to wait on the internet - you can just go right ahead and type!

"there's EBay..."

You're saying that for a business to be successful on the internet they need to get their money from buying and selling goods on eBay instead of running adverts? Or that they'll sell adverts on eBay? I'm puzzled.

<comment><USER33> No, I tried to give an analogous example. Selling goods <-> providing "free" content. I am old enough to remember a time without internet where any business had a really tough time to sell nationwide. Big players had a huge advantage. With Amazon Marketplace or EBay that's much easier now. therefore I am pretty sure when targeted advertizing gets more scrutiny that alternatives will pop up. Heck, even Google might then provide such a service if their current business model is at risk.

<comment><USER34> ??????? The Google advert marketplace already exists.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER36> A while ago I uninstalled uBO/PrivacyBadger and switched to using a combination of NextDNS [0] and Brave for daily driving (Firefox for work because FF containers) and the adblocking + browsing experience has been nothing short of stellar.

NextDNS takes the load off outside the network perimeter and concatenates all the many lists and trackers in one dashboard. I'm free to use other gentler add-ons in the browser if I so desire, rather than have the DOM split apart and my local machine do all the heavy lifting.

The best thing about using DNS-level blocking is that it's an elegant solution across all my devices, especially when paired with a VPN that enforces those resolvers.

[0] [https://nextdns.io](https://nextdns.io)

<comment><USER37> Where that fails though is exceptions. Do you want to block ads, but follow that one link you're really interested in? Sorry, it redirects via a doubleclick site and you can't allow just that one entry. You also need to leave your browser environment to find and unblock it.

<comment><USER38> That irritated me once or twice at first, after setting PiHole to implement DNS based ad blocking at the network level.

It hasn't bothered me long term though. If that happens and I care enough about what made me follow the link then a quick search has always brought up another route to that content or equivalent content.

Often I don't care even that much in which case I click the back button or close the tab and get on with something else. In fact this "problem" might be saving me wasted time that I can use/waste elsewhere. It might even be saving money by reducing impulse purchases, if the links are ones I've followed to see what the sales pitch is for a product/service that has been mentioned in an article!

<comment><USER37> For me it's the opposite. Not being able to bypass that doubleclick block would mean that I lose the deal I'm trying to get and would lose money on something I'm actually planning to pay for.

<comment><USER38> I've never come across a product or offer I really wanted, that I couldn't easily get to by other means. It is occasionally an extra couple of clicks or a little typing to search, but that is a small price to pay for all the junk (sometimes actively malicious junk, not just tracking stuff and irritations like auto-playing video) that PiHole blocks.

Heck, it has at least once _saved_ me money, and not just because I gave up trying to get information on how to spend it: searching for the product when following the "direct" link didn't work found a better offer from another source (in that case if was an offer on the particular variety of running shoes that I currently prefer).

</comment></comment></comment></comment></comment><comment><USER39> This isn't just about applying some regexes, it's about disabling utterly obnoxious "features" of web sites.

Until a content blocker can offer a right-click "block THIS element" feature, they won't come close to the power of uBO. The UI alone for highlighting the exact offender in the document tree is brilliant. Every time a "newsletter" pops in my face, I can banish it forever. Every unnecessary floating space- stealing navigation bar, I can banish, returning the screen space that was stolen from me. Every scroll-with-the-article Facebook/Twitter gadget can be similarly removed.

<comment><USER40> While not a right-click, 1Blocker for macOS Safari does indeed a support "block this element" feature with their extension.

</comment></comment><comment><USER41> Interesting to see the difference in how HN reacts to changes like this in Safari vs Chrome.

[https://news.ycombinator.com/item?id=18973477](https://news.ycombinator.com/item?id=18973477)

<comment><USER42> For whatever reason, HN is completely uncritical of anything Apple does. It has gotten to the point that _/r/apple_ tends to have a richer debate about the companies actions. It's a side effect of the lack of subreddit equivalents IMO.

<comment><USER42> This story is a perfect example btw, compare [https://www.reddit.com/r/apple/comments/d6v3mo/explanation_o...](https://www.reddit.com/r/apple/comments/d6v3mo/explanation_of_the_state_of_ublock_origin_and/) to the multiple defenses of Apple in these comments

</comment></comment></comment><comment><USER43> I've been using the MacOS Beta for a while and lack of uBlock Origin has made browsing terrible again. Ads everywhere now and I had forgotten how bad it was.

Firefox has gotten pretty good now, the only problem is no integration with Keychain which is a serious downside. On iOS I use Safari but with BlockBear and Firefox Focus as content blockers. So my experience there is pretty good. iCloud Keychain makes my password situation a lot better going between iOS and MacOS... I'm not sure I can achieve the same using Firefox right now.

<comment><USER44> > Firefox has gotten pretty good now

But it burns through the battery!

<comment><USER29> That is true currently. Know that this problem will be strongly reduced in the next version of Firefox, to be released on October 22nd.

Firefox will use much less power then, on par with Chrome (haven't seen direct comparisons to Safari). Unfortunately by the time it's released Catalina will be out for a month already.

</comment></comment></comment><comment><USER45> Apple's goal is not hackability, it's to provide a safe environment for users to generate revenue. It's Dave & Buster's. That was the idea for mobile from day one. They did a great job out of the gate and they're getting better at it every year. They've had to work backwards in desktop because people used to expect full-control of those machines, but they're slowly bringing users around.

If you want to practice self-defense and weaponry, don't do it at Dave & Buster's.

</comment><comment><USER46> I went through the process of tearing away from Chrome. I only aspect that was holding me back was my stored passwords in Chrome and shared seamlessly with Android password manager.

Exported the passwords and imported it into Enpass. That was the first step in liberation.

I then decided to keep my personal and work related browsing separate especially since both require a google account (Gsuite at work). I wanted an ability to open the browser of my choice based on the URL I click and work anywhere on MacOS.

I implemented a simple URL handler that I register as default browser and that opens the clicked URL in appropriate browser:

[https://github.com/hackworks/chromer](https://github.com/hackworks/chromer)

It is not a very polished implementation but has been working reliably so far.

With that, I am now able to switch between any browser without any lock in.

<comment><USER47> Have you looked into Firefox Containers for separating your personal and work accounts?

<comment><USER48> Another vote for Firefox Containers here. I do use Safari for my personal stuff, but Firefox Containers is _extremely_ useful when you work with multiple clients and have to switch between contexts for the same site (in my case the Azure portal and various e-mail accounts).

One container per customer, and it's all neat and tidy.

</comment></comment></comment><comment><USER49> One alternative I haven't seen mentioned is Glimmerblocker[1]. There may be good reason for this—it looks like the last commit was a few years ago—but I know it still works in High Sierra at least. However, it's been a long time since I used the program regularly.

Glimmerblocker is unique in that it doesn't use Safari APIs—it creates a proxy to filter traffic before it gets to the browser. Despite that, it's quite powerful; I remember using it to make an extensive Javascript patch for one site.

(I vaguely remember something about Glimmberblocker needing SIP to be disabled, but there's nothing about that on their website now, so I'm not sure. I keep SIP off anyway, so I wouldn't know.)

\---

1: [https://glimmerblocker.org](https://glimmerblocker.org)

</comment><comment><USER50> So, if I understand things correctly, the change is from "browser passes URL to blocker, blocker runs arbitrary code to decide whether to block it" to "blocker passes description of URLs to block to browser, browser runs code"?

In the (somewhat) analogous case of antivirus tools, that change is from using heuristics to detect viruses to using fingerprints. I'm not sure that makes much of a difference there (but possibly I'm wrong)

Also, the risk here is lower, so not taking the risk to run arbitrary code in exchange for somewhat better ad blocking may be the better choice.

So, what are real-life examples that the uBlock Origin currently blocks that new blockers won't be able to block?

<comment><USER51> Safari now only allows up to 50k blocked elements. If there are more than 50k things you wish to block (my lists currently have >200k and uBlock Origin by default is over 100k), Safari won't let you.

<comment><USER52> That's 50k _per list_ \- many blockers (like 1Blocker) simply have different lists for each category of blocked elements. Works well.

</comment></comment></comment><comment><USER53> I don't understand why this is a good thing. As a user, I can make my own choices on what type of as blocking technology I want to use.

I'm sure most people on HN would support legalization of marijuana even though it is arguable that smoking marijuana is bad for you. Same thing applies here, I should be able to choose what ad blocking technology I want to use.

<comment><USER54> > I can make my own choices on what type of as blocking technology I want to > use

True, safari may not be for you then (it's not for me either). But for many people, especially those who don't understand how to get good privacy online, safari takes that guesswork out of the process. Apple applies similar logic to other security related choices they make for users too. It's not for everyone, but it is arguably good for many.

</comment></comment><comment><USER55> It was asked in the Github comments on this issue, but I want to clarify for myself: is the main difference between "content blockers" and "ad blocker" that works like uBlock Origin the way that they handle blocking content? What are the downsides to the content blocking plugin model?

<comment><USER56> In my limited understanding content blockers seem more sane as they doesn't give the extension cart blanche to read your pages and write to the DOM. Instead it passes links to content the browser wants to load into the content blocker as a filter function.

The seems very sensible given extension owners could start injecting malicious content on the page. Nothing prevents them from selling out — it's happened before.

I use uBlock origin and love it in Chrome but I can also see where Apple is coming from here. This will probably protect the greatest number of their users.

<comment><USER57> The way adblocks like UBo works isn't by injecting stuff in the DOM. Instead, they look at requests going out, and can ask the browser to "fail" it. It can do that based on custom logic - a piece of javascript code runs for every requests.

UBO also has the facility to delete/hide arbitrary nodes from the DOM in order to hide ads that might come bundled with the page.

None of those functionalities can really be used maliciously. At best you can break websites by denying them the ability to load stuff. The problem is that both functionality are bundled with other privacy-invading things (like injecting or reading). But that's of no fault of UBO, it's just the way Safari and Chrome decided to set the permission granularity.

You could have a secure, restrictive API without blocking the best features of UBO. Google chose not to because it's potentially damaging their business model, and Apple probably chose not to out of simplicity.

<comment><USER58> I think that this, i.e. with request and element filtering, is how it works the majority of the time. However, uBlock Origin can (and sometimes does) inject arbitrary scripts into the page. They can it "scriptlets", see this link: [https://github.com/gorhill/uBlock/wiki/Static-filter- syntax#...](https://github.com/gorhill/uBlock/wiki/Static-filter- syntax#scriptlet-injection) . You can see some usages in the "uBlock Filters" filter list included with uBlock Origin. I think it's more the exception rather than the norm, but it's there.

My fear is that if extensions are crippled and mainstream ad-blocking standardizes on those kinds of restricted "content blockers", it's possible for ad companies to implement an effective technical bypass for them, since they can execute arbitrary scripts, but "content blockers" can't, unlike extensions. You would need Apple/Google/etc. to play the ad-blocking arms race, and they probably won't have incentives for it.

</comment></comment></comment></comment><comment><USER59> Heaven forbid users choose to trade performance for a more usable browsing experience. Ads/tracking vs blocking is a war, and preventing blockers from running arbitrary code will cripple blockers, allowing technology to be developed by hugely funded ad companies that effectively bypass blockers due to these limitations. Providing a blocklist is completely insufficient for totally blocking ads and tracking, as anyone that has used the content blockers on iOS has observed.

<comment><USER17> > Providing a blocklist is completely insufficient for totally blocking ads > and tracking, as anyone that has used the content blockers on iOS has > observed.

I have used a content blocker for more than four years and I would have to disagree.

<comment><USER60> Well of course, content blocker audience is still scarce vs ad blockers, hardly worth investing.

That will change if content blocking is the norm.

</comment></comment></comment><comment><USER61> Everybody misses the point.

The declarative API takes control away from the user. Currently you can block everything except the useful content. With the declarative API you can block only trackers A, B and C, but not C and D, because C and D weren't added to the global list of trackers. Moreover, you won't even know that C and D exist. With the declarative api, trackers get a trivial way to bypass adblocking: they can just change the domain name. This is the true goal of declarative API, not performance or security.

Why does the declarative API still allow to monitor your traffic? This sort of contradicts the security selling point, right? Because corporate users need to monitor activity of their employees: they install a corp extension that monitors traffic. They don't need to block anything, but they need the monitoring ability.

The argument that adblockers can route all your traffic thru their servers simply doesn't stand. If this was a concern, the browser could refine the permissions model: an extension can monitor and block any traffic, but it doesn't have access to the internet. Just like in Android you can uncheck the camera and mic permissions for any app. Problem solved.

<comment><USER62> If you could declare a sufficiently advanced Lua script, that would negate all incompatibilities while still allowing complex blockers to function.

Why hasn't the blocker community proposed such yet? It seems like it's the missing piece: How little scripting capabilities are necessary, etc.

If you had MATCH expressions, CASE statements, and $1/$2/... capturing backreferences, would any of this even be a problem?

<comment><USER61> I don't understand your point. It doesn't matter what the language is: JS, Lua, Python, C++ or even Rust. What matters is the API the extension has access to: tab URLs, web requests, storage, network, DOM read only or read write. Just like in mobile apps: it doesn't matter what language it's written in. It only matters what system apis it has access to.

</comment></comment></comment><comment><USER63> I have used Better ([https://better.fyi](https://better.fyi)) on the Mac since the content blocker system was introduced and have never had a problem.

</comment><comment><USER64> I use AdGuard on iOS and you can use very similar block lists as uBlock Origin for macOS does. Besides ads, I block social media on third party sites. This kind of tracking is just outright evil.

I'll give it on macOS a try, because the other day, I noticed that uBlock Origin didn't detect one specific tracking URL, but Firefox did (and it clearly was in the network tab of the Safari developer tools). Now it's clear why: uBO is outdated for Safari.

Anyways, thanks for the port and maintenance all those years when I could use uBO!

<comment><USER17> That's surprising, as I'm sure even an outdated uBlock Origin should fetch an up-to-date EasyList.

<comment><USER64> I thought so too, but the version number was the only difference. If I find the link again, I can post it here.

</comment></comment></comment><comment><USER65> There are plenty of good ad blocker alternatives available for Safari on macOS and iOS.

I've created one that is updated regularly, has a free option, respects your privacy and doesn't take any $ from advertisers to let ads through the ad block rules [1].

Simply search on the App Store for a variety of alternatives.

uBlock Origin is good but it's not the be all and end all of ad blocking especially on Apple platforms.

[1] More details at [https://www.magiclasso.co/](https://www.magiclasso.co/)

<comment><USER66> You've got pretty bad reviews, mostly because you seem to hide essential features behind a paywall. I can't tell which features those are because your site is not really transparent about that either, probably in a weird attempt to hook whoever is reading it on the bold "free" part of the page.

Not great.

<comment><USER67> The website is pretty transparent about what is paid. The features page has some features listed as part of the "pro" subscription. It seems that the only paid additions are automated rule updates, a whitelist, and early access to new features.

[https://www.magiclasso.co/#features](https://www.magiclasso.co/#features)

</comment></comment></comment><comment><USER68> I find a bit strange that he didn't think of Pihole as one of the alternative.

[https://pi-hole.net/](https://pi-hole.net/)

<comment> GuB-42 There is an overlap in features but these are different, and possibly complementary things.

Pyhole vs uBlockOrigin:

\- is hardware based

\- works on a global scale, including the browser, apps, and the OS itself

\- can only block domains, not full URLs

\- doesn't have cosmetic filters

\- works at home, not really on the go. there is a VPN, but it still uses your home connection

The intermediate solution would be hosts-based blocking.

</comment></comment><comment><USER69> This is a mind-boggling level of FUD. Content blockers have been noticeably superior on both macOS and iOS for years. They're not "limited", they're rational. It's abjectly absurd that traditional ad blockers can consume as much CPU as they do on every single page load. I hope everyone in this thread jumping ship to Firefox in a panic enjoys their shorter battery life.

<comment><USER70> Disagreed. Content blockers are "dumb" as they just provide a list of URLs/regexes to block, which doesn't always work and doesn't allow behaviour- based blocking like "dynamic filtering" that some Javascript-based adblockers have.

Sure, it's technically possible for a JS blocker to use more CPU, but 1) it's a trade-off the user should be allowed to make (I'm happy to sacrifice some CPU in exchange for better ad blocking and privacy) and 2) I never had a case where a JS-based blocker noticeably impacted performance.

</comment></comment><comment><USER71> Time to start avoiding any browser that limits the power of extensions.

Browsing the web today has become a dirty business, it's easy to be tracked, and users have the freaking right to defend their privacy when browsing, and to do it in whichever way they like.

I'm tired of these paternalistic and uningenuous claims from Google and Apple that sound like "but we do it for you, you know, adblockers really hurt the performance of your browser". Something hurts my browsing experience? Well, it should be my call whether the pros outsize the cons or not, it should my call whether to use it or not, not the browser's developer call. After all, the web browsing experience today is way more compromised because of the huge amount of third-party scripts that run on most of the pages, surely not by extensions, but browser producers don't seem to put the same emphasis on the need of reducing the use of third-party scripts and trackers.

To me decisions like blocking external web API calls in extensions just because "they may slow down your browser or put your security at risk" sound like if the Linux kernel suddenly decided to disable the support for network sockets because "you know, hackers might use them for backdoors, or you might end up connecting to an extremely slow server and hurt your experience": a complete nonsense bullshit.

Plus, browsers like Brave have recently proved, with its native content blocker developed in Rust, that it's still possible to use a traditional adblocker without compromising the browsing experience.

Time to uninstall Chrome. Time to uninstall Safari. Time to ditch away all the browsers that do their best to limit your freedom on how you surf the web. Extensions are among the foundations of a modern browser, and limiting their power to static lists of rules is an immoral decision that deserves a serious boycot act from users.

</comment><comment><USER72> Let me get this straight, because Apple is worried I might leak private information to the Extension Developer, they came up with a new "content blocking" scheme that is not as capable so now my risk has increased for every website I visit? I think I would like to take my chances with the Extension Developer.

</comment><comment><USER73> I didn't know this first but spent awhile after installed Safari 13 and noticed uBO wasn't there anymore and spent time searching for alternative options and valuating those mentioned in the post but decided I'll go with FF and only use Safari with some websites those I'm working with them.

<comment><USER74> I started downloading the update while read another thread. I immediately cut off the WiFi and stopped the download. I also downloaded Firefox to check it out and it seems pretty good.

</comment></comment><comment><USER75> FWIW, I've been on Catalina for a couple of months now, which means no uBlock, and the web has been pretty usable. Safari alone seems to be doing a pretty good job with isolating the worst ads.

That being said, this post reminded me to install a replacement, so I just installed Adguard. We'll see how it goes.

<comment><USER76> Are you not concerned by the permissions Adguard requires?

<comment><USER77> I installed Adguard myself after reading this post — it appears as though they've split the functionality into many extensions, and only a few require full-page access. I'm trying it without those "advanced" extensions enabled and it seems to be doing just fine.

</comment></comment></comment><comment><USER78> For those looking for a related alternative/supplement.. consider a privacy DNS solution. I've really been liking NextDNS lately. Lets you customize a ton of stuff:

It launched on HN a while back: [https://news.ycombinator.com/item?id=20012687](https://news.ycombinator.com/item?id=20012687)

[https://nextdns.io](https://nextdns.io)

<comment><USER79> Isn't the main issue with DNS blocking the same as this "content blocking", i.e. it cant work for things like blocking Twitch's SureStream ads?

Interestingly I found this while looking around for the answer: [https://github.com/uBlockOrigin/uAssets/issues/5184#issuecom...](https://github.com/uBlockOrigin/uAssets/issues/5184#issuecomment-475864036)

</comment></comment><comment><USER80> There's the option for hosts-based blocking, too; unified hosts[1] for example

[1] [https://github.com/StevenBlack/hosts](https://github.com/StevenBlack/hosts)

</comment><comment><USER81> There are ways to make AdBlockers work with Safari 13. It is a question of someone taking the effort to adhere to the new design enforced by Apple for Safari extensions.

I switched to AdGuard from uBlock Origin.

<comment><USER82> I've made the same switch to AdGuard after upgrading to Safari 13, happy so far. (I've loved uBlock Origin for many years.)

</comment></comment><comment><USER83> Does anyone have a local proxy that can do this instead? I am aware of GlimmerBlocker, but would love to hear broader feedback on the topic.

<comment><USER84> There's pi-hole but it's only a DNS blocker

</comment></comment><comment><USER85> As it mentioned, it will not work in future release of safari and chrome. So only choice will be Firefox on Mac?

<comment><USER86> If Chrome/ium forks decide to maintain the needed APIs they will still support it. There's also Brave. In the meantime I'm with the new Edge (forked from Chromium) in hopes MS won't be stupid.

</comment></comment><comment><USER87> I'm starting to hate the internet

</comment><comment><USER88> I've seen that now Little Snitch (4) has the possibility to load community's blocklists.

Any feedback on this?

<comment><USER89> I use this with Peter Lowe's blocklist [0]. I'd share the exact setup but I'm not near my Mac just now.

It's great, but I also use 1Blocker — have since its release, also use it on iOS — and I _think_ it does most of the work. I've only recently added the blocklist to Little Snitch and I don't notice much difference.

Of course Little Snitch is blocking _all_ network traffic, including Firefox. I use Firefox as my dev browser and don't have any blocking extensions loaded.

It's in the category of 'why not' for me, I already have Little Snitch so I may as well load in these rules.

[0]: [https://pgl.yoyo.org/adservers/](https://pgl.yoyo.org/adservers/)

</comment></comment><comment><USER90> I've found Ka-block! to work well enough that I'm happy waiting until a clear winner between 1Blocker and AdGuard emerges. OTOH, the bigger annoyance has been the fact that none of the vi key extensions for Safari seem to work anymore.

</comment><comment><USER91> Safari is the new Chrome

</comment><comment><USER92> Wow</comment>


A Book About: How These Things Work - <AUTHOR> http://reasonablypolymorphic.com/book/preface.html <comment><USER2> I'm enjoying this greatly, occasional typos aside. I'm pretty certain there is a typo in the `where` block in the definition of `Hold`:

      bind ma f = (composeK (always m) f) Unit

should, I believe read

      bind ma f = (composeK (always ma) f) Unit

If this is not the case I'm extremely confused. (The typo was repeated (it appears in "Revisiting State" and "Kleisli Tools") which led me to reread three chapters to make sure I was understanding-- if I'm wrong then I don't actually understand what `m` and `ma` refer to in this context.)</comment>


What to Eat After the Apocalypse - <AUTHOR> http://nautil.us/issue/101/in-our-nature/what-to-eat-after-the-apocalypse <comment><USER2> > You would never know the difference between say, a sausage patty, a veggie > sausage patty, and an insect sausage patty. It's all the same! It's just the > spices.

We should really stop with this BS. There are a lot of delicious ways to cook vegetables; but a veggie patty does NOT taste like a sausage one. I'd bet the second part of the sentence applies to insect as well. I'm not sure I'm ready to find out about the first part.

<comment><USER3> I'm amazed at how often I hear "you can't taste the difference" with something that obviously tastes different. Its like a color blind person saying "you can't tell the difference between red and green" instead of "I can't tell the difference". I can taste the difference between and specify about a dozen types of animals. How in the world does anyone think I won't be able to tell a veggie patty or insect patty from any of them?

<comment><USER4> There's a difference between _thinking_ you can tell the difference or convincing others that you can tell the difference, and _actually_ being able to tell the difference.

Nowhere is this difference more strikingly demonstrated than in the studies that have been done on wine tasting.[1]

An example from the article:

      Hodgson isn't alone in questioning the science of
      wine-tasting. French academic Frédéric Brochet tested the effect of
      labels in 2001. He presented the same Bordeaux superior wine to 57
      volunteers a week apart and in two different bottles – one for a
      table wine, the other for a grand cru.

      The tasters were fooled.

      When tasting a supposedly superior wine, their language was more
      positive – describing it as complex, balanced, long and woody. When
      the same wine was presented as plonk, the critics were more likely
      to use negatives such as weak, light and flat.

[1] - [http://www.theguardian.com/lifeandstyle/2013/jun/23/wine- tas...](http://www.theguardian.com/lifeandstyle/2013/jun/23/wine-tasting-junk- science-analysis)

<comment><USER5> Excellent, we can see that subtler differences are harder to identify, and that we can have subjective applications to flavour because humans are biased to like things in proportion to how they expect to.

But I'd put money that every experienced taster was able to deduce in blind tasting the bordeaux from the (insert other wine type??). Indeed as I understand it from watching Frasier there are clubs which do these blind tastings all the time.

In other words. I may tell you this bordeaux is cheap and acidic, but at no point was I mistaking it for a bottle of Rose.

<comment><USER6> Actually, there have been studies where they put red food coloring in white wine and given it to self-styled experts who could not tell that what they were drinking was not red wine.

<comment><USER7> I'm sure you could find just as many studies proving the opposite. The human nose is not as bad as many people think. I've conducted a little experiments myself together with four or five roommates. We first sampled four different red wines, then going at them 'blind' (not knowing the label) again. Me and a colleague got all four right, the others had two of them mixed up (always the same as I remember). All of us were completely untrained in wine testing. At least we could find good evidence that we were better than random agents, even though to do it conclusively the sample size would have to be larger.

I think when you try to trick somebody into thinking a wine is something different from what it is, that's very much different from saying we can't tell apart wines at all.

<comment><USER6> There's no question that people can tell one wine from another. But the point is that people's perceptions of wine are as much a function of their expectations as the actual chemistry of the wine. The same thing can be said about insects or veggie-burgers. Yes, veggie burgers don't taste like real burgers. But if people claim that veggie burgers taste _worse_ (or better) than real burgers, that could be as much a function of their expectations as it is the actual flavor.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Why wait until after a world apocalypse? Insects are plentiful and nutritious and we should be eating more of them now.

There's plenty of evidence that insects are high quality protein with low fat. In many traditional societies around the world, termites, grubs, grasshoppers, and other creepy crawly things play an important nutritional role.

Years ago, my wife and I read a beautifully illustrated travelogue "Man Eating Bugs" written by a husband-and-wife team who traveled the world to see (and sample) insect cuisine in many cultures. Fascinating stuff.

It's a generally well supported view among paleontologists that primitive humans ate lots of bugs. We were opportunistic foragers from way back. It's only in recent centuries, in "civilized" places, that we have regarded bugs as a repulsive thing to eat.

I would imagine that in and after a nuclear winter, animal and vegetable life would dwindle to a tiny population that would take hundreds if not thousands of years to replenish. Probably we should be caching genetic material, sperm, and seeds of every species in some safe, underground arkology, so that two hundred years after the meltdown, whoever's left can restore some biodiversity.

<comment><USER9> I raise Tenebrio molitor in a 5-gal plastic bucket, as pet food. I haven't tried cooking them, but eating the live larvae or pupae isn't altogether horrible. With the adults, bits of the exoskeleton, especially the legs and wing covers, get stuck in your teeth, just like with popcorn.

But they aren't very flavorful, either. I'm not sure what I was expecting, really. I think if I blended the suckers, the resulting bland protein paste could be added to practically any recipe, like tofu or ground chicken.

But there is a big problem. The other people in the household have a contagious, irrational prejudice against not only eating beetles, but also knowing that I might be eating them, using the same dishes and utensils that they might be using later. Bugs will only ever be post-catastrophe food for them, because they literally will not even entertain the notion until they are actually facing starvation.

That's why wait.

The only likely path for getting more insect protein into the US food supply is by feeding them to premium organic poultry fowl or egg-layers. So there may be an opportunity there for industrial-scale insect breeders, but I expect any attempts to go a more direct route will generate a backlash bigger than "pink slime".

<comment><USER10> _by feeding them to premium organic poultry fowl or egg-layers_

Which leads me to an anecdote I find interesting. I raise chickens. My older child can immediately tell the taste difference between an egg from one of our chickens that have a varied diet and one from the store. And that's without even seeing them. As soon as you break the eggs open, it's obvious which is which: ours have deep orange yolks vs the pale yellow store bought ones.

tl;dr: eggs from chickens eating bugs and grass taste far different than from chickens raised on cheap feed.

<comment><USER11> Is it even possible to get true free range eggs anywhere? I know plenty say cage free, but that could just be opening the cage for an hour or so in a day just to make the marketing claim.

<comment><USER9> Drive into the country and look for the hand-painted sign that says, "EGGS 4 SALE". Selling traditionally farmed eggs to city people is a relatively common way for rural people to make a little cash on the side, or for 4H kids to learn the business. You can think of it like a lemonade stand without the pity purchases.

You may need to bring your own containers, tolerate an occasionally unreliable supply, buy only at a few oddly-scheduled times during the week, and pay in cash. Also, don't tell your foodie friends where you found them.

</comment></comment></comment></comment></comment><comment><USER12> Most of the advice in the article is a bit silly; however, the question _is_ vitally important.

Most large cities only have 2-3 days worth of food available. If the daily deliveries stop for _whatever_ reason, things will go bad fast.

The best three pieces of advice I ever heard: _1) Get out of the cities. 2) Get out of the cities. 3) Get out of the cities._

<comment><USER13> Yep, just-in-time logistics are highly efficient, at the expense of low inventories.

The oft-repeated advice to vacate cities is complete bullshit. No matter what "countryside" means, there's less food there in almost every case. Go to any small town and what do you find? Smaller grocery stores, with inventories just as tight as in the cities. Same suburban-style communities of people just as unprepared as anyone else.

Emergency provision of supplies is made efficient by the same things as normal delivery logistics: densely clustered populations and major infrastructure, exactly the things that make cities what they are.

Just look that the slow-motion SHTF scenario of the Great Depression of the '30s, when the American countryside was drained of its population, never to recover.

<comment><USER14> While I agree with your general point, outside of course grain growing regions, there were too many things going in the '30s to ascribe the rural depopulation you note to just this.

Biggest example would be the federal government suppressing food production and trying to keep prices high, at the same time the same Department of Agriculture estimated 1/4 of the population was malnourished. As was confirmed by the WWII draft, and I've read that was one of the inputs into the Truman school lunch law.

As an extreme example, see _Wickard v. Filburn_ where in 1942 the Supreme Court ruled the Federal government could prevent you from growing wheat on your own property for your own consumption.

Get back to the price supports, a big problem was an inability for all farmers/farms to make a living on what they could produce. Specialization meant it was _much_ harder to try to provide for yourself everything you needed, and people responded to these incentives and opportunities in more urban areas, real ones at least once WWII production got started and the draft drained the manpower pool.

And of course a large part of this was increased mechanization, which pretty much never stopped replacing farm labor with machines. My parents are from farms and the Silent Generation, so they experienced the tail end of this. And they made very sure to "get off the farm", the work is brutal, a lot more so back then.

<comment><USER13> Grain-growing regions have grain, not food. Short term survival in oft- fantasized SHTF scenarios depends on easily accessible calories. A grain elevator full of maize is not accessible calories. Less so a cow. So while you're in the country trying to break in to a grain bin so you can chew on some raw millet, I'll be cowering (and crying) in my suburban basement waiting for the National Guard to set up a food distribution center close enough for me to fight my way to it with two mags of 9mm and a sharp stick.

See how absurd these discussions get?

BTW, I have family in a small Kansas town a with couple thousand people, four dipshit cops, roughly equal amounts of meth and ammo, and one giant grain elevator. If SHTF I bet you my mano&metate that they show up at my house in the city within days or weeks.

<comment><USER14> " _A grain elevator full of maize is not accessible calories._ "

Only to those who so little imagination they literally can't pound rocks: [http://en.wikipedia.org/wiki/Metate](http://en.wikipedia.org/wiki/Metate)

Although as _Nuclear War Survival Skills_ (NWSS) points out, bundling three metal pipes together works a lot better.

Boil with water and you have edible gruel. Maybe not enough fat to keep children thriving (NWSS said that about wheat, at least), but that can wait a bit.

<comment><USER13> If you had bothered to read my previous post, you'd know that I won't have my mano or metate because I will have lost them both to YOU in a frivolous bet.

I'll look into those bundled pipes. You figure out how to fend off the co-op members when we try to break into their granary. They don't care much for city folk down there.

</comment></comment></comment></comment></comment></comment><comment><USER15> So this is "what to eat after an apocalypse that is not the one we're actually facing". I would be far more interested in knowing how we deal with a "soft apocalypse" of fossil fuel depletion, drinking water scarcity, high ocean acidity, etc.

<comment><USER11> Fossil fuels will not run out anytime soon. Depleting all the deep gas and coal deposits will take centuries.

<comment><USER16> Yes, that's not the point. We haven't run out of gold, either, but if you invented an engine that could burn gold it sure wouldn't be too useful for powering cars. Oil doesn't need to run out to be economically useless for powering the world economy.

</comment></comment></comment><comment><USER17> This person ought to understand ocean ecology better. If there's not enough sunlight for agriculture, fishing is unlikely to be more productive than it already is now with normal sunlight.

<comment><USER18> I think they have a general problem with ecology in general. Knock out the plants, and you can't sit pretty by eating bugs and rats, either.

</comment></comment><comment><USER19> > _What kinds of disasters do you think about?_

> _Let me take the most likely one: the nuclear winter case._

The nuclear winter is pretty low in my list. Financial meltdown and climate change are at the top.

<comment><USER20> Yeah I can't take this article seriously. It reads as though written by some nutrition/health food fanatic who distorts reality to suit their conclusions. There's just something not quite sane in the writing.

        The vast bulk of humanity would survive, eventually.

I mean this is nitpicky, but what?

<comment><USER5> He's decided that nuclear winter involves a very very small nuclear war hitting a few large cities. Which means the vast majority of humans live.

If US and Russia unload, say, 75% of their arsenals I'm pretty sure that is inaccurate. Not to mention there seems to be no consideration of the radiation levels in various foods?

<comment><USER14> The earth is very big, and we are very small in comparison.

Even back when the warhead and delivery inventories were _much_ larger (100 times or so if my memory serves), a LLNL _3D_ simulation of "nuclear winter" resulted in a single nuclear fall (TAPPS, which I read when it came out and studied, was fraudulent, especially in it's use of a 1 dimensional model of the atmosphere (i.e. no winds, no oceans, etc.)). Not good, just like all too many volcanic eruptions in recorded or thereabouts history, but not the end of the world.

An _overall_ radiation increase would small to immeasurable, the effect immeasurable. It would suck to be close and downwind of a warhead explosion unless you're prepared, further away not so good, but even in Cold War targeted US 10s of millions would have survived without lifting a finger WRT to radiation.

</comment></comment></comment></comment><comment><USER21> So the article inspired me to try some white pine tea for the first time. I'm sipping it right now, and it tastes quite good. If you live in the north try it out.

Here's the recipe that I followed: [http://hubpages.com/hub/How-to-Make-Safe- Healthy-Pine-Needle...](http://hubpages.com/hub/How-to-Make-Safe-Healthy-Pine- Needle-Tea)

<comment><USER22> Good lord:

 _Ponderosa Pine; also known as Blackjack, Western Yellow, Yellow, and Bull Pine. This pine contains isocupressic acid, which is known to cause abortions in cattle._

<comment><USER21> Nope, definitely was White Pine, 5 needles on each sprig and black bark. Ponderosa Pine doesn't grow natively in the North-East. Oddly, people do make tea out of Yellow Pine too! Give you an idea, this stuff is pretty good. Going help myself to a second glass once I'm sure I don't have any weird reactions.

[1] [http://rockymountainbushcraft.blogspot.com/2012/11/rocky- mou...](http://rockymountainbushcraft.blogspot.com/2012/11/rocky-mountain- tree-identification_19.html)

</comment></comment></comment><comment><USER14> Let me elevate a comment in a subtread to the top level: nuclear winter is bunk, real effects would be on the scale of historical volcanic eruptions: [https://news.ycombinator.com/item?id=8768412](https://news.ycombinator.com/item?id=8768412)

BUT, if you want a disaster of that scale, _nature will be happy to provide!_ Just have a big meteorite hit an ocean; hitting a big and deep body of water is critical, because otherwise "too much" of the heat radiates back into space. That's a big reason the vast majority of fielded nuclear weapons never got very big, there effects doesn't scale well.

There's some good science fiction that covers this and how to respond, email me at my contact address if you want a recommendation that is necessarily a spoiler.

</comment><comment><USER23> The degree of cooperation the article assumes is untenable on a global scale. Perhaps more isolated countries could coordinate, or maybe after the initial chaos some coordination could develop...

He ignores that the most plentiful source of food will be other people after a month or so...

<comment><USER24> Yes, based on the litmus test of the recent lack of global cooperation in managing climate change, we can expect developed countries to look after their own citizens only, using their militaries to steal all available food from less developed countries. Immigration-based countries such as the U.S. will be better positioned to convince their citizen base that they owe nothing to other countries peoples by presenting their own population as "representative of the world's ethnic balance", and even as "the subset of the world that God wants to save". Expect to hear "the United States is the Ark of Noah for this day and age" broadcast on U.S. televisions as drone robots march through the Brahmaputra harvesting rice for loading onto ships destined for the U.S. as the local population starve. The leaders of developing nations with nukes such as Russia and India will be given U.S. citizenship en mass, Roman Empire style, in return for control over those weapons. English-language testing will be canceled for Chinese students wanting to study in the U.S., who'll be distributed around colleges in cities all over the U.S. to discourage their parents launching Chinese nukes at them.

</comment></comment><comment><USER25> > "...an invasive water mold ... reached Ireland, where, '... four out of ten > Irish ate no solid food except potatoes, and … the rest were heavily > dependent on them.'

Imagine if something were to arise that took out the corn crop . [http://ensia.com/voices/its-time-to-rethink-americas-corn- sy...](http://ensia.com/voices/its-time-to-rethink-americas-corn-system/)

<comment><USER26> > Imagine if something were to arise that took out the corn crop

There would still be plenty of food to go around. Problem was that British did not allowed people to eat corn.

<comment><USER27> Rubbish. There was famine across the whole of Europe. The government imported millet to feed people and militant Irish Nationalists called it "Peel's Brimstone" (it's yellow, remember) and claimed that those eating it would put their immortal souls in danger.

Yes, they could have done more. But that doesn't mean they actively plotted to starve people as modern Irish Nationalists like to claim.

</comment></comment></comment><comment><USER28> > The Great Famine, as it came to be known, could have been avoided in any > number of ways, not least by ceasing the export of food from Ireland to > Britain. But the British government failed to take effective action.

"...the British government failed to take effective action"

That's one way of putting it!

</comment><comment><USER29> Braiiiiins, of course. Jeez.

</comment><comment><USER30> Nice to see Michigan Tech!

</comment><comment><USER31> I am going to try to divert your minds away towards some questions that you might not be interested in, but nonetheless could be more productive than the game of hole-poking that this essay invites.

I think many readers will have arrived at a similar set of conclusions, based on whatever assertions or citations may have inspired doubt; for me, it was Pearce's surprise that the world was unable to feed everyone despite having full agricultural production. Perhaps I have greatly misunderstood the matter, but I had believed that problems of famine and chronic hunger were entirely due localized logistic and political problems, and that the world was in fact handily capable of feeding everyone, even with the current (very inefficient) distribution and scale of agricultural production.

This suggests to me that either I am very wrong --- something that does happen --- or that Pearce and Denkenburger might not have done a lot of what one could term 'peripheral' research on the topic they were interested in. This is a situation where two engineers are attempting to problem solve in a domain that might require, at any given turn, significant expertise in chemical or biological processes; or manufacturing processes, for that matter, or logistics, or economics, or international commerce.

Consequently, this comes across as what one might term a 'Dunning-Krueger Study': facile, misinformed "solutions" to misunderstood problems in which the progenitor has an erroneous confidence. Given my own lack of knowledge, it would be hypocritical to label it thusly; the deposition of their suggestions should be placed in the hands of the various relevant domains.

My question is regarding this type of research in general. I imagine the defence of it would be that it (at least) initiates investigation and problem solving, and that it (at least) arrives at useful suggestions, preliminary analyses, and approximate solutions. Does the Dunning-Kruger phase of knowledge have a discernible utility or application? Is there in fact a use or place for such investigations? Are they a form of deceptive mimesis, imitating research in pursuit of resources? Does ignorance of the domain of knowledge ever have a value? If so, how does one identify that one is in a Dunning- Krueger situation, and how should one proceed from there? Can one have knowledge about the meta-domain of Dunning-Krueger situations that allows one to limit or avoid the negative consequences of misjudgement?

It strikes me that perhaps situations analogous to the one in which a hypothetical Peirce and Denkenburger are required to figure out how to feed the entire world after an apocalyptic event are not in fact rare, but actually occur all the time, and that it is a routine problem in design and engineering that one needs to find solutions in a problem domain that one understands poorly or not at all. I have no expertise to support this notion; there is a question mark hanging on the end of the assertion. But one could regard this as occurring in the course of ordinary life as well. How does one systematically make the best possible decisions on the basis of incomplete and possibly erroneous information, given that computation is itself a cost? In that context, a Dunning-Krueger epistemology starts to look like a reasonable strategy.

<comment><USER32> You are over-interpreting the Dunning-Krueger paper.

I also think "mimesis" is the wrong word. They aren't imitating research, they are applying their real actual research and analytical skills in pursuit of resources.

<comment><USER31> > You are over-interpreting the Dunning-Krueger paper.

Almost certainly true, as I've never read the actual paper; I've encountered the concept and phenomena in the wild. I take your word for it. If you have a better term for what I am describing, I will be happy to learn it.

Their research seems to lack introspection and fundamental rigor. Did you get a different impression than that, from the essay? My contention (if mimesis was my thesis) is that it is research insofar as it carries out the _activity_ of research, but that it carries out that activity without being truly informed by the _material_ of the research; process disassociated from content. However, it was a question, not an assertion; I've no opinion.

<comment><USER32> Interdisciplinary research is a thing. Though I guess it doesn't start from the presumption that incompetence will be helpful.

</comment></comment></comment></comment><comment><USER33> Some dark force made me read "Where to Eat After the Apocalypse".

<comment><USER34> Still better than "Who to Eat After the Apocalypse"

</comment></comment><comment><USER35> Slimy yet satisfying.

<comment><USER36> hornworms, you mean?

<comment><USER35> I don't think the article mentions specific species of insects, but...

I have tasted maguey worm and crickets, and they are both quite good. So, unless it is poisonous, I think hornworm would do, too.

</comment></comment></comment><comment><USER37> Apocalypse means "revelation".

I hate when people use that word like it means "the end of society as we know it",or like it's "madmax time" or something.

Apocalypse is of religious nature.It has nothing to do with a "global catastrophe.".

Aren't scientists supposed to be smarter than the rest of us?How can they continue to spread that non-sense?

PS:I'm not religious.But the word Apocalypse has a specific meaning.

<comment><USER4> While we're on the subject of pet-peeves, I hate it when people speak of an "existential threat". That has absolutely nothing to do with Existentialism.[1] What people probably mean when they use that term is "a threat to ___'s existence". "existence" != "existential".

I also hate it when people say "hackers" when the proper term for what they mean is "crackers".[2]

And I hate it when people say "Linux" when they should properly say "GNU/Linux".

But I rarely complain about these pet-peeves of mine, since I recognize that language is a living, changing, growing thing, out of the control of any one person or small group of people, though the French language police[3] and dictionary publishers may disagree.

[1] - [http://plato.stanford.edu/entries/existentialism/](http://plato.stanford.edu/entries/existentialism/)

[2] - [http://catb.org/jargon/html/C/cracker.html](http://catb.org/jargon/html/C/cracker.html)

[3] - [https://en.wikipedia.org/wiki/Minister_of_Culture_%28France%...](https://en.wikipedia.org/wiki/Minister_of_Culture_%28France%29)

<comment><USER38> The word "existential" (attested since the late 17th century) was used as an adjective relating to existence long before the birth of Existentialism. In the phrase "existential threat", there is no cause of confusion (unless there is cause to speak of threats relating to Existentialism). So I don't have a problem with this usage.</comment></comment></comment>


Ask HN: review my web app, a wiki for code snippets - <AUTHOR> http://www.refactory.org

<comment><USER3> I think this is generally useful, but I would prefer to see each version of the code. By making this a wiki you will end up with only one version, but if you could see each version you can see different approaches to the problem. The history attempts to address this, but it is difficult to use.

</comment><comment><USER4> I really like the design and way that your site works, a lot of really nice elements in there.

<comment><USER5> It appears heavily influenced by pbwiki and stackoverflow.

</comment></comment><comment><USER6> Looks useful. If I invest time in it with my existing collection of snippets, what confidence can I have that it won't get zapped?

Anyone can edit is tough. There are situations where people think they know what you mean and go in and mess with things but miss the subtlety of a situation. Or where it comes down to matters of taste. With no commenting area, there isn't a mechanism for people to discuss this.

There should be a search mechanism that allows you - in a single command - <USER2> indicate the language your searching for and keywords. Better still if you can get to it via hotkey and if it sits at the top of every page. It should be possible to see and search just your own code submissions, and to make private submissions. I've got a page of stuff I keep handy which is where I track dumb cisco tricks and the like, and I'd love to have a place where I could move these. They're not always the sort of thing you want public.

There was an inline vi-in-javascript editor - would be fun if users could set this up as their editor of choicein their profile.

</comment><comment><USER7> I normally use sites like DZone snippets for code snippets but I'll check out this site too if I need any. Thanks for sharing. I also like the design of your site better.

</comment><comment><USER8> My first thought was, "Damn that's pretty."

My second thought was, "Nice AJAX, and it works..."

Very polished job. Nice work!

</comment><comment><USER9> I'm really quite enamoured with your work. Most wikis seem confusing or dead or forboding when you first load them. You've really brought the "visible pulse" of the site right up front and made it inviting for people to take an initial action.

</comment><comment><USER10> I am not a big fan of re-inventing the wheel but I am also not a big fan of copy-paste programming. Often times you unwittingly introduce errors, assumptions, or complexities into your program without realizing it. Having said that, it is a great way to get a general idea of how to solve problems if you're stumped.

[EDIT]

I really like the design. It is very clean visually and seems well thought out from a UI perspective.

</comment><comment><USER11> I think it would be best if there was no editing on another persons code snippet. But instead of a fork have it as alternate code under the same title then have some kind of voting to decide the display order.

So the main one would come up as it as as a slide down with a link down the bottom that would say something like 2 alternative snippets.

</comment><comment><USER12> Snipt.net is the one I use and it keeps me coming back because it allows me to have my own personal snippets (which can be either public or private). Perhaps you should let people register and do the same (or "flag this revision for me" if you want everything public?)

<comment><AUTHOR> The plan was to allow users to create public/private wikis, very much like Reddit's subreddit system. The creator would set access permissions, so it could work as a personal library, or a collection for a blog/BBS/open source project. Any suggestions on this would be especially helpful... I'm working on implementing this over the next few days.</comment></comment>


What happens when you run `import unique from "lodash-es/uniq"`? - <AUTHOR> https://i.imgur.com/phBlVBe.png <comment><AUTHOR> ParcelJS dev here. Currently engaged in a #BundlerWar vs webpack. I made this debug visualization and figured it might be useful as a standalone feature.

Parcel just spits out a DOT graph, which you can run through dot/neato/circo as you prefer.

Some graphs can end up looking pretty wild! [https://i.imgur.com/gLXJvx8.jpg](https://i.imgur.com/gLXJvx8.jpg)</comment>


Google to shut down Gtalk on February 16, will force users to switch to Hangouts - <AUTHOR> http://tech.firstpost.com/news-analysis/google-to-shut-down-gtalk-on-february-16-will-force-users-to-switch-to-hangouts-253637.html

<comment><USER2> Anyone have an authoritative source for whether XMPP support will be kept? I've seen a lot of speculation floating around but can't find anything concrete.

<comment><USER3> from google itself: "Nope" [https://news.ycombinator.com/item?id=5714557](https://news.ycombinator.com/item?id=5714557)

On my Mac I use the messages app for iMessage, Facebook messenger, gtalk and a couple of other XMPP services. I actually tried to have a "hangout" call from someone today -- it required downloading a plug in which frotzed my Safari. I gave up and called the guy back on his phone. He told me that was what usually happened to talk to people outside his company.

This doesn't seem like much of a loss. "Hangouts" is a google+ service which means only ex googlers try to talk to me with it, and I can call them on the phone. I only have two people who try to talk to me with gtalk -- we can switch to something else.

It's crazy that messaging has become so balkanized when SMTP and HTTP/HTML have managed to become so standard. It feels stuck in the 1990s!

<comment><USER4> The link you posted is from two years ago. Not sure what to think of it. It's also contradictory in its message. The headline says "no XMPP", but point 1) says "XMPP will continue to work"... color me confused.</comment></comment></comment>


Programming at the specification level with Haskell - <AUTHOR> https://www.fpcomplete.com/user/agocorona/EDSL-for-hard-working-IT-programmers

<comment><USER2> OP: a question about some of your earlier work. In particular, I'm reading through your "A Monad For Reactive Programming, Part 1". [https://www.fpcomplete.com/user/agocorona/a-monad-for- reacti...](https://www.fpcomplete.com/user/agocorona/a-monad-for-reactive- programming-part-1)

I see a lot of higher-rank types, like this:

        data Event = forall a. Event EvType a

as opposed to:

        data Event a = Event EvType a

These mean different things. In the former, an Event has to be able to hold _any_ a, and that doesn't really make sense (unless I'm misinterpreting something) because the only value that inhabits _all_ types a is undefined/bottom.

Or is that what you want? Is there a reason why you use higher-rank types (which make my brain hurt, require a lot of language extensions, etc.) rather than parameterized types? If so, could you spell that out?

Another example is this:

        data EventF = forall m b c. EventF  (b → Transient m c)

Again, I'm not really familiar with what you're doing so it's quite possible that using higher-rank types is exactly what you want (see: ST Monad and Lenses, where rank-2 types are crucial). I'm just having a hard time seeing it.

Thanks!

<comment><AUTHOR> Hi

In the case of events, it is because I later have to store different event types in a List

so I define the list as [Event] . That is the container that feed the monad with events.

If I define Event as you suggest, I would need a existential type anyway.

        data Event a = Event EvType a

        data ListEvents= forall a.[Event a]

In the case of the continuations, I need to use a state monad that store this EventF data And I need to "erase" in some way the types to allow it to store them all for all events, no matter wich a and b they produce. I know that if in

        x :: IO a

        f :: a -> m b

If within the monad definition I store f (the rest of the computation) in the state monad, the type of this continuation when executed will be (m b) and it accept values of type `a` so I can coerce the continuation to this type even if I "erased" it when i put it in the state monad.

Anyway this approach has some problems that I solved in the second part

</comment></comment><comment><USER3> Does anyone else get "Base.hs@493:1-493:2 parse error on input `" on trying to run the code snippet in [https://www.fpcomplete.com/user/agocorona/EDSL-for- hard-work...](https://www.fpcomplete.com/user/agocorona/EDSL-for-hard-working- IT-programmers#composition-of-programs--runnable-example-)

Am I misusing fpcomplete, or does the code snippet not work?

<comment><USER3> I realised that it was the main module that needed to be run, after switching to this module (I also deleted some things causing syntax errors in base.hs) and selecting it as the build target the example worked as expected. I think it's because I'm not so familiar with fpcomplete.

</comment></comment><comment><USER4> "Object-oriented programming is an exceptionally bad idea which could only have originated in California." \- Dijkstra

I don't think this is a real quotation.

<comment><USER5> It originated at Simula in Oslo and was vastly superior to the C/FORTRAN programming that came before it, but whatever.

<comment><USER2> "Object-oriented programming" is like "God" or "feminism"\-- pointless to debate until you define terms, and ranging from the agreeable/probable to the ridiculous depending on precisely how terms are defined.

The original idea was that, _when a piece of software becomes complex_ , it should be factored out and given a simpler interface. Alan Kay used the cell as a metaphor: it's a complex machine that interacts with the rest of the body using a simpler language of chemical and electrical signals. And that turned out to be such a good idea that you see it even in non-OOP programming tools. Haskell's type classes are a comparable idea. FP picks the best noun (immutable data) and verb (referentially transparent function) for most purposes (of course, the world is stateful and there's some debate over how to manage that). At scale, we also have to deal with the "adjective problem" because we want to be able to code against abstractions rather than (less stable) implementations.

For example, it's a good thing that languages support a File object (an abstraction that Unix is built on) that allows application programmers to avoid having to know what kind of "file" they are dealing with. It's nice being able to use the same language (open/read/write/close) regardless of the physical machinery that the file lives on.

The problem is that corporate OOP has become complexity for it's own sake. Alan Kay wasn't saying, "Go out and design massive, complicated objects". He was only proposing strategies for when complexity became inevitable. Unfortunately, Business OOP (a bastardization of OOP, which had some good ideas at its core) rewards complexity, and you have "enterprise architects" who can't code but are paid to generate massive tangles of lines and boxes.

<comment><USER6> I think the blessing and the curse of OOP is that is actually pretty good for simulation (SIMULA got it right I guess :) ), so what you usually have is a program that's a simulation of a process. Even the standard OO modelling techniques encourage simulation of "real world" entities. But that direction doesn't lead to the most efficient,composable , or easy to reason abstractions. It doesn't help that the main abstraction mechanism in OO (superclass/subtyping) is problematic enough that even most people recommend moderation in its use.

<comment><USER7> The actual big thing about computers (Turing Machines) is that they let us simulate things, including other computers. But, once we recognize the fact that some computers are "better" than others, we then realize that the _amazing_ thing about computers is that they allow us simulate better computers, it's just hard to do so.

Thus, the blessing and curse of OOP, respectively, is that it's ideal for building simulations (the actual point of computers), but also makes it really easy to simulate a worse computer on top of better ones. So, the real tragedy of "Enterprise" OOP is that it basically encourages programmers to first simulate lame computers (e.g. by building frameworks), and then write programs for them.

</comment></comment></comment></comment></comment><comment><USER8> This article assumes too much background -- not of Haskell but of the authors prior work. It starts off: "I have a problem: How I present the few applicative and monadic combinators that I just developed."

Ummm ... which combinators? At least provide a link to the prior article that I assume introduced them. As introductions go, this article's introduction doesn't do a very good job.

<comment><AUTHOR> No, I mean "the combinators that I just developed and want to explain here".

<comment><AUTHOR> I added a bit more context. Thanks

</comment></comment></comment><comment><AUTHOR> Very sorry: [https://www.fpcomplete.com/user/agocorona/EDSL-for-hard- work...](https://www.fpcomplete.com/user/agocorona/EDSL-for-hard-working-IT- programmers)

<comment><AUTHOR> It seems that there is no way to change the original URL

</comment></comment><comment><USER9> This seems to be a valid link:

[https://www.fpcomplete.com/user/agocorona/EDSL-for-hard- work...](https://www.fpcomplete.com/user/agocorona/EDSL-for-hard-working-IT- programmers)</comment>


Real-Life Thor's 'Mjölnir' Hammer using a fingerprint scanner - <AUTHOR> https://www.inverse.com/article/6991-all-it-takes-to-build-thor-s-mj%C3%B6lnir-in-real-life-is-a-fingerprint-scanner-and-electromagnetism <comment><USER2> Comments moved to [https://news.ycombinator.com/item?id=10388572](https://news.ycombinator.com/item?id=10388572).

<comment><AUTHOR> Just curious, why was my submission moved in favor of the other submission?

<comment><USER2> The other article seemed marginally more substantive. It was also submitted marginally earlier, which is what we'd use to break the tie if there was one.

There's no clearly good answer to this problem of more than one user submitting the same story. We've talked some form of karma splitting, but all the schemes get complicated, and a complicated scheme that inevitably disappoints some people is worse than a simple scheme that inevitably disappoints some people. So we rely on (a) most HN users are smart enough not to much care about karma, and (b) if you keep submitting good stories it evens out in the long run.

<comment><AUTHOR> That all makes sense and is very sensible. Thanks for taking the time to explain, I know your busy.</comment></comment></comment></comment>


Don't buy a duck, Debug with Duck - <AUTHOR> https://debugwithduck.co.uk <comment><USER2> was wondering why the duck got no eyes...

so i tried adding them:

[https://imgur.com/a/J4WodSk](https://imgur.com/a/J4WodSk)

Now I know why...

<comment><AUTHOR> Ha! Brilliant!... You should share the code because that would be funny as hell

<comment><USER2> I did it in ms paint. =) so, there is no .svg code for it.</comment></comment></comment>


Show HN: Experimental Keyboard Game - <AUTHOR> https://aneelkkhatri.github.io/keyshit/ <comment><AUTHOR> I had posted it in dev.to [https://dev.to/aneelkkhatri/experimental-keyboard- game-aah](https://dev.to/aneelkkhatri/experimental-keyboard-game-aah) , and got positive response. So, wanted to know how it goes here :)

</comment><comment><USER2> I like the idea, but right now too difficult for me. My best score is 9. Let's see if practicing helps.

Are there any good games that help improve typing skills?

<comment><USER2> What I do not like is that I fail at the beginning if I start typing before three letters are visible. That feels a bit annoying. Why does the limit of a minimum of two characters on the screen exist at all?

<comment><AUTHOR> That limit exists because the game is more of concentration than typing. To improve typing skills, you can try [http://play.typeracer.com/](http://play.typeracer.com/)

</comment></comment></comment><comment><USER3> I rather like the idea and I'm probably give it a real try once I'm at home, but is the potential double-entendre with "keyShit" intended?

<comment><AUTHOR> Lol no, it wasn't intended. I don't even remember why I came up with this name :|

</comment></comment><comment><USER4> That was way too hard for me, but I like the idea :)

<comment><AUTHOR> What's your best score? Mine is 94.</comment></comment>


Ask HN: What Webinar Service to Use? - <AUTHOR> Our small company usually organizes 'events' (dinners, visits of particular locations, etc..) for around 30 people in France.
Before the lock down, an 'event' would be organizing a lunch, taking people to a bus, going to see the mayor of some city, or a construction site, etc...
With the lock down going on, we need to switch to digital events.
Here is what we are looking for:
- a way for people to register (for free) on future events/webinars - no need to install a software (100% web based) - webinar recordings - multi presenters with microphone/webcam - ask questions to presenters via a form
The only tool I trialed is webinarninja with seems great but I'm looking to test alternatives...
What do you use ?
Thanks ! <comment><USER2> Hi there!

Omar here, co-founder and CEO of WebinarNinja here :) Thanks for trialing us and for the kind words. Let me know if I can help in anyway. Feel free to join our next live demo and Q+A this week to see if we are best fit for you: webinarninja.com/workshop.</comment>


World backs India against 'bully' US - <AUTHOR> http://timesofindia.indiatimes.com/india/World-backs-India-against-bully-US/articleshow/46007104.cms

<comment><USER2> Isn't all the cost in developing the first pill? It's sort of like software. Sure, it's easy to make millions of copies after you spend the years of work and millions/billions of dollars. Yes, India has hundreds of millions of poor people. Wouldn't it be beneficial if it developed new drugs to help their citizens and sell them with the world? I imagine India could become Big Pharma of the 21st Century.

<comment><USER3> (I was born and raised in India, now involved in biomed research in US). This is absolutely and completely correct. For every compound that makes to the clinic, there are 1000s that fail at the preclinical or clinical stages: worst case in Phase III when 100s of millions of dollars have already been spent on it. India, in its shortsighted view, is refusing to acknowledge the effort and money that goes into bringing a molecule to the clinic. India is notoriously shortsighted when it comes to biomedical research. Here's a classic example: In response to a Texas company that tried to patent an indigenous Basmati species under the name Texmati, the govt imposed a blanket ban on the export of any indigenous DNA outside. What is the result of that? When the global HAPMAP projects began to genotype humans of all races and ethnicity and trace human history, Indians couldn't be genotyped because of the (Texmati) DNA law. HAPMAP ended up recruiting Indians living in US and UK. Now when the world is starting to reap some of the benefits of HAPMAP, India is at the forefront criticizing "bullies" like the US for not paying attention to diseases with restricted incidence in, say, India.

<comment><USER4> The Texmati issue though was one thing that caused India to dig its heels in. Trying to patent something indegenous posed a major threat.

</comment></comment></comment><comment><USER5> dont no why the world (EURO) does not see that US is a big bully to other nations.</comment>


Free Screenshot tools - <AUTHOR> http://www.itsmdaily.com/2013/12/08/top-3-free-screenshot-tools/ Top 3 Free Screenshot tools review <comment><USER2> We use TinyGrab: [http://tinygrab.com/download.php](http://tinygrab.com/download.php)

As a design agency we are constantly sharing stuff between each other. You can configure it so it automatically uploads to FTP and copies the link. Really fast and super handy.

We've also been really happy with the dual cursor screen sharing tool Screenhero: [http://screenhero.com/](http://screenhero.com/) when screenshots just don't cut it.

</comment><comment><USER3> I recently discovered [http://www.cockos.com/licecap/](http://www.cockos.com/licecap/) which lets me take screen captures and save them as gifs. Definitely helpful when trying to capture CSS animation bugs.</comment>


Secure your google docs. - <AUTHOR> http://www.google.com/enterprise/marketplace/viewListing?productListingId=5649+9637511031539972110

<comment><AUTHOR> We're a startup that just released Aprigo NINJA for Google docs. If you use Google Apps for your domain, our app will give access management controls for google docs, showing how files are shared inside and outside of your company.

If you have less than 20 users, it's free. More than 20: Free 7 day trial, then $10/user/year

We're a startup using google apps, so I thought some other small startups might be interested in seeing how their google docs are being shared with the outside world.</comment>


Alcor: Membership Info - Costs - <AUTHOR> http://www.alcor.org/BecomeMember/scheduleA.html <comment><AUTHOR> Found that link to this service provider from this answer in Quora - [http://www.quora.com/Hypothetical-Questions/Is-it- possible-f...](http://www.quora.com/Hypothetical-Questions/Is-it-possible-for- me-to-freeze-my-dead-body-for-2000-years-keep-my-money-legally-safe-and- invested-in-an-account-earning-compound-interest-thaw-2000-years-later-re- animate-and-repair-my-body-and-then-live-the-life-of-a-billionaire#ans2329391)</comment>


5 Days of find: The Basics of find - <AUTHOR> http://bashshell.net/utilities/find-basics/

<comment><USER2> Looking for files in the article is completely broken. To look for a file named syslog.conf, you need to say

        find -name syslog.conf

otherwise find will not look for that filename in all subdirectories.

So the shown

        find /etc/*.conf

is only doing the equivalent of

        ls /etc/*.conf

unless there is a directory the name of which ends in ".conf", in which case all its contents will be listed recursively. The required find command is:

        find /etc -name \*.conf

And what "find / syslog.conf" is doing is to list all files and directories in /, going down subdirectories recursively, and list syslog.conf in the current directory. What should really be used is:

        find / -name syslog.conf

which returns something like:

        /etc/syslog.conf

<comment><USER3> You are right, the commands in the article definitely don't produce the results which are claimed.

</comment></comment><comment><USER4> To be aware of - sometimes the shell will glob the wildcard you're trying to pass to find.

For example, if you're in a directory that contains a file named "foo.bar", and you try to search for files ending in .bar, then doing a:

       find . -name *.bar

may return just "./foo.bar" as the shell expanded *.bar to foo.bar, and passed that to find.

To fix, wrap arguments you pass to find in quotes if they contain wildcard characters.

(edit: fixed formatting as HN uses asteriks to italicize)

<comment><USER5> Escaping the asterisk also works.

      find . -name \*.bar

Also passes the unexpanded argument "*.bar" to find.

</comment></comment><comment><USER6> While find still shines for finding files on metadata, I wrote a script elaborating on the 'du -a | grep "search term"' from Kernighan and Pike's _The Unix Programming Environment_. In many ways it does a better job of finding files by name than find does.

du -a | grep -y "$1" | grep -y "$2" | awk '{print $2}'

I am planning to rewrite to handle more than two search terms, but it works for me good enough for now.

<comment><USER2> > In many ways it does a better job of finding files by name than find does.

Your du command is:

        du -a | grep -y "$1" | grep -y "$2" | awk '{print $2}'

The find command I would use for the same effect is:

        find -iregex ".*$1.*" -a -iregex ".*$2.*"

How does the du command do a better job than the find command?

<comment><USER6> Unless find has been changed since the last time I tangled with it; you need to explicitly put the search path in first (which yours doesn't do), which since that is opposite the utilities I used more often, I kept forgetting to. Second, find seems to react weirdly to wildcards in search terms, I sometimes ended up rerunning it with slightly different search terms to be find the file I wanted.

Maybe I just wasn't using find right, but several introductory linux books have also claimed it is hard to use. Before I found the du -a | grep idea, I was using one I read somewhere else of grepping a directory listing (made by ls -lR ~/ > dir) rather than use find.

<comment><USER2> The man page says that if path is omitted in

        find [path...] [expression]

the current directory is used. I don't know if it's just that way for GNU find, or if it's standard Posix find behaviour.

Regarding the wildcards in search statements, I usually just need to match a case-sensitive substring, so I use something like:

        find -name '*sub*'

I don't know of any weird wildcard reactions, but that may be because I don't usually use complex searches or matches.

One last thing, if you don't mind all the "./" prefixes, "find ." (or just "find") is just like "du -a" without the block counts.</comment></comment></comment></comment>


Don't let sharedWorkers die - <AUTHOR> https://github.com/whatwg/html/issues/315#issuecomment-244903762 <comment><AUTHOR> If you think sharedWorkers are for a better web experience it's time to cast your vote and say no to the deprecation of this feature. Follow the url and add a thumbs up :)</comment>


Google Cloud Console Broken - <AUTHOR> https://status.cloud.google.com/incident/developers-console/19003 <comment><USER2> yes. Not able to access any of the services deployed on GCP from web console. Random pop-up says "The server has timed out while trying to process your request."</comment>