Rethinking the App Store - <AUTHOR> https://stratechery.com/2020/rethinking-the-app-store/ <comment><USER3> I am of the opinion that the only fair option is to allow 3rd party stores with the same permissions as the official app store.

Apples curation isn't (as they suggest) preventing malware, theft of information, etc - this if verifiably false given recent history with apps like tiktok stealing clipboard content. The ability to change content of payment screens post-approval (as epic have just done) also means that curation isnt stopping apps from potentially injecting phishing, etc, either. In short, they are just choosing what they like - just as any 3rd party store could do.

The security comes from the sandbox (and surrounding permissions) - not from the curation.

Jobs originally said that the aim of the 30% was to cover costs of running the store. It is evident from the MASSIVE profits that this is no longer the case.

The size of these app marketplaces (I dont just mean apple) make them markets in their own right - its about time they were recognised and treated as such.

<comment><USER4> I agree with this. The only winners in the current situation are Apple. By opening it up to competitor app stores, yes competitors would benefit, but so would developers and so would their users. The App Store as it stands has completely stagnated to the point where it's useless to me outside of actually downloading or buying an app. It's been years since I've been able to discover new apps though it, now relying for devs to link their apps directly, YouTube videos talking about apps or websites with app lists. If I go in the App Store looking for something, unless it by chance happens to be in their top list, I can't find anything I don't already have a link for or know the name of, at least on iPad. If I click on a category and press "show all", they show me maybe ten or twenty apps in total. Out of thousands.

By opening the platform to other app stores, developers will benefit due to choice and competition on fees and descoverability, end users will benefit from encouraged innovation, Apple will be forced to compete on convenience or features instead of letting it stagnate while they collect buckets of cash... it would be good for consumers and the ecosystem.

Microsoft got into trouble for bundling a web browser, where they didn't directly make money, Apple should get into trouble for the App Store, where they do directly make money due to their artificial lack of competition.

<comment><USER5> > _The only winners in the current situation are Apple. By opening it up to > competitor app stores, yes competitors would benefit, but so would > developers and so would their users._

It's hard for me to reconcile this, and I keep seeing that 3rd party app stores would be better for users, but it all seems very handwavy. You would think this would be an easy point to prove as Android has had alternative app stores for years, but there seem to be no winners there. I'm not sure how having to download app specific app stores (i.e. Epic's app store) is better for anyone except for Epic.

<comment><USER6> > You would think this would be an easy point to prove as Android has had > alternative app stores for years, but there seem to be no winners there. I'm > not sure how having to download app specific app stores (i.e. Epic's app > store) is better for anyone except for Epic.

Let's start with one point. Third party stores don't have to be popular in order for them to be beneficial, because their _existence_ causes the dominant store to take competitive steps to avoid their attaining popularity.

For example, you can install actual Firefox on Android, from Google Play, instead of it being nothing but a skin over the system browser like it is on iOS. Because if they didn't allow actual Firefox in Google Play, it would still be in F-Droid or similar, and that would make the competing store more popular. Since they don't want that, they allow it in the default store. Then the default store remains dominant, but only because it does beneficial things like that as a result of the competitive pressure. And third party apps can send and receive SMS on Android and various other things that Apple doesn't allow solely because it pushes people to use Apple's apps instead and there is no competitive pressure from other stores pushing Apple to allow those competing apps in their store.

But more than that, the other Android stores are actually useful, they just tend to have a niche. Because people are still going to use the default store unless there is a reason not to, since it's lower friction. But the other stores still get to address the cases that the default store fails at. So the fact that they exist _at all_ is proof that they're doing something useful, since otherwise who would sustain them?

> I'm not sure how having to download app specific app stores (i.e. Epic's app > store) is better for anyone except for Epic.

I mean, the fact that they're not paying Apple 30% and then passing most of that savings on to the customer is obviously going to save the customer money.

<comment><USER7> > then passing most of that savings on to the customer is obviously going to > save the customer money.

I see no evidence of Epic passing savings to the consumer in this scenario. Unless by customer you mean stock holder in which case the fight is about which stock holders get paid.

Edit: unless you are referring to a temporary PR sale where they were still paying the 30% cut in many cases.

<comment><USER6> When they introduced their iOS "store" which used a non-Apple payment service they lowered prices because they weren't paying 30% to anybody. Which is totally logical and profit-seeking in both the short and long term because when you're making 30% higher margins, sacrificing some of them in exchange for higher volumes will generally maximize profits.

</comment></comment></comment></comment></comment></comment><comment><USER8> Note how many sources wanted to stay anonymous "for fear of upsetting Apple".

Apple knows they can end businesses with the click of a finger. That's what they tried to do by ending the dev license for Unreal Engine. And Apple wants everybody to know that they know. I'm almost certain that the Unreal Dev license revocation is a result of a similar email chain as what happened to Kindle - [https://www.macrumors.com/2020/07/31/emails-apple-blocked- ki...](https://www.macrumors.com/2020/07/31/emails-apple-blocked-kindle- purchases/) \- execs just thinking of a way to punish the company.

This, for me, is the biggest monopoly argument. Too much business success is hinged on Apple being happy, and they start to abuse this power more and more by tightening (the interpretation of) App Store rules like requiring in-app purchases etc.

IMO Epic is not the best company to challenge Apple in all this, but in American judicial system Epic may be one of the very few companies that can afford this lawsuit.

<comment><USER9> Epic isn't the hero we need but the hero we deserve.

I can certainly imagine a lot of companies are tight-lipped about it.

My livelihood depends on an app store and so I'm super cautious about what I say publicly about the company that controls it.

This sort of chilling effect is scary and should rightly be contested.

Epic is criticized for being a huge company themselves and using that as leverage in their legal battle. However, small companies stand absolutely no chance so Epic is the only one that can take this fight.

Epic is the champion of all the smaller businesses with apps on phones. Not because Epic wants them to do well but because Epic wants Epic to do well. They'll just happen to help all of us - consumer and developer - with them.

I'm rooting for them.

<comment><USER8> Me too. I think, Epic is uniquely positioned also because it is privately held. As such, its actions are more representative of what Tim Sweeney thinks is right instead of the investor mob. And to me as a developer Tim Sweeney seems like a pretty good guy similar to Carmack in many ways.

<comment><USER10> Tim Sweeney's position on Linux is pretty indicative of his character. He'll bitch and moan about Microsoft and Apple locking things down, but refuses to support a true open platform. He's in this for money, pure and simple.

Carmack, by comparison, is a saint.

<comment><USER11> Sweeney has principles, but one of them isn't supporting a platform with no chance of it paying off the investment needed to support it.

</comment></comment></comment></comment></comment><comment><USER12> One idea I don't see discussed is that the App Store model is a disincentive for Apple to come up with better sandboxing and security.

Apple is in fact uniquely positioned to introduce a better sandboxing model. They control most of the stack, crucially the CPU and the build toolchain, not to mention the PL. They could, were they not so reliant on the App Store auditing process, make it less likely for people to develop malware and privacy-invasive software, by building better abstractions around processes and IPC, through eg. virtualization and capabilities [0].

That, of course, would take away the main raison d'être of App Store, which is a significant money-maker for Apple.

[0] [https://fuchsia.dev/fuchsia- src/concepts#fuchsia_is_designed...](https://fuchsia.dev/fuchsia- src/concepts#fuchsia_is_designed_for_security_and_privacy)

<comment><USER13> Any chance you can dispel with the meaningless buzzwords ?

"Abstractions around processes and IPC" does not reduce the number of malware and privacy invasive apps. And who knows what "virtualization and capabilities" even means in the context of iOS.

It has been limiting and securing access to APIs/data that has been responsible for improving the privacy and security of iOS. For example warning about use of clipboard, per-use permission dialogs for contacts/photos/etc and randomising identifiers.

<comment><USER12> You are being incharitable in reading the comment. Sandboxing and capabilities are buzzwords now? And meaningless?

I'm happy to explain more if you frame your question (for which you seem to already have an answer) less combatively.

</comment></comment></comment><comment><USER14> I'm divided.

As a programmer, I'm as happy as a pig in mud in the low-level innards of my computers and operating systems, and like that I can get at them etc. That's why I have linux on my desktop.

But 'open' systems don't work out well for 'normal' users. Remember the viruses and trojans and instability and all the rest of the Windows days, or Android?

I want my parents and friends and everyone else to use an iphone because its hassle-free and secure.

Do we really want 'unlocked' iphones? Actually, the idea of having to help someone who wants me to 'just look at the iphone and work out what's wrong' scares me.

<comment><USER15> >Remember the viruses and trojans and instability and all the rest of the Windows days, or Android?

The era you are referencing was two decades ago and those problems stemmed from development processes that didn't take security into consideration since it was mostly written in pre-internet days and worked well in that environment. Once Microsoft took security seriously things got better. Windows is -still- an open platform where you can run anything you want and you don't see rampant viruses/trojans etc. It works very well now and still has the same openness properties as before.

Android has security issues just like Apple but it's never been a huge problem. The fact that you put Android in that sentence makes me scratch my head a bit. Android is on the same level as iOS on pretty much every metric.

<comment><USER7> Originally the carriers were terrified of app stores because there would be cell network hacking tools and service disrupting network traffic. A vast majority of malware on macOS now comes from pirate apps stores via torrents. Much of the current App Store design is based on those concerns and the current iOS sandbox is still a long way from preventing those abuses.

</comment></comment></comment><comment><USER16> This quote is relevant:

 _The problem for Epic — and, I suppose, for me — is that to this observer it seems exceedingly likely that Apple is going to win this case, last night's decision notwithstanding. Current Supreme Court jurisprudence is very clear that businesses — including monopolies — have no duty to deal with third parties, and if they do choose to deal with them (or are even compelled to), that they can choose the terms on which to do so. The only exceptions are if the monopoly in question changes the rules in an unprofitable way with the express purpose of driving out a competitor, or if any company — not even a monopoly — changes access to after-market parts and services._

Current US antitrust law does not favor Epic in this matter. Of Epic's ten claims, their strongest claim is probably the one tying in-app payment processing to app distribution services, but even that one is far from a slam dunk. And even if they were to succeed on that particular claim, the likely outcome would be that they would get to keep their payment system in Fortnite, not that they would be able to run their own app store.

I think people need to temper their expectations unless the laws change in the years it takes for this case to make it through the courts. A court ruling that Apple must allow third-party in-app payment systems is a somewhat realistic outcome, whereas a court ruling that Apple must permit third-parties to run their own app stores is probably a non-starter.

<comment><USER17> > A judge ruling that Apple must allow third-party in-app payment systems is a > somewhat realistic outcome, whereas a judge ruling that Apple must permit > third-parties to run their own app stores is probably a non-starter.

I gather judges _really_ don't like to impose technical requirements - especially in a fast-moving industry like this. Ordering Apple to make the extensive changes required to allow for some kind of secure (as opposed to insecure, like Cydia) third-party App Store on iOS would be a massive undertaking that would probably cost the company north of a billion in total, especially regarding testing and security point.

...whereas ordering Apple to simply allow what is already possible (namely: permitting apps to collect payment details themselves through their own processors) is a good path forward. How would Apple respond to that though? In the event that Apple is required to allow third-party payment-processors that skirt the Apple tax, I think it's reasonable for Apple to introduce some kind of "app support fee" (beyond the annual $99/developer fee) - but Apple would be hard-pressed to negotiate a reasonable amount of that per-app. Perhaps $1 per app-download per year? Interesting times...

I'm also interested in potential legislation regarding forcing Apple to permit third-party web-browsers and other banned software categories - Apple's technical arguments may have had some merit back in 2007-2012, but now that my phone has more RAM and processing power than my previous laptop (which still runs the infamously RAM-hungry Chrome 84 fine!) this isn't an argument that holds water. I'd love to be able to run "real" Firefox on iOS, for example (there is an argument about how Apple can only trust their own build of Webkit to have executable memory pages for the JavaScript JIT - that's going to be interesting). We should compare Apple to Microsoft of 1998: Microsoft was convicted of monopoly abuse by simply bundling Internet Explorer with Windows (granted, this includes integrating it into the shell too) - while Apple doesn't just bundle Safari with iOS, they outright ban any kind of proper competition - Microsoft was convicted for far less, so why should Apple be given a free-pass?

<comment><USER16> > I gather judges really don't like to impose technical requirements - > especially in a fast-moving industry like this.

Yes, the court in the Microsoft appeal explicitly said this.

> Microsoft was convicted of monopoly abuse by simply bundling Internet > Explorer with Windows

Not quite. As I explain in another comment ([https://news.ycombinator.com/item?id=24289455](https://news.ycombinator.com/item?id=24289455)) Microsoft's problem is that they forced other companies (OEMs, ISPs, and Apple) to bundle IE at the expense of other browsers. Whether the sole act of bundling IE with Windows would have been itself an antitrust violation was not actually addressed by the court. Microsoft also had a much higher market share (95%) than Apple currently does.

<comment><USER17> > Microsoft's problem is that they forced other companies (OEMs, ISPs, and > Apple) to bundle IE at the expense of other browsers

Was that separate from the anti-competitive OEM license / "Windows tax" issue around the same time? The one about how OEMs were "forced" to sell machines with Windows licenses and couldn't sell a machine without an OEM license to someone who just wanted a box to run Linux or OS/2 on?

<comment><USER16> Yes, that was a separate case from 1994 and they ultimately settled with the DOJ. The browser stuff happened a few years later in 1998.

</comment></comment></comment></comment></comment><comment><USER18> The most important changes Apple needs to make would not cost them a single line of code- they just get rid of their policy to require consistent pricing across all platforms, and allow promotion/linking of external (i.e. not on iOS) payment sources.

If Spotify could charge +30% for a subscription purchased through the App store, and include a link to their main sign up page where subscriptions are regular price, everyone is happy. No security is changed and developers pass along the price of being in the App store to only those consumers who wish it. Only loser is Apple, who does not get to use their gatekeeper status on iOS to enforce monopoly-style pricing controls across all platforms.

<comment><USER19> The consistent pricing requirement was removed years ago. This is an article from 2011 about it: [https://appleinsider.com/articles/11/06/09/apple_backs_down_...](https://appleinsider.com/articles/11/06/09/apple_backs_down_on_in_app_purchasing_rules_allows_lower_prices_for_out_of_app_purchases)

<comment><USER20> For reference, YT Premium is $16 on iOS[0] but $12 directly[1].

0: [https://lh3.googleusercontent.com/pw/ACtC-3dznQemACWzb2tbYfd...](https://lh3.googleusercontent.com/pw/ACtC-3dznQemACWzb2tbYfdbIsfinczTPJSLJaLKTVKLWG3_UxpfFIpmBx8S5ClHwiurFHBmZM2tuh0iqdAR3ch_OOvtgrr6Iq3FK3QDg4B9fzywSgdrIciI0TtamxupQCV3AJXx3Dr- Kw1l--xUny28FoQy2w=w553-h970-no)

1: [https://youtube.com/premium](https://youtube.com/premium)

<comment><USER21> The developer chooses if the price should be different or not. In that case, Youtube decided that the users should pay the 30 percent Apple tax.

<comment><USER20> Yes - and YT is still losing money on that transaction. $16 will become $11.20 after apple takes their cut.

<comment><USER22> Unless Google has a sweetheart deal like Amazon.

<comment><USER20> YT likely doesn't have the 15% deal that is available for tv/movie streaming platforms, and they don't do annual subscriptions so they don't get 15% on second year subscriptions either.

<comment><USER23> YouTube still gets the 15% deal. You don't have to offer annual subscriptions to get it. The only requirement is, that it's auto-renewing.

> During a subscriber's first year of service, you receive 70% of the > subscription price at each billing cycle, minus applicable taxes. After a > subscriber accumulates one year of paid service, your net revenue increases > to 85% of the subscription price, minus applicable taxes.

Source: [https://developer.apple.com/app- store/subscriptions/#revenue...](https://developer.apple.com/app- store/subscriptions/#revenue-after-one-year)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> The concept that Apple needs to have a monopoly on app distribution for privacy and security is a smokescreen.

The OS does that with its capability based design which of course the desktop OSs have a very hard time migrating to after the fact.

Having other means to install apps doesn't change that at all.

And what's more, nothing forces a user to actually go outside the Apple App Store if they want the supposed benefits they provide.

<comment><USER25> That's only partly true. Apple app reviews is also about stopping more shady dark patterns that are tricking the user in accepting something they in fact don't want, that cannot always be handled by their capabilities system (think social engineering).

But I agree with your general point, it's a smokescreen and even with other stores they would still have complete control over the system and security features.

</comment></comment><comment><USER26> One argument that I think deserves extra scrutiny is the idea that extra app stores can be "optional".

The reality is that developers would have a strong incentive to go to the most permissive App Store, and users will follow. Users will also underestimate or ignore risks. You can dismiss that by saying it's the user's responsibility, but I think that's just an abdication of good systems design.

I'm not saying that Apple has the perfect model - it doesn't - but the trade- offs are not as simple as we might like.

<comment><USER27> The reality is that your scenario never happened. Not on Android, not on Windows, not on Linux distributions... The 'official' App Store always wins, unless its demands are so onerous a small minority uses a small store in addition to it.

<comment><USER28> Which official app store won on Windows? AFAIK, Steam is the number one store for games, and people buy their apps from vendors directly (example: Adobe, Autodesk, even Microsoft). The Windows app store was dead on arrival.

And linux package managers aren't app stores. They're mostly meant for system libraries and core applications, although some devs do distribute their (free) apps through it. In any case, Linux is a weird one to include in this comparison, _and_ I'm pretty sure Steam is still the number one store for getting games on Linux too.

But whatever, another thing: a big part of the reason that the official app store won on Android is because of the lengths Google goes to to scare users from installing apps from "unknown sources", hiding the option to do so, displaying scary popups, etc. That's one of the reasons Epic is suing Google for.

<comment><USER27> In Windows the old method was installing exe files, and it remains the most popular - but otherwise the only app store worth mentioning is the MS one (on Steam in a moment). In Linux, package managers can and do include other apps (not all of course), and just about everything that can be installed from them gets priority from users - and alternative repos get the scraps.

The option isn't hidden on android at all, it's dead simple. There's a warning dialog, but I can live with that.

* Steam is a very specialized case: Not quite an app store [Apple credits itself with inventing the App Store, despite Steam existing since 2003, so Apple agrees with me on this], but they all but created the Linux game market, and got in before the Windows Store was created. Yea, if you create the market or get in in advance or on stuff the official store doesn't include, you can survive, but the general rule is that the official App Store wins.

People are upset with Google, but it's not so much about the Play Store. And Apple doesn't need to be as lax as Google - If they had let go of the anti- competitive behaviour and had a slightly less explotitive fee structure people could live with the App Store being only store allowed. It's Apple being very greedy that led to the calls to, well, reduce Apple's permissions (I couldn't resist).

<comment><USER28> > The option isn't hidden on android at all, it's dead simple. There's a > warning dialog, but I can live with that.

I can't. If I'm going to distribute my apps outside of Google Play, I need to tell my _potential_ customers to crawl through their phone's settings page, clicking through various menus, then ignore the scary warnings that strongly imply I'm about to infect them with malware and steal all of their personal data. And I would have to do that in every single language I want to support, and of course would lose sales from people who don't want to bother following these long instructions, especially since they have to close their web browser (and hide the written instructions) to actually do it. And I also have increased support costs because I need to respond to emails from people who couldn't figure out how to do it (in all languages), and I have to constantly worry about being blocked by the "Play Protect" program, which scans apps installed outside of Google Play, sends them to Google's servers, and then decides to block them at Google's discretion. And if I happen to get big enough to where I potentially become a competitive threat to Google, then I have to worry about their "white hat" hit squad finding exploits in my software and sending it to major news outlets to ~~tarnish my reputation~~ I mean protect users.

Or I can avoid all of those Google-created problems by giving Google 30% of my business.

So while technically you _could_ distribute your apps outside of Google Play, it is not practical at all thanks to all of the anti-competitive barriers Google has put up. Anyone who thinks that Android is a healthy environment for competition is being naive, or has no experience with consumer products.

> * Steam is a very specialized case: Not quite an app store [Apple credits > itself with inventing the App Store, despite Steam existing since 2003, so > Apple agrees with me on this], but they all but created the Linux game > market, and got in before the Windows Store was created. Yea, if you create > the market or get in in advance or on stuff the official store doesn't > include, you can survive, but the general rule is that the official App > Store wins.

What do you mean? Steam is 100% an app store. It's a store where they sell applications (although mostly games). Also, Steam was not at all the first game/app store on Windows or Linux. It was simply the best back in the day; so good in fact that it beat straight up piracy. Even today they're pretty great, despite the 30% cut (although that situation is completely different to the one Apple and Google are in)

<comment><USER27> I guess I'm so used to dismissing the "Play Protect" dialog I completely forgot about it, you're right about it, it is annoying. But I think asking the user to signal agreement before installing and especially allowing another app store is the right way, given how sensitive it is. Maybe it should be made easier, but it's far less onerous than the Apple case.

Steam doesn't do the API review/sandboxing component of App Stores. An installed game technically has access to everything. Even Linux packaging has API review (due to open source) and modern packaging often has integration with AppArmor/SELinux. Steam are essential for Linux gaming, but I wish they improved their deployment to be more secure.

<comment><USER28> > But I think asking the user to signal agreement before installing and > especially allowing another app store is the right way, given how sensitive > it is. Maybe it should be made easier, but it's far less onerous than the > Apple case.

I don't think so. That's mostly FUD in my opinion, since apps installed from Google Play can do the exact same amount of evil stuff as anything downloaded from an external site. Since Android/iOS already have sandboxing and per-app permissions, the only benefit to having a single distributor is the _potential_ of having that application scanned for malware before you downloaded it. The same thing can be accomplished without a separate antivirus app, like you'd see on Windows. In fact, I think Windows Defender is a good model for how Google and Apple could provide the same (purported) security guarantees while still allowing third-party stores. Play Protect (I think) does that already, but it _also_ mainly functions as a wall of scary warnings/deterrent to competition.

> Steam doesn't do the API review/sandboxing component of App Stores. An > installed game technically has access to everything. Even Linux packaging > has API review (due to open source) and modern packaging often has > integration with AppArmor/SELinux. Steam are essential for Linux gaming, but > I wish they improved their deployment to be more secure.

True that Steam is kind of questionable when it comes to security, but that's more the fault of the desktop operating systems which don't have sandboxing built-in. I too would like to see increased usage for things like SELinux/AppArmor, but that seems a bit hopeless. Valve can't just ship a kernel module alongside Steam, and I doubt Canonical is going to start shipping SELinux with Ubuntu Desktop (the support forums would explode).

I think Microsoft added sandboxing features to UWP apps, but that's its own can of worms. If you make a UWP app, you need to distribute it through the Microsoft app store, and you need to deal with a lot of the same BS that Apple and Google are being sued for.

<comment><USER27> > Since Android/iOS already have sandboxing and per-app permissions, the only > benefit to having a single distributor is the potential of having that > application scanned for malware...

Well, if a malicious app store application existed, I'd imagine it would work via social engineering and sending the user a different package than the user wanted. The user will be convinced to override the sandboxing, e.g. by giving permissions to install a 'new version of WhatApp', but the store app will actually be installing something else with the given permissions. That's a bit easier compared to other apps where the user doesn't expect to install anything. (Perhaps I'm missing a clever way to deal with these possibilities?)

I don't think that the risk requires banning 3rd party app stores. In practice we see the risk is very low. I have little worry about F-Droid, and I'm sure that the Samsung/Amazon stores are as secure as Apple/Google. But I think a bit of warning is justified.

>True that Steam is kind of questionable when it comes to security, but that's more the fault of the desktop operating systems which don't have sandboxing built-in.

Debians/Ubuntus have (optional) AppArmor, and latest Windows 10 Pro+ has an sandbox which will work with Win32 apps. It's starting to become built-in, even if not yet. It'd would still take a lot of work.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER29> This is really quite a simple problem: the rent is too damn high.

Apple should drop or tier their pricing so that a $10 subscription is paying say 5% to them. Developers are happy. Anyone raking it in pays more, a progressive system that ensures small companies can innovate.

Is this bad for Apple? In the long-term, they get more innovation and a better user experience. Financially, they lose some income on a subset of existing transactions and gain income from transactions they wouldn't have processed, as apps switch to native dev, and the market sizes increase as incentives change.

At the most they could lose a few billion in revenue a year (very unlikely) and gain $0. That's the upper bound. But how many more subscriptions would go through the store if apps like Spotify had signup via the app? I'd guess hundreds of millions of dollars at least, could be much larger in the long- term.

Apple are losing the argument, even the best possible cut isn't worth the reputational damage and harm to the user experience, they should restructure the pricing so they save face and potentially benefit, or at least limit the damage.

The writing is on the wall at this stage, and they will act or be forced to act.

<comment><USER30> This still doesn't solve the fact that Apple can control who gets to do business on the app store. Politically divisive apps, government blacklisted apps, gambling apps, adult oriented apps, crypto apps, free speech apps, certain vpn apps - none of these can currently exist with the Apple curated App Store approach. And just because those apps might not be for you doesn't mean millions and millions of users who have shelled out $1k+ for a phone don't want them on their fancy device they paid for.

Allowing sideloading as Android does would fix all these issues. Sideloading can start with a 3rd party app store, even.

</comment></comment><comment><USER31> I think Apple have no incentive right now to change anything, although the PR and perception of them is shifting slightly against them. I think there are two things that can happen here:

1\. There are more and more cases like wordpress, Hey and Fortnite, and after a while the PR gets so bad that they have to change something, or it becomes so costly to be in the app store that developers will stop developing for it, making the iphone less valuable to users. Of course this will take years if not decades to happen, it would be a really slow process. Fortnite is a really big deal, because I think it does start to chisel away at the iphone market for 12-18 year olds.

2\. Government steps in and forces them to do something. But as Ben said, the legal grounds are very shaky. They don't have a monopoly on the phone market, or apps, or anything. Almost all other app stores have fees around 30%. It's very hard to make a strong case to say they're guilty.

</comment><comment><USER32> Gaming Retain the 30% Cut, as Standard in the Gaming Industry.

Apps and IAP is now down to 15%. And 10% for Subscription.

That also puts Spotify And Amazon Prime or other Streaming Services to the 10% category.

I honestly dont like the idea of an Open Platform where you can side load Apps. If you want that Android is your choice. Apple tries to built an App Platform on its Appliance or Phone. Android tries to built a Pocket Computer that acts like and look like a Phone. These are two fundamentally different sets of trade offs.

</comment><comment><USER33> Why do we need 3rd party stores? Why not just have a standard for an app endpoint url that iOS knows how to interact with. So I could publish an app on a private domain and then iOS would know how to download the app and check for updates from that end point? While there is value in a centralized store to search for apps (and that can certainly stick around), I don't understand why apps are forced to be hosted centrally in a store, Apple or third party.

Ex: To install the "Pepsi" app just go to pepsi.com and click the install app button. Then iOS could take over from there.

<comment><USER34> This seems like just an implementation detail of the idea of 3rd party stores, I don't really see how it's a big distinction. And Apple's opposition to this idea would clearly be the same as the reasons it has given not to allow third party stores.

</comment></comment><comment><USER35> I love Stratechery, but I think this one gets it wrong. Think of App Store as three products:

1\. App quality screening

2\. App promotion/distribution

3\. In app purchasing

Ask any reasonable dev if they are willing to foot a fixed cost to get their app screened, a fixed cost per app download (bandwidth), and variable cost to get their app promoted in the store (not everyone needs this) and they would agree. What pisses people off is Apple's entitlement to the revenue of a company when there is no value add from Apple after the customer has gotten the app. So Apple is using their monopoly to force #3 on developers at no less than 30% of revenue.

<comment><USER36> I am considering building some paid apps for the App Store. If I had to deal with payment processors, handling subscriptions, etc. myself there is zero chances I'd do that.

<comment><USER35> Have you had bad experiences with other payment processors in the past? Honestly curious. I've used Stripe, and they are amazing in terms of product quality and customer service.

</comment></comment></comment><comment><USER37> Fantastically well-written article.

The "problem" with forming an opinion about Apple Store rules is that the users are willingly and knowingly putting themselves in the golden cage of apple by buying an iPhone.

Under this view the problem is not with Apple, that created a framework that users want, and communicate accurately to its customers what they get - <USER2> rather with the app developers, who wants to reach Apple clients, without accepting the rules of the framework that those clients chose willingly.

<comment><USER9> This is a bad argument that comes up over and over.

You could use the exact same logical framework to argue against labor laws because employees willingly enter into the bargain.

It's easy to see the ends of completely unregulated capitalism with company towns, company scrip, and the oppression that comes with it.

We've had this history - we don't need it again.

<comment><USER37> I see the comparison, but in this case what Apple offer is on of their main selling arguments, not something users are tricked into.

</comment></comment></comment><comment><USER38> Interesting this is not positioned as a civil rights issue too.

I understand, you have a developer company vs Apple.

But what about people buying these computing gadgets? The millions upon millions of them. Shouldn't they have the right to run whatever software they feel like it on this general purpose computing OS without Apple's forced intermediation?

<comment><USER39> iOS is not sold as a general purpose computing OS. It's been clear from day one.

People use products way beyond their original purpose, and then feel entitled to the manufacturer's support. Like eating candy for every meal, and then complaining that it's not good nutrition.

<comment><USER40> Some shady car manufacturers tried to stop people from being able to buy after market parts for their cars and our legal system put a stop to that.

So, given that phones are easily as important as cars, I have confidence that we'll get justice for Apple's anti-consumer behavior too.

<comment><USER41> Tesla is clamping down on people offering performance enhancements that compete with their own. [https://www.reddit.com/r/TeslaModel3/comments/ie6660/any_boo...](https://www.reddit.com/r/TeslaModel3/comments/ie6660/any_boost50_buyers_here_just_updated_to_2020322/)

</comment></comment></comment></comment><comment><USER27> There's a very simple law: You can't use a strong position in one market to enhance your position in another market. Simply put, the entire tying up of payments to Apple is classic anti-competitive behaviour, and there's little chance the courts won't put an end to it. Same will happen with Apple using private APIs for its store owned apps. That said, it's very unlikely the courts will interfere with the 30% fee. There are no legal grounds for demanding a smaller fee.

</comment><comment><USER28> This is a well-written and researched article, but I have to disagree with some stuff. The suggested alternative payment processing policies make no sense for Apple; they would incentivize people to _not_ make iPhone-exclusive experiences. That's something the walled-garden aficionados at Apple would never go for. And a court order to implement a change like that (or any change) would be a bad idea. As for the reduced 10% rate, why 10%? In a truly competitive market, we might see figures lower than that.

I think that trying to come up with perfect changes for Apple's practices is a waste of time. Apple shouldn't be forced to make changes to their store, nor should we bother trying to convince them to do it themselves. Let them do whatever they want, but allow third-party stores. Competitive forces will fix everything in the long-term.

What I'm not sure of is how that would work in practice. Will Apple be forced to release (and maintain) their SDKs and dev tools for free? Will they be forced to make changes to the operating system to allow side-loading? If they are, how long would that take? and wouldn't it be catastrophic from a security point of view, since iOS has never had to worry about the security issues of side-loading.

</comment><comment><USER42> This is a very emotive issue here and we're never all going to agree on these issues. I hope though that it is possible to reach a consensus on a few areas I think were well explained in the article.

One is in-app signup. I have no problem with Apple charging a fee for services accessed via the phone when you sign up through the phone. I do think it's user hostile and opaque to not allow apps to refer the customer to a web site to buy a subscription though. Apple should compete on convenience, not awkward asymmetric information restrictions.

The other is the organising principle issue. I agree it makes sense to base the decision to charge on whether the service incurs marginal cost. That seems a fair way to do it, I just don't understand how that could be made into a clearly and unambiguously applicable rule. You may well end up with even more of a fractious grey zone.

</comment><comment><USER43> I am more in favour of going back to installing apps from the web, reading app reviews (also from the web), bringing back app listing websites (remember nokia days?), running an antivirus and cutting any chance of another monopoly rising.

Alternative app stores won't break this monopoly. Android for example already have alternatives.. but how many know them and how many use them? The one that's shipped with the OS always wins. Besides, most of them take like 20% tax.. which is still hugely profitable.

</comment><comment><USER44> _In short, what is needed are new laws built for the Internet, which is why it was encouraging that Congress is holding hearings about these issues, and also frustrating that Apple received relatively little attention._

That's because the Google and FB monopolies are a much bigger problem. If you don't like Apple then there are plenty of other choices. It's much harder to avoid Google or Facebook.

<comment><USER45> Avoiding Facebook and Google is trivial; the reason people use their services is they get value from their services.

<comment><USER46> > Avoiding Facebook and Google is trivial

Avoiding Google is definitely not trivial. I know here in Norway, lots of public schools are giving teachers and pupils Chromebooks, and insisting that homework is done in Google Docs. How would you propose avoiding Google in this setting? You pretty much have to bring a Google device into your home and actively use it if you want to complete your education.

<comment><USER45> It's school equipment, not personal equipment, as should be the Google Account associated with it. The value of these is to the school, not to you, not to your children. Treat it like a work laptop and segregate personal crap from school crap (or enforce this on your kids) and return it at the end of the year if you don't want it.

Or just send your kids to a different school, but frankly I'm not familiar with your school system or how much choice you guys have on where to send your kids.

</comment></comment></comment></comment><comment><USER47> What stops digital only apps like fortnite to start selling some physical good like t-shirt at a premium price and bypass a Apple's 30% fee?

<comment><USER48> this will reduce their revenue. "whales" on such games can have a life time value in the 10s thousands dollars and more. No premium shirt will cover that.

They could price the shirt according to what you buy in the shop, but Apple will surely change its terms & conditions to close such a loop hole.

</comment></comment><comment><USER49> The security argument is flawed: iOS devices would be fully secured if Apple allowed secondary app stores on their devices.

Using other stores not supported by Apple would have come with a big risk warning anyway. It would then be the user's responsibility.

</comment><comment><USER50> The problem with the App Store monopoly is greatly aggravated by the fact that they are blocking web engine competition on iOS. They don't want PWAs to bypass the system.

</comment><comment><USER51> Much as I love Ben Thompson, this is rearranging the deck chairs while the Titanic is sinking. Or maybe arguing about which dinner fork the gorilla should use while it's eating you.

Treat the App Store like any other modern open market. Apply real world market rules to all these digital markets.

\- rule of law. contracts, civil, business, etc.

\- fair and impartial judiciary

\- right of appeal

\- regulations to ensure equal footing of participants

\- tort

Etc.

Voila, fixed.

A bit more discipline is needed to rationalize Google, Facebook, and Amazon. Starting with no self-dealing (conflicts of interest). And the social networks need particular mitigations to deweaponize their outrage engine feedback loops.

This is all pretty simple, obvious stuff.

Seriously, am I the only person whose read books like The Mystery of Capital?

Why are so many self-proclaimed capitalists so painfully oblivious to liberal and neoliberal traditions?

</comment><comment><USER52> Why doesn't Apple bump into the same problem with the App store as Microsoft did with IE and the browser ballot screen, imposed on them by the EU?

<comment><USER53> There are other browsers - There is no other ios store

<comment><USER52> Anyone could easily build one, and start complaining that Apple doesn't provide access.

<comment><USER53> OK i 'll build one

</comment></comment></comment></comment><comment><USER54> Having read the whole thread, what amazes me is how most people here seem to be thinking about iOS products as general purpose computing products, when in reality the iPhone has been a console-like ecosystem from the start.

I'm personally very happy it works like an Xbox or Switch rather than Android, and that I don't have to figure out which app store a given app came from, deal with different parties if I need to resolve billing issues, etc.

Any comments focusing on the technical issues are missing the point. Of course it _can_ be done. The benefit of the iOS ecosystem is knowing that it _won 't_ be done.

</comment><comment><USER55> For any app which has an existence beyond the app store, customers can already pay without Apple. Customers can pay for Microsoft Office, Amazon Prime, or Netflix on their own through conventional channels.

Apple's position is that if you are delivering digital goods to be used on their devices, then you must offer an additional way to pay.

From the consumer's perspective my choices have now grown. Where before I could've managed my own relationships with Microsoft and others, now I can have the option for Apple to intermediate. For people with elderly parents and runaway subscriptions, this is crazy valuable.

And while I say customers can manage their own relationships, the truth is that without Apple backing them up, it's companies who will get the better of the relationship by successfully compelling customers to go through their bad payment system, like they already do.

<comment><USER56> I think this would be a fair statement if the customer was given an option on the device, but when you consider that scenario, it becomes super clear that Apple's take is predatory:

\- Either pay X, your purchase is handled through Stripe / Paypal, and your relationship is with the company directly.

\- Or pay X + 30%, and your relationship is with Apple

Certainly I can see some advantages to the second option, but how many customers do you think would willingly pay a 30% premium for that given the choice.

At 5-10% (i.e. a few percentage points above established and legit payment processors, but ones that are a little less full-service), I think it becomes a much more reasonable argument.

</comment></comment><comment><USER53> In other news, i wonder why ios app developers aren't considered apple's employees? In fact someone could sue apple to force them to do so. Their developer guidelines are so strict and hands-on that they don't justify them being used as "gig workers". And apple's statements in this document make the emphatic point that they use those developers to deliver an excellent experience. They even provide their paycheck (and get to keep 30%)

<comment><USER57> What about cross platform solutions? web pages? or apps that are interfaces to seperate solutions. What about apps that are written once that developers still receive royalties from without any updates? Apple enforce a base level quality that mostly isn't that hard to conform to, some developers do not like this, but most apple consumers do, otherwise, they would be free to buy android phones and sideload everything

<comment><USER58> I'd be fine with this argument if they didn't purposely block modern browser features in safari mobile. Push notifications have worked in Safari on OSX for years. They also force any third party browser listed in the app store to use the same crippled safari engine.

They prevent it on mobile because they want app store money. Seems like a clear legal case that no one has bothered to fight or enforce.

</comment></comment></comment><comment><USER59> Here's an open secret. Most people globally buy an iDevice because it has become a fashion symbol, a status symbol and the peer pressure is huge to sport one, once you reach the financial ability to buy them.

It has little to do with otherwise non-technical people somehow appreciating the technical nuances of security, curation, walled gardens, sideloading and so on.

<comment><USER60> Maybe some people buy it as a status symbol, but the user experience in general, for someone who doesn't want root and other customizability but likes a nice smooth easy-to-use interface (as much as smartphones of today can even be user friendly), is far better on the iOS side than on the Android side. And one doesn't have to carry a large and heavier device in order to get this experience (compare the battery capacities between iOS devices and Android devices). There are things that only those who use it can realize.

<comment><USER48> > far better on the iOS side than on the Android side.

From my experience - latest Android on a Pixel phone is as good as the latest iOS experience. Where do you see iOS's being a "far better" experience?</comment></comment></comment>


When You Discover, as an Adult, That You Might Have Autism - <AUTHOR> https://medium.com/storygarden/when-you-discover-as-an-adult-that-you-might-have-autism-6be5fe3eab60 <comment><USER2> interesting, i too wasnt diagnosed until my 30s, i dont have children and never will so the ASD diagnosis served only to explain a few things about why i am the way i am.

it did however also lead to me being diagnosed with ADD (inattentive) which i now get medication for and that has made a huge difference to my life</comment>


EUV Lithography in Outer Space - <AUTHOR> https://semiengineering.com/manufacturing-bits-june-2-2/ <comment><AUTHOR> Can we make chips in space?</comment>


A Model of Queer Stem Identity in the Workplace - <AUTHOR> https://www.tandfonline.com/doi/abs/10.1080/00918369.2019.1610632 <comment><USER2> I don't want to come off as flippant or insensitive. This comes from my honest attempt to understand why identity politics should be viewed as appropriate in the workplace.

Note: I am not interested in whatever that identity actually is; be it political, sexual, racial, religious, economic, normative, counter-normative, age based, or whatever. I want to understand why showcasing your identity (whatever it is) is or should be viewed as appropriate in the workplace.

I personally want to work with people because we can create something great together. I don't feel a need nor an inclination to assert my identity, to know your identity, or your views on my identity.

For those that do feel the need to project your identity into the workspace, how should your colleagues acknowledge your identity? Since I assume that must be the motivation. Would it be inappropriate or even realistically unavoidable to be judged (positively or negatively) based on these projections? How would/do you reconcile with a colleague, manager or client who happens to project their own but somehow counter identity?</comment>


Dips and wiggles: monitoring site perf. with Checkly, Prometheus and Grafana - <AUTHOR> https://blog.checklyhq.com/monitoring-website-performance-with-checkly-prometheus-grafana/ <comment><USER2> Author of the post here. I'd love to hear if you're using a website monitoring tool with Prometheus and Grafana, and if so, what you're doing with it! I've written about some ideas which seem useful to me, but I'd welcome additional suggestions.</comment>


Workers will try to survive, rather than prosper, as tech takes over the economy - <AUTHOR> http://www.marketwatch.com/story/workers-will-simply-try-to-survive-rather-than-prosper-as-tech-takes-over-the-economy-2016-10-24 <comment><USER2> I believe that the article is spot on. The problem facing the developed world today is that there are only so many productive skill sets. I have a BSc in Math. There's very little value [1] in someone who has a math degree with poor grades- there is a lot of value in someone with a STEM degree who understands the material, but there is very little, even negative, value in someone who does not.

Consider a poor mathematician- an inaccurate mathematical model is often worse than not having any model. Or consider a typical software engineer- if one team member is particularly bad at writing code, they can drag down the entire product they work on.

As a result, I find it difficult to believe that there will be jobs for everyone. Certainly it's possible, but for whatever reason, my experience has been that there are very few people who try to learn the subject that they're interested in well, and instead, a majority of people who do so poorly.

[1] Where value is defined in the economic sense- the amount of additional output that that person creates. This is arguably a terrible definition of value.

</comment><comment><USER3> "Globalization never embraced the free movement of people." Precisely the principle globalization rests upon. Everything mobile but the workforce.

"Connections, beauty and brains will permit upward mobility." Plus ça change, plus c'est le meme chose.</comment>


Don't Spam Your Users: Batch Notifications for Rails - <AUTHOR> http://blog.meldium.com/home/2013/4/22/dont-spam-your-users-batch-notifications-in-rails

<comment><USER2> Amusingly, we (BugHerd) have exactly this sort of system in place. Almost universally our users prefer to get individual messages. For a lot of these notification emails, just the subject line is enough for most people to know whether an action is required or not. Grouping the notifications means you _must_ open to the email to see what's going on = more work.

Possibly the biggest complaint is that if you're collaborating on a project, you never quite know when someone knows what you want them to know...meaning you have to pick up the phone to notify them yourself.

We're removing the feature and defaulting to instant notifications. We'll also offer the users the ability to skip instant notifications in favour of weekly, daily or twice daily summaries depending on what is appropriate for their role in the project.

<comment><USER3> Interesting. I think ultimately user control is what you want here. For example, Trello offers a choice between Instant, Hourly, and Never.

For now Meldium uses a heuristic to batch so if only one event occurs then you still get the subject line brevity that you mention.

<comment><USER4> My similar implementation offers these emailing options (every, digest or none). The nice thing about this approach is you can just add logic in the post_commit handler to route the notifications appropriately (instant email, digest queue or /dev/null appropriately based on user preferences)

</comment></comment></comment><comment><USER5> I can see why this would be annoying when a project is first being set up, but once things are underway I much prefer having individual emails for each event. The advantage comes when you only scan the subject line for each notification.

For example, we use trello at my day job to track projects and tasks. They offer to send emails either "periodically (once an hour)" or "instantly". Nevertheless, they still fold multiple actions into a single email if they happen in rapid succession, and send an email that says something like "2 new notifications on the board Development". I would much rather see each notification as a separate email since sometimes they are relevant to me and sometimes they aren't.

<comment><USER6> That is also the approach that we used. Only the "like" action on our platform is bound to happened ten times or more in a row, so it is the only email delayed.

Coding wise, it is a simple as setting a run_at on our Delayed::Job and a custom queue for this user notification. For every new notification we check if there is another delayed job to be procesed in that queue, if it is the case we just edit the run_at to add a few more minutes.

</comment></comment><comment><USER4> I implemented a similar pattern for a django site where users redeem deals (coupons) to prevent blasting them with multiple receipts.

In our use case, the emails were just records of the transaction, so an hour or two delay to allow for batching of the emails was acceptable.

</comment><comment><USER7> GitHub really needs to implement this for Pull Request notifications.

<comment><USER8> GitHub really needs a clearer way to see all the emails that are going to bug you. I'm the admin on an organisation that's quite disconnected so has lots of repos that I don't have anything to do with, the amount of email bs that comes through is unbelievable, but what's worse is having to go to each repository and manually unfollow it.</comment></comment>


How to Read Proofs Faster: A Summary of Useful Advice - <AUTHOR> http://calnewport.com/blog/2014/07/04/how-to-read-proofs-faster-a-summary-of-useful-advice/

<comment><USER3> So I'm going to make a controversial claim and then try to defend it:

There is a cultural problem in mathematical communication and pedagogy, which is keeping the discipline from having a wider accessibility and appeal.

I come from a background where I ended up studying mathematical logic without having any mathematical skills to speak of at all. You'd be surprised how far you can go in the former without any training in the latter. I'm now teaching myself maths.

The reason this is significant though is because of the notion of a proof as it is defined in mathematical logic is different to the proofs you see presented in mathematical papers and textbooks. In mathematical logic, what we care about is the precise mapping between the syntax and the semantics. The ideal (which for some systems is entirely met) is a perfect functional mapping between the two. And because we care about this - a proof is something which is defined carefully so as to ensure that no invalid WFF (well formed formula) is derivable from your axioms and rules of inference. Obviously maths doesn't want to prove falsehoods either, but the difference is in the level of explicitness. Every line in a proof of logic must have it's justification written beside it - whether it be by use of a rule of inference, or a previously derived theorem. You don't skip steps just because to you they seem 'obvious'. And my wonderful logic teacher at the time would take off marks whenever we did.

Reading proofs in mathematical logic - even long and complex ones - is more often than not straightforward. Even the meta-logical results about the systems I studied were presented with greater clarity than your average proof in normal mathematics.

Why is this? Well it seems to me that mathematicians un-apologetically skip steps in their proofs all the time. And it's extremely rare that they will state their justifications. To me this is as bad as un-commented, un- documented code with no unit tests. Any coder that inherited that sort of code would be rightfully annoyed!

And this leads to situations that require this blog post. I have a friend who is a maths PhD (who has been a great help in my mathematics studies) - <USER2> defends this aspects of mathematics. His main argument is that of simple convenience. The problem, he says, is not the presentation but my lack of mathematical experience. If every proof had to be written for those with little mathematical experience, then no maths would ever get done.

As I get more experienced with Maths - I can't disagree that reading proofs gets easier. But I feel his reply misses the point. These gappy proofs are endemic in pedagogical literature as well - not just research papers. And a pedagogical text shouldn't be about the convenience of the author. Different textbooks assume different levels of background knowledge and I find it to be a complete mess. Besides this, I generally have little sympathy for this reply because of my background in logic which trained me to be explicit. Whereas all these mathematicians are growing up thinking that it's normal to just assume everyone knows what you're on about.

And, besides the teaching context, in the research context I've heard things aren't exactly great - you get this absurd situation, described to me by my friend, where mathematicians gather at conferences - present papers, but generally have little understanding of what anyone else is talking about. Mathematicians seem fine with this, apparently. Why? I believe this to be a cultural reality that could be changed - not something essential to the nature of the discipline.

Don't get me wrong - there are some wonderful examples of mathematicians that are working really hard to change this. I found the Ohio State university calculus course on Coursera to really try to be innovative in their pedagogical approach (Their text book was a bit meh - but their online exercise application was brilliant). But in general, I just don't see a lot of this.

Agree? Disagree?

<comment><USER4> I remember my Calculus I and II text book always seemed to skip an important step.

1\. Some Math

2\. A therefore obviously B

3\. Q.E.D.

It was always the "obviously" part were I was lost.

The proofs in my more math heavy CS classes (especially Automata) were always a lot clearer even though I thought the material was conceptually harder than calculus.

<comment><USER5> Calculus is incredibly complicated. Keep in mind it wasn't properly formalised until the late 19th century. It depends a lot on the book and the student, but essentially, to read Calculus I+2\varepsilon you need a solid foundation in Calculus I+\varepsilon. So, usually most of the skipping is because the text assumes the prior is known and digested (or it is just a bad book.)

</comment></comment></comment><comment><USER6> As far as research articles go, what I've noticed is that I never finish them on the first read. And I don't think anyone should expect to. Too often I see students start reading articles, getting lost after a page and just giving up.

It's perfectly normal to stop understanding after a while and putting the article down. What you need to realize is that it takes time for your brain to process new abstract concepts. Give your mind some time to digest these new concepts. Put the article down and think about it on your off time in the following days. Then pick the article again and see if the part you already read looks more trivial and if you're able to go further this time around.

Most of the time, you will. Repeat.

There is no shame in taking multiple reads and months in order to read a research paper: keep in mind that it took the author(s) years to reach the level of expertise they are showing in that article. Cut yourself some slack. But don't give up on the first try.

</comment><comment><USER7> This is great advice for reading proofs. In particular, the bit about never diving into a proof until you know why you expect it to be true is a big one. I find it very helpful, after I've understood a proof, to try to put together the informal version of why it works, and try to explain that informal version to someone else.

</comment><comment><USER8> Has anyone done rap genius for research papers? I think informal context associated with proofs would be a huge help in understanding. And even as a proof writer I'd put details in it that I wouldn't put in the formal proof.

<comment><USER9> Several years ago I started a website called WTFormula.com Unfortunately I was the only contributor, and since I'm not a mathematician my contributions were very few. I haven't been able to convince other people with helping writing content, and eventually I dropped it for lack in interest (the domain is also available again). I still believe it would be a very useful and nice tool to have, though.

Currently I'm working on [http://libflow.com](http://libflow.com) (on my spare time) and I have a lot of ideas to improve it (this "rap genius for research papers" was one of the possible improvements I had in mind). Unfortunately the project is on hold because I currently don't have the money to move it to a dedicated server and enough free time to make major changes to the site.

</comment></comment><comment><USER10> As far as I see it, every proof I have ever encountered has been of two types:

A => B, or A <=> B.

The first of which has the following structure: A: Given conditions (a,b,c,...) are true; B: We can say (..., x, y, z) are true.

The second having a structure: A: Given conditions (a,b,c,...) are true; B: We can say (..., x, y, z) are true.

AND

B: Given conditions (..., x, y, z) are true; A: We can say (a,b,c,...) are true.

The easiest (and quickest) way for me to parse proofs given the above representation is by ensuring I know what the conditions (a, b, c, ...) mean and how removing one of them changes the proof, therefore ensuring I know exactly how each condition contributes to the final result.

(This is probably what he was talking about in his second point)</comment>


Why we need to abolish software patents - <AUTHOR> http://techcrunch.com/2010/08/07/why-we-need-to-abolish-software-patents/ <comment><USER2> One other thing to keep in mind in this debate is that it's expensive to defend yourself from a patent lawsuit. For example, this blog (<http://rpxcorp.com/blog/?p=129>), whose accuracy I have no idea of, claims that the average total cost of a patent lawsuit where the potential damages are under $25MM is $3.1MM to defend yourself, and $6.2MM if the potential damages are over that number.

So there are several parts to this equation. 1) Creating any bit of software involves thousands of "inventions," any one of which could be patentable. 2) Patents are granted for things which fail the obviousness test, where the chance of someone else independently "inventing" the same thing is essentially 100%. 3) The damages for violating even one patent tend to be astronomical and totally out of line with the contribution of that "invention" to the software in question. Out of 2 million lines of code, if one total BS patent covers 20 lines of that code, why are the damages likely to be basically equivalent to most of the revenue for that product? 4) The cost of defending against a patent lawsuit is enormous.

In other words: if you're a small software business, then there's pretty much a 100% chance someone else can sue you for patent infringement if they want to, losing the case will kill your company, and trying to defend yourself will severely drain your resources and could kill your company anyway.

There's no part of that that helps or encourages innovation.

</comment><comment><USER3> I've had two runins with the patent system, and both have severely weakened my trust in it.

Back in the day a student at my dorm in college decided tit would be a cool idea to make a webserver for our laundry machines so that we could tell if there was one free without going down to the basement. It attracted some interest, and was even Slashdotted a couple of times over the years. Between Slashdottings one and two a company applied for a patent on the idea of connecting laundry machines to web servers. Much later, after our dorms laundry server had been in operation for about a decade, they sent us a cease and desist letter. We informed them that they'd lose their patent if they took us to court and didn't suffer, but they are still charging people millions of dollars for the system their invalid patent gives them a monopoly on.

After I got my Master's I started work at a consultancy that did custom sensors. They had previously outsourced their engineering, but the company that had been given the engineering work had tried to patent the ideas of the consultancy out from under them. Luckily the consultancy had filed for patents first, but the company was granted one of the patents anyways.

<comment><USER4> Why didn't you send them a letter threatening to bring a declaratory judgment action, then settle for a wad of cash?

<comment><USER5> Who can say but starting a fight with any entity is dicey proposition. They might have no cash or be adept of leaving in the dead of night. They might turn out to have more lawyers than you and your costs would be huge.

</comment></comment></comment><comment><USER6> Rather than abolish software patents, I'd like to see better precedents be set. A software patent should be held to the same fundamental tests (non- obvious, novel, unique) but the bar should be much higher for software because the domain is so fast changing. Many software patents seem very obviously superseded by prior art to anyone in the domain.

I would also love a fourth fundamental test to be added - cost of development. The fundamental purpose of patents is to encourage innovation by allowing investments in developing new technology to be recouped. Devising and implementing a one click shopping system is not a substantial investment.

Unfortunately measuring the "cost" of development gets very complicated and subjective very quickly - accounting for money spent on failed attempts, human capital invested, opportunity cost, etc. Amazon could claim their whole development team was trying to think of innovations and one click shopping was the culmination of all of their efforts.

<comment><USER7> This. If licensing your patent costs more than having each participant in the industry independently recreate the invention, your patent served only as a tax on the industry rather than a contribution.

</comment></comment><comment><USER8> How about a world with no patents at all and let's just see what happens.

<comment><USER9> Patents are broken in implementation, not as a concept.

<comment><USER10> Maybe a non-broken implementation is not possible.

<comment><USER9> It is if you can first solve the problem of getting people with domain knowledge to work as patent clerks, or if there is a "peer review" process or something.

The alternative to patents is not "all information wants to be free", it's paranoid secrecy. If people are to invest in R&D, they need protection from copycats. I mean, check this out: <http://www.nytimes.com/2010/08/07/business/07muffin.html>

<comment><USER11> _The alternative to patents is not "all information wants to be free", it's paranoid secrecy. If people are to invest in R &D, they need protection from copycats. I mean, check this out: <http://www.nytimes.com/2010/08/07/business/07muffin.html> _

The other alternative is that people get along with openness just fine. Beside, people don't have an inherent right to a technological secret, at least in the normal cases.

<comment><USER9> You are making the same economic mistake that a lot of anti-IP types do, which is that you assume that the cost of duplicating a thing has any relation to the cost of producing it in the first place. It does if you're talking about, I dunno, spoons.

The point of patents is, if you discover a method of doing something, you patent it, and if anyone wants to use your process, they pay you to license it. So we provide a mechanism - but not the guarantee, since no-one might be interested - for a return on an investment into R&D.

Do you really, honestly believe that a drug company would research a new drug, spend a decade shepherding it through clinical trials and FDA approval (we are talking an investment of hundreds of millions of dollars) and then a generic manufacturer sells it for a little over the price of the raw materials, having gotten all the hard work done for them for free?

Because even if they wanted to they couldn't; they'd be bankrupt.

<comment><USER12> > The point of patents is, if you discover a method of doing something, you > patent it, and if anyone wants to use your process, they pay you to license > it. So we provide a mechanism - but not the guarantee, since no-one might be > interested - for a return on an investment into R&D.

That is not the point of the patent system, that is the means by which the actual goal is obtained. The goal of the patent system is make the information public so all of mankind can benefit from it and the knowledge doesn't die with the inventor. Buying off the inventor with a limited monopoly on the idea is merely a means to an end.

<comment><USER9> _The goal of the patent system is make the information public so all of mankind can benefit from it and the knowledge doesn't die with the inventor_

If you have a mechanism other than patents that makes it economically possible for private organizations to engage in capital-intensive R&D _and_ make the information public, let's hear it.

<comment><USER12> Where exactly did I imply that? I was merely pointing out the motivations of the patent system. The system is not necessary for companies to be economically viable as they've been doing that with trade secrets long before patents were around. The patent system was meant to unlock those trade secrets for the benefit of the public, it was never about the inventor's best interests.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> Here's an anecdote. I am affected by software patent. One of the well known optimization techniques in the product area that I'm working on has been patented and bought by a big corporation. The situation is kind of murky since there are similar techniques published by academics. That big corporation has sued anyway and won large settlement from other companies.

For my product, I have to forgo implementing the technique. It defines a feature not the product but it's a competitive advantage.

</comment><comment><USER14> The fact that companies have created software, patented it, and sued large companies that use their technology gives me pause. Without software patents the software industry will become like the consumer products industry where inventors are ripped off by large corporations.

I think the VC's who are pushing this have an agenda.

<comment><USER15> If this was what was happening in the majority of cases, I would agree. But it isn't - big companies frequently buy patents just to go after and shut- down/settle with smaller companies who are posing a threat. Like Apple against HTC. Like Microsoft against Salesforce.com.

If there was a shorter life span, or stronger enforcement over patent squatting, fewer people would be standing against it. But saying the VCs pushing this have an agenda, without citing a single source, and thinking that patents do anything now other than pay lawyers and slow innovation, is narrow- minded.

<comment><USER16> Let me be clear. You think Microsoft has sued more companies than smaller companies have sued Microsoft? Wow, that's some serious revisionist history. Just in the past two years MS has been sued by at least seven companies -- and I don't recall any of them being trolls.

<comment><USER17> MS doesn't need to sue, they just do intimidation and forces small companies to pay them licenses, taxing all their competitors. I'll let you google the glory details. Also, when MS sue a company for a patent on the FAT file system, that's because they refused to pay them royalties/licenses unlike the 100 more companies they secretly threatened before them.

</comment></comment></comment></comment><comment><USER18> I'm on board for abolishing software patents, but it would help if the author understood what the (ostensible) purpose of the patent system was:

 _This effectively undermines the entire purpose of the patent system: the patent office is charging applicants serious money for giving it the privilege of giving away their commercial secrets._

Giving away commercial secrets is why the patent system exists! The fact that software patents usually are too obscure to give away their secrets is part of what makes software patenting so dysfunctional in the first place.

</comment><comment><USER19> I have never really understood (or perhaps know where I stand) on the issue of software patents, this article did not help.

"What is most alarming is that patent office automatically publishes applications online after the 18 months ... This effectively undermines the entire purpose of the patent system: the patent office is charging the applicant serious money for giving it the privilege of giving away their commercial secrets."

You know that going in (that you might not get a patent but that it will be published), it's a risk, but the whole idea is that great ideas will be released into the public domain with enough information to be implemented.

"They had the concept right, but they surely never conceived of Amazon.com patenting clicks in an online shopping cart and methods for having an online discussion"

This _is_ an issue but in my opinion an issue with the patent office granting patents which through granting do not further innovation in the slightest (rather than it being software). A counter to this example would be perhaps, MapReduce [1].

[1] <http://en.wikipedia.org/wiki/MapReduce>.

</comment><comment><USER20> I think that after a short amount of time (perhaps 10 years after being registered) all patents should be released.

This period would allow the innovator time to bring their product to market and begin profiting from their ideas. It would prevent patents being seen as a way to unfairly limit competition. Innovation would be encouraged. It might also reduce the desirability of patent-trading.

<comment><USER21> I wrote about limiting patents to 7 years: [http://entrepreneur.venturebeat.com/2010/03/04/in-favor- of-s...](http://entrepreneur.venturebeat.com/2010/03/04/in-favor-of-software- patents/) (note that the title isn't mine, the title I had proposed was "the 7-year patent").

That's the best compromise I could come up with. I'm not interested in hearing from people who have a 100% ideological position. I'm interested in finding a solution, which implies a compromise from both sides. "Patents are evil" is not a solution.

<comment><USER22> "In any compromise between good and evil, only evil benefits."

Which is why the government grows and grows and society gets more and more disfunctional.

</comment></comment></comment><comment><USER23> <http://www.nosoftwarepatents.com/>

</comment><comment><USER24> I don't get why there are so many down-mods to perfectly civil comments, as evidenced by their zero-karma scores. I just upvoted all of them, for which I will no doubt be downvoted by the same worthy who down-voted the others.

<comment><USER25> There are lots of perfectly civil comments that add nothing to whatever discussion they are part of: stupid jokes, restating the obvious, complaining about downvoting, and so on. People often downvote such comments in order that others will be able to more easily find the comments worth reading.

<comment><USER24> None of the comments I upvoted were in any of those categories -- at least not IMHO, and therein lies the problem, it usually comes down to a matter of opinion.

As long as PG doesn't separately state upvotes and downvotes, a better answer might be to reply to comments you don't love with "RTO" (restates the obvious) or "ANTD" (adds nothing to discussion).

</comment></comment></comment><comment><USER26> i am for abolishing the patent system - it is archaic - the reason no one can duplicate googles success is not the patents they hold but the infrastructure they built -furthermore- competition actually helps to -increase- the market - in new yorks fifth avenue there are hundreds of luxury brands - doing business next to each other - and thriving - if your competition copied you - you copy their improvements to improve your product - copyright is an impediment that serves no body ----except the government bureaucracy---- who enforces the copyright --laws--

<comment><USER27> I think having shorter times for copyright and patent to expire would be effective. With the speed and turnaround of the current markets, patent law ends up stifling innovation and in general harming the economy as a whole.

This is a prime reason countries which are lax in enforcing copyright law as rising economically in the world.</comment></comment>


How Cubism Protected Warships in World War I - <AUTHOR> https://www.wired.com/story/dazzle-camouflage-san-diego-world-war-i/ <comment><USER2> A good example of how it was supposed to work - it really is hard to figure out where the ship is actually heading: [https://en.wikipedia.org/wiki/Dazzle_camouflage#/media/File:...](https://en.wikipedia.org/wiki/Dazzle_camouflage#/media/File:EB1922_Camouflage_Periscope_View.jpg)

<comment><USER3> Wish those were actual photographs and not an artists interpretation for an encyclopedia.

I must admit however it took me a moment to find the bow on this image:

[https://commons.wikimedia.org/wiki/File:USS_West_Mahomet_(ID...](https://commons.wikimedia.org/wiki/File:USS_West_Mahomet_\(ID-3681\)_cropped.jpg)

</comment></comment><comment><USER4> I was under the impression that the effectiveness of Dazzle camouflage was debatable, if not outright ineffective? There were no standardized patterns by which they could be studied for their effectiveness in WWI, and by WWII when such schemes were standardized, they were rendered moot by rangefinders and radar.

<comment><USER5> Yes the impact was likely hit or miss without standardization. Here's a modern-day application : [https://en.wikipedia.org/wiki/MARPAT](https://en.wikipedia.org/wiki/MARPAT)

<comment><USER6> I would consider MARPAT and other digital camos related but distinct from Dazzle.

<comment><USER4> Aye, there is also a significant difference between hiding a many thousand ton, hundreds of meters long ship on the high seas, and a 1 meter tall human being in the forest.

<comment><USER7> That is a very small soldier.

<comment><USER4> Ha! you're right. Maybe.. 1.7 meters?

</comment></comment></comment></comment></comment></comment><comment><USER8> There's a modern example of this at anchor in Edinburgh: [https://edinburghartfestival.com/dazzle](https://edinburghartfestival.com/dazzle)

I've seen it in person, but what I've not tried and I wonder if anyone has, is photographing it from some distance across the sea to see if it's meaningfully camouflaged. I'm not sure that's possible at it's current location because of the harbour.

<comment><USER9> Dazzle isn't about making it hide, it's about making it hard for a submarine's periscope (before the advent of radar) have trouble figuring out the speed and direction the ship is traveling. Remember, you have to fire a torpedo at where the target is going to be, not where it is.

This is why Dazzle often uses fake bow wakes (an indication of speed) and lines going off in different directions (making it hard to tell the true direction optically).

[https://en.wikipedia.org/wiki/Dazzle_camouflage](https://en.wikipedia.org/wiki/Dazzle_camouflage)

</comment></comment><comment><USER10> Also Dazzle Ships by Orchestral Manoeuvres in the Dark is an excellent record.</comment>


Vintage and Retro Free Fonts for Your Designs - <AUTHOR> http://www.agenceelysium.com/agenceelysium-blog/31-freebies/628-35-vintage-and-retro-free-fonts-for-your-designs.html One of the most important elements of the web designing is the [LINK=http://designmodo.com/letterform/]Typography[/LINK] which can change a normal art into an attractive and an elegant piece of art. The most recent and the popular design trend are the [B]retro styled fonts[/B] or elements. The right selection and the proper usage of the fonts or typography play an important role in conveying the appropriate message to the clients. The latest trend and techniques of using the retro and vintage script fonts have become very popular in the recent years almost in majority of the small and large scale corporate designs, blogs, online stores, and portfolios. <comment><USER2> Thanks for sharing these awesome, free fonts! No joke, I've been thinking about using a rubber stamp style title in a logo I was planning on working on and this one fits the bill.</comment>


Huge in Australia - Our iPhone Game Stats & Question? - <AUTHOR>

As per an earlier post, we released an iPhone game called "Rainbow Ninja" which is a brain-training game.
We did this for fun and to learn the development process.
We released it roughly 6 weeks ago.
At first we priced it at $1.99 price point.
We sold over 100 units on day one.
~50 on day 2
~Dropped to 30 for a week or so.
Then down to consistently selling 10 copies a day.
We decided about 2 weeks in to see what would happen if we gave it away for free.
Downloads immediately jumped to the 500 a day range for days 1 - 5.
That has built consistently to over 5,000 downloads per day. The game is on page 3 in the USA popularity for puzzle games.
But what's NUTS is that 3000+ a day of those 5000 are coming from Australia.
I can't find a tool to see the AUS store to see if we're featured or something, can't find any mention on websites etc.
So - throwing it out there - anybody have a similar experience or know how to figure this out?
If Australian's love the game we want to leverage that and promote!
Thanks in advance - <comment><AUTHOR> Just an FYI in case anybody was following this. Figured out that we're the #3 free app in Australia. Ahead of FaceBook. How this happened we're still not sure :).</comment>


You Can't Sacrifice Partition Tolerance (response to Stonebraker) - <AUTHOR> http://codahale.com/you-cant-sacrifice-partition-tolerance/#errata10221010

<comment><USER2> Stonebraker says real systems can obviously achieve "CA" when one node is partitioned off. But he slyly switched out the theorem's definition of "available" for a more colloquial definition. The CAP theorem definition requires every live node, including the lone segregated guy, to respond to clients. Real "CA" systems don't do that--they're "available" because the non- partitioned nodes are still responding.

<comment><USER3> > _Real "CA" systems don't do that--they're "available" because the non- > partitioned nodes are still responding._

This sounds like a fencepost type of error to me. When you have a partition, you are splitting a single set into two subsets. It may be live/dead or live- net1/live-net2. The point is, in the presence of a partition, _there are no non-partitioned nodes_.

</comment></comment><comment><USER4> did anyone else notice we have 3 posts a week about the cap theorem? Maybe it's about time we stop talking about it and start using some other terminology.

<comment><USER5> Your right. All this talk of distributed systems is making hacker news too nerdy. Lets go rate someone's startup and find a technical cofounder. Perhaps we might also watch a video of a prominent investor trying to promote his personal brand.

<comment><USER4> you have misunderstood my point, which is that there is in my opinion too much time spent trying to understand what X means when using a permutation of the letters C,A,P,L,whatever, and we are not seeing enough of the nerdy stuff (such as: new coordination protocols, failure detectors, workflow patterns).

</comment></comment></comment><comment><USER6> "Even the canonical example of an isolated transaction—a transfer of funds between bank accounts—happens with a 24-hour window of indeterminacy. In fact, one of the few financial transactions which actually resembles a database transaction is the physical exchange of cash for goods—a totally analog experience."

With all due respect, that's a bunch of bullshit, and is a great example of passing off how you think something works as how it does work.

My bank transfers between accounts happen instantly. Buying stuff online isn't an analog experience, and happens instantly.

Let's not put banking into the same category as a Twitter-like app, because they're nothing alike.

It's perfectly okay that two different solutions exist for two different sets of problems, and there's no real need to argue that your world view applies to all problems.

<comment><USER5> What is this wonderful bank you use where transfers between accounts at a different bank happen instantaneously? Every time I've tried it the process takes 1-2 days and most likely has to go through an ACH.

As for credit and debit charges, my bank always has two transaction histories. Cleared transactions and pending transactions. Pending transactions are merely funds that have been reserved against your account and they may or may not clear after a period of time. Sounds like that fits pretty well with eventual consistency.

<comment><USER6> Love the down votes -- he didn't say different bank, did he? Funnily enough, money also moves between accounts at the same bank.

My bank transfers to other banks take a couple of hours, but I don't live in the US. The money comes out of the account instantly though.

I think it's a bit of a stretch to say that a bank doesn't need transactions.

As for credit cards, that's great, but that doesn't address what he said, which is that it's an analog experience, which it isn't. Also, it depends on the bank, but there's generally an available balance and a credit limit. Credit card payments come out of the available balance instantly. I'm pretty sure that's running in a transaction. :)

What happens between then and actual acquisition is irrelevant.

Anyway, the point isn't the technical details, or how implementations differ. The point is that the argument presented is flat out wrong (in this case). Banks are a completely different beast to your web 2.0 startup. :)

<comment><AUTHOR> "My bank transfers to other banks take a couple of hours, but I don't live in the US. The money comes out of the account instantly though."

Within a single banking entity (and what you see as your bank might in fact be a composite of numerous such entities), you may see this _apparently_ transactional behavior. Between banking entities you certainly don't. There is no 2PC over SWIFT.

Crushed your dreams. Sorry.

</comment></comment></comment></comment><comment><USER7> _Every failed Google search means fewer ads served and advertisers charged_

No, I just hit refresh a couple times or try again later. Same number of (successful) pageviews, same number of ad impressions.

 _every item a user can't add to their shopping cart means fewer items sold_

No, I try again later. Just like I do if something is out-of-stock.

 _every unprocessed credit charge risks a regulatory fine_

So what just happened to that 24 hour window you mentioned for banking transactions?

 _The choice of availability over consistency is a business choice, not a technical one._

Right. Because it's safer for Citibank to approve a transaction that they shouldn't, than for them to process it five minutes late.

 _Given this economic context, it becomes clear why most practitioners at any interesting scale meet their business needs using highly-available, eventually consistent systems._

I thought it was because consistency usually costs a bit of performance, and at "interesting scale" that translates into significant hardware costs. Plus of course "interesting scale" apparently comes with "rockstar programmers", who prefer eventual consistency because it's a fun exercise in minimalism.

<comment><USER8> You do not exhibit the same behavior as users in aggregate. However, the question of Opportunity Cost in development vs marginal cost of constructing ca systems is open for debate and situationally dependent.</comment></comment>


Code Critique as an Interview Tool - <AUTHOR> http://hupp.org/adam/weblog/2007/04/15/code-critique-as-an-interview-tool/

<comment><USER2> I have a similar technique for phone screens. Candidates are told to do the interview where they can receive email. To avoid cheating, we send them a couple of code snippets right as we call them. Then, we talk about the code.

We found that phone screeners have a bias toward those who speak well, so we often brought in terrible programmers for a half day of interviews. What a waste, especially when flying people in. The in-person failures we experienced were of the FizzBuzz variety, not the "I don't exactly under stand concurrency" sort.

So, we started asking people to read some code and comment on it. Really basic Java stuff: Will this code compile? Trace the flow of execution through this method if the BlahException was thrown. String comparisons with ==. The idea was to see if (1) the person was at all clueful, and (2) if they had actually written Java code.

As the linked blogger noted, the disparity in responses is shocking. We found that about half the people we interviewed thought that execution of a Java method ceased once a catch block had been entered. Half! How could they ever have written robust production code? These were often people with years of Java experience on their resumes. I just don't understand how someone could write a bunch of Java code and not understand the basics of how exceptions work.

Some other parts of the code review were more nuanced. Most candidates knew that one should not compare strings using double equals, but they usually couldn't explain why. Nor did they understand why == sometimes seems to work when comparing a referenced String object to a literal.

We were happy to hire smart candidates that hadn't done a lot of Java work, but we wanted to avoid people who had supposedly spent years with a language and didn't even comprehend the basics.

</comment><comment><USER3> I think this depends on what you are looking for in a candidate. Being able to read code is good, but if you want to hire someone who is really good now and will be 10x better in 6-12 months, you don't want someone who is opinionated and arrogant about what constitutes good code. You'll want someone who recognizes something doesn't look right and then asks _why_ it wasn't done a better way.

</comment><comment><USER4> This seems too small and specific to matter. Sure, it is important to manage what is going on inside a loop iterating a million times. But without a good profiling system to know where to work, this could be wasted effort. And good design of a large system will matter more than any single function or loop.

That said, you could do a high level system design and get down into a few details.

<comment><USER4> On a similar note, in my experience (and this is mainly in C++), reading someone else's code means dealing with hundreds of files and tens of thousands of lines. Getting the system in your head is important, but this is difficult to test in an interview -- because it might take days, not minutes.

My favorite interview question is asking about projects done in spare time. This yields a great deal of information about how inherently interested the person is in hacking.

</comment></comment><comment><USER5> National Instruments (Austin, TX) used to do that alot and it worked great. They start with some code critique and then slowly, starting with "how would you re-write this from scratch?" they get you to write some, following by popular "optimize for speed/memory" and so on.

I just recently had somewhat similar idea: to reverse tables and ask them to interview me. Not the typical "how do you like it here?" kind, but I want to ask people to ask me technical questions and see what they can come up with.

</comment><comment><USER6> I've had a lot of interviews and never had to do a code critique. Microsoft's had me write some simple reverse strings type things but never critique code. It would think it would work great. Being able to turn some junk into something elegant and functional is a way better skill (for an employer wanting experienced programmers) than knowing the terms and names of methodologies you learn in school.</comment>


Case Closed: You Can't Make a Knife Out of Frozen Poop - <AUTHOR> https://www.sapiens.org/archaeology/poop-knife-frozen/ <comment><USER2> I would be surprised if this doesn't get noticed for next year's Ig Nobels.</comment>