Suspect jailed indefinitely for refusing to decrypt hard drives - <AUTHOR> http://arstechnica.co.uk/tech-policy/2016/04/child-porn-suspect-jailed-for-7-months-for-refusing-to-decrypt-hard-drives/ <comment><USER2> Those Americans who believe that persons cannot be held without trial are completely naive and need to spend time watching what goes on at an actual courthouse or police station. There are countless persons held without any allegation let alone formal charges. Material witnesses top the list. Jail (as opposed to prison) isn't about punishment. It is about the state holding people it deems useful to hold.

As a lawyer, my advice is always to stay as far away from police as possible. Do not volunteer anything. Do not participate. Online, always work under the assumption that you are the target of an investigation. Encrypt everything. Use VPNs, preferably overseas VPNs by default and Tor where necessary. If asked, never speak to any investigator without first talking to an attorney. Do no rely on some lay interpretation of a constitution. That document is not the friend people make it out to be.

<comment><USER3> What should folks who are the victim or witness to a violent crime do?

<comment><USER4> Hire him.

<comment><USER2> Lol. I'm the wrong type of lawyer. I'd send you to a friend who deals with criminal matters on a daily basis.

</comment></comment></comment></comment><comment><USER5> That's not a slippery slope. That's a cliff. If all it takes is a forensic experts "guess" that there might child porn on there somewhere to access everything you've got _without even filing charges_ then kiddie-porn is just the quick way to say that the 5th has been repealed.

<comment><USER6> The guess is slightly more compelling when considered together with the testimony of the sister that she viewed images of abuse on the computer.

Like, the line of questioning could be, did you find any images on the computer, did you find any evidence of techniques used to obscure information on the computer, could the images that so and so observed be stored using those techniques. It isn't confirmation that the images are there, but it is more than guessing out of thin air that there might be images there.

<comment><USER7> The government doesn't have a case with that evidence alone, that's why they are trying to compel the defendant to decrypt the hard drive. Here is how that's an end run around the 5th amendment:

 _> State: you are under arrest on suspicious of possession of child pornography. You have the right to remain silent, anything you say can and will be used against you in a court of law. Do you understand your rights?_

 _> Defendant: yes_

 _> Witness: I saw what he has it in that computer_

 _> State: now reveal the password_

 _> Defendant: I invoke the right to remain silent. Have charges been pressed or am I free to go?_

 _> State: no charges pressed, you are detained until you reveal the password_

Here is how that could play differently in the future:

 _> State: you are under arrest on suspicious of murder. You have the right to remain silent, anything you say can and will be used against you in a court of law. Do you understand your rights?_

 _> Defendant: yes_

 _> Witness: I saw what he did to the victim_

 _> State: now reveal the whereabouts of the body_

 _> Defendant: I invoke the right to remain silent. Have charges been pressed or am I free to go?_

 _> State: no charges pressed, you are detained until you reveal it_

If the All Writs Act allows the government to do the first it also allow the government to do the second.

<comment><USER8> I'm not in the legal profession, but I don't see those two as equivalent at all. Are you sure those are legally equivalent?

The first case allows police to make a search they couldn't make before.

The second is... I don't even know what. I would expect if you wanted them to be equivalent, you'd make the second more like: "We know you hid the body in your yard. Unlock your gate so we can enter and find it."

<comment><USER9> The key difference between the two is what is revealed by the disclosure that they are trying to compel.

In the case of the hard drives, providing the decryption key establishes only that the drives belong to him or that he at least has access to the information they contain.

In the second case showing the police where a body is located is in itself strong evidence that he was involved in the crime.

<comment><USER10> Having access to information contained on disks that is considered illegal to access is strong evidence that he was involved in the crime.

</comment></comment></comment></comment></comment></comment><comment><USER11> If they can jail someone for not decrypting data, what stops law enforcement from piping /dev/random into kiddie_porn.tc and getting some 'expert' to 'guess' that it contains illegal images as an excuse to jail some inconvenient individual forever?

<comment><USER6> Procedure and integrity. Which are in play in almost every aspect of law enforcement anyway.

The thing to be concerned about here is the ever more complicated legal theories being tested against really old laws.

<comment><USER12> >Procedure and integrity. Which are in play in almost every aspect of law enforcement anyway.

Procedure and integrity are in play in almost every aspect in life. The problem is that when you give absolute power, the ones who aim to use it the most are the minority who seek to abuse the power.

<comment><USER13> Why bother framing you. They can just take you out back and shoot you.

<comment><USER14> Although I agree that we're heading this direction at a scary rate, it's an exaggeration to claim that the U.S. is already a place where this is routinely possible.

<comment><USER15> The U.S. is a place where this is currently routinely _possible_. It is not (I believe) a place where this is currently routinely _done_.

<comment><USER16> Most people did not believe, pre-Snowden, that intercepting everyone's communications was something that was routinely done (though they might have believed it was possible).

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> The courts have always held the power to compel disclosure of evidence, and to hold those who refuse in contempt.

What this shows is that encryption does not lock justice out and that it's really no different than papers in a safe in a person's house. If prosecutors have a valid reason to access the information they can go to a judge, get a lawful court order and serve it against the person who owns the safe.

Encryption backdoors aren't about justice. They're about the government's ability to conduct fishing expeditions: to surveil massive numbers of citizens without their knowledge and without their right to a day in court.

<comment><USER18> > What this shows is that encryption does not lock justice out and that it's > really no different than papers in a safe in a person's house. If > prosecutors have a valid reason to access the information they can go to a > judge, get a lawful court order and serve it against the person who owns the > safe.

This situation has actually come up before and it was ruled that while a person can be compelled to unlock a box with a physical key, a person cannot be compelled to provide the combination to a safe. [0] goes into a lot of depth on this.

[0] [http://www.uclalawreview.org/the-fifth-amendment- encryption-...](http://www.uclalawreview.org/the-fifth-amendment-encryption- and-the-forgotten-state-interest/)

<comment><USER19> A stronger analogy, falling between the two scenarios, would be: presuming the original key for a lock has been destroyed, but you have memorized the particular key-cutting metrics that would be required to produce a working duplicate, could you be compelled to reveal those metrics so such a key could be created?

</comment></comment></comment><comment><USER20> This means that anyone who uses freenet can have a warrant against them. I would attack the warrant itself. From what I remember about freenet (it's been many years since I looked into it), plausible deniability is given because each node is requesting keys that another node requested. For instance, if node A wants file X, then A will request X from B, C, and D, who will in turn request it from more nodes, and no one knows who the original requester was. So every person on freenet is holding a cache of data that other nodes have requested, and has no idea what was requested, and are themselves requesting files on behalf of other nodes which they have no idea about.

In summary, if you are on freenet, you are not only requesting your own files, but files on behalf of others, some of which could potentially be illegal material.

If being on freenet and requesting a key (even for someone else) is enough to get a warrant, _all people using freenet from a traceable IP should immediately get off freenet_.

I don't know anyone who uses it, I thought tor superseded it, but this sets a very dangerous precedent. The defense should be reaching out to a computer scientist who can explain the fundamentals to the court.

</comment><comment><USER21> Can a rational argument be made, that addresses the emotions involved, for repealing laws that criminalize the existence or transfer of information?

The best argument I can come up with is that digital security simply isn't understood well enough for us to have solid evidence trails.

It's far too simple for an attacker (not necessarily law enforcement, a frustrated savvy neighbour is enough) to target someone and the consequences are so dire.

The War on Drugs criminalized the possession and transfer of physical objects, in the process providing convenient mechanisms by which to persecute undesirable individuals.

Laws against the transfer of information seem to provide the same loophole, but in a digital space. To me, that's far more worrisome.

<comment><USER8> Best comment on this story thus far.

</comment></comment><comment><USER22> This means that forgetting one's passphrase could be a life-ending mistake.

<comment><USER23> Or just trying truecrypt once and typing "asdfdlcwgnvldtrobiaedtpaeoaeuodtrn1234567hgr" as the passphrase, leaving the container in your tmp folder. I really hope (and guess) there is more evidence here about the probable contents.

</comment></comment><comment><USER24> Child porn is pretty messed up, but also one of those scary things because it's so easy to move data into any computer without consent. Then it's an easy claim to make against anyone whether or not it's true.

<comment><USER25> Not much different from any other way of planting evidence. It happens.

<comment><USER26> This isn't just planting evidence of a crime. This is planting the crime itself (Possession of child porn).

<comment><USER25> I don't follow. How does it differ from planting drugs?

<comment><USER27> Drug possession is not strict liability, child porn is. That means you don't need to have intention; if I email you a file and you open it, then the feds break down your door, you have committed a crime. Or rather, as long as it's on your computer (say a website downloaded it in the background), you're liable. Even if you have 100% solid proof that it wasn't your fault, you're guilty.

With drugs, you can at least sometimes get off with proof that you didn't have intent.

<comment><USER28> > Or rather, as long as it's on your computer (say a website downloaded it in > the background), you're liable. Even if you have 100% solid proof that it > wasn't your fault, you're guilty.

Do you have a cite for the law? What you say isn't true for the England; I doubt it's true for the US.

EDIT: Here's the English law.

[http://www.legislation.gov.uk/ukpga/2003/42/part/1/crosshead...](http://www.legislation.gov.uk/ukpga/2003/42/part/1/crossheading/indecent- photographs-of-children)

[http://www.legislation.gov.uk/ukpga/1988/33/part/XI/crosshea...](http://www.legislation.gov.uk/ukpga/1988/33/part/XI/crossheading/possession- of-indecent-photograph-of-child)

> Where a person is charged with an offence under subsection (1) above, it > shall be a defence for him to prove—

> (a)that he had a legitimate reason for having the photograph [F5or pseudo- > photograph] in his possession; or

> (b)that he had not himself seen the photograph [F5or pseudo-photograph] and > did not know, nor had any cause to suspect, it to be indecent; or

> (c)that the photograph [F5or pseudo-photograph] was sent to him without any > prior request made by him or on his behalf and that he did not keep it for > an unreasonable time.

<comment><USER10> > (c)that the photograph [F5or pseudo-photograph] was sent to him without any > prior request made by him or on his behalf and that he did not keep it for > an unreasonable time.

I can't find the citation, but there was a case brought up in my uni it ethics/law module that noted that visiting a website that then downloaded something like that in the background was sufficient to disqualify that condition from applying, as there was a prior request to visit the webpage that delivered the image. even if the website wasn't visited with the intention of the image.

and the person involved was jailed. they may have gotten out on appeal mind, but again, i can't remember more details than that to verify

</comment></comment></comment></comment></comment></comment></comment><comment><USER29> One way or another, it looks like we'll find out if the 5th Amendment still holds any water in this country. My guess is probably not, but it all depends on how much money this guy has, I imagine.

<comment><USER24> I wonder if the EFF is bold enough / has the resources to help. Encryption really should fall under the fifth.

In this case he isn't charged with anything, so I'm not sure the fifth applies? I want a lawyer friend lol.

<comment><USER30> If he's not charged with anything, then why do they need to know what's on his encrypted drives (which he may or may not be able to access anyway).

<comment><USER31> They have a warrant for the contents of his drives.

<comment><USER32> They have the content of his drives. The content is indistinguishable from random numbers. Same as if they found printed cyphertext in his home.

<comment><USER31> You're ignoring the context of the comment I replied to.

<comment><USER32> How so? Had they found printed cyphertext in his house, would he be in jail? Or, more cogently, one sheaf of random numbers and one of cyphertext?

The point is, the whole "lock" analogy is wrong. Encryption is not an unbreakable lock, nor is it a game-changer. It's been there for hundreds of years at least, as long as there have been cyphers.

</comment></comment></comment></comment></comment></comment></comment><comment><USER26> So if he ends up forgetting his password while in prison, he's facing a life sentence?

<comment><USER33> Not likely, but he'd be there for a very long time.

Generally speaking, when being held in jail for contempt charges, you can be held indefinitely, so long as you remain in disobedience to a court order. That last part is important, since the idea is you "hold the keys" to your own release.

However, if it's physically impossible for you to comply with said court order, you no longer hold those "keys", and can no longer be held in contempt.

That said... they're not going to believe you just "forgot" your password. The courts don't look favorably at folks who try to game the system like that, and you'd have a hard time proving otherwise.

See Chadwick v. Janecka, where a man was held in contempt for 14 years (!) for refusing to disclose where he allegedly hid funds from an overseas bank account during a divorce proceeding. They eventually let him go after they decided that being held in jail had lost its coercive effect... but again, that took 14 years.

<comment><USER34> The problem is that it is actually possible that someone no longer knows the password to some piece of encrypted data. If the government can just hold you indefinitely because they don't believe you then that is a huge issue.

<comment><USER35> If they can show that you've been using the password regularly, recently, for a while, then not believing a claim to have forgotten seems, if not _necessarily_ correct, at least not absurd.

If they can't show that, and the file might not have been accessed since it was created years ago, then I think it's unquestionably wrong to ignore the fallibility of human memory.

<comment><USER34> Good luck showing that in many cases. Especially if it is an encrypted external drive. I think in most cases they aren't going to be able to show "beyond reasonable doubt" that a person definitely still knows the password.

<comment><USER35> I don't disagree, but I don't think that is a sufficient reason to bear the kind of risk of indefinitely jailing innocents entailed by not requiring such a showing.

<comment><USER34> Necroing this, but the proper thing to do is just don't indefinitely jail people without proof of something rather than "requiring" such a showing(you can't really require it since, barring torture/some kind of mind probe, the person can always sit in jail indefinitely and refuse).

</comment></comment></comment></comment></comment></comment></comment><comment><USER36> > The other was a forensic examiner who testified that it was his "best guess" > that child pornography was on the drives

I'm curious how on Earth one arrives at that "guess" for an encrypted drive other than reasoning "why else would he not decrypt them?" In which case his expertise as a forensic examiner is irrelevant.

Edit: I'd love to see the original testimony, but I haven't been able to find it. This article has more information though: [https://www.techdirt.com/articles/20160428/07395434297/so- mu...](https://www.techdirt.com/articles/20160428/07395434297/so-much-fifth- amendment-man-jailed-seven-months-not-turning-over-password.shtml)

> The government's second witness was Detective Christopher Tankelewicz, a > forensic examiner with the Delaware County District Attorney's Office. He > testified only that it was his "best guess" child pornography would be found > on the hard drives. (Ex. J at 346). According to Tankelewicz's understanding > of the Freenet online network (in which he admits having no training), there > were signs on an Apple Mac Pro computer seized with the hard drives of a > user accessing or trying to access message boards with names suggestive of > child pornography. (Ex. J at 306, 311-312, 339-340). In rather ambiguous > testimony, Tankelewicz did not appear to say this meant any image traded > over these boards was on the hard drives. (See Ex. J at 303-317, 336-340, > 345-350). Instead, he identified a single image he believed there to be a > "possibility" was on the drives. (Ex. J at 308-309)

However this appears to be the testimony in which the All Writs order ([https://assets.documentcloud.org/documents/2783581/Granting-...](https://assets.documentcloud.org/documents/2783581/Granting- All-Writs.pdf)) establishes the following:

> Here, the Affidavit of Special Agent David Bottalico, supporting the > application for a Search Warrant, establishes that (1) the Government has > custody of the electronic devices; (2) prior to the Government's seizure, > Mr. Rawls possessed, accessed and owned all the electronic devices; and (3) > there are images on the electronic devices that constitute child > pornography. (Affidavit iii! 13-31.) Therefore, under the "foregone > conclusion" doctrine, requiring Mr. Rawls to assist in the decrypting of > those devices does not violate his privilege against selfincrimination.

In other words (in my understanding), under the foregone conclusion doctrine, the government needs to show that they know the document exists and what it contains. In this case I believe that would mean that they have to provide evidence that they know there is child pornography on the devices. And the testimony above seems to be the only thing they are putting forward as evidence to invoke the doctrine.

One of those cases where you kind of want the government to look inside the hard drive _in this case_ (since the accused is only objecting under Fifth Amendment grounds, meaning there probably is legitimate evidence against him on those hard drives), but I can't support it because of the precedent it sets.

<comment><USER37> My guess would be in data found on unencrypted drives that reference files on the encrypted drive. For example, you might have filenames that hint at child pornography in metadata (itunes, WMP, etc.) or CLI history.

Sure, the file might be unfortunately named, but, in this case maybe it was enough evidence to hold him?

<comment><USER38> I'm no lawyer, but I think that's what they usually call "evidence". If they have evidence of what's on the drive, then he can be compelled to open it under current law.

There was a case a while back of a guy crossing a border. The LEO who inspected the laptop claims he saw CP, and somehow it was turned off before it could be preserved. In that case, they ruled that it wasn't protected by the 5th because it wasn't a search - they "knew" the evidence was there, they just couldn't access it.

</comment></comment></comment><comment><USER39> Here are the court case identifiers and PACER dockets:

USA v. APPLE MACPRO COMPUTER, et al. (E.D. Pa., case 2:15-mj-00850) [http://www.plainsite.org/dockets/2nurkco28/pennsylvania- east...](http://www.plainsite.org/dockets/2nurkco28/pennsylvania-eastern- district-court/usa-v-apple-macpro-computer-apple-mac-mini-computer-apple- iphone-6-plus-cellular-telephone-weste/)

USA v. APPLE MACPRO COMPUTER, et al. (3d Cir., case 15-3537) ????

</comment><comment><USER40> so... if a prosecutor has evidence has been gathered where a defendant has a drive with +n files that are encrypted. then the prosecutor has their evidence. However, if the files are when decrypted, then they have +n' -n files, which were not gathered during the initial investigation.

I recognize that the contempt is prior to formal charging, and thus "during" evidence gathering. but I feel like this is equivalent to the government saying: "hey, so we have no proof you did anything, but we have these 107374182400 items that might prove something. So, we want you to produce 107374182400 completely different items that might incriminate you because, well.... we cant". seems weird.

this is obviously not the first case that this has happened in[1][2]. each invoking the 5th, but it still seems strange.

[1] [http://www.wired.com/images_blogs/threatlevel/2012/01/decryp...](http://www.wired.com/images_blogs/threatlevel/2012/01/decrypt.pdf) [2][https://en.wikipedia.org/wiki/In_re_Boucher](https://en.wikipedia.org/wiki/In_re_Boucher)

<comment><USER40> wow... the grammar... what on earth did i write...

</comment></comment><comment><USER41> >"The other was a forensic examiner who testified that it was his "best guess" that child pornography was on the drives."

This guy needs to be fired. How in the hell can you tell that it's even images or video let alone children if it's encrypted? I'd love to see a technical explanation of how he came to that conclusion. Can the defendant sue for such a statement given that it's almost entirely fabricated?

<comment><USER42> I'm not saying this is what happened, (and from what I've read, it's as absurd as you think).

However, an expert could hypothetically have all sorts of clue about the contents of an encrypted drive. Keep in mind that encrypted files still probably have a "last modified date" maintained by the OS, and that many viewer/player apps keep a timestamped list of recent files. If they see that realplayer claims to have played "nude_12_year_old.avi" on a "z:\" drive on a certain date, and that an encryption app opened an encrypted file a little while before that.... You can't _know_ , but an expert could, hypothetically, make an educated guess.

Again, not saying that's what the expert did here. Just saying that this sort of conclusion is theoretically possible in some cases.

</comment></comment><comment><USER43> I the defense lawyer is unable to demolish this "best guess" evidence in court I think quality of law schools in the country is sh __t.

If the judge cant see what is wrong with this "best guess" evidence, the judiciary has lost its marbles.

If the members of jury don't find it wrong, as society we have probably lost compassion and empathy and sense.

As marijuana legalization is probably foregone conclusion I think government is going to start with "war on sex" that will have same effects on society. New Hampshire recently passed laws that would make sex traffickers out of totally innocent people.

<comment><USER44> What laws are you talking about re sex trafficking?

<comment><USER43> [http://reason.com/blog/2016/04/23/how-new-hampshire-plans- to...](http://reason.com/blog/2016/04/23/how-new-hampshire-plans-to-spike-its- sex)

</comment></comment></comment><comment> blubb-fish If a judge within a formally correct legal processing decided that the disk content is to be investigated then that person is obliged to cooperate and if s/he fails to do that then the state has to act forceful.

There's nothing bad about it.

Another question is whether the established legal system allowing for such measures is more harmful than beneficial.

</comment><comment><USER45> My "guess" is the "forensic" "examiner" watched CSI Cyber or NCIS the night before, an episode where the show's forensic "sees" patterns in Matrix-style flow of data.

</comment><comment><USER46> Ah CP, the modern day witch hunt and where all the reason falls through.

</comment><comment><USER47> Appropriate the URL is .co.uk. Here in the UK, this is actually explicit law. If you refuse to decrypt, you can be chucked in jail.

</comment><comment><USER48> And if he really truly honestly forgot his password...then what? You go to jail for your entire life because you can't recall a series of cryptic letters and numbers that will be used to convict you? This is no longer America. Innocent until PROVEN guilty is a lie.

</comment><comment><USER49> Held without charges and without evidence on the suspicion that the drives contain something relevant.

So if his protection against self-incrimination is upheld by courts, can he turn around and sue for this blatant violation of his constitutional rights?</comment>


Why Some Phishing Emails Are Mysteriously Disappearing - <AUTHOR> https://blog.cloudflare.com/combatting-phishing-with-dns/ <comment><USER2> This is even worse than "we don't like you so we are no longer selling you our service", which is already problematic :/. Deciding "we know what you are doing with our service, so we are going to keep selling you our service but make it do something different" should probably just be illegal. As it stands, if they really want to do this, I hope they realize it makes them de facto responsible for all email that goes through their service (and if they don't, then they are even bigger idiots than I normally paint them to be, as they literally are involved in a similar case in court _right now_ ).

This is equivalent to "I know you are going to use our invitation service to invite people to a meeting of your local gang, so we have made the emails go out with a typo in the location and phone number field", which has the same sort of "wait, are you sure it is a gang? how do you define a gang? is the gang even doing something harmful today?" problem that comes with the term "phishing". While this is much better than them claiming to block "spam" (which I will claim has so nebulous of a definition as to be meaningless), this is still a slightly ambiguous classification of any given communication due to how it interacts with trademark law.

Regardless, now that they have shown that they are interested in modifying the behavior of their platform to stop "using the Cloudflare platform for evil" (a direct quote from their blog post), clearly they now also should be using similar techniques to stop people from sending email about drug paraphernalia, and they should stop people from sending email with hate speech, and they should stop sending email about terrorism. _They also should, of course, stop people from sending email about software piracy, or sending email about services designed to undermine copyright like SciHub, or sending email advertising "obscene" pornography._

They have now shown both the ability to do this and an interest in doing this, which is exactly what they recently demonstrated with the Daily Stormer SNAFU, where they showed the ability and interest to block use of their service "for evil"; in that case, the people were "Nazis", which may or may not be more clear cut than "phishers", but the scenario is essentially the same... and they are now having to backpedal their actions in court as this is being used as evidence for why they should be responsible for blocking piracy on their platform. The reality is that once you show an ability and an interest in policing content, what kinds of content you are forced to police will be taken from you and given to the state.

[https://torrentfreak.com/daily-stormer-termination-haunts- cl...](https://torrentfreak.com/daily-stormer-termination-haunts-cloudflare- in-online-piracy-case-170929/)

Cloudflare's decision today is going to be devastating not only for them, but for the Internet as a whole (as usual :/).

<comment><USER3> I use Cloudflare and life is wonderful. This is a good writeup of a cool strategy and while I understand the fears of my fellow posters - and point out the fear-mongering too - we could just take them at their word and see this as a positive step in the fight against evil.

The Daily Stormer army deserves little sympathy, and using them to invoke a slippery slope argument full of straw men is somewhat sloppy and escalates this discussion to a place where criminal actors are victims and a company trying to do something good is told they're lackeys of a police state.

Geez, cut them some slack.

<comment><USER2> > The Daily Stormer army deserves little sympathy, and using them to invoke a > slippery slope argument full of straw men is somewhat sloppy and escalates > this discussion to a place where criminal actors are victims and a company > trying to do something good is told they're lackeys of a police state.

I agree that The Daily Stormer deserves no sympathy, and will note I did not apologize for them (I even chose to call them "Nazis" instead of "neo-Nazis" or "alt-right": let's call a spade a spade, after all).

However, I also did not make a theoretical argument to which you can try to play your dismissive cards of "slippery slope" or "straw man": in fact, I pointed to an ongoing case playing out _right now, in court_.

[https://www.digitalmusicnews.com/2017/10/11/cloudflare- ceo-n...](https://www.digitalmusicnews.com/2017/10/11/cloudflare-ceo-neo-nazi- piracy/)

> If Cloudflare Can Block Neo-Nazi Sites, Why Can't They Block Piracy Sites?

> In a recent filing, lawyers for the adult entertainment company demanded a > 7-hour deposition. Using Prince's own words against him, ALS Scan wrote,

> "By his own admissions, Mr. Prince's decision to terminate certain users' > accounts was 'arbitrary,' the result of him waking up 'in a bad mood,' and a > decision he made unilaterally as 'CEO of a major Internet infrastructure > corporation'.

> "Mr. Prince has made it clear that he is the one who determines the > circumstances under which Cloudflare will terminate a user's account."

The reality is exactly as I claim it to be, and the stakes are just as high as I argue. If you disagree, I implore you to respond to the evidence, not simply dismiss the argument out of hand.

<comment><USER3> Fair enough.

Clumsy handling by Mr Prince - and certainly suggests that we need more due process everywhere - but an emotive issue that most people could sympathize with.

The company has basically decided that Nazis don't get service but porn- pirates do. It's not very black and white, though. Morally, it's a minefield. "Porn producers pissed-off at pirates not being given the same treatment as Nazis"

I bow to your observations, but I'm not convinced that the stakes are as high as you argue...

</comment></comment></comment></comment><comment><USER4> If a mail client does not support dmarc,or happens to move reject policy emails to junk (as opposed to not delivering at all). And the user loses all their money to a phishing campaign,would cloudflare be held responsible?

I get the intent but in these situations,no solution is better than a half- cooked solution. If I happened to be a victim in my hypothetical scenario above,sure I would get pissed at my (web)mail client,but also at cloudflare for not terminating the phisher's service when they were so sure of the malicious content hosted they went as far as sabotaging dmarc records.

From a more practical point of view,most phishing campaings like to use compromised websites or email accounts to send the email. Now the email itself will typically have a link to some nasty site or an attachment that eventually ends up "dropping" a second stage malware from some other nasty site. So, if these nasty sites sit behind Cloudflare,how does it make sense to not hold Cloudlfare responsible? Historically,their defense was "we are just the network transport provider". But what now? They can sabotage dmarc records but not A records? Their legal team must either be sleeping on the job or so good that an obvious liability like this isn't seen as a business risk.

<comment><USER5> > If a mail client does not support dmarc,or happens to move reject policy > emails to junk (as opposed to not delivering at all). And the user loses all > their money to a phishing campaign,would cloudflare be held responsible?

No.

This argument is based on a long-outdated understanding of the law. Section 230 of the Communications Decency Act extends immunity even to services exercising editorial control over content.

See Zeran v. AOL:

 _[L]awsuits seeking to hold a service liable for its exercise of a publisher 's traditional editorial functions – such as deciding whether to publish, withdraw, postpone or alter content – are barred. The purpose of this statutory immunity is not difficult to discern. Congress recognized the threat that tort-based lawsuits pose to freedom of speech in the new and burgeoning Internet medium. [...] Section 230 was enacted, in part, to maintain the robust nature of Internet communication [...] ."_

 _" Congress' clear objective in passing §230 of the CDA was to encourage the development of technologies, procedures and techniques by which objectionable material could be blocked or deleted."[5] Since distributor liability would have the effect of disincentivizing the filtering of content by third parties, the court found that such laws were in conflict with the "purpose and objectives of congress," and were thus preempted_

<comment><USER4> Correct me if I am wrong wouldn't this position Cloudflare as a "Publisher" of the content? Forget about holding it liable for censoring content(email via dmarc p=reject;),but as a publisher is it not liable for the nature of the content it publishes?

I understand that you can't hold Cloudflare liable just because it's customers hosted illegal or damaging content. But isn't a "publisher" liable for content take-down after an abuse notice? If they can't be sued under civil law,can't they be prosecuted under criminal law?

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

Section two title 18:

> (b) Whoever willfully causes an act to be done which if directly performed > by him or another would be an offense against the United States, is > punishable as a principal.

</comment></comment></comment><comment><USER6> I don't understand why it's better to surreptitiously alter records for ToS violators rather than simply close their accounts altogether. Seems like the definition of a slippery slope.

<comment><USER7> Because evidence has shown when you waste the time of people doing this, they move on. If you instantly ban them, its easy to spot, easy to automate and doesn't really solve the problem.

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

<comment><USER8> > Because evidence has shown when you waste the time of people doing this, > they move on.

I'm not convinced of this. At best, shadow-banning wastes a little bit of their time and delays slightly their inevitable creation of a new account.

> If you instantly ban them, its easy to spot, easy to automate and doesn't > really solve the problem.

Shadowbanning only really works for unsophisticated users. If you know it's a possibility, it's easy to check for (just create another account and check with it). Phisher's are probably going to be fairly sophisticated, since they're working to make a profit, not to only disrupt or push a POV.

<comment><USER7> Correct this will not stop "sophisticated" users. The whole goal of this system is to cause bad actors to dedicate more resources to using your platform and add a shadow of doubt. Spammers, etc. all want a cheap easy payday, that's the entire point (money for minimal time).

I run a service that spammers and pfishers love. I started by banning these people (and sending them an e-mail letting them know why). They didn't stop, they just grabbed another free e-mail and continued. Now I quietly just delete the data they submit and never ban accounts. I let them submit data, tell them its accepted, then some time later (1-120 seconds) just delete the data. Their account still works, they just can't do much with it. Once the system became unreliable for them, they just moved on to something else.

<comment><USER8> > Spammers, etc. all want a cheap easy payday, that's the entire point (money > for minimal time).

I'm under the impression that spamming isn't as easy as it once was, and a fair amount of effort needs to be devoted to bypassing spam/abuse detection and blocks, which is exactly what a shadowban is.

> Once the system became unreliable for them, they just moved on to something > else.

I would imagine that would depend on if there are equivalent services that the spammer could more easily migrate to. It sounds like they didn't move on from spamming, just from your service. Switching to drop in replacement would definitely be easier than writing a shadowban detector.

I'm just disputing that shadowbanning is a more effective solution than straight bans. It's just not that much harder to detect.

</comment></comment></comment></comment></comment><comment><USER9> Is this equivalent to hell-banning censorship by an infrastructure layer?

I understand the positive intent, but it feels wrong to have email content altered by infrastructure layers. A slippery-slope argument may apply.

<comment><USER10> it also seems like it could be easily technically circumvented: put an email address to which you have access on your phishing lists. see if it gets the mail as expected.

<comment><USER11> Solution: stop using CF services for phishing which is exactly what CF wants them to do</comment></comment></comment>


FilmStruck is shutting down - <AUTHOR> https://help.us.filmstruck.com/hc/en-us/categories/360001045093-Details-About-the-Takedown <comment><USER2> This is sad news. I was part of their beta testing trial and continued to subscribe. It was a clearinghouse for not only the Criterion Collection, but many films you cannot find on physical media.

I cannot find any details as to why they are stopping the service, but I suspect it has to do with the ATT acquisition. ATT is probably planning to fold many of their streaming services into one.

</comment><comment><USER3> It's really a shame. There are very few streaming services left where I feel like I can pick something out with little to no research and end up finding a gem. It's been my go-to "No idea what to watch but I want to watch something good" service, and it's disappointing that it won't be around for that anymore.

</comment><comment><AUTHOR> As a movie buff, this is sad news. It was my go-to source for Criterion Collection films, and many of the films in their library are hard to find and are often only available on out-of-print DVDs.

</comment><comment><AUTHOR> Dupe of [https://news.ycombinator.com/item?id=18310037](https://news.ycombinator.com/item?id=18310037). I liked to the official FAQ, whereas the other thread is a Variety article.</comment>


UK to block porn and require opt-in - <AUTHOR> http://www.guardian.co.uk/society/2011/oct/11/pornography-internet-service-providers

<comment><USER2> You know where this is going, don't you? Next up: opting in to use torrent sites.

They always use the porn strategy first to "get in", because it's easier to amend the future stuff to it, than try to add them from the beginning.

</comment><comment><USER3> What happens when they start to turn opt in for Sexual health content and forums for sexual advice, this could end up as a detriment. In my opinion any internet censorship is bad, especially when a government is pushing this with a Christian Group.

I'm from the UK and can see where this is going, all towards Copyright.

</comment><comment><USER4> I have such mixed feelings about this. What's the bigger evil, censorship or porn for kids? I had porn as a kid and I turned out (mostly) OK... but I had to wait for it to download on a 14.4kbps modem so it was of a slightly different magnitude to what's available now.

</comment><comment><USER4> Could something like this fly in the US? or would it get struck down due to 1st amendment?</comment>


Winklevoss Twins Ask for New Hearing in Facebook Case - <AUTHOR> http://bits.blogs.nytimes.com/2011/04/18/winklevoss-twins-ask-for-new-hearing-in-facebook-case/?src=twr <comment><USER2> Does anyone know why they have not decided to focus their energy elsewhere? Why go to the effort to double, triple, or whatever their stake in Facebook when they could cash out and attempt to create wealth else where? I bet there are a number of entrepreneurs who would love to take angel investments from the Winklevosses, regardless of the twin's track record.

Furthermore, they would have much more fulfilling lives if they took the money they have and invested in/ created something new... at least they would have a chance to intellectually participate in the start up environment.

<comment><USER3> Would you hire them? Work with them? Work for them?

I suspect they are tainted at this point, regardless if they are right or wrong.

<comment><USER2> "Would you hire them? Work with them? Work for them?" - Probably not, maybe, No.

They can change how people view them moving forward, but for some odd reason, they keep digging a deep and deeper hole for their reputation.

<comment><USER4> They have two very good (not odd) reasons: millions of dollars, and justice.

</comment></comment></comment></comment><comment><USER5> Maybe it's just me but I don't have any sympathy for these guys. I actually think The Social Network did more to sway my opinion of them than of Zuck.

What's the difference in $ value that they're trying to get? And is the difference between that and the money they originally settled on really worth the damage to their personal brand? They can't possibly be winning in the court of public opinion either right?

</comment><comment><USER6> I've never seen anyone so dissatisfied with $200M. They'll probably end up losing all of it in legal fees if they keep this up.

</comment><comment><USER7> I hope they will able to pursue the computer fraud found in the leaked IMs.

<comment><USER8> What leaked IMs?

<comment><USER7> [http://www.businessinsider.com/how-mark-zuckerberg-hacked- co...](http://www.businessinsider.com/how-mark-zuckerberg-hacked- connectu-2010-3)

</comment></comment></comment><comment><USER9> Talk about beating a dead horse..</comment>


An offer you can't refuse - <AUTHOR> http://www.economist.com/displayStory.cfm?story_id=13610871

<comment><USER3> I got into this debate with some finance friends this weekend. This essay I've seen linked gives a rebuttal:

[http://epicureandealmaker.blogspot.com/2009/05/you- realithe-...](http://epicureandealmaker.blogspot.com/2009/05/you-realithe-of- courth-thith-meanth-war.html)

"Think about it. The political stakes for the Obama Administration in the Chrysler fiasco are monumental...

This leads to my second point. The negotiations over carving up claims to Chrysler Corporation prior to bankruptcy were just that: negotiations. Notwithstanding whatever principles of Truth, Justice, and the American Way the Chrysler non-Tarp lenders would have us believe undergird their positions, they were simply one party among many to a very complicated negotiation over the proper distribution of value of a very large and troubled company. Yes, there are general principles and precedents concerning the division of spoils in a corporate bankruptcy which normally guide such processes. Yes, many of these have been laid down over decades of contested and uncontested bankruptcies prosecuted through our court system.

That being said, none of these precedents are Holy Writ.

The parties to the Chrysler negotiation tried to agree to a prepackaged division of spoils which they could present to a bankruptcy judge and thereby speed the company's restructuring. They failed. Did someone—the government, the UAW, the non-Tarp secured lenders—overreach? Maybe. Does it matter who? Not in the least. A pre-agreed deal was not struck, so the distribution of claims to Chrysler will be determined in court, by a judge, who will listen to advocates for each group argue their case. The process will take longer, and perhaps introduce additional stresses and strains that Chrysler can ill afford, but everyone will have their day in court. Even those poor, put-upon non-Tarp lenders. In fact, even though they would likely be loathe to admit it publicly, everyone may be happier that the company has fallen into Chapter 11. That way, each can say to their own constituents that they tried as hard as they could, but were unable in the end to get everything they wanted. (Chief among these, by the way, I would place the Administration.)

The corollary point of negotiations is this: they are hard, and often unpleasant. Parties to a bankruptcy say hard, unpleasant things, they threaten and cajole, and they use all their powers of persuasion, soft and hard, to convince the other parties to the deal to give them what they want. In this context, why should anyone be surprised that agents of the government threatened recalcitrant lenders with IRS audits, excoriated their behavior in populist press conferences, or promised to destroy their institutional reputations in the public eye? The government was simply using the real and imagined powers at its command to browbeat its counterparties into agreement. This is standard operating procedure in high-pressure negotiations."

<comment><USER4> > In this context, why should anyone be surprised that agents of the > government threatened recalcitrant lenders with IRS audits, excoriated their > behavior in populist press conferences, or promised to destroy their > institutional reputations in the public eye?

Why do I think that you wouldn't be nearly so accepting if it was Bush or Nixon instead of Obama.

Actually, it's quite rare for govt to get involved in bankruptcy.

Do you really want to argue that involving the IRS is appropriate?

</comment></comment><comment><USER5> The article leads with: _NO ONE who lent money to General Motors (GM) or Chrysler can have been unaware of their dire finances. Nor can workers have failed to notice their employers' precarious futures. These were firms that barely stayed afloat in the boom and both creditors and employees were taking a punt on their promise to pay debts and generous health-care benefits._

False equivalence.

If I hold GM or Chrysler debt and I perceive that the company is going downhill, then I can sell off that debt at a discount and cut my losses. If I spend twenty years working for the company under a contract providing generous retirement benefits in lieu of money up front, and _then_ I start wondering if the company will actually be able to afford those benefits, I'm stuck riding the elevator all the way to the bottom (where "the bottom" is whatever minimal pension the government can guarantee).

Obviously in a case of insolvency these are both contractual obligations that the company can't satisfy, and everyone has to take some kind of haircut, but if the law doesn't give retirees priority over bondholders in this situation, then the law is an ass.

<comment><USER6> UAW members did not get generous retirement benefits in lieu of money up front. They got above market wages up front AND generous retirement benefits.

<comment><USER5> If they hadn't gotten such good retirement benefits, they would have gotten _even more_ money up front.

Before the Japanese arrived on the scene, these contracts made perfect sense from the management's point of view, because American car companies were making money hand over fist. When competition from Japan became serious, such contracts still made sense, because they would rather pay later than pay now. And, well, "later" has arrived.

</comment></comment></comment><comment><USER7> An aside: I really hate people willy-nilly throwing around the word "socialist", because it leaves me with no good descriptive adjectives for when the government expropriates several billion dollars from private investors and hands it to a labor union.

(I assume there must, somewhere, be a Democrat who feels the same about "racist".)

<comment><USER5> John Scalzi once quipped that in a socialist country, the government nationalizes _successful_ businesses.

</comment></comment><comment><USER8> Lots of pleasant thoughts about fairness in this article, but no mention of the simple fact that the financial sector has rapidly burned through their collective reserves of political capital over the last year, and is hardly in a position to make demands.

<comment><USER9> Careful, you've got an abstraction layer that's maybe not appropriate. Imagine for a moment that I am a person near the end of my working life and very wisely and prudently put most of my retirement funds in a portfolio of church bonds, municipal bonds, and long-term corporate bonds including GM's. "The financial sector...rapidly burn[ing] through their political capital" doesn't imply that I should get five cents on the dollar while people behind me in line get forty. I have been receiving a paltry interest rate for years precisely because I was promised I was first in line in the event of a bankruptcy.

There are real people behind these massive losses, and the fact that Wall Street bilked me with transaction costs on the way in to this portfolio means I'm more deserving of sympathy not disdain.

<comment><USER8> A lot of people are hurting right now, and you're quite right that investors both large and small have been hit the hardest. But after a year spent clamouring for government help, whether bail-outs for big banks or compensation for individuals who bought ABCPs, investors have lost their place at the front of the political line.

They still have the judicial branch to turn to, but the days of executive branch fast-tracking are gone, and there's little point in complaining about it.

<comment><USER9> You're right that losing your place in the front of the political line has dire consequences, and certainly investors have lost their place at the front of it, but think really carefully about who was campaigning for government help and even more important, for whose benefit were the auto bailouts in the first place.

I think it would be difficult to claim that the answer to either question is the firms' bondholders. It's true, they may have indirectly benefited if the bailouts had succeeded, but the purpose of the bailout was never to help the holders of GM's debt. I don't really think punishing misbehavior should be pertinent to creditor hierarchy in bankruptcy, but if we intend to punish clamoring then I think this proposed settlement may have things slightly backwards.

</comment></comment></comment></comment><comment><USER10> The government's offer wasn't made in a void. In _exchange_ for re- prioritizing creditor claims, the government was offering billions of dollars for debtor-in-possession financing that _is not available from private sources._

There was no use of force here. The government holds a carrot, DIP financing, but they don't really have a stick.

</comment><comment><USER11> I'm torn on this - on the one hand it's those employees' healthcare which is at stake - real people and real lives. On the other hand there is due process, and the risk of making it very difficult for the government to encourage private investment in the future. If only this had been seen up front - <USER2> employees' healthcare should have had better protection from the start, but these things are only obvious in retrospect. Perhaps the government needs to legislate to force companies to make their employees benefits higher priority in the case of a bankruptcy.

<comment><USER12> Mutual funds are huge shareholders too. Are those not real people and real lives?

UAW members have done very, very well over the years, it's about time they shared some of the pain. What goes around, comes around.

<comment><USER13> > _Are those not real people and real lives?_

As someone else has pointed out, the average retail investor that _might_ own some GM bonds through a mutual fund would maybe lose a _few percent_ of their portfolio. The average GM retiree losing his pension/healthcare is looking at a _near total loss of income_.

That said, I definitely see the legal problem here. The two solutions that come to mind for solving it are:

1\. Let the retiree VEBA go without the last $10 billion owed it, accepting whatever that means for retirees.

2\. Have the government pay the $10 billion in cash rather than GM stock.

(Just as a disclosure, my dad is a GM retiree. He gets a $35k/yr pension and health insurance. His insurance used to be quite awesome, but in the last five years has become merely 'good'. Best financial decision he made was to divest his GM stock in November 2003, which at the time was 80% of his portfolio.)</comment></comment></comment>


Why open data is not enough - <AUTHOR> http://www.wired.com/magazine/2011/06/st_essay_datafireworks/

<comment><AUTHOR> I'm actually submitting this because, as shown in the comments section, I don't really agree with much of what this writer says about open data being in any way intrinsically dangerous/destructive.

Curious as to how others feel about the premise of this piece. I do on the other hand, agree that for open data to have broad, empowering impact, it needs to be made not just available, but accessible/easy-to-use for more people.</comment>


Patent US9646028B2 – Graph Query Logic – Facebook Inc - <AUTHOR> https://patents.google.com/patent/US9646028 <comment><USER2> (flagged)

This is not a patent. It is an application for a patent, not yet issued, filed nearly 7 years ago back in 2012.

An issued patent ID is only numbers, currently 7 digits long. Anything starting with "US" is an application number.

<comment><USER3> It is a US patent. Issued May 9, 2017

US patent application serial numbers include the year ala:

US 2014/0067850 A1 (application number for this patent)

<comment><USER2> My mistake, sorry!

</comment></comment></comment><comment><USER4> What won't the patent office accept! It would be funny except for "first to file".

</comment><comment><USER5> I'm confused. Did they just patent querying a graph?

<comment><USER6> Kinda. The first sentence of the first claim greatly reduces the scope, though:

> one or more graphs associated with a social-networking system

The rest is gobbledigook that would take too long to grok (for me anyway). It is some sort of interactive user query, I think.

In any case, at least it isn't so broad that it means just any graph.</comment></comment>


Z80 arithmetic: also surprisingly terrible (2018) - <AUTHOR> http://cowlark.com/2018-03-18-z80-arithmetic/index.html <comment><USER3> I don't think the 8-bit CPU instruction sets were designed with code- generation for high-level languages in mind, but to make it easier to write assembly by hand.

And each 8-bit CPU had its specialties, and it wasn't uncommon that computers were designed around those specialties.

For instance when you look at the video memory layout of Z80 computers like the ZX Spectrum or CPC, those often have a weird non-linear arrangement, which only makes sense with the special 16-bit register pairs on the Z80.

E.g. when the 16-bit register pair HL is used as a video memory address, the memory layout was often such that H and L could basically be used as X and Y coordinates. E.g. incrementing L gets you to the next character on the same line, and incrementing H to the first pixel line of the character line below.

The KC85/4 (East German home computer) even had a 90 degree rotated memory layout of 320x256 pixels, 8 horizontal pixels grouped in a byte, so the video memory was a matrix of 40 columns by 256 lines.

Put the column (0..39) into H, and the line (0..255) into L, and you have the complete video memory address (or rather offset, H must 0x80 + column, because video memory started at 0x8000). Increment or decrement H to move to the next or previous column, and L to get to the next or previous line.

edit: messed up the number of columns, it's 40, not 80 :)

<comment><USER4> There was little enough memory to get an asm program doing anything material using HiSoft DevPac assembler let alone using a high-level lang.

The instruction set was very limited (in comparison to i386 etc.) so the learning curve was not steep and writing in assembler was, in practice, no more time consuming than using C now - once you were in the flow.

However due to the resource constraints you not only had to dry out everything into functions as you would with C today - but often had to manually mutate parts of the function instruction set code by poking in new values before calling to change the behaviour to avoid wasting memory on branches etc.

For large writes people would often move the stack pointer around as PUSH BC etc. were faster than LD at writing an address and inc(dec?) the pointer. I seem to remember IX/IY being avoided as much as poss as they were quite costly.

</comment></comment><comment><USER5> When you write Z80 assembly you mostly use registers. Nobody writes it like shown in the article! I spent a lot of my time writing Z80 assembly manually. The code in article is somewhat artificial, inefficient and unnatural to my eye.

EDIT: The code in article addendum is OK. The author finally caught up to Z80 style after many trials and errors. This is how idiomatic Z80 assembly looks like.

<comment><USER6> Well, it _is_ artificial in the sense that it's meant to be code emitted by the code generator of a compiler for a high-level language with very different idioms. And the architectures of these early microcomputers obviously don't exactly prioritize being easy compiler targets.

<comment><USER7> Here's a sample of compiled Z80 code (the bootloader for one of these: [https://en.wikipedia.org/wiki/S1_MP3_player](https://en.wikipedia.org/wiki/S1_MP3_player) ) generated by a C compiler --- of course, a commercial one and not a cheap one at that (IAR Embedded Workbench for Z80.) You can see that it has absolutely no problem using nearly all the registers:

[https://pastebin.com/raw/f3919adf](https://pastebin.com/raw/f3919adf)

</comment></comment></comment><comment><USER8> I must be an assembly programmer, because my immediate reaction to this was: WHY ARE THEY WRITING TO MEMORY ALL THE TIME! The code just looks uncomfortable. Like a word-by-word translation from a foreign language. Like forth written by someone who tried to keep the stack empty and all the data in variables.

<comment><USER9> Because the Z80 doesn't really have a whole lot of registers that you could use for general storage. Even the 6502 (and the 6809) would try to keep the cycle count down by storing stuff in the zero page (or direct page on the '09).

Z80 assembly tends to be very easy to read because you don't have to keep a mental map of what lives in which register, A really is the accumulator and the only register that you can use to do anything more complex than inc or dec to.

Contrast

[https://www.masswerk.at/6502/6502_instruction_set.html](https://www.masswerk.at/6502/6502_instruction_set.html)

with

[http://clrhome.org/table/](http://clrhome.org/table/)

And see how much more effective the 6502 set is when it comes to empowering the various registers. The 6502 does not need 'shift' codes (slow) either.

I've programmed both, and even though they both have their charm I would prefer to code the 6502 for the same problem (and I'd much prefer to use the 6809 over either).

<comment><USER8> I wrote a lot of Z80, very little 6502. They felt very different to me. Code written by one couldn't be ported to the other, but had to be rewritten.

Didn't have much trouble storing things in B/C/D/E/BC/DE, at least I don't remember it as a problem. The innermost loops had to get top priority when deciding what each register was used for, that's all.

<comment><USER10> _Code written by one couldn 't be ported to the other, but had to be rewritten._

That's not my experience. I once ported a program from the 6800 (the mother of the 6502) to the Z80. It was very straight forward. But to my surprise the version on the much "fancier" Z80 turned out to be both larger and slower despite the Z80 ran a little faster clock speed.

<comment><USER11> I don't think the OP literally meant that porting code was impossible, but rather, that it was very hard to do so and have the result run efficiently.

<comment><USER8> (OP speaking for himself:) When I ported Z80 code to the 6502 literally, the result didn't use the zero page to its full effect, because the zero page was so much bigger than the Z80's extra registers. When I ported 6502 to Z80 literally (I mean code that used the zero page well), too much of the zero- page work had to be replaced with memory work and not enough with the nice fast registers.

</comment></comment></comment></comment></comment></comment><comment><USER12> >(Incidentally, the 6502 can do this in 10 bytes and 14 cycles. The Z80 is terrifyingly slow.)

It's misleading to call the Z80 "terrifyingly slow" based on cycle counts without mentioning that it clocked higher than the 6502. E.g. the Apple II ran at just over 1MHz, while the ZX Spectrum ran at 3.5MHz (although with wait states for accessing the memory area shared by the graphics hardware).

<comment><USER13> That's a little unfair, the BBC Micro ran at 2 MHz and was released before the Spectrum.

<comment><USER14> It's not wrong though, the 6502 _was_ much slower clocked that equivalent contemporaries.

However IIRC most contemporary architectures were closer to the Z80, so the 6502 was considered impressive because it was competitive despite a much lower clock rate.

<comment><USER10> 1 MHz clock on the 6800 family of processors, including the 6502, is equivalent to 2 MHz clock on the Z80. The 6800 architecture used a so called two-phase clock. Each phase, positive and negative, of the clock cycle was used to do work.

<comment><USER15> I would suggest it is between 2 and 3 times, but it depends on what kind of code you are running.

</comment></comment></comment></comment></comment><comment><USER16> A good reference for Z80 programming is Rodnay Zaks' Programming the Z80. On page 94 at the start of the chapter Basic Programming Techniques there's a section on 8-bit addition. The program is as follows:

        LD   A,(ADR1)        LOAD OP1 INTO A
        LD   HL,ADR2         LOAD ADDRESS OF OP2 INTO HL
        ADD  A,(HL)          ADD OP2 TO OP1
        LD   (ADR3),A        SAVE RESULT RES AT ADR3

this is the idiomatic Z80 way. That book goes on to show how to do 16-bit and 32-bit arithmetic the Z80 way.

[http://www.z80.info/zip/zaks_book.pdf](http://www.z80.info/zip/zaks_book.pdf)

<comment><USER17> Rodnay Zaks is a name I remember very well from my Spectrum-days. I have a small collection of Z80-books which I've carried around, across countries, for the past 30 years.

I should go dig out an emulator soon! (I usually have a game or two of "Chaos: The Battle of Wizards" every six months or so.)

</comment></comment><comment><USER18> I would have appreciated some historical context for the z80 in this post. 8,500 transistors (equiv to ~2800 nand gates in depletion-load nmos logic * ) and not really designed to be a compiler target. I'd say the z80 is pretty impressive - but certainly with quirks.

I would have enjoyed that kind of framing much more than "lol the z80 sux!"

* Not saying the z80 was implemented with all nand, just providing the figure as a reference.

<comment><USER19> While that's 100% true and Z-80's design has a legacy explanation, HOWEVER freed of the legacy requirement, there's no technical reasons why Zilog couldn't have created a much better compiler target.

</comment></comment><comment><USER20> Like any 8-bit CPU, the Z80 had plenty of coding optimisations you soon learned. First one that came to mind reading this: instead of ld bc,4; ldir, it's faster just to do ldi; ldi; ldi; ldi.

There's also a set of "alternate registers" you could swap in with exx, which sometimes enabled faster arithmetic without hitting memory.

<comment><USER16> Yep. The trade off is that takes 3 more bytes but it's a great example of the thinking that went into writing 'tight' code for these processors. You're doing a loop unroll for speed and taking up more space, depending on what evil trick you're up to (e.g. hiding code inside a 128 byte unused spot in the BDOS) one might be better than the other.

</comment></comment><comment><USER21> This article brought back so many memories!

My first job out of college was writing z80 assembly language at Cromemco. Later we ported everything to the 68000. We didn't write anything in a higher level language because it was too slow. In fact the entire CDOS and Cromix OSs were written by a single person. He originally wrote everything in c - <USER2> when he ran it was so slow. He then rewrote everything directly in z80 assembly language and kept the c code as comments. Raw c code were the only comments in the code.

I wrote the graphics drivers for screen and printer and a wysiwyg word processor. There were no floating point processors. All math was in the registers (as stated in the article. You can still render a lot of graphics by converting your renderer to additions and multiplication by 2 (register shift left and right). I was happy to find years later that code that I derived to render circles and arcs using only 1 bit step and multiplication by 2 was also derived by someone else and published in graphics books. You live within limitations when that is your only option.

</comment><comment><USER22> I learned Z80 through the Sinclair stable but did play around with the 6502 and found I much preferred the Z80 way of working.

One notable thing here is they are writing a code generator and not actually programming in assembly. As a result their modules need to be more general purpose than if directly programming.

<comment><USER23> Same experience here. Came from a C64 (6202) to a CPC (Z80) in the 80s and the Z80 felt much more powerful and expressive with its instruction set and registers - also the instruction set of the Z80 felt more logical and planned.

<comment><USER24> Indeed it felt that way, but in practice the 6502's indirect addressing gives you 128 16-bit registers compared to the z80's 5+3 (hl,de,bc,ix,iy,hl',de',bc') which is a winner for code generation and macro programming.

<comment><USER23> No longer an expert in Z80 - and perhaps I never was as much of my assembler career was Amiga 68k - but didn't the Z80 also have indirect adressing?

<comment><USER24> No[0]. To read a byte through a pointer at IX, you have to:

        LD L,(IX+0)
        LD H,(IX+1)
        LD A,(HL)

On the 6502, you can do that in one instruction[0] if your X or Y registers are zero (and more often than not, you can use the indexed-indirect or indirect-indexed to save even more instructions):

         LDA ($40,X) ; if X == 0, and $40 is your pointer.

[0] [https://8bitnotes.com/2017/05/z80-addressing- modes/](https://8bitnotes.com/2017/05/z80-addressing-modes/)

[1] [http://www.obelisk.me.uk/6502/addressing.html](http://www.obelisk.me.uk/6502/addressing.html)

<comment><USER22> From memory the IX and IY instructions took a lot of clock cycles and I avoided them unless there was a really good reason to use them.

I've just had a quick look at an instruction cycle table and it seems that without indexing they took 4 cycles more than HL then with an index that increased to 12 more.

Ref from search returning [http://www.z80.info/z80time.txt](http://www.z80.info/z80time.txt)

</comment></comment></comment></comment></comment></comment><comment><USER25> FWIW I learnt to program Z80 assembler using the MicroBee personal computer:

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

That was during my schooling years of 10, 11 and 12 prior to going on to study engineering.

While studying engineering, I then got to work with 6502 assembler and while I have no doubt that earlier Z80 experience help greatly, I still remember thinking, writing assembler for the Z80 seemed to be so much easier than coding for the 6502.

</comment><comment><USER26> I also seem to remember (I programmed this one in the late 80s, back when my memory was good) that overflowing the 16 bit register did not set the proper flags.

Still, compared to the 6502, this one had lots of comfort.

</comment><comment><USER27> > And only A can be directly written to or from memory

I think the author might to write that only A can be indirectly written to or from memory but even that isn't correct as demonstrated by the code bits that retrieve and store from and to ram @HL (and IY/IX+blah). The 8080 was able to directly read and write HL. The Z80 could do it for IX, IY, and IIRC BC and DE too.

</comment><comment><USER28> I once implemented a [partial] Z80 emulator. It is a fantastic learning project, especially if you haven't had to touch a lot of assembly in the past. Even back when I did this, there were a plethora of resources on how to emulate the Z80.

</comment><comment><USER29> This is a nice read for someone who has just started to learning GB ASM, I know the processor in the game boy isn't exactly a Z80 (or an 8080) but it's quite similar.

<comment><USER30> I would recommend _Z80 Assember In 28 Days_ instead

[http://tutorials.eeems.ca/](http://tutorials.eeems.ca/)

</comment></comment><comment><USER31> Font fail: I kept reading 3op as 30p and was wondering what some of this meant. 3-op would be clearer.

</comment><comment><USER32> I'd say performance was of secondary importance when making it easy to program assembly and silicon real estate were more important factors.

</comment><comment><USER33> Re-inventing the wheel, son? Z80 had CP/M Turbo Pascal with floating point arithmetics. According to Byte-magazine, it left burn marks on the table, because it was "lightning fast"

<comment><USER34> The z80 version only supported recursion if it was specifically enabled so I suspect it tended use fixed locations for variables. Z80 support for a traditional stack frame for recursion isn't very good (although IX,IY with offsets could work).

<comment><USER10> I'd guess that it used the old times trick of saving the return address by modifying the code of the called subroutine. A recursive call would then overwrite the primary callers return address.</comment></comment></comment>


Ask HN: UX design materials for line of business applications? - <AUTHOR>

Can anyone recommend UX design materials relevant for data-driven web applications?
I'm currently working on a line of business application.
Users will be performing the same tasks repeatedly, inputting and reviewing a lot of data to get their job done. They will spend their entire working day using this application. It's usage is closer to something like Excel than a traditional form/wizard based workflow.
Speed of review and input are obviously really important, and I can assume that users will become familiar with it (although learnability is very important).
Most UX materials I've come across are for consumer web applications or tools. The user isn't expected to sit in the application all day and use it for everything. Additionally, they focus more on form-based or workflow tasks.
I know all of the principles are the same but I'd love examples of LOB web applications that are a pleasure to use. <comment><USER2> Hi, UX designer here, which I came to via usability and Jef Raskin's _The Humane Interface._

You don't want to look for modern UX materials.

You want to look for older "usability" and "human-computer interface" (HCI) materials. 1970's and 1980's-era.

Classical usability and HCI, and the tools and practices that came out of those fields, were entirely about line-of-business applications, because you had an 80x25 text-only green screen and no graphics and no pointer and the entire purpose of a computer was to make the user more efficient.

This is the route Jef Raskin pursues in _The Humane Interface._ He talks about basic measures of efficiency, things like GOMS and information theory, and how to apply them to UIs.

The example he uses is an interactive thermometer. You're a lab assistant, and a scientist calls out temperatures to you and you need to yell back the conversion as fast as possible. What is the minimum amount of input such an application needs before it can give you the answer? And he works through all the possible examples with you in that chapter.

I'd pick up his book, and then look for all the things he references in the text and the bibliography, to start.

Feel free to contact me if you have questions.

<comment><AUTHOR> Thanks, I'll be sure to check out _The Humane Interface_.</comment></comment>


Seeking Beta Testers and Feedback - <AUTHOR>

I need beta testers and feedback to give me validation about this idea suggestions about what more needs to be done. mysimplecircle.com is like an address book for the 21st century, everyone maintains their own information instead of you maintaining everyone else's information; which ends up being out of sync when they move or change phone numbers. You add your personal information, address, phone, email, and web links of sites you are on and you share the information with the people that you want to see; this can either by group or on an individual basis. Some information you might want to only share with your family and some with friends and you can choose what information you want to share. It can also be any type of information also that you want to share. You can also create groups with preset permissions or set permissions by the individual. There is also a public group that you can add yourself into and share some information, but of course minimal amount, maybe just enough for someone to find you and ask to connect with you. You can show hobbies, professional interests, anything. People might want to connect with you by different criteria if you're in the public group, by hobby or different interests. If you don't want to be in the public directory, you can send email invites for people to join you on mysimplecircle. You changed your phone number? Just change it in mysimplecircle and the people that have my simple circle accounts will see that reflected automatically.  Join a new site? Update that in mysimplecircle.com  and share the information to the people that you would like to join you. <comment><USER2> I dont like the name for it but it looks to be a great idea</comment>