Dash developer's response to Apple's response - <AUTHOR> https://blog.kapeli.com/dash-and-apple-my-side-of-the-story <comment><USER2> Apple should change their process so that they contact all linked accounts if it's possible that they would be closed.

End of.

Kind of.

Seems like Apple is working off the assumption that linked accounts are acutely aware of what each other are doing, and thus are all equally responsible for each others actions. Clearly this assumption is not valid.

Having listened to the entire call, I think both parties conducted themselves with respect and good faith. The only question unanswered in the call is "why didn't Apple notify both accounts?".

Apple is in a position of disproportionate power here. They created the platform, they make the rules, everybody either plays by them or doesn't play at all. I really hope Apple will just be honest and admit that they did, in fact, have an inadequate process for dealing with this kind of corner case. They did make a mistake. They closed someone's account when it shouldn't have been closed.

If Apple is adamant that they made no mistake, they only reinforce the feeling that Apple has become an inhuman giant, a profit-hunting corporate entity, that doesn't really care about human values — the antithesis of what Apple used to be.

<comment><USER3> Wether apple is inhuman or the developer is a prick is quite an open question.

Both were faulty and they obviously didn't come to an agreement. Apple phone offer would have gave both of them a clean exit and it might always remain shady why this agrement wasn't actually implemented...

After carefully listening to the phone call I still don't understand why the developers was arguing at all. He could have been back in buisness in a breeze with no harm at all.

<comment><USER4> > Both were faulty and they obviously didn't come to an agreement.

I don't know how you arrived at that conclusion. The developer offered to publish a blog post saying that the app was removed due to fraudulent activity on a linked account he was not aware of. Apple accepted and then went ahead and published a statement accusing him of engaging in fraudulent behaviour anyway, claiming they gave plenty of warning, but not mentioning that the activity was limited to the non-Dash account, that the developer claims to have been unaware of the connection, and that they _did not inform him of the connection or give any warning on this account_. That's just dishonest.

<comment><USER3> Well it's more like Apple asked him to post an explanation on his blog. As far as I know this asked blog post was never published and then Apple realease it's response.

So again this might well remain unsolved because probably no one appart from the arguing parties can't tell why the agreement on the blog post in exchange for dev program re-enrollment wasn't fulfilled by either parties...

<comment><USER4> > As far as I know this asked blog post was never published and then Apple > realease it's response.

From the blog post:

> Update: Just to make it clear, I have complied with Apple's request and have > sent a blog post draft approximately 30 minutes after this phone call ended. > I have since not received any contact from Apple in any way, and they did > not respond to my calls. Their recent statements come as a shock as I > thought we were working together to resolve this issue.

Given that Apple's statement left out several important facts (arguably, to paint a rosy picture of their behavior), I'm inclined to believe the developer here.

<comment><USER3> So maybe we can agree it relate to faith, not facts.

I choose to focus more on the actual phone recording than to the dev post because at least you can hear both positions.

Indeed something had gone wrong in the process they agreed on phone. But it's words against words. So I really think it's better not to chose to believe in one over another, because that would always be tainted by our own personal predisposition (which of course may differ).

</comment></comment></comment></comment></comment></comment><comment><USER5> What's the issue here? Seriously.....

So this guy has a lot of suspicious activity on accounts linked to him. Apple have done what they believe is the right thing to protect the integrity of the app store, in line with there own terms and conditions which the developer has agreed too.

Said developer has published blog posts online that give Apple very bad publicity over this, making them look like the bad guy for trying to protect users and maintain quality (What does apple have to gain by randomly disabling this guys account?)

Apple have reached out to him and offered to sort the issue out as long as he posts the facts in a blog post, which is fair after his previous posts have outright caused Apple PR issues for something that is his own fault.

Apple have also got top execs dealing with this issue, trying to make things right. Developer doesn't release said blog post, so Apple releases statement with said facts to protect themselves for further incorrect accusations.

Developer then gets but hurt and releases the conversation that does nothing to help there situation.

What is the developer trying to achieve here exactly? Sounds like the developer is guilty as sin for this fraud and is more interested in accusing apple and covering themselves.

<comment><USER6> > _which is fair after his previous posts have outright caused Apple PR issues > for something that is his own fault_

1\. That it's his fault isn't so clear. The developer claims he was not notified that there was a linked account until _two days_ after a ban. If you listen to the recording, he asks why he was not notified, and the representative does not give a good answer.

> _Developer doesn 't release said blog post, so Apple releases statement with > said facts to protect themselves for further incorrect accusations._

2\. If we are to believe the developer, then he actually sent a draft of the blog post to Apple, then Apple doesn't respond and instead posts a public statement.

> _What is the developer trying to achieve here exactly?_

3\. Telling his side of the story and what happened. If we just heard the Apple side of the story and that was it, then we would assume, as many did, that the developer did do review manipulation. If we didn't hear about his side, we would have had no idea that Apple discovered the fraud on a _linked_ account and wanted a blog post explanation to reinstate the account. Apple's statement was incomplete given everything they knew; there was no talk of "linked" accounts or anything of that sort.

> _Sounds like the developer is guilty as sin for this fraud_

4\. Again, if we are to believe the developer, there was no _intent_ to defraud anyone, so I think it's a stretch to say that he's "guilty as sin" for it. The only fraud would be his cousin's fraud that his account is connected to, which Apple failed to notify the developer about until two days after closing his account and after the blog post.

</comment></comment><comment><USER7> If Apple is open to admit the dev back to the program means he didn't really commit fraud.

And if he didn't commit fraud, why is Apple enforcing him to write a PR blog post in favor of Apple as a condition to get back into the program?

Apple wants him to write fake review. Oh the irony.

<comment><USER8> The phone call doesn't stipulate terms the way you describe.

Apple says his account was linked to the fraudulent account. They define "linked" as sharing test devices, and having been enrolled under the same credit card number. The accounts were linked.

They say to the developer that if he explains exactly the above then his account will be re-instated. It's not a "fake review" if it's stating the facts.

The part where we can assign blame to Apple is where they failed to notify all "linked accounts" when one of the accounts was engaged in fraudulent activity. They only notified the account engaged in the fraudulent activity, but went on to shut down that account and all linked accounts.

If they had notified all linked accounts then the developer claims he could have taken steps to resolve this much sooner. (But to argue for Apple's side here: Apple views all linked accounts as a singular "legal entity," and so assumed notifying one was the same as notifying them all.)

<comment><USER9> The gist of this point is the debate around banning guns from people on the terrorist watch list. One side insists that if they are bad enough to watch, we shouldn't let them buy guns (this is Apples stance that since our arbitrary system linked them, that suddenly makes him guilty.) and the people on the other side, insist that since there is no due process to being added to the terrorist watch list, it is a way to bypass a constitutional right (which is a valid point, whats to stop the government from arbitrarily adding people to these lists and stopping them from buying guns.

Regardless of which side of the argument you lean towards, they can both legitimately believe they are 100% in the right.

<comment><USER8> Both sides agree with the facts of the case:

\- Developer used his credit card to enrol in multiple accounts

\- Developer had same test devices on both accounts

\- One account engaged in fraud

\- One account was notified of fraud

Apple's request is that the developer make these facts known and have his account reinstated. Because Apple doesn't want to be seen as arbitrarily shutting down developer accounts — they have reason in this case and want it known.

It seems like Apple was sympathetic to the claim that the developer lost control of / forgot about the account which had the fraudulent activity. But also wanted to be seen as having a reason for pulling Dash in the first place.

They weren't asking the dev to admit to fraud. They were asking him to admit to opening multiple developer accounts and losing control of one. Which both sides acknowledge he did. I'm not sure I understand why the developer thinks this would be an admission of wrongdoing on his part (unless the wrongdoing was opening multiple accounts and giving them to untrustworthy people, which he _did_ ).

<comment><USER4> > They weren't asking the dev to admit to fraud. They were asking him to admit > to opening multiple developer accounts and losing control of one. Which both > sides acknowledge he did. I'm not sure I understand why the developer thinks > this would be an admission of wrongdoing on his part

Just to be clear, the developer would've been happy to do exactly that:

> On Saturday they told me that they are fine with me writing the truth about > what happened, and that if I did that, my account would be restored. > Saturday night I sent a blog post draft to Apple and have since waited for > their approval.

However ...

> Tonight Apple decided to accuse me of manipulating the App Store in public > via a spokesperson.

Apple's press release does not make _any_ mention of the fact that the fraudulent reviews were for apps from a different (linked) developer account. They also say that they gave multiple warnings prior to removing the app. The developer's blog post and his recording shows this only to be true for the linked account, not his. At the very least, Apple is guilty of lying by omission.

All in all, I think this is very bad form from Apple. They could've simply admitted that their notification system does not present a full picture to developers and fix that, rather than do some weird "we want to make clear we did nothing wrong" dance, and then go out and make misleading statements.

<comment><USER10> It's also very possible that the developer is not telling the whole story. It's not like Apple does this kind of thing every day and their statement is fairly clear.

They also likely have additional information, like the IP addresses and timestamps in use when the reports were made. Keep in mind that Apple doesn't make money (directly) from taking the guy's app down, and even the guy's story doesn't really make sense.

It hinges on the idea that he bought the developer program for a relative, who then used a bunch of his devices years later to leave a bunch of fraudulent positive reviews for his apps and negative ones for competitors. Really?

It sounds to me like Apple had him dead to rights and gave him an out, despite having no need to do so. He knows he screwed up AND publicized this with his blog, so he can fix it with his blog or he can lie in the bed he made. He stuck with his made-up story to save face (at the expense of Apple) so they're sticking with the original decision.

<comment><USER9> Two important points.

>It's not like Apple does this kind of thing every day

1\. Just because you don't hear about it doesn't mean it doesn't happen all the time to less known developers with no public voice.

2\. What's his incentive not to take the out Apple offered him? If he was guilty & had no problem lying, why the heck wouldn't he grab the opportunity to be reinstated?

The only rational incentive to hold his ground is if he actually believes he is in the right. Which indicates that his story is likely true.

I agree that he could just as easily be lying, but the series of events and decisions fit much better with a guy who feels hurt and in the right, versus a guy who has no problem lying and being dishonest publicly.

Edit: spelling correction

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> After listening to the first 2 minutes of the call, i can say with absolute confidence that Apple is straight-up blackmailing him.* I would love to hear opinions on whether this is something that could be taken to court.

* They did make a mistake in not verifying whether the second account activity was actually done by Kapeli, yet they want him to claim they made no mistake, otherwise they won't reinstate Dash.

<comment><USER12> I think Apple's position is reasonable here.

A second developer account, which is the account linked to fraudulent reviews, was opened using the same credit card, same bank account, and same test devices as the main Kapeli account. So it's reasonable that they would assume the same person was in control of both accounts.

The developer claims this is not the case, however. Apple seems willing to accept that. All they are asking is for him to write a blog post stating these facts.

<comment><USER7> Not at all.

If Apple is ready to bring him back it's because he didn't commit fraud.

And if he didn't commit fraud he shouldn't need to write a blog post as a condition to get back. Quite contrary, Apple owes him an apology.

<comment><USER8> The blog post request is to make it clear that his account was linked to an account engaged in fraudulent activity. Apple wanted him to post it because it would make clear that he opened _both_ developer accounts with his credit card, even if he eventually lost control of one.

If you open developer accounts that eventually engage in fraudulent activity you're not "owed" an apology. You should be on top of the things you open in your name and with your bank details.

Apple should have taken steps to notify _all_ linked accounts. That's their mistake. But it was the developer's mistake to open an account for someone who would engage in fraud in the first place.

</comment></comment></comment></comment><comment><USER13> According to his blog post, the developer sent his blog draft to Apple and hadn't yet heard back.

He then today refreshes Loop Insight / iMore and reads "According to Apple, all attempts to work with the developer __have __failed ".

Was the press release really Apple's answer to the blog draft? Was it _meant_ to torpedo the ongoing "blog negotiation", or independent of it?

<comment><USER14> I'm assuming it was completely independent. And when they said attempts failed, this was _before_ the account was terminated. It's not referring to any communication with the developer post-termination.

<comment><USER13> Re-reading today's press releases, Apple's statements perhaps read as if they're delayed responses to the initial story (and are oblivious of the "my cousin did it" angle currently being talked through on the phone).

But the Dash developer clearly read the press releases as responses to the _ongoing_ communication, rejections of his draft blog post. In his view they made a _new_ decision and went to the press with it. Account ban final. He has nothing to lose by posting his telling of the events and the audio.

> Tonight Apple decided to accuse me of manipulating the App Store in public > via a spokesperson.

It's really unfortunate for both sides if this drama is the result of bad timing and/or siloed organizational departments.

<comment><USER14> I think you're correct. I too read Apple's statements today as being something prepared ahead of time (possibly even communicated to the media earlier and embargoed), wholly independently of Apple's ongoing talks with Kapeli about the blog post.

</comment></comment></comment></comment><comment><USER15> After listening to the call it does seem like Apple didn't do due diligence and notify all parties involved. They notified the owner of the dev account, but not the owner of each account that was going to be deactivated. Doing this could have prevented the misunderstanding.

<comment><USER16> I'm sure there was much more communication than just that call. Apple, in a previous statement, said "Warning was given in advance of the termination and attempts were made to resolve the issue with the developer but they were unsuccessful"

<comment><USER11> Listen to the phone call. He asks them why they contacted only the owner of the linked account and not the details on his account before closing his account, and Apple does not deny they failed to contact him and only says "cause they were linked".

There was no other communication with Kapeli.

<comment><USER17> They also told him that, from their perspective, the two accounts belong to the same entity because they have the same payment details and test devices.

There was no reason for them to know that this developer purchased an account for someone else and gave them his test devices (which sounds like an excuse anyone accused of anything gives when they're caught).

<comment><USER11> Apple would also be aware that various sets of contact data are attached to those accounts, but ignored them. The linking is furthermore also only done on their side via metadata, and not communicated to, or done by, the developer.

<comment><USER14> Of course the linking isn't communicated to the developer. It wouldn't be an effective anti-fraud mechanism if it was.

<comment><USER11> I'm not saying they should. I was just enumerating some ways in which notice could've reached him, but didn't, in response to the GP post trying to claim he was notified.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> Eh? It's very vague in the blog post, but it sounds like the developer paid for an Apple account and the device which were used to create fraudulent reviews. That last looks quite bad and makes Apple's position more understandable. Why isn't the developer explaining what happened with the dev account that they opened and funded? You can't just say "I haven't done anything wrong" under those circumstances without explaining who controls the offending account and why they might be manipulating App Store reviews.

<comment><USER19> Did we read the same article? He used his credit card to pay for a friend's developer account and gave her one of his old devices to test on. Though he didn't mention it (sticking to facts) it looks like he was teaching someone how to make an iOS app and provided a bit of charity.

<comment><USER20> ...and mysteriously, this friend spontaneously began posting fraudulent reviews relating to this guy's app?

Sounds like bullshit to me.

<comment><USER11> They didn't relate to Kapeli's app at all, other than that the account on which they were made was created by his credit card and on an old machine he gave away.

</comment></comment></comment></comment><comment><USER21> The flip side of this story is ...

How would you feel if someone swiped a copy of your cc, started an apple developer account, did a bunch of review freud and then got you kicked out of the app store.

I think there are some serious issues around due process with account termination. If something like this was sent originally this would be a non issue.

> We detected freud from account X that is linked using your credit card > number to account Y. ... bla bla bla freud is bad ... respond within N hours > or have your account terminated.

<comment><USER14> Your hypothetical doesn't match reality. The accounts were linked through more than just the CC, and the CC wasn't stolen anyway (presumably Kapeli didn't change the CC on his account, and the charge for the new account was never contested). And there's probably more than just the CC and test devices anyway, Apple probably used things like detecting that a computer used with one account was used to create the other, or the creator of the second account was currently logged in using the apple ID of the first, or something like that (but they probably don't go into detail about this because they don't want to tell fraudsters how to avoid detection).

</comment></comment><comment><USER22> Lessons:

      - Apple considers Developer Program memberships "linked to the same entity" if they are paid for by the same credit card.
      - If one of these accounts violates rules, all accounts of this entity are being closed.
      - As always, it's difficult to get any useful information from Apple.
      - Apple will listen and try to find a reasonable solution – at least if the public backlash is big enough.

In my opinion, Apple should communicate this more clearly and, upon closing an account, provide all relevant information to the membership holders as well as providing a means of appeal. Mistakes do happen.

I welcome Apple's crackdown on fradulent activity. However, as an iOS developer, stories like these are the reason why I don't want to bet my livelihood on distributing apps through the App Store. While the risk of having my app rejected or account closed for no particular reason is small, it's still there. Are developer's voices being heard, even if they don't have a blog and a twitter account? My experience with Apple's Bug Reporter says no.

<comment><USER11> Not only credit cards. Hardware can link accounts too, so be very careful whom you gift or sell your old computers to.

</comment></comment><comment><USER23> This is the first I've ever heard of the concept of "linked" Apple developer accounts. I suspect most people won't come across this particular issue but it's just another fun app store concept.

<comment><USER24> It's particularly interesting to see that they are cross-checking registered test device UDIDs across developer accounts.

Suddenly UDIDs need to be kept confidential, or a fraudster might add a high profile developer's UDID to their own developer account and then drive it into the ground.

Doing iOS consultancy work for other people's dev accounts could also be more risky than expected now if you use your personal test devices there.

Remember also that there are probably thousands of third party databases out there linking millions of UDIDs with real world identities, as it is only in the last few iOS versions that the device uniqueIdentifier API started returning blanks. Earlier, many apps and adtracking libraries almost certainly would include the UDID in server calls during login etc.

<comment><USER14> > _Doing iOS consultancy work for other people 's dev accounts could also be > more risky than expected now if you use your personal test devices there._

I don't think so. The fact that you have your device registered on two different accounts is unlikely to be sufficient to link the two accounts. It's merely one of the ways in which the accounts were linked. Using the same CC and/or bank details is another. And there's probably other links too that Apple didn't disclose (because they're only effective at combating fraud if fraudsters don't know about them).

<comment><USER24> I do agree with your points here. Still gives me some pause with how I treat my UDIDs going forward.

</comment></comment></comment></comment><comment><USER13> I wonder how many other developers have unknown "linked" accounts with a former coworker or business partner.

</comment><comment><USER25> sounds like the developer got screwed by his relative, not by Apple

<comment><USER26> I doubt a relative would post literally thousands of fake reviews over the course of many months without the dev's knowledge

<comment><USER11> Read the post again. Kapeli paid for the dev fee for an account he did not make or control, and gave the person controlling that account hardware he had bought. Apple proceeded to pull a facebook and marked the two accounts as linked and treated them as being the same person. Then the person controlling said account started doing shady stuff, followed by Apple dinging them, but failing to actually follow up with Kapeli's account to see whether that one is actually and in reality controlled by the same person.

The relative was acting only on their own and likely not even aware that what they were doing could hurt Kapeli, and vice versa.

And Apple knee-jerked without questioning their assumptions.

<comment><USER14> > _but failing to actually follow up with Kapeli 's account to see whether > that one is actually and in reality controlled by the same person_

That doesn't make sense. We're talking about anti-fraud measures here. If they contacted the other account and said "hey are you the same person as this first account?" a fraudster would _always say no_ even if the same person controls both accounts!

<comment><USER11> There are various ways to verify. Photo id, state id, holders of other associated credit cards (particularly where the cash for the app payments go to). I'm not saying they should ask nicely, but do due diligence.

</comment></comment></comment></comment></comment><comment><USER27> Apple is right here and their decision makes sense. Honestly he's lucky they are even letting him rejoin the program.

</comment><comment><USER28> Apple and Google and the Walled Gardens they've constructed seriously need some regulation and need to be considered "common carriers" which provide a service to the general public without discrimination.

Telephone companies are one such an example.

If you paid the bill of your friends phone one month, and later the phone company got into a dispute with them and cut off the phone that you do business on out of your home office -- and then refused to reinstate your phone line unless you publicly apologized to them, I suspect the FCC would not approve of their actions.

Apple has way more power in this situation and is much more of a monopoly over many software developers lives, but is operating by rules that it makes up itself.

</comment><comment><USER29> Wow!!! story changed after listened the call. I don't think Apple did anything wrong in this.

</comment><comment><USER30> So, Apple wanted to secretly pay the developer (via removing a penalty they had imposed) to produce PR material regarding the trustworthiness of their actions in the Developer Program.

That's pretty much the same thing they claimed was the basis of the account suspension, if you think about it. Guess it's a "good for me, but not for thee" kind of thing.

<comment><USER31> Generally, if you have to turn the situation inside out like a sock to make a point, it's not going to seem very convincing.

</comment></comment><comment><USER32> Always record your calls if the other side is.

<comment><USER33> The audio didn't start from the beginning so it is hard to say if they notified that they were recording, but in California, all parties must consent if one wants to record a phone call.

[https://en.m.wikipedia.org/wiki/Telephone_recording_laws#Uni...](https://en.m.wikipedia.org/wiki/Telephone_recording_laws#United_States)

<comment><USER34> Since the dev behind Dash is based in Romania[1], is this law still applicable?

[1] [https://blog.kapeli.com/about](https://blog.kapeli.com/about)

<comment><USER35> Only if you can get a Romanian judge to extradite him to California.

</comment></comment></comment></comment><comment><USER36> How to get an app banned from the app store:

Spend $5000 at Fiverr or similar on bogus reviews.

.. There are no more steps.

This also works with SEO. You can spend under $100 at Fiverr for thousands of backlinks, get your website flagged by Google and the website needs to manually remove those backlinks in their console (which takes days, if not weeks to track down the flagged links).

Rinse and repeat on your competitor once a month to ruin their online presence.

</comment><comment><USER37> Sometimes, I miss Steve Jobs.

(In case my oblique comment isn't clear enough: Time for someone with real authority to cut through the crap on Apple's end.)

</comment><comment><USER38> Oh so he GAVE is old hardware and GAVE his credit card to this relative. How conveniently coincidental.

I think Apple did fine here, actually.

</comment><comment><USER39> Is it legal in the US to record a phone conversation without both parties being aware they are recorded?

<comment><USER40> He's not in the US

</comment></comment><comment><USER41> This is dumb. He's risking a significant amount of his livelyhood for a company that doesn't really care all that much about him and he's calling them out in public.

Dumb move. Most people will forget about this in a week and his business will be affected for months (in the shortest possible time frame) and probably permanently.

This is a dangerous bluff to make.

<comment><USER7> Probably not.

Dash is mostly a desktop app and he can keep on selling it outside the MAS.

</comment></comment><comment><USER42> Easy. Apple acted prematurely on a Kapeli mistake he doesn't admit.

</comment><comment><USER43> After listening to the call recording, I can't see how Apple was being all that unreasonable with the guy.

I suspect that his recording and posting audio of that call is going to blow up in his face. Especially if he broke any laws by doing it.

<comment><USER20> Undisclosed call recording is a really bad idea.

<comment><USER44> Depends on the state. Most states are "one party" where only one party (i.e. a person making or receiving a call has to know about it).

[http://www.dmlp.org/legal-guide/recording-phone-calls-and- co...](http://www.dmlp.org/legal-guide/recording-phone-calls-and- conversations)

Federal law is "one party" as well.

<comment><USER7> The US law doesn't apply here... he is in Bulgaria I think?

Edit: Romania.

</comment></comment></comment></comment><comment><USER43> _" What I've done: 3-4 years ago I helped a relative get started by paying for her Apple's Developer Program Membership using my credit card. I also handed her test hardware that I no longer needed. From then on those accounts were linked in the eyes of Apple. Once that account was involved with review manipulation, my account was closed."_

Sounds a little fishy to me. I'm not saying that he was aware of or involved in review manipulation that was coming from his "relative's" Apple Developer account that he happened to pay for.

But I wouldn't bet money that he wasn't.

And the fact that he feels the need to mention giving said relative "test hardware that I no longer needed" suggests that said hardware might have been involved in the alleged review fraud.

I don't think this will end well for this guy.

<comment><USER45> Also, aren't credit cards valid for 4 years? Either he had completely new card at the time or it's a bit fishy.

</comment></comment><comment><USER46> His summary doesn't at all reflect what was in the phone call that he posted. He says that Apple insisted he admit wrongdoing, but the representative from Apple was very clear about the three points he wanted expressed (his account was "linked to an account with fraudulent activity", he's working with Apple to unlink the accounts, and that he's working with Apple to get back into the program). He even specifically says that he won't admit any wrongdoing, and the Apple representative didn't take issue with that.

<comment><USER13> There are multiple communications and phone calls in play. It was a previous phone call on Friday that required admitting wrongdoing.

> on FRIDAY they told me they'd reactivate my account if I'd make a blog post > admitting some wrongdoing. I told them I can't do that, because I did > nothing wrong.

> On SATURDAY they told me that they are fine with me writing the truth about > what happened. [this is the call that was recorded]</comment></comment>


Small Lab Makes Big Breakthrough in Nuclear Fusion Tech - <AUTHOR> https://oilprice.com/Alternative-Energy/Nuclear-Power/Small-Lab-Makes-Big-Breakthrough-In-Nuclear-Fusion-Tech.html <comment><USER2> Misleading headline. No recent breakthrough has been mentioned in this article, except one made in 2016.

</comment><comment><USER3> I guess it's good that they reached higher temps? It does not seem like this is quite the breakthrough that will make fusion possible.

Will fusion be achieved iteratively? Or will it need key new insights we have not yet discovered?

<comment><USER4> MIT Sparc/Commonwealth Fusion Systems seem to have a chance at breakeven in a shorter time that the government and international labs. The problem is that now that fusion is commercial research we won't get updates until somebody wants to brag or a public lab make a breakthrough.

</comment></comment><comment><USER5> Misleading title: Not a breakthrough. Nuclear power plants are just as far away as always. (indefinite)

<comment><USER6> We have a pretty solid roadmap to fusion power plants. ITER and DEMO don't have tremendous risks attached to them. But funding has been insufficient for fast progress. Funding is also insufficient for fast parallel exploration of non-tokamak designs.

The real question is whether fusion will ever be economically competitive with renewables+storage.

<comment><USER7> > The real question is whether fusion will ever be economically competitive > with renewables+storage.

Could you elaborate on what storage you have in mind? The only effective way we have to store large amounts of electricity right now is [pumped-storage hydroelectricity]([https://en.wikipedia.org/wiki/Pumped- storage_hydroelectricit...](https://en.wikipedia.org/wiki/Pumped- storage_hydroelectricity)), which is interesting but also very sensitive to the geography.

<comment><USER8> There are some technologies that might be improved to achieve the required efficiency (eg power-to-gas[1] or cryogenic storage).

[1] [https://www.kit.edu/kit/english/pi_2018_009_power-to-gas- wit...](https://www.kit.edu/kit/english/pi_2018_009_power-to-gas-with-high- efficiency.php)

</comment></comment></comment></comment><comment><USER9> I recently found out atomic nuclei can be bosons. Astonishing but apparently true: [https://physics.stackexchange.com/questions/158070/helium- nu...](https://physics.stackexchange.com/questions/158070/helium-nucleus-as- boson)

I wonder if this could be used to lower the temperature needed for fusion?

</comment><comment><USER10> Ugh. LPP is not credible, this 'journalist' did not do his homework.

<comment><USER11> can you elaborate or attach some source why LPP is not credible?

<comment><USER12> I did not know about this device so I did a quick research: it's essentially an optimised version of early plasma devices that use instabilities to create a very compact, dense structure that can reach really high ion temperatures. The main problem I see is that this structure is very short-lived: on the order of 10 nanoseconds.

These devices existed for a long time and have been used as X rays or neutron sources but not for fusion power. LPP have explained the exact machanism at the basis of the DPF fusion and have optimised the radiation losses and electron heating to reach higher temperatures but from this to claiming viable fusion power is quite a stretch.

</comment></comment></comment><comment><USER13> Not just misleading, badly written. This is like what you get when you pit something through Google translate twice just to see what happens...</comment>


Ask HN: Href="#" VS href="JavaScript:;" - <AUTHOR> Sorry for my silly question, can you tell me if there's a difference between href="#!" and href="javascript:;"
and which one it's better to use on the links with JavaScript attached to them (nothing else, JS only).
I know it's not the correct use, it should be a "button", but I really need to use <a>.
Thank you. <comment><USER2> Neither, put a real URL in there so people can a) use your site without JS and b) open links in new tabs. Use e.preventDefault().

If you can't put a URL in it, use a different element. Why can't you use <button>? It's definitely the correct element for something that takes an action. In a pinch, fall back on ?

<comment><AUTHOR> Thank you for your help, Sir.

</comment></comment><comment><USER3> There is no "correct" way to do anything in web, I would say its generally best practice or personal preference. I tend to use # and target the tag with a data attribute and use e.preventDefault(). #! from what I've seen is used for handling client-side routing. Any tag can be used as a button in javascript, as long as you target it correctly.

<comment><AUTHOR> Thank you, Sir! And please, save the Future.</comment></comment>


Survey Reveals Why High School Students Drop Out - <AUTHOR> http://www.gatesfoundation.org/learning/Pages/2006-High-school-drop-out-rate-survey.aspx <comment><USER2> I think education needs to have an objective. We need to say, when you leave highschool, you will be able to make money. You will have a marketable skill that will enable you to provide for yourself. You should be able to fix a car, do some plumbing, wire a house, or SOMETHING. Instead we're robotic zombies memorizing a series of worthless facts. Facts are not valuable. You cannot eat facts for dinner. Information is not the same commodity it was 50 years ago.

This idea that we can mass manufacture intelligent students by cramming them in a class room, reciting curriculum, and bubbling scantrons is nonsense. Real education can't be institutionalized like this, it requires hands on learning and personalized instruction. With tablet computers, a students curriculum should dynamically adapt to the students learning needs. I feel like our education is watered down because there's no competition to teach students. The State has a monopoly on education and we're suffering the unfortunate side effects of a centrally planned industry.

<comment><USER3> Interesting point about information not being the same commodity is was 50 years ago. It actually seems like information is an even more valuable commodity than it was back then. We seem to be turning into an information based economy where the low level skills that people might learn in high school are quickly becoming irrelevant in today's highly automated, computerized society.

<comment><USER4> There's a difference between knowing a list of facts, and being able to apply it.

Information nowadays is cheap. A quick search can reveal almost any fact you want. Analyzing a problem given the information available, processing it, creating stuff based on that information: that's the stuff that still can't be automated yet.

That said, I think high school curriculum in general is fine. It's the universities that need an overhaul.

</comment></comment></comment><comment><USER5> Found a few aspects of this article frustrating.

First, the linked "study" isn't a study at all, it's a summary written for public consumption.

Second, we get no information about how the figures were derived- were these people presented with a multiple choice survey? What choices were available on that survey?

Third, the whole study is built on people's self-reported analysis of their own motivations. While valuable, I know that kind of data isn't fully reliable.

</comment><comment><USER6> I dropped out for several reasons, one being an unstable childhood, but I don't look back on it. I am successful and generally consider myself to be a well-rounded, critical-thinking individual. None of which school had anything to do with. You can cross parenting off of that list as well.

I would like to see different approaches to education. I tend to see worth in our current system from kindergarten until about grade 5, then it seems to go awry.

From grade 5, forward, I would like to see a "Pull" system implemented, whereby the students pull topics from a full-circle repository of topics, interests, dialects.

Give students the tools to find what they will be good at and give them the space to learn the material they are interested in. Give guidance over teaching.

Having been diagnosed with "A.D.D", I found the curriculum was designed for one type of person and was absolutely inefficient for a relatively large sized minority of students. Yes, the Farmer vs. Hunter argument treads heavily here, but that's the point.

Most students are great with tasking, others have proficiency of hyperfocus. As a society, we should acknowledge that our current vocational system is hurtful more than helpful.

In a system where I could "Pull" interests, I would have faired much better. I know this because this is how I learn new languages, or better implementations of the technology I use today.

As many HNer's know, exposure to data and insightful debate opens up new topics or technologies that you would otherwise be unaware of. Why wouldn't this concept apply to education as well?

</comment><comment><USER7> One of the major problems in the U.S. is the one-size-fits-all mentality. Thousands of kids are sent to enormous mega-schools and are expected to be stamped through a unified educational process like a piece of mass production. The result is that the public school system becomes more like a holding pen than an educational opportunity.

While the U.S. _does_ do a pretty good job of identifying gifted students and herding them off to more specialized education, it does a very poor job of identifying students for more vocational training.

In many systems, students are segregated early...perhaps middle school...and receive very different educations depending on their chances of going to college and getting a degree or vocational school and learning a trade.

(of course I say this now with a handful of degrees under my belt when I would have been an obvious High Schooler for the vocational education...so it's not a perfect idea by any stretch)

<comment><USER8> This. And what goes along with it: Not pushing everyone to the same end.

For example, learning math has many valuable aspects. However, learning advanced math is not valuable for everyone. In fact, it becomes detrimental to the student who struggles with it.

Rather than find the subjects that are interesting and worthwhile, students are in situations where they perform poorly and will never benefit from it.

The school system (from the state on down) thinks that requiring more is the solution but they should focus on doing less and doing it very well. Rather than adding more advanced classes to students who already are not benefiting from them, a solid basic foundation should be given and then move the kids into trades and vocations that suit their interests and abilities.

<comment><USER9> I remember I'd always question my high school math teachers "why do I need this? What will I use this for in real life?". They never had great answers (although in my old age I can now think of good reasons), but providing real life useful context around what is taught I think would help a lot of kids understand the importance.

<comment><USER10> I always give an answer given to me by a used car salesman. Those who don't understand math can and will get rooked for $$$$ by those who sell them financing.

<comment><USER11> True, but that is more along the lines of quantitative thinking. All the specific math actually useful to most people (compound interes, depreciation, etc) could be taught in a one semester course.

<comment><USER12> Yes, the discussions on math regarding high school always seem strange to me. There is a lot of talk about the relevance of calculus and trigonometry (which I personally think are relevant and should be understood, trigonometry is required for woodworking and crafts for example), but the reality is that regardless of whatever classes they have supposedly passed the typical high school graduate has just basic arithmetic skills and many have a competency level below that, requiring a calculator in order to make change from a dollar. They have third grade level skills and nothing more. But the reality is that basic arithmetic skills are taught well and rapidly throughout the rest of the industrialized world. There are various reasons for it and the parents are not to blame, nor are "higher standards" and homework the answer. For kids that are 17 and can't reduce a fraction the answer is not to require them to take calculus next. Alas, by the time one is 14 it is too late to be learning the basics. There is no excuse to be spending so many hours in school and have students that are passed on year after year without knowing basic math and reading skills, and the usual big talk from politicians about high standards won't fix what is wrong.

</comment></comment></comment></comment></comment></comment><comment><USER13> I felt I had to drop out of my high school because of the one-size-fits all mentality. Outside of a couple of teachers who tried to attempted to challenge me, the rest of the administration felt fine with placing me in classes that were incredibly boring for me.

And no one was willing to help me figure out how to graduate early.

So I dropped out at 15, got a GED, and enrolled in college a year later. All with no guidance from any adult (including my mom - who for obscure religious reasons was anti-higher education.)

At 19 I had to drop of college to help support my mom who was sick and never did get my degree. Since then, I've been successful (shipped some major products, published books, etc).

But, it many years to see the current educational system as anything but corrupt and useless for many years after this experience.

</comment><comment><USER14> I "dropped out" around 7th grade. I remember asking the teacher "why are we learning X?" "Well, in 8th grade you'll need it!" This Q&A recursed until I realised it was pointless to talk to her. In 10th grade, I moved out of the country and didn't enroll anymore.

Business-wise, this worked out great; more commercial experience programming, earlier.

A decade later, I discovered learning is _fun_. Learning how the universe works should be amazingly interesting! Instead, I had teachers that would say things like "carbon-14 dating is a trick by scientists that hate god". Sigh.

<comment><USER15> What's an example of X?

<comment><USER16> This is going to sound unpopular given the audience here, but I'd bet most examples of "X" in this context will be corners of math. Math tends to be more cumulative than most other subjects taught in high school, and as such it's the subject that jumps to mind when the answer "next year" makes sense when someone asks "when am I going to use X?" Trigonometry, for example, or matrix math are highly esoteric in the context of a usual high-school student, yet they show up all over the damned place when you get out of high school and into more advanced studies. This is a real shame because math is essentially a vocabulary for solving problems and there should be dozens of answers a teacher could give to that ? besides "next year."

</comment></comment></comment><comment><USER17> As a drop out, I personally found the reasons hit pretty close to home.

However, I think the assumption that all drop outs never do anything education wise again is misleading. I ended up getting my GED, going to college and then got my graduate degree.

Dropping out of high school does not equate a bad future. In fact, I believe if I hadnt had a few extra years to figure out what exactly I wanted out of life, I would have failed spectacularly in college.

</comment><comment><USER18> It's interesting to see the reasoning and the regret (most people wish they had finished). However, I wonder what sort of bias is introduced looking backward. Are these the real underlying reasons for dropping out or just surface excuses retrospectively used?

</comment><comment><USER19> I dropped out of high school partially because my bouts of depressive laziness contrasted with manic hyperactivity aren't well-stacked against the constant intense effort that the educational system requires. You could literally see quarters of steady grades (sometimes 4.0s) followed by quarters with a bunch of Fs in them.

I was taking community college classes instead of 11/12th grade so it wasn't a big "OH I'M DROPPING OUT" thing for me, I just didn't turn in some portfolio because I was working on a different project and honestly didn't give a shit about some piece of paper. Perhaps some part of me just wanted to fuck with the system and prove how useless the pieces of paper are when compared with the ability to create cool shit.

Yes, I would say the my inner rebellious nature wouldn't allow me to have any formal education. I am one lab class away from an associate's degree and taking anything but lab classes in community college :)

I am only 19 so I really do not know whether I am on a path to drug-addled self-destruction (as a typical high school dropout) or something else.

</comment><comment><USER12> I don't know why Gates is advocating for fewer drop outs. Drop outs are one of the few things that is working for kids.

Schools segregate on age now not ability.

For smart kids, school is frustrating and holds them back. It is better for them to leave school at 15 and transfer to a community college where they can take control of their education.

For not-smart kids, vocational education from 15-17 leading to apprenticeships gives them something of interest and useful to them.

For average kids, the system might work if the other two groups who are frustrated were channelled towards more useful pursuits than sitting bored, and sometimes forced to take amphetamines like Ritalin just to have the appearance of being focused.

<comment><USER20> Where is this sentiment favoring dropping out of our education system coming from? HN and related community has had several discussions about dropping out of college (and now high school). Peter Thiel offered to pay college students to drop out.

Despite our (likely inferior to other countries) educational system, high school and college graduation directly benefits children. By graduating high school, a student will have a minimum level of knowledge (basic literacy, arithmetic) applicable in society. A higher national high school graduation % is better than a lower %.

Advocating students to drop out of high school for community college or trade school is not scalable. Today, ambitious students take AP/Honors/Community College or learn trade crafts after school hours. Blanket favoring kids dropping out of high school is irresponsible as it hurts their future.

<comment><USER21> I'm currently a high school student taking five AP classes, and I can tell you that most of my AP classes just teach what people need to know on the AP test. I'd much rather take an Honors class than an AP class, but at my school Honors classes aren't offered when APs are. I learned most of what I know now before I even went to high school - I'm a victim of this educational system stratifying by age, and I can tell you that it didn't work for me.

The other thing that I see is that most of the people in my AP classes are diagnosed with ADHD and are put on Ritalin... to keep them paying attention in some lackluster classes. Ken Robinson's first TED talk says it a lot better than I can, but I do favor vocational tech and stratifying by ability, although I can see that that will open a whole new can of worms, such as parents pushing for their children to be top-tier.

<comment><USER22> Why don't you just study for the AP exams yourself? I self-studied for 4 AP exams (along with other course work) in the last year of high school, and I did pretty well. The AP exams are actually a joke due to the number of unqualified students who take them and the bell-curve system.

<comment><USER21> I took the AP computer science exam without any prep and got a 5. The issue is that classes aren't offered at the Honors level if there's an AP class that could replace it, and for the classes I'm taking (AP Stats, Psych, Physics, Calc, English, and accelerated Anatomy) it's not worth it to take the accelerated version (Anatomy isn't offered above accelerated, and ironically enough is my favorite class; there's actually more physiology than anatomy, and the memorization isn't that bad).

</comment></comment></comment></comment></comment><comment><USER23> Just check these interviews about Education from this page:

<http://www.thebyteshow.com/JosephPFarrell.html>

To be precise:

[http://www.thebyteshow.com/Audio/JosephPFarrell/JosephPFarre...](http://www.thebyteshow.com/Audio/JosephPFarrell/JosephPFarrell_MagicOfSocialEngineering7_29Jan2011_TBS.mp3)

[http://www.thebyteshow.com/Audio/JosephPFarrell/JosephPFarre...](http://www.thebyteshow.com/Audio/JosephPFarrell/JosephPFarrell_MagicOfSocialEngineering9_16Feb2011_TBS.mp3)

I think what's described in those interviews is very telling..

</comment><comment><USER24> I left school in year nine (Australia) for two reasons

Primary) I never learned a single thing in school that I had not already learned from self study. I am a hardcore autodidact so I don't take this alone as evidence that school is just not useful, but it certainly doesn't seem to be _that_ rare, either.

Tertiary) I was offered a job working with computers for what was an extremely large amount for a fourteen year old in 1994 (50k AUD).

The worst aspect of this however is that for a significant period of time after I had dismissed school as not useful, my only experience of school had been compulsory education, which I now know to be _enormously_ removed from the kind of education one gets at a university. I feel like my very negative experience of education at an early age poisoned me against higher education, and if I had a single recommendation for pre university schooling it would be that it _should_ be a lot more like university.

</comment><comment><USER25> On the subject of relevance and motivation, the one and only thing that encouraged me to do any actual work in school was when my father offered to pay me a bonus for B's and A's.. In retrospect, it's amazing how relevant everything suddenly became.

They say it's bad, but it worked well for me.

Also: the reason that High School teachers can't tell you why you need to learn _x_ is that they don't know themselves. Having come into contact with a few teachers as an adult, I'm appalled at how little they know. They seemed a lot smarter when I was 14.

<comment><USER26> I don't know about point 1. My parents paid me for good grades, and my attitude towards learning is a little warped now, to say the least. (They were also Tiger Parents, though. Motivation is a tricky thing to get right.)

For point 2, definitely. I asked my math teacher once what a rigorous definition for a tangent was, and she couldn't give me one. Blah. All these unhappy postdocs and grad students should teach high school.</comment></comment>


Legit: Git Commands as an Esoteric Programming Language - <AUTHOR> https://morr.cc/legit/ <comment><USER2> Unfortunately there's already a Git-related Project called Legit: [http://www.git-legit.org/](http://www.git-legit.org/)

</comment><comment><USER3> I think the logo is a work of genius

</comment><comment><USER4> Now I'm having a hard time not reading Git with a soft G like Gif[0]

0: [https://www.dictionary.com/browse/gif](https://www.dictionary.com/browse/gif)

<comment><USER5> Gif should be pronounced "jif" regardless of what the creator claims.

</comment></comment><comment> smith-kyle _Commit messages can contain a series of instructions, seperated with spaces, which are executed one by one. Only the first line is considered, so lines after that can be used for comments._

Oh good.

</comment><comment><USER6> The mentioned git-in-git problem always annoyed me, at least it should be possible to store .git/ subtrees anywhere else but on the toplevel (it very likely is already supported in the data model). Then git can scream at me for not using submodules, and I can then silence that warning because I _obviously_ know what I am doing!

legit might be an esoteric use case for that, but storing raw testdata for git hooks (not a zip or the commands to create the repo) are actual usecases.

<comment><USER7> For now I guess you could use a different dvcs like mercurial

<comment><USER8> Or you could serialize the original git tree into another format and commit that. Then have a build step that deserializes it back into a git tree. And if you make a change to your legit program then you serialize the new tree and make a new commit with that. I think git format-patch would be "appropriate" for this. git format-patch will generate a patch-file per commit. It might not be very pleasant and I wouldn't suggest doing it this way for most cases, but I think in the context of "legit" it would be the most obvious way and it would be in line with the spirit of "legit" itself.

And in fact if Mercurial Queues are what you were referring to then I seem to recall that it works somewhat in the same way that I described above, doesn't it? At least in terms of being about working with diffs of diffs I mean.

</comment></comment></comment><comment><USER9> Using the graph to connect "variables" is clever. Lisp is to lists as TCL is to strings as this is to a graph.

</comment><comment><USER10> I'm not sure this was very clever. It basically just says "I made a weird programming language with a tree data structure". But that's any AST, and not special to use git. So not especially interesting here.

Or maybe I misunderstood this completely.

<comment><USER11> Yeah, putting programs in commit messages isn't too impressive.

I expected something like 'git commands turn out to be Turing-complete.'

<comment><USER12> There are Git commands that you can massage into calling an arbitrary shell program you specify: I had a fun little challenge once where I constructed a "jail" that let you pass arbitrary arguments to git.

</comment></comment></comment><comment><USER13> Le Git should be git's official newsletter.

<comment><USER14> Or the bon-mot for The Obfuscated git Contest...</comment></comment>


FizzBuzz - <AUTHOR> http://blog.hjm.im/fizzbuzz/#.Um7TPnqV4EM.hackernews <comment><USER2> Code golf requires its own skills which are not particularly well correlated with being an effective programmer.</comment>


Browser Plug-in Adoption Percentage? (2nd try) - <AUTHOR>

A friend of mine asked me whether I knew of any stats detailing the average percentage of users that will download a plug-in to view website content. I couldn't find anything, so I thought I would ask HN. Is there any study, or evidence out there that details these percentages? For instance, when faced with the prospect of downloading a plug-in such as Adobe ConnectPro to view website content, how many visitors on average would download it, and how many would pass? <comment><USER2> You can't get a sensible one-size-fits-all number. It depends on both the content and the plugin. When NBC requires people to download Microsoft Silverlight to watch the Olympics, they can probably get a very high conversion rate. If you're the IRS or a major employer and you want people to download an Adobe plugin in order to view tax info, then most will probably do it. If you're a company I've never heard of asking me to download a plugin I've never heard of, then I'm going to do it only if you really convince me that I absolutely _need_ to try your service.</comment>


Show HN: DNS Spy – Monitor, validate and verify your DNS configurations - <AUTHOR> https://dnsspy.io/ <comment><USER2> Not sure why this isn't more popular. People set their DNS and blindly trust their registrar (with possible gag orders) that it won't be changed.

Great job!

Edit: that just sparked me to wonder if a remote kill switch on a dns change would be a helpful service for your site. Not sure how that would be implemented though.

<comment><AUTHOR> Thanks, much appreciated! I've built numerous HA setups where clients think of _every_ aspect of their redundancy, except for DNS & TLS.

For the DNS aspect, I'm trying to raise awareness through DNS Spy.

For the TLS part, I hope someone else can pick that up and promote multiple CA's somehow, so domain owners have a back-up cert in case a wrong (intermediate) certificate ever gets revoked.</comment></comment>


Rampant Apache website attack hits visitors with highly malicious software - <AUTHOR> http://arstechnica.com/security/2013/07/darkleech-infects-40k-apache-site-addresses/ <comment><USER2> In case this may save anyone some time, this aspect has not changed:

"As has been the case with previous investigations, researchers still don't know how the Darkleech module takes initial hold of the sites it infects. Speculation has surfaced that the servers are compromised by exploiting undocumented vulnerabilities in the CPanel or Plesk tools administrators used to remotely manage sites, but there's no hard evidence to back up that theory. Researchers also reckon sites may be taken over by cracking administrative passwords or by exploiting security flaws in Linux, Apache, or another piece of commonly used software."

<comment><USER3> To install a module that easily, there's got to be some commonality on the level of a CPanel which dynamically builds config files... I can't see how a standard Apache install with proper permissions on directories would allow such a thing (save a root compromise, of course).</comment></comment>


BMW wants to charge a subscription fee to enable heated steering wheel - <AUTHOR> https://edition.cnn.com/2020/07/03/business/bmw-options-software-subscription-features/index.html <comment><USER2> In Ubik by Philip K Dick, the door of his apartment won't open unless he pays it five cents each time. Life imitates art.

 _"The door refused to open. It said, "Five cents, please."_ _He searched his pockets. No more coins; nothing. "I'll pay you tomorrow," he told the door. Again he tried the knob. Again it remained locked tight. "What I pay you," he informed it, "is in the nature of a gratuity; I don't have to pay you."_ _"I think otherwise," the door said. "Look in the purchase contract you signed when you bought this conapt."_ _In his desk drawer he found the contract; since signing it he had found it necessary to refer to the document many times. Sure enough; payment to his door for opening and shutting constituted a mandatory fee. Not a tip._ _"You discover I'm right," the door said. It sounded smug._ _From the drawer beside the sink Joe Chip got a stainless steel knife; with it he began systematically to unscrew the bolt assembly of his apt's money-gulping door._ _"I'll sue you," the door said as the first screw fell out._ _Joe Chip said, "I've never been sued by a door. But I guess I can live through it."_

</comment><comment><USER3> This is interesting. It seems like everything is going subscription-based. It sort if makes sense in that software can be improved upon after sale and needs to be maintained, but on the other hand a single but fix can be sent to an arbitrarily large number of units, so with this model only the largest companies will be able to compete in features and price.

With so many purchases to consider, and less and less time during which to do it, I wonder when we'll get to the point that there are companies that sell an _entire_ "lifestyle". You make $30k/year? Here's our bronze subscription option. For $20,000/year we'll put you up in a spartanly furnished apartment and with a servicable car and you'll get your staple foods and toiletries delivered every other week. Whatever you have leftover after taxes is yours for saving or spending. Make $150k? The gold package costs $90k/year and includes a luxury apartment downtown, a Tesla and fresh vegetables shipped twice a week!

<comment><USER3> Oh and also from the article:

> In some markets, BMW owners may also be able to pay for "authentic" BMW > engine sounds that will come through the car stereo. In many BMW cars today, > the engine sound is augmented inside the cabin with pre-recorded sounds from > the stereo. These are tuned to match the engine speed and performance so > they sound like actual sounds coming directly from the engine. This is done > so that the cabin can be quiet during normal driving but occupants can still > experience engine sound when it's wanted, BMW executives have said.

I'm not going to go as far as to say we've stopped building useful things, but we really could be a post-scarcity society if we had our priorities right.

<comment><USER4> Maybe, but social pecking order will always be a scarce resource, so I think we're going to be on this track for a long time.

</comment></comment></comment><comment><USER5> We should be allowed to own our things again. Software locks that you are not allowed to bypass proves that most of the important items in our lives are not ours. The future might be a world where only multi billion dollar corporations own property

</comment><comment><USER6> Is there a product review site that includes a "you actually own it" component? This should include aspects like:

\- Can it be repaired by someone other than the manufacturer? \- Does it risk becoming a brick if their service shuts down? \- Does it require a continuing subscription? \- Can the manufacturer disable it without your sign-off?

I would consult such a resource, but I also think that if an influential product review site (e.g. wirecutter) were to specifically and consistently identify these aspects when making recommendations to buyers, eventually it might sway producers?

</comment><comment><USER7> Having an optional subscription to enable the heated steering wheel or adaptive cruise control is bold (and probably a bad idea) because people want what they buy to be 'a good value.'

Tesla has made me believe that software 'eating' cars is the future because, by letting software take over capability from hardware, it allows for software updates to improve earlier models of cars, making them a better value long- term. The marginal cost of improving a car with a software update is essentially nil for the manufacturer.

With that low cost per unit to deploy a software update that improves the car, BMW choosing to hold it hostage and demanding a subscription fee is a bad look, even if it's efficient for them. Having the steering wheel already in the car with the necessary hardware (where the unit cost is for BMW) exposes it as being a feature cheap enough that they can throw the necessary hardware into every model.

Even if it made less economic sense, it would appear more valuable if you were able to go to a BMW dealership and have the steering wheel swapped out for one with heating enabled.

<comment><USER8> Tesla Model 3 SR+ were originally sold without rear seat heating. Later it became possible to enable it for a fee, via the Tesla app. Few clicks and voilá, suddenly you have rear seat heating.

So every car already had the hardware, obviously because it would be more expensive for Tesla to produce two variants of seat elements.

<comment><USER9> This model has been around for a long time. I recall a job back in 1997 where I had to add code to permit a service person to enable a feature on a machine. All the machines shipped with the same hardware for the reason you said: manufacturing costs would be too high to make some with and some without.

I had never heard of this before so I asked if it wouldn't piss customers off to see that they were just paying for some guy to come in and enter a code and not to actually install anything physical. The answer was "it never has before." We'd been doing it for years by that point.

</comment></comment></comment><comment><USER10> This will get a lot of well-deserved criticism.

However, I think there's potential in this idea to overall benefit the consumer.

The cost of options sometimes includes the fact that the carmaker has to provide a separate SKU. Does a heated seat cost a lot in raw materials? No, not at all, but a carmaker might have to lose time on the assembly line changing the line to build a different variant. Or the dealer might lose a sale if they don't have the customer's desired trim level in stock

Not only that, differentiating optional features are revolving more and more around software (e.g. autopilot).

As long as this doesn't become confusing or excessively expensive for the customer, it could actually be a win-win.

Presumably, the base model could be cheaper, and the consumer could upgrade the car later. Or, the consumer could pay for subscription features when their job situation is good and cut them out down to basic transportation if it's not so good.

The consumer would also not be stuck with options that they decide later that they don't use often. Maybe they wouldn't be stuck with entire options packages that they have to go with just to get the one thing they want.

The devil is always in the details, so it could go either way, it just depends how fair the pricing ends up being.

If you don't think people will buy it, might I interest you in purchasing my new TV show for only $3 an episode? You'll own it forever!

</comment><comment><USER11> Hyundai charges a subscription fee for remote start built into their cars. First three years are free, paid subscription thereafter. You have to use their app to remote start. There's no button on the key fob.

<comment><USER12> I know my Kia fob doesn't have a remote start _button_ on it, but if I press lock then trunk, it activates remote start. Perhaps that's an option on Hyundai fobs? After all, Kia is owned by Hyundai.

<comment><USER11> Just tried but it didn't work. Thanks for the suggestion though.

</comment></comment></comment><comment><USER13> This could very well be the cheapest for the consumer. Considering BMW has the highest maintenance costs of all brands in the USA, having a subscription fee for certain features may very well be cheaper. That's assuming BMW doesn't charge for a broken feature.

[https://twocents.lifehacker.com/the-car-brands-with-the- high...](https://twocents.lifehacker.com/the-car-brands-with-the-highest- maintenance-costs-over-1781639773)

<comment><USER14> Does that mean they would cover all parts/labor expenses to replace a broken steering wheel heater?

</comment></comment><comment><USER15> While I dislike "subscription everywhere" model, I suspect this could work miracles for second hand market, allowing consumers to add options to their purchase. I wouldn't be surprised if these options are thrown in as "freebies" to the first owner and free for a couple of years and then turn into subscription.

<comment><USER4> It bothers me that they're intertwining a subscription model for something that shouldn't need a subscription (steering wheel heaters). If the car came with one, it should just be available.

Adding this layer of abstraction complicates things and puts an unnecessary burden on to the user to consider a complex pricing structure of what features they want for what duration of time.

Between healthcare, airlines, music, and now cars, it's becoming ridiculously complicated just to buy things. I don't like it when companies complicate their pricing models to eke out a few extra dollars from those consumers who haven't meticulously studied the pricing models to optimize their purchase; I have other things going on in my life.

<comment><USER16> I stopped buying. Rent a nice bmw 300/mo taxes and full insurance included. Peace of mind.

<comment><USER17> how?

</comment></comment></comment></comment><comment><USER18> Recent and related:

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

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

</comment><comment><USER19> I think this is a great idea but for whatever reason, hardware that is disabled until I pay pisses me off. I understand the logic behind it and it's probably a win for both the company and the consumers. But it's still distasteful to me. Anyone else feel that way?

<comment><USER20> It's not just you. It's not a win for the customer although people might tell you it is. Feels like dystopian sci-fi where people have to pay for everything and own nothing.

</comment></comment><comment><USER21> So you have to pay extra to go round corners?

<comment><USER5> You will have to sign the nda before they will tell you

<comment><USER22> You're actually going to have to sign an NDA about not releasing the draconian, ahem, I mean brave, err... forward thinking... terms of my actual NDA. You see, I don't want you reusing those ideas without due compensation. It just wouldn't be fair.

<comment><USER23> Err... See there's an issue with that. Did you not see the NDA^3 that you signed before signing you NDA NDA? It specifically states that you may not NDA your NDA.

Oh no... I D'd my own NDA.

</comment></comment></comment></comment><comment><USER24> This is the dumbest shit ever. Of course it'll work for them because so many of their cars are leased, so people won't want to bypass computer control with a relay or custom firmware.

But the idea of installing hardware, then charging a recurring fee to use it is just horrible. It's a sign of how capitalism is simply broken. It was one thing when IBM did it on their computers when there were a few hundred or perhaps a few thousand of them on the planet, but now we're intentionally using resources to make things that may never get used, with no consideration for the environmental impact?

So who's going to be running the "feature activation" servers for older models when they're no longer "supported" by BMW? Do we really think BMW will simply unlock the features on cars about to go out of "support", or do we think they'll lock everything off regardless of what people have paid?

</comment><comment><USER25> The inability to receive future (prepaid) self-driving software updates on a Tesla if I remove the GSM interface to prevent corporate tracking my driving movement 24/7 is the main reason I am likely never going to buy a new one.

This sort of rent-seeking is really terrible.

<comment><USER26> Is there something I'm missing here, or are you really complaining that your car can't download updates after you disabled its network interface?

<comment><USER25> Any modification to the car's surveillance systems means that the company will no longer service your vehicle.

If you prepay for an update, but modify the car to not track you, it is my understanding that, network or no, it will not receive any service (including updates) from Tesla.</comment></comment></comment>


An emulator for a single-instruction (NOR) CPU - <AUTHOR> The NOR Machine
The idea is to use just one function to compute everything. It suffices to do this for bits: bytes consist of bits, and if we can compute bits, we also can compute bytes, and everything made up of bytes. That is, everything.
There are sixteen boolean functions of two arguments. Two of them are special: NOR and NAND. The other fourteen functions can be computed using only either NOR or NAND. We'll use NOR.
NOR's truth table is as follows:

 	===== <comment>==
 	Input  Output
 	===== </comment><comment>==
 	 A B  A NOR B
 	----- </comment><comment>--
 	 0 0     1
 	 0 1     0
 	 1 0     0
 	 1 1     0
 	===== </comment><comment>==
 https://github.com/yuanxinyu/NOR-CPU </comment><comment><USER2> This might be of your interest [https://en.m.wikipedia.org/wiki/One_instruction_set_computer](https://en.m.wikipedia.org/wiki/One_instruction_set_computer)

<comment><USER3> Also: [https://github.com/xoreaxeaxeax/movfuscator](https://github.com/xoreaxeaxeax/movfuscator) (which makes x86 single-instruction)

<comment><USER4> How about computing with 0 instructions? (aka Intel MMU's fault handling is Turing complete): [https://github.com/jbangert/trapcc](https://github.com/jbangert/trapcc)

</comment></comment></comment><comment><USER5> One-instruction computers intrigue me because of the possibility of making the processor out of a ridiculously low number of transistors. To that effect, I've always wanted to implement one that _doesn 't_ require a hardware adder for the instruction pointer. It seems like it should be possible. For example, each clock cycle the CPU would take the NAND of the bit pointed to by the IP and the bit adjacent to it (via flipping the LSB of the IP) and use the result to determine a new value of the IP using very simple logic (E.g. IP = IP<<1 | NAND(mem[IP], mem[IP ^ 1]) ). But surprisingly, I've never seen this done and the last time I approached it I didn't have the knowledge needed to choose an appropriate scheme and prove its usability.

<comment><USER6> A few processors, such as the TI TMS1000 and the Sharp SM4, used a maximal- length LFSR for the program counter. This may be more practical than it sounds, if your memory subsystem doesn't penalize out-of-order accesses. You could write code normally, pretending that instructions are at contiguous addresses, and then scramble the object code into LFSR sequence at link time.

As another note, for low gate count processors, you may want to look into bit- serial techniques, as used in the PDP-8/S.

<comment><USER7> "used a maximal-length LFSR for the program counter."

I found Wikipedia entry on MLS-LFSR. How do those end up useful in program counters?

"you may want to look into bit-serial techniques"

You talking about the 1-bit ALU's like these?

[https://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Comb/oneb...](https://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Comb/onebitALU.html)

Making a comeback in another field:

[http://www.caesjournals.org/uploads/IJCAES- CSE-2012-132.pdf](http://www.caesjournals.org/uploads/IJCAES-CSE-2012-132.pdf)

<comment><USER6> You wouldn't normally use an LFSR as a program counter, because it's more convenient to have the instructions execute from address 1, 2, 3, 4, etc rather than (say) 79, 30, 61, 122, etc. But an LFSR has fewer gates than an adder, which is why it was used in those old 4-bit processors.

The last diagram in the page you linked shows three 1-bit ALUs chained together to make one 3-bit ALU. As I understand it, the PDP-8/S used a _single_ 1-bit ALU to sequentially calculate each bit in a 12-bit output word, taking 12 cycles to emulate a 12-bit ALU. For the 3-bit example, imagine there being a single ALU which acts first as the rightmost ALU in the diagram, and then once you have the carryout bit it acts as the middle ALU, and finally it acts as the leftmost ALU.

<comment><USER7> Appreciate the tip.

</comment></comment></comment></comment></comment><comment><USER8> > Two of them are special: NOR and NAND.

No, IMP does this as well. It has mostly been useful for memristor logic.

        A B   IMP
        0 0    1
        0 1    1
        1 0    0
        1 1    1

I have a suspicion there is a more general mathematical law that says any boolean rule with a 1-of-4 split (either exactly one true or exactly one false) can be used for general computation, if you can make a NOT gate out of it. (Since AND/OR obviously is not workable.) So there should be six possible universal logic gates.

<comment><USER9> IMP is really NOT( A AND NOT ( B ) )

A → B |- ~(A & ~B)

1) A → B [by assumption] 1

2) A & ~B [by assumption] 2

3) A [conj. elim. 2] 2

4) B [imp by 1,2] 1,2

5) ~B [conj. elim 2] 2

6) B & ~B [conj 4,5] 1,2

7) ~(A & ~B) [reductio ad absurdum 2,6] 1

{Thus by assuming only A → B we prove that we can derive ~(A & ~B).}

From there you can also trivially prove that ~(A & ~B) |- A → B; thus, they are tautologous and so given the primitives ~ and &, implication is not quite as "special" for a Universal Turing machine. This is merely to show, independent of any construction using only IMP, one can trivially reduce it to more primitive components, thus undermining any claim to a "special" status in the context of universal computation.

<comment><USER10> Rather than deducing it, you can also look at the truth table, see it is 0 exactly where B is not true and A is true, and get not(A and not B). Then, we can conclude there is a proof such as yours from the completeness theorem, I believe.

<comment><USER9> Yes, but it's more fun and edifying to prove it. :) It's so rare I get an opportunity to whip out propositional logic and formal proof methods that I hardly balk at the opportunity. ( _hears groans from non-nerds_ )

<comment><USER11> If you use DeMorgan's law on your result, you can simplify it further to ~A | B

</comment></comment></comment></comment></comment><comment><USER12> Not exactly the same thing, but the Apollo Guidance Computer is built entirely out of 3-input NOR gates:

[http://klabs.org/history/ech/agc_schematics/](http://klabs.org/history/ech/agc_schematics/)

</comment><comment><USER7> Neat CPU. That and adamnemecek's comment made me do a quick Google to see if there's interesting results in OISC that you all might enjoy. Found an improvement on SUBLEQ that's pretty impressive. Original first and newest below:

[http://hasith.vidanamadura.net/projects/subleq/](http://hasith.vidanamadura.net/projects/subleq/)

[https://arxiv.org/pdf/1106.2593v1.pdf](https://arxiv.org/pdf/1106.2593v1.pdf)

"Our test results demonstrate that computational power of our Subleq OISC multi-processor is comparable to that of CPU of a modern personal computer."

I didn't see that coming for OISC projects. Pleasant surprise. :)

</comment><comment><USER13> You might enjoy the Matrix Logic series of books by August Stern, which develop the idea of logic operations as vector multiplication. The NOR operator would be represented by a 2x2 matrix, [10|00], and an operation such as 1 NOR 0 would be the matrix multiplication [01]x[10|00]x[10]^T. (Scalar operand 1 is represented by [01], and 0 by [10], in both left and right hand forms.) It's simple but deep, when fully extended. Treated as linear algebra, logic is a lot more sensible. There are surprises, too. For instance, a statement like [01]x[01|11]x[01|11]x[10] makes perfect sense: 1 OR OR 0. So what is OR OR? Is it useful? This wouldn't be obvious from the usual way of computing OR as addition mod 2, and the messiness of carrying the extra digit in 1 OR 1. Determining the truth value of statements by direct computation, without reference to an external truth table, gives mathematical certainty to the outcome. Multiple statements can be compounded with tensors, giving operators that are 2^n in dimension. Complementarity plays a huge role in showing coherence of the matrix system of logic. There's much more, but that's the general idea. I was reminded of Matrix Logic, because Stern shows a computation done strictly with NAND, plus NOT, to illustrate how many operations must be done, where using different operators would have been much more efficient.

</comment><comment><USER14> Reminds me of a book and Coursera course called "From NAND to Tetris" by Noam Nissan and Shimon Shocken. You can learn how to build a computer from basic logic gates, the web site below provides a hardware simulator in JAVA and pre- made components.

[http://www.nand2tetris.org/](http://www.nand2tetris.org/)

[https://mitpress.mit.edu/books/elements-computing- systems](https://mitpress.mit.edu/books/elements-computing-systems)</comment>


VxWorks now with C++17 and Rust support, alongside Ada and SPARK - <AUTHOR> https://www.windriver.com/news/press/pr.html?ID=22444 <comment><USER2> Another thing that I'm really surprised about is the salary range for the C++ developers with RTOS experience. In case we compare this with frontend React developers, then difference will be more than 50% (React guys will be paid more). According to my understanding C++ development for projects that require RTOS is much more demanding in terms of skill and corresponding experience. I would also assume that there are much less developers with VxWorks experience: within my region I may find around 40 people with VxWorks in their CV on the job board against 1000 developers with React experience. I really hardly get the economics of the modern IT job market.

<comment><USER3> Aside from the already mentioned supply/demand aspect, people working on things like that tend to do so for an entire career, so might be willing to accept a lower salary in exchange for stability.

The React developer will have to retrain and rebrand themselves as Bojombo developers in 2 weeks and as Klazoum Framework ninjas in 2 years.

<comment><USER4> You got me. I just started learning React and your comment freaked me out. Oh, crap, I have to learn Bojombo now!?

</comment></comment></comment><comment><USER5> Details are a bit sparse, they likely support Rust only in RTP[0], not in Kernel. If someone has a more technical resource, I am interested.

This is an important milestone, because this is a significant actor in the embedded world, where suppliers are often rather conservative regarding language/toolchains they provide, that is putting some of its weight behind Rust.

[0] RTP are VxWorks Real Time Processes.

<comment><USER3> Considering it's mentioned alongside Python and Boost, it's most likely as a userland process too.

</comment></comment><comment><USER6> Do we have any hn members who develop voor vxworks? If so could you please describe how and what you do?

<comment><USER7> I am one of the OS developers for a military vehicle that utilizes vxWorks and Linux. It's honestly no different than other OS work out there. Documentation and help outside of WindRiver's official docs are more scarce, and open source support is smaller, but grasping how an RTOS works vs a GPOS isn't any major mental leap. If you can program in C and understand communication protocols like i2c, UART, SPI, CAN, etc. then it's not terrible.

Right now, we are looking at moving away from vxWorks and onto a Yocto-built Linux with the RT patches to the scheduler. From a requirements standpoint, the RT patches meet our needs for "real time" since our timings require more of a soft real time than a hard one. There's also way more support out there for Linux, and I am also slightly biased in that I am more of a Linux guy than a vxWorks guy simply due to familiarity and ease of troubleshooting.

This latest news with vxWorks is great, however. I actually sent this to management because we are attempting to figure out what direction to take as our current version is reaching EOL.

<comment><USER8> >Right now, we are looking at moving away from vxWorks and onto a Yocto-built Linux

This decision is probably out of your hands, but I'm happy to share a few words of caution. I've been the yocto distro maintainer at a large firm for about three years and I absolutely despise it. BMW released a slide deck about their experience with yocto, and it was mostly "it sucks." I read that recently and it matched my experience down to a t.

If you absolutely need third party commercial support, yocto is probably the only game in town, but if you don't, I would highly recommend looking at nix (which recently gained cross compile support) or buildroot.

I'm dead serious about avoiding yocto if at all possible, I've seen things I wish I could unsee. But that sounds about right for a military project.

EDIT: I put my email into my profile if you want to chat about yocto more in depth.

</comment></comment></comment><comment><USER9> There have been a lot of changes to Rust's libstd recently for vxworks [0]. Expect it to be a bit buggy until Rust 1.42 or so.

[0]: [https://github.com/rust- lang/rust/pulls?utf8=%E2%9C%93&q=is%...](https://github.com/rust- lang/rust/pulls?utf8=%E2%9C%93&q=is%3Apr+author%3Abaoshanpang)

</comment><comment><USER10> This is huge for folks developing with VxWorks. And for rust adoption in general.</comment>


Cutting the Cord - <AUTHOR> http://www.danielandrews.com/2015/09/07/cutting-the-cord/

<comment><USER2> I find it crazy that in 2015, we have to pay >50$ for only 300GB of data. In North America! We have the same issue here in Canada, and I'm flabbergasted by how "socialist" Europe is waaaaay cheaper in "free market" America in that regards!</comment>


When It Comes to Market Leadership, Be the Gorilla - <AUTHOR> http://firstround.com/article/When-it-Comes-to-Market-Leadership-Be-the-Gorilla

<comment><USER2> >Gorillas are the market leaders. They are easy to spot because they promote the efficacy of their approach to grow their market.

Is this in terms of describing how simple or great the product is? I'm struggling to understand an example of this in action.</comment>