Stopping Malware Distribution at the Source - <AUTHOR> http://blog.malwarebytes.org/intelligence/2012/05/stopping-malware-distribution-at-the-source/

<comment><USER2> I'd love to know how often false positives occur when blacklisting sites, and how website owners can go about appealing.

<comment><USER3> False positives are extremely rare- every website is reviewed by a human being before being added. The bigger issue (which was addressed a bit in the post) is when we have to block something that isn't meant to be malicious, such as a hacked site. Obviously people want to be delisted as quickly as possible.

When a website is cleaned up we'll typically notice that ourselves, but if not there's a place on our forums dedicated to false positives and our support team knows how to handle the requests. When a website is genuinely clean it's generally delisted in the next update, which is often within a couple of hours.</comment></comment>


Ask HN: Best way to stream video from an event? - <AUTHOR>

I'm planning a wedding the end of this year, and have relatives and friends that want to watch it from around the world. I'd like to stream it online, but Ustream.tv and Justin.tv both don't really seem like the best options. Is there anything else you'd recommend, preferably something that could be password protected, ad-free, and not $99/month. <comment><USER2> Livestream.com starts at $45/mo and seems pretty easy to set up.

<http://new.livestream.com/broadcast-live/pricing-plans>

<comment><AUTHOR> Ah, neat. Though the new account doesn't allow video privacy or embedding, and I really wanted both of those options. Hmm...

</comment></comment><comment><USER3> Google Hangouts

<comment><AUTHOR> Ahh, true. How'd I forget about that?</comment></comment>


AWS Elastic Load Balancing adds Support for Proxy Protocol - <AUTHOR> http://aws.typepad.com/aws/2013/07/elastic-load-balancing-adds-support-for-proxy-protocol.html

<comment><USER2> Does anyone do a good blog on the technical work behind AWS / other cloud services. I have found my "works when all servers in the same rack" mentality has come to trip me up in the cloud - and yet I do not have the time to experiment and probe every new feature.

I guess I am looking for the Uncle Bob of the cloud networking world.

Edit: not interested in three command lines to install Elastic FooBar, but how the FooBar routes, the impact on latency, the impact on application design - you know the meaty stuff :-)</comment>


SSH Agent Explained - <AUTHOR> https://smallstep.com/blog/ssh-agent-explained/ <comment><USER3> Thanks for this. Wanted to put in a pitch for Dima Kogan's more-secure way of doing ssh-agent forwarding: [https://github.com/StanfordSNR/guardian- agent](https://github.com/StanfordSNR/guardian-agent)

It works with SSH and Mosh. The basic idea is that before agreeing to a request, the principal or their agent should know (a) what machine is asking, (b) what remote machine they want to connect to, and (c) what command line they want to run on the principal's behalf. And the principal's authorization should then be limited to that context.

The ssh-agent protocol doesn't give the agent _any_ of that information; it's really just intended for local SSH-like processes to ask "please sign this blob so I can connect somewhere" without them having to see the plaintext private key. Forwarding that to untrusted remote machines isn't ideal.

It turns out an agent can get access to this information and limit the scope of authorization in a mostly[1] backwards-compatible way, which is how guardian-agent works, but imo it would be preferable if a future version of the SSH protocol were designed more expressly for secure agent forwarding.

[1] For (c), the remote server has to be OpenSSH because guardian-agent relies on a nonstandard extension.

<comment><USER4> YES. It would be so easy for OpenSSH to fix agent forwarding. Just need to limit authority and/or ask for consent for a particular action.

<comment><USER5> You can configure ssh-agent to ask for confirmation if you set the `-c` flag in ssh-add or by setting `AddKeysToAgent` to `confirm` in your ssh config [1].

Once set, authentication will require confirmation via a GUI dialog provided by the ssh-askpass command. However, it does not mention the command or process requesting for authentication.

It works great on Linux, but I couldn't get it to work on macOS with the system keychain.

[1] [https://man.openbsd.org/ssh_config.5#AddKeysToAgent](https://man.openbsd.org/ssh_config.5#AddKeysToAgent)

<comment><USER4> Recent macOS versions don't have `ssh-askpass`, and it's weirdly hard to add one. Since agent confirmation depends on askpass, I don't think there's an easy way to get this work on macOS.

Aside from the missing context you mentioned, the other bigger problem with this approach is that agent confirmation is all-or-nothing: it turns on confirmation for local SSH connections in addition to forwarded connections. If you're using SSH a lot, having to confirm _every_ connection is very annoying.

</comment></comment></comment></comment><comment><USER6> One thing I like to do with the SSH Agent is also forward my X.509 certificates by adding new opcodes to the SSH Agent protocol, then you can do stuff like PKCS#11 on the remote side with your local smartcard. [0]

This gives you, among other things, passwordless but authenticated "sudo" capability (which is actually required by the DOD, though nobody does it).

[0] [http://cackey.rkeene.org/fossil/artifact/0d0e90bbfdee672c?ln...](http://cackey.rkeene.org/fossil/artifact/0d0e90bbfdee672c?ln=296-312%20481-482%20561-563%20573-576)

<comment><USER7> Are you aware of any hardware tokens that support PKCS#11 and can be implemented affordably at small scale? The only ones I've found are Yubikey, but Yubikey's other protocols (OTP, U2F) are a lot simpler to implement, so I've never tried.

At one point I bought a few literal smart cards and a USB reader, but not being an enterprise customer of any of the vendors, couldn't find the necessary drivers / passwords to get them working with PKCS#11.

<comment><USER8> It's not 'simple', but it's definitely doable with Yubikey: [https://developers.yubico.com/PIV/Guides/SSH_with_PIV_and_PK...](https://developers.yubico.com/PIV/Guides/SSH_with_PIV_and_PKCS11.html)

I've used it on macOS to use a PIV cert on a yubikey to ssh to remote linux servers. I have NOT used it to ssh-agent chain through, jump-box style though.

<comment><USER7> If you're already bound to Yubikey, though, any advantage to PKCS#11 over OTP?

Theoretically it's an open standard, but there seems to be only one real vendor.

<comment><USER9> PKCS#11 is extremely versatile, with some configuration you can use Yubikey PIV X.509 keys to authenticate SSH sessions by passing the necessary pkcs11 lib to ssh with the -I flag. PKCS#11 isolates the key signing from the PC by doing any private key computation operations on the secure element, this prevents leakage of the private key by traditional means.

Browser TLS client authentication is also possible with some minimal initial setup of your browser of choice. You can use openssl with a pkcs11 engine for any X.509 operations you might think of (e.g. PKI, S/MIME email signing, etc.)—technically you could use the PIV applet to store web server TLS keys and have Nginx use those through OpenSSL via the pkcs11 engine, though it would probably slow down handshaking as the throughput and signing speed of a Yubikey is orders of magnitude slower than any modern general purpose CPU.

Many people don't know that Yubikeys also run a OpenPGP card applet for storing up to 3 key pairs. With the ssh option of gpg-agent it can also be used for SSH authentication just like ssh-agent.

I use this in combination with a Yubikey configuration setting requiring all GPG sign operations to be confirmed within 10 seconds by pressing the capacitive touch button on my YK4 nano (LED blinks during this time to prompt). This way I can safely enable agent forwarding globally as all SSH session authentication requires physical interaction to confirm (provided you don't have any file-based keys in the same agent which are still vulnerable to usage without your knowledge via this functionality).

<comment><USER8> I use the gpg-agent option as well, but hate it (GPG makes me feel icky). That is not, as I understand it, using an X.509 key for authentication though. Which is what I'd like (ssh-agent forward an X.509 based auth mechanism - <USER2> remote PKCS#11 over that agent connection, so the key stays on my yubi, and I only need CA certs on the remote hosts.

<comment><USER6> This is exactly what I do -- I posted some links to both the SSH Agent (well, the ChromeOS version -- I've got C versions as well) and the PKCS#11 module which talks to the SSH Agent. So on a remote system I can do things like sign files using PKCS#11 and passwordless sudo using pam_pkcs11.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> I regularly ssh into boxes with varying IPs. Something like "ssh -i <key> <user>@<ip>". Every time I want to scp a file, I quit the ssh session, press UP, modify the ssh command into an scp one, execute then restore the ssh session. It's slow and annoying.

Does anyone know of a way to use scp without hassle, once ssh session is established?

<comment><USER11> You can setup an `~/.ssh/config` file to make it easier:

      Host *
       ControlMaster auto
       ControlPath ~/.ssh/ssh_mux_%h_%p_%r
      Host host1
       HostName 188.8.131.52
       LocalForward 45432 db.internal.net:5432
       User user1
      Host host2
       HostName host2.whatever.com
       LocalForward 46432 db2.internal.net:5432
       User user2

This way you can now scp/ssh to firstname.lastname@example.com with just this:

      scp file host1:
      ssh host1

It also setups up port forwarding. In that case I can connect a postgresql client to localhost 45432 and it'll forward (assuming the ssh host has network access to it) the tcp connection to the host db.internal.net . I do this to use GUI SQL clients to our back-end DB.

The Control options setup ssh multiplexing. If you ssh into a host, subsequent connections piggy-back off of the initial connection. This is useful if you have 2fa and don't want to do 2 factor for every connection.

There's much more you can do: [https://linux.die.net/man/5/ssh_config](https://linux.die.net/man/5/ssh_config)

</comment></comment><comment><USER12> Something that's skimmed over in the article but not addressed is: if the key pair isn't used for encryption, then how are session keys protected?

The answer is: using the server's public key which is transmitted to client when establishing the connection.

But then it's trivial to perform a person-in-the-middle attack and both observe and manipulate the plain text data by sending the client the attacker's public key.

That's why it's crucial to retrieve host keys via secure channels and explicitly whitelist them on clients.

<comment><USER13> "Protected" is an odd word to choose here because session keys are agreed long before we know who we're talking to.

The approach of SSH (like modern TLS) is to create a secure channel between two participants and only _then_ authenticate one or both participants by binding credentials to this secure channel.

The article gets that upside down, which is understandable because most people seem to imagine that it'd be essential to figure out who you're talking to first and only then encrypt things, but actually the opposite is better.

If you do Trust On First Use as many SSH users do, then you're correct that bad guys can interpose on that first connection if they happen to get lucky - but that's because they can authenticate as the "correct" server by presenting their own public key since you have no idea what the correct one looks like.

</comment></comment><comment><USER14> The author states:

>"Later in the handshake process, a set of new, ephemeral and symmetric keys are generated and used to encrypt the SSH session traffic."

This isn't correct. After the TCP handshake, both systems agree on a session key by using the Diffie-Hellman key exchange. It's only after establishing a session key that user authentication takes place. There's a re-keying event but that's not part of the initial handshake and only happens later when some threshold(time or blocks) has been reached.

</comment><comment><USER15> The problem is that this breaks with use of tmux or similar tools since the scope of the SSH session is often smaller than the scope of my doing something on a machine. I've moved to just having a limited-use key with access to dev machines and git on the hard drive of each machine I use, which covers the cases I care about.

</comment><comment><USER16> I restart my computer pretty infrequently and everytime I do, I can't connect to various things. Inevitably I realize I didn't run ssh-add and after debugging, things work again once I have run this command. But I never really looked into the basics.

Thanks to this article I realize why I need to do that every time. :)

</comment><comment><USER17> SSH agent has other interesting possibilities too - it's an opaque channel from far server to your local machine, there must be various cool hacks you could do.

Years ago I wrote something to copy a file from a remote machine to my desktop over ssh-agent, worked well back then. [https://matt.ucc.asn.au/ssh- xfer/](https://matt.ucc.asn.au/ssh-xfer/)

</comment><comment> nana- Thank you for the well done intro and the security risk implied with agent forwarding. I'd be curious how to actually sign with the ssh-agent as you mentioned it. I'd also like to know if when OS at login automatically decrypts the default private key, for later use e.g. pushing to github, what would be the risk? Would there be another preferred behaviour?

</comment><comment><USER18> A pithy way of explaining all this: ssh-agent is exactly like a U2F token but implemented in software and using a slightly different protocol. But both do the same thing and serve the same purpose.

</comment><comment><USER19> What I am missing is why ever use ssh agent, including any re-enforced variations, if ProxyJump has none of the ssh agent issues and has little to no other disadvantages?

<comment><USER20> 1\. Agent was designed to solve a larger problem; ProxyJump to solve a specialised subset of that problem.

2\. The issues and disadvantages claimed with Agent Forwarding don't actually exist anymore: [https://news.ycombinator.com/item?id=22753590](https://news.ycombinator.com/item?id=22753590)

</comment></comment><comment><USER21> Cool, didn't know about -J! I have been using dodgy port forwarding all this time.

Now I just need to set up my Somu, and I will be living in 2020.

</comment><comment><USER22> Nit: The TL;DR is what is called an introduction.

<comment><USER23> Yeah that is an odd choice of words.

</comment></comment><comment> skookum-skuad I skip ssh-agent and use gpg-agent instead, which does both ssh and gpg agenting. Combined with monkeysphere, I store ssh private keys in gpg rather than in the encrypted ssh format.

<comment><USER24> I haven't heard about monkeysphere in years. Is it still being maintained?</comment></comment>


Michael Hawley of MIT's Media Lab has died - <AUTHOR> https://www.nytimes.com/2020/06/24/technology/michael-hawley-dead.html <comment><USER2> Loved this TedX talk that Michael gave a few years ago: [https://www.youtube.com/watch?v=SWR31GRu3_A](https://www.youtube.com/watch?v=SWR31GRu3_A)

"I really think the act of making and doing things is the salvation of our crumbling society. It has to be as someone commented over lunch -- creation is the opposite of destruction."

RIP

</comment><comment><USER3> I hadn't known that Hawley helped write Steve Jobs's inspiring 2005 Stanford commencement address:

[https://twitter.com/mjhawley/status/1173273979894796297?s=19](https://twitter.com/mjhawley/status/1173273979894796297?s=19)

<comment><USER4> You mean the 'death is great' speech?

<comment><USER5> Yeah, as I recall he said something like that death is good because it keeps ideas fresh, by leaving room for future generations to do their thing instead of humanity comprising the same old individuals all the time.

I don't think it's too unusual or bad for someone to have a brush with cancer and start getting philosophical about it in this way.

<comment><USER4> That's a status quo bias. Things had been happening like this for as long humanity had ever known.

People either ignored it, or folks like Steve Job decided to rationalize it.

It doesn't mean it's a good thing.

<comment><USER6> I assume you think it's wrong. Can you explain why immortality would be good for society?

Most of the transhumanists I've met don't bother justifying this belief beyond the selfish _" I don't want to die."_ Personally I think it would lead to the ossification of culture and an astronomically enormous class divide (particularly between those who can afford immortality and those who cannot.) I'm not eager to live in a society where the ultra-billionaires like Steve Jobs can buy their way out of death, which thus-far, has been the great equalizer that even the _most_ wealthy cannot bribe forever.

<comment><USER4> _Most of the transhumanists I 've met don't bother justifying this belief beyond the selfish "I don't want to die."_

It isn't a selfish desire. Do you want your SO to die? Your parents? Think about anyone you ever care about.

 _Personally I think it would lead to the ossification of culture and an astronomically enormous class divide (particularly between those who can afford immortality and those who cannot.)_

Based on what? This society isn't the only way to organize society or the only way we ever live, assuming it is the kind of society where we get deep and rapid ossification.

Sure, immortality have its own problems, but can you say that the new problems are so undesirable that we should not even attempt to solve it?

 _I 'm not eager to live in a society where the ultra-billionaires like Steve Jobs can buy their way out of death, which thus-far, has been the great equalizer that even the most wealthy cannot bribe forever._

If that is the case, then it is a colossal failure for such a technology, since it only alleviated human suffering for a very handful of people.

Currently, our healthcare system is suffering from a massive demand on its capabilities due incredibly ill people being needed to be cared for.

Biomedical technology here, should be the great equalizer. Instead of being bankrupted by ultimately ineffective medical care, you now have more wealth to spend on things that's important to you, like living with your loved ones.

</comment></comment></comment></comment></comment></comment><comment><USER7> Always heartbreaking to see a parent eulogize or comment on their child's passing, no matter how old the child was.

<comment><USER8> I would have agreed with every part of your statement, until a few years ago. I attended the memorial service for the daughter of a retired Christian missionary. The mother's eulogy of her daughter was filled with hope and the expectation of life after death. Much to my surprise, it was far from heartbreaking.

</comment></comment><comment><USER9> Michael was interviewed by Susan Lammers in her "Programmers at work" (Microsoft Press, 1986). They had a very funny, insightful conversation about music, films and tech. Very sad news indeed. My condolences to the family.

</comment><comment><USER10> That's a tragedy.

Colon cancer is most often avoidable. All one needs to do is go for a colonoscopy by age 45. Heck, why not just start when you are 25? (I had a great friend die at age 32 from colon cancer).

So you get a colonoscopy every 5 years.

Every year you get the colon cancer marker poop test. It looks for bits of RNA I believe. Or maybe it's PCR. Maybe those are the same. I dunno.

Colon cancer typically grows slowly and the precursors are easily seen in the colonoscopy & the colon cancer poop test does a good job too.

<comment><USER11> > Heck, why not just start when you are 25?

The answer to that is almost certainly that balancing the pros and cons of preventive screenings is a surprisingly complicated science. Screenings can cause harms by causing unnecessary treatment of patients with false positive diagnoses. If you increase screening of patient groups with a very low incidence of something then you overwhelmingly will get more false positives.

It requires careful evaluation of the scientific evidence to design screening programs that do what they should do: Improve patient outcomes and not cause more harm than good.

<comment><USER12> "More harm than good" cannot be assessed objectively. How could you possibly weigh "one extra death" against "ten unnecessary treatments"?

It has to be an individual decision. Give me the false positive rate and the harm of an unnecessary treatment and I'll weigh that against the risk of my premature death.

<comment><USER13> I rarely downvote, but I when I do, I always try to leave an explanation. I downvoted this post because you made a claim with great confidence, despite it being clear you don't know how medical research works.

> "More harm than good" cannot be assessed objectively. How could you possibly > weigh "one extra death" against "ten unnecessary treatments"?

Well, a very simple way would be to see how many deaths are caused by those ten unnecessary treatments. If those ten unnecessary treatments cause two deaths, I think the outcome is fairly clear.

More specifically, you wouldn't assess this in terms of "deaths" because 100% of people die. Instead, you'd study this in terms of units of time alive, with a probability distribution and a quality factor applied. If a treatment reduces pain and but causes blindness, pain and blindness both correspond to quality factors.

The quality factors, right now _are_ generally treated as subjective and left to the patient as you suggest, but this is largely because we haven't gathered enough evidence for a general theory of quality of life based on health factors. Your claim that this "cannot be assessed objectively" is very much not in evidence--a great many scientists _are_ assessing it objectively, looking at happiness, life satisfaction, satisfaction with care, societal effects, etc.

There is an entire, mature field of study built around objectively assessing the thing you are claiming cannot be objectively assessed. Hundreds of billions of dollars are invested in the idea that this can be objectively assessed. You might have some criticism of medical research, but throwing out a claim like "this cannot be assessed objectively" with no evidence when millions of people and billions of dollars are invested in the opposite, sounds an awful lot like you aren't aware that strong counterarguments to your point exist which need to be addressed if you make such a claim. This is further supported by you talking about "deaths" when in fact that's not really the metric people use for assessing interventions.

Source: worked a at a company that did medical study data warehousing.

In a more general sense, I would caution you that just because _you_ can't assess something objectively doesn't mean it cannot be assessed objectively.

<comment><USER12> > If those ten unnecessary treatments cause two deaths, I think the outcome is > fairly clear.

No, it isn't. Deaths are not fungible. My life is not someone else's life. If I get a diagnosis, there is _always_ a chance that it is wrong, that the treatment will kill or injure me, and so on. That doesn't mean I shouldn't get a diagnosis. I'm the person to make the decision here, I can always choose not to get a diagnosis, or to ignore it.

> More specifically, you wouldn't assess this in terms of "deaths" because > 100% of people die. Instead, you'd study this in terms of units of time > alive, with a probability distribution and a quality factor applied. If a > treatment reduces pain and but causes blindness, pain and blindness both > correspond to quality factors.

Again, this can not be objectively assessed. You can not put a number on how bad (risk of) blindness versus pain is for an individual.

> There is an entire, mature field of study built around objectively assessing > the thing you are claiming cannot be objectively assessed. Hundreds of > billions of dollars are invested in the idea that this can be objectively > assessed.

Just because something can, by simple reasoning, not be done objectively, doesn't mean it can not be done at all. Of course you can "objectively" add up a bunch of numbers and say that this represents the best course of action by some arbitrary metric. That doesn't mean it is the best course of action for the individual. See:

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

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

> In a more general sense, I would caution you that just because you can't > assess something objectively doesn't mean it cannot be assessed objectively.

It should stand to reason that no one can assess something objectively that is _inherently_ subjective, like my own value perception of my life and (risk) of death.

<comment><USER13> > > If those ten unnecessary treatments cause two deaths, I think the outcome > is fairly clear.

> No, it isn't. Deaths are not fungible. My life is not someone else's life. > If I get a diagnosis, there is always a chance that it is wrong, that the > treatment will kill or injure me, and so on.

Yes, and we can objectively measure what those chances are. Also don't forget, the process of diagnosis often also has consequences. Some percentage of people die on the table during surgical biopsies, for example.

> That doesn't mean I shouldn't get a diagnosis. I'm the person to make the > decision here, I can always choose not to get a diagnosis, or to ignore it.

Sure, if you wish to ignore all objective evidence when making life-and-death decisions for yourself as a way of showing off just how _gosh-darn free_ you are, that's your prerogative.

> It should stand to reason that no one can assess something objectively that > is inherently subjective, like my own value perception of my life and (risk) > of death.

I'm not sure how you've concluded that your perceptions cannot be objectively measured.

<comment><USER12> > Yes, and we can objectively measure what those chances are.

That's not being questioned. You're missing the point.

Let's say you have cancer: You statistically have a 10% chance of surviving if you do treatment, but it will make your remaining time worse, no matter what. What do you do? Delegate your decision to some abstract scoring system? Of course not. It's a personal decision, influenced by all the variables in your life.

As matter of fact, our system is set up to endorse more treatments in order to limit liabilities. How are you going to factor that one in? It has nothing to do with you and everything to do with the people treating you.

> Sure, if you wish to ignore all objective evidence when making life-and- > death decisions for yourself as a way of showing off just how gosh-darn free > you are, that's your prerogative.

Choosing to get a screening early is probably about as risky as riding a bicycle to work. What if the average person really likes riding a bike so much that it's worth the risk? Shouldn't you also absolutely ride a bike? Of course not. You should ride the bike if _you_ like to.

> I'm not sure how you've concluded that your perceptions cannot be > objectively measured.

Can my perception, which _by definition_ is subjective, be measured objectively, by some technology, at least in theory? Perhaps.

Practically speaking, is it going to be measured in this context? Am I going to get a prediction on how I personally will feel when choosing one thing over another? No.

<comment><USER13> > Can my perception, which by definition is subjective, be measured > objectively, by some technology, at least in theory? Perhaps.

If by "some technology" you mean "your doctor asking you what your perception is", sure.

Yes, patients lie, which is why there's a whole field of study around when and why patients lie, and detecting that.

> Practically speaking, is it going to be measured in this context? Am I going > to get a prediction on how I personally will feel when choosing one thing > over another? No.

 _Yes._ Do your really think you're the first person in hundreds of years of medicine to think, "Hey, maybe we should personalize treatment based on what patients want."?

This is a science that is still far from mature, and we're a long way from being able to make accurate predictions in every situation, but at this point we can definitely predict patient satisfaction with a high degree of certainty for common cases, _based on what the patient says they value_.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Hadn't ever heard of him before today, but now I want to know more about his work.

</comment><comment><USER15> Wow, such accomplishments in wildly different fields!!

</comment><comment><USER16> Fuck colon cancer.</comment>


Show HN: Por Favor - Favors between friends - <AUTHOR> http://porfavorapp.com/

<comment><USER3> If you're asking a friend for a last minute favour I think it's only good manners to at least bother to phone them about it. I also find the notion of tracking who'd done favours for whom rather awkward.

A favour is a personal request from a friend, I can't see this is an area that needs to be made more efficient...

<comment><AUTHOR> For me, it depends how big the favour is. If it's to pick someone up from the airport, it should definitely be a phonecall.

Por Favor aims to fill the space where it's a small favour, like turning on the oven at a certain time or taking out the bins. Things that aren't too much of an inconvenience but are also easily forgotten.

You mention tracking favours, that's definitely not what it's about. It's about remembering to do things you said you would, not about keeping score.

<comment><USER4> I don't like the idea of turning favours into a currency.

<comment><AUTHOR> I explicitly said that it's not about keeping track of who's done whom a favour. I'd even say that each day, any old favours get reset and hidden from view.

<comment><USER3> >> Swap walking the dog for a lift to the airport, and keep track of who owes you a favor.

This is the copy that's making people think along those lines. If it's sending the wrong message then this is the bit I'd change.

<comment><AUTHOR> Ah, my mistake. I have no idea how that managed to sneak onto the site. I'll get it changed soon.

@ollysb, @nodata: Sorry about that. I was honestly confused why people thought it was about keeping track and kept bringing it up when I'd said it wasn't. Now it all makes much more sense

</comment></comment></comment></comment></comment></comment><comment><USER5> I dont get this. I need a favour so I log into an app to ask for it - <USER2> than email, call my friend?

Secondly - I have to pay 1.99 before even asking for a favour - I take it my friend needs the app too?

Hey I want a favour - can you first download this app for £1.99 and then I'm going to send you a favour request.

I might be missing something - I can't see how this works in the real world.

<comment><AUTHOR> The £1.99 pricing is a work in process. It shows a different price randomly. We're trying to use click through data to find the optimal price.

Everyone needing the app is an issue that we know about, and we're trying to work out a way to solve the issue so people can try it out and see how it's beneficial before having to cough up some cash.

<comment><USER5> Good luck finding a solution!

I personally cant see myself using this with my friends.

However I would be interested in an app where there was a network of people around the world - who were willing to do 5-10 min favours for each other.

Can some one proof read this blog post? Can some one provide critical feedback on this song I just produced?

Could work by karma / ratio like torrents / split into interests etc

Maybe remove the price of the app and allow people to donate if they want to have someone / access to a network to help with their 5-10min tasks.

All the best :)

</comment></comment></comment><comment><USER6> I might be alone in this, but I absolutely hate landing pages like this. Your copy is absolutely correct: it IS a bait and switch.

I was ready to pay for the app to try it out, and now I can't give you money? I understand the data you could gain from this is valuable, but is it really worth it? I'm not going to throw my email address to you for an app I'm mildy interested in trying, especially after that.

<comment><AUTHOR> Sorry you feel that way :( Awesome that you were willing to give us a try though, thanks!

As for the data, it really is worth it for me. I don't have an iOS dev license, or know anything about mobile development particularly. If I'm going to dedicate weeks of my life to this, there needs to be at least enough interest for us to break even, or it's not worth it.

</comment></comment><comment><USER7> Nice idea but it seems strange to have this as a separate app, if I'm always forgetting about favours, I'm going to forget to load that app all the time and respond to items.

What about a layer that adds this to my current ecosystem (gmail todos?, RTM, twitter bot?)

I like the MVP of the site but I think you could do with a bit more information on how the app looks and works UI wise.

Good luck mate

<comment><AUTHOR> The idea is that you get a notification when they ask you to do something, then again when it's time to do it. You can load the app and see everything you've agreed to do, but you don't need to open it to use the app.

Adding a layer to your current ecosystem's definitely an option. Making sure people see any incoming alerts no matter what they're doing is what we're aiming for.

</comment></comment><comment><USER8> If there's a real market for this kind of app, that's great and I hope it does well. But it's not something I would ever use. (This is intended as feedback -- think of me as the type of user you'd have to work hard to win over. Maybe it's a problem you can solve somehow.)

I already have several communication channels available for contacting my friends, and the cost of adding another isn't worth the slight benefit I might get from an app that targets such a specific problem.

In general, instead of managing accounts on 50+ apps, I've reduced most things down to a few spreadsheets and shared documents on Google Docs. It takes so much less effort and mental energy when I can just keep track of everything, however roughly, all in one place.

So, ask yourself, what would make Por Favor the exception to this rule?

<comment><AUTHOR> Can your partner get the hang of your Google doc? How about your mum? Por Favor is about making things easy for everyone. Your partner types in 'pick up some eggs when you go to the shop' and chooses you as the recipient. When you get to the shop, your phone buzzes to remind you (using geofencing).

It is another communication channel, but it's one that's reserved only for the most important people, and only when they need something. If you get a message on it, you know it needs acting on, right now.

<comment><USER8> I understand what you are going for, but in this case, I think a more relevant question is "can my housemate/co-worker/sibling/mom get the hang of email or phone?," in which case the answer is certainly "yes."

If I need something done, and it's important enough that it can't wait, it's also probably important enough to just call someone, instead of relying on a potentially less reliable middle-man service that might only add to the confusion.

I'll note that the Google Docs are generally just for my own use, with the exception of expense tracking and very simple shared lists, which I've never had a problem getting others to contribute to. (My family and friends are pretty good when it comes to tech, so maybe I'm not exactly your target customer when it comes to that.)

I definitely understand where people might benefit from Por Favor over communication channels that are less optimized for this kind of problem, but again, it's not for me. (I guess, in short, it's just too specific.)

Maybe if I were back in college, where the housing situation tends to be close to a lot of other people... I could see a case where my entire suite or floor would subscribe to this service. But I digress...

<comment><AUTHOR> Por Favor's more than a phone call or a text though, it's also a set of reminders with an alarm to remind you to act on a task at a a specific point in time.

I'm obviously rubbish at the explaining what we do thing (though in my defence we're still working out the details)

I wasn't expecting to see many people on Hacker News saying that they'd adopt the system themselves, but I was hoping that some people would see the merit in it.

You hit the nail on the head about less optimised communication methods. Por Favor is primarily about asking people to do things, then reminding them when the time is right automatically. The time might be a specific time (e.g. 6pm), or when they're next in a certain area (geofencing) (or something else that we haven't thought of yet).

Based on feedback from HN, we're thinking about selling a "Family plan" or something like that, where it's a slightly higher fee, but you can share the service with X people. It's definitely about getting lots of people invested in the system, otherwise it's just another app on your home screen (or, hopefully on your home screen)

</comment></comment></comment></comment><comment><USER9> I'm not sure I understand this correctly. After buying the app and then asking someone for a favor - now they need to plunk down for the app to view the favor? I'm not sure they are going to want to do the favor at that point.

<comment><AUTHOR> We're still working on the app idea. Maybe it'll just be a website to start and you pay to send favours. We're in the ideas stage at the minute, and nothing's set in stone.

Do you think it's worth following up on the idea (ignoring implementation details)? Or does the implementation make the idea?

</comment></comment><comment><USER10> The website looks nice (but Lobster is a little overused at the moment).

Your idea is good, but not great, not £1.99 great.

If it were free, it'd be awesome, if it was 69p I could see a very very very small niche for it but what you're asking is that me and my friends each pay you £1.99 so that we have another way of nagging each other to get tasks done.

Ask yourselves "what value does this bring to people?".

Would be cool to try it out though! Maybe you could find a way of selling 5 licences at a time or something for £1.99, so that I get one and get 4 to give to friends?

<comment><AUTHOR> Thanks for the feedback. You actually landed on the most expensive price! There's a few different prices, displayed at random. We're trying to see what people will pay for the app.

69p is a little low, as we need to at least cover our costs and everything so far is pointing to the fact that it's a niche app, not widely adopted. If we could change that, 69p might work.

<comment><USER10> It's niche but also designed for more than a single person to use at any one time, and so you shouldn't think of the pricing as "per person" but rather "per team / group / family".

As an aside, what I'd find useful is an app that pipes together mine and my friends RTM or Todo.ly or Wunderlist to-do lists so that when I add a task it also updates their accounts (I assume this is possible with the RTM api).

Keep up the good work though. Have fun with it!

<comment><AUTHOR> Per family pricing is a decent idea. We'll have to take a look at that!

Someone else mentioned integrating with apps that they use every day, so we might take a look into the various other to do products and see of we can build on top of them

</comment></comment></comment></comment><comment><AUTHOR> Por Favor's a to do app with a bit of a difference. Instead of you adding tasks to it, it's populated by your friends + family.

A lot of the time, people ask for favours and I say "Yeah sure" and forget about it instantly. With Por Favor, I can say yes when they ask me, and it'll automatically remind me when the task needs doing.

<comment><USER11> If there's one feature a todo list shouldn't have, it's the ability for others to add things to it. That already exists and it's called email.

<comment><AUTHOR> Isn't email an outdated medium though? I get a _lot_ of email, and messages from family and friends might not get seen for 6 hours (or more). The better comparison here is a text message, but they can still get lost in the noise too.

Por Favor is about making things easy. You say 'yes I can do that' and it reminds you when it's time to act. Nothing more, nothing less.

<comment><USER12> > _Isn't email an outdated medium though?_

Outdated in what sense?

> _I get a lot of email, and messages from family and friends might not get > seen for 6 hours (or more)._

Why doesn't it get seen for 6 hours?

> _The better comparison here is a text message, but they can still get lost > in the noise too._

How are you reducing the noise? Imagine now, I have an e-mail client, a SMS client, a todo app, a txt app, 10 gaming apps that all have notifications for me to "do something", how is the issue being solved? My noise is still the same, all I've done is created (yet) another beacon for displaying signals.

ps - Hopefully, I'm not detracting you from your hard work. Trying to provide some honest feedback here that I'm hoping will help you.

<comment><USER13> _Why doesn't it get seen for 6 hours?_

Many people don't check their email regularly. I only check my personal email once a day in the evening. If I'm busy or on vacation it can often go several days between me checking my email.

That being said, I agree that I don't see what this adds. I already have email, SMS and phone calls. If you need an answer within a couple of days, email me. If you need an answer within a couple hours, text me. If you need an answer within a couple of minutes, call me. I don't really see where something else can fit in.

<comment><AUTHOR> It takes away the hassle of remembering to do things. If you call me at 3pm asking me to put the oven on at 4pm, either I 'm busy working and forget or you have to call me at 3:50pm to remind me again. Por Favor automates the reminder step.

</comment></comment></comment></comment></comment></comment><comment><USER14> I just want to mention that this is a brilliant name for the product. It's very clever and rememberable for what the app does.

<comment><AUTHOR> Thanks! :)</comment></comment>


Librem 5 dev kits are shipping - <AUTHOR> https://puri.sm/posts/2018-devkits-are-shipping/ <comment><USER2> Every time Purism is mentioned on HN there are always people chiming in with negativity around how it's not open or secure or free enough, based on some unachievable metric of those things and with an side dose of utopian fantasizing.

Buy one of these phones because you

\- Want a 'free' phone to exist in the future

\- Want an open source phone to exist in the future

\- Want a secure phone to exist in the future

It may not be up to your standards now, but without your support (money) it will never exist.

If you have the money to spend, then spend it. Consider it a donation to the cause.

<comment><USER3> I'm impressed and very much respectful of what the Purism folks are trying to achieve but I just don't think their business plan is viable as it is. As such I really don't really believe that getting a few geeks on HN to support the project will really make much of a difference. They need a much broader market share if they want to have a chance to survive in the long term and I don't see how they can get it. As it stands the only people who will consider buying this are principled FLOSS folks with a lot of disposable income. I doubt that's enough. It's not just about building the phone (which is already very difficult), it's also about maintaining the software and app ecosystem in the long term.

Windows Phones and countless other smartphone environments floundered over the years even though they were backed by behemoths. What chances does Purism have?

So while I have absolutely no hostility towards the project I just don't think it's worth donating money to what I consider to be a lost cause. I'd rather donate money to other Open Source projects who I think will make better use of it.

I would be very glad to be proven wrong however, the current smartphone ecosystem is an absolute nightmare if you value privacy and having control on your hardware. If it turns out that the Librem 5 is not dead on arrival like I presume it will be (assuming that it even manages to arrive in the first place) I'll definitely consider buying one.

<comment><USER4> The difference could be : a phone that you're not supposed to throw away after two years. Something that would be maintained over the long run. Lots of people would buy a phone that can last 5-7 years. I am one of them. My mother is one of them. My father too. Not everybody is fond enough of phones or tech to want to change often. If it runs apps and has a good camera, it's fine. A phone that lasts 5-7 years would also be good for the planet, and that's a bigger market share than FLOSS enthusiasts.

<comment><USER3> I agree with you on all counts but in order for the phone to be supported for a long time (both by Purism and by third parties) it needs to be reasonably successful. Otherwise nobody is going to even remember it existed two years from now, much less port and maintain apps for it.

That's my main problem really, I have Spotify, WhatsApp and a couple other closed-source applications on my smartphone that I need in order for said phone to be useful. If there are no ports or alternatives maintained on the Librem I'd just be buying a very expensive paperweight. And I don't think I'm a heavy app user compared to most of my friends who often have a couple social network apps, games etc...

Sibling comments mention that MS could probably make a profitable phone but they don't have the same objectives and I say that it's irrelevant. The problem is third parties and app supports. I need my phone to do more than calling and texting these days, I need decent driving directions, a multimedia player (ideally something that interfaces with Spotify, but I know that's asking for a lot), a chat application that can connect to WhatsApp (I won't convince all of my contacts to switch to Signal, Jabber or IRC) etc...

I need that stuff to be maintained and updated for at least a few years. And ideally after that I'd like to know that I can count on a Librem n+1 being available so that I won't have to change ecosystem once again.

I've bought a few open source/homebrew systems over the years, mainly handheld consoles to run emulators. It works but the software is often rather lackluster and very amateur looking. It's also generally maintained for a little while then the contributors move on to something else. It's fine for a toy emulator console, not so much for a smartphone.

The hardware is not the issue, the ecosystem is.

<comment><USER5> That's sort of the issue the OpenMoko faced. It was designed to be a device with long-lasting support - but support died quickly because so few people had one.

<comment><USER6> TBH community distros were pretty long lived (and let's be honest, those were the only ones that mattered). At least SHR was actively maintained to around 2012, with last generated image being from April 2013, and I seem to remember QtMoko being maintained even tad longer. IMO that wasn't bad for a device released in 2008, especially for today's standards.

</comment></comment></comment></comment></comment></comment><comment><USER7> Has anyone who pre-ordered the cancelled Librem 11 from Purism got their refund?

I put money down more than a year ago. They didn't meet their MoQ, and so offered refunds or applying it to another product. I chose a refund almost two months ago, and I still have not received it despite many follow ups and shifting deadlines.

I'm concerned that Purism may be having cash flow issues?

<comment><USER8> FWIW I cancelled a preorder (not the 11, the 15) and I got a full refund very quickly.

</comment></comment><comment><USER9> Is there any document where they describe how their focus on security shapes pureOS? I'm seeing stuff like bundling some add-ons for the browser, and kernel patches.

In my mind, securing users in 2018 means to have a decent password manager with an up-to-date browser, make sure that apps are sandboxed and prohibit the browser from accessing all my user's files. Do they tackle this?

<comment><USER10> Edit: Sorry, I realized you were only asking about the OS after making this post. Feel free to ignore.

I think it looks like an interesting project and will buy one. I especially like the hardware kill switches.

> _Here are some benefits and key differentiators of the Librem 5, the world's > first ever IP-native mobile handset and the only user-respecting mobile > phone product offering on the market:

\- Privacy protection by default, instead your profile and data being products sold to the highest bidder.

\- Does not use Android or iOS. The Librem 5 comes with the mobile version of our FSF-endorsed operating system PureOS by default, and is expected to be able to run most GNU+Linux distributions.

\- CPU separate from baseband, isolating the blackbox that the modem may represent and allowing us to seek hardware certification of the main board by the Free Software Foundation.

\- Hardware Kill Switches for camera, microphone, WiFi/Bluetooth, and baseband.

\- End-to-end encrypted decentralized communications via Matrix over the Internet.

-We also intend the Librem 5 to integrate with the Librem Key security token in the future._

Also see here: [https://forums.puri.sm/t/librem-5-final-decision-about- kill-...](https://forums.puri.sm/t/librem-5-final-decision-about-kill- switches/3021)

<comment><USER11> No worries, it's part of the whole story. I don't particularly see the point of kill switches when you trust the software.

I acknowledge the efforts in hardware integration they do. I'd love to see the Linux desktop being upgraded to Android's standards.

<comment><USER12> > I don't particularly see the point of kill switches when you trust the > software.

In my view it's two things: 1. It's defense in depth. No one person will ever be able to review every single line of code running their device, but anyone can crack open the case (and/or check the open schematics) and verify that flicking the switch kills the microphone. And 2. The baseband still has proprietary code running it that you can't verify so the only reasonable thing you can do to it is power it down.

</comment></comment></comment></comment><comment><USER13> Would be interested in some links to SDKs and/or style guides. As a developer, how do I get started writing my app to target the Librem 5?

Went through the website and many forums but haven't found any definitive.

<comment><USER14> > how do I get started writing my app to target the Librem 5?

For commandline applications all you need is to develop for GNU/Linux. It should work pretty fine on Librem 5 too. If you want to develop GUI applications see libhandy[0], a GTK+ widget library developed by Purism for Librem 5.

If you need to, you can get motivations from [https://gitlab.gnome.org/Teams/Design/app- mockups](https://gitlab.gnome.org/Teams/Design/app-mockups) and HIG guide for GNOME is available at [https://developer.gnome.org/hig/stable/](https://developer.gnome.org/hig/stable/)

[0] [https://source.puri.sm/Librem5/libhandy](https://source.puri.sm/Librem5/libhandy)

<comment><USER15> Btw, I wonder : I intend to use KDE on librem 5 (at least eventually, if it's not ready on phone release). Do you know if mixing GTK and QT apps on the system will be as easy as on desktop?

</comment></comment></comment><comment><USER16> I have one of these on the way.

The main surprise for me is they're shipping it without the lcd panel working.

They can control the backlight. But no video.

Now I'm participating in the gamble that can be made to function without rework, I'd at least like complete details, not "we are talking to the panel vendor".

<comment><USER17> That's why the support channels were setup. Also, there still isn't a lot of details to share in the first place. The problem comes down to sending the initalization codes to the panel, which for some reason is not working. The conversations continues. Now you're as up to date as the rest of the librem 5 team.

I didn't want to drop into overly technical detail as not everyone wants that. You are of course welcome to participate in the community forum that was setup to chat about the state of the dev kit.

<comment><USER16> One of the unusual and desirable things about this is your customers for the dev board will largely be very experienced... you acknowledge it in the letter you sent out.

What surprised me is until it's fixed, there's no certainty what the problem is. Eg, dsi lanes mixed up, polarity of dsi lane wired wrong, some semidocumented reset signal on the panel got forced to 0V or forced inactive but panel requires it strobed, psu to panel must come up in specific order, psu level or quality or wiring mismatch... there are many possible ways just from having no video it can be a hw rework issue to solve it. Of course dsi is also complex, it can easy be a sw-only config issue, or some combination.

It's not up to me as your paying customer to go ask on a 'support channel' why, it's up to you to explain the reasoning why you believe that's a software-only issue.

</comment></comment></comment><comment><USER18> They're still aiming for a first release of the phones in Spring 2019 (this is from the newsletter, not the blog post)

<comment><USER19> For anyone not in $DEFAULT hemisphere, I'm assuming this means Q2/March-ish 2019.

<comment><USER20> April as a target month was declared 2 or 3 months ago.

</comment></comment></comment><comment><USER21> I'm in love with the mission - but don't want to really have to switch ecosystems again (from Linux --> Apple --> PureOS). I love OSX - could I not do the same with OSX by tightening it down?

<comment><USER22> > I'm in love with the mission - but don't want to really have to switch > ecosystems again (from Linux --> Apple --> PureOS).

PureOS is Debian based linux operating system.[1]

> I love OSX - could I not do the same with OSX by tightening it down?

It depends entirely on how and who you trust. If you implicitly trust Apple and that their goal now (and in the future!) and that their team can vet all the code going in to the degree that no single or small group of developers there working in tandem could get a backdoor in place in either software or hardware, then I doubt there's a better choice given Apple's ability to design their own hardware and their complete control of the software stack.

If you would rather trust in a large distributed group of people having public access to view and vet the source which is public and believe their vested interest in keeping the system is the better choice for continues security, choose an open source system wide wide use.

1: [https://puri.sm/posts/what-is-pureos-and-how-is-it- built/](https://puri.sm/posts/what-is-pureos-and-how-is-it-built/)

<comment><USER23> Does that mean its running systemd? I thought that was generally frowned upon. I don't know enough to have end opinion myself but it seems like systemd was questionable especially for this type of endeavor.

<comment><USER24> The librem5 may as well be subtitled "The GNOME phone", I think it goes without saying that it will use systemd.

<comment><USER25> You are free to install any operating system on it that you like. Just like your desktop. We will probably also see 100% free android versions (like Replicant) to be released for this phone when it's out. But you could also install another GNU based Linux system of course, or just another DE.

<comment><USER24> Indeed, that's part of the value proposition for such a device.

However, it's obviously preferable to want/use what's being shipped on the device to all recipients.

In this libre-oriented space in particular, what users are likely to want as a priority is the ability to easily reproduce the bits shipped on the device from source, and be able to restore the device to a state no different than shipped from the factory using those self-reproduced bits. The freedom to run some hacked up half-baked alternative stuff they're technically free to install should they wish, is not the top priority.

A major component of the value conferred by this freedom is that those shipped, reproducible bits, contain a desirable foundation for the community to converge on and iterate from.

Telling people "you can install whatever you want" before even delivering is signaling "potentially unusable, controversial vaporware is shipping, community fragmentation ahead" to anyone paying attention.

I'm not particularly averse to systemd/GNOME, but I do fear that it's probably too immature an ecosystem for production mobile use and it's unnecessarily threatening the project's overall success.

It would have been more prudent to collaborate with the Jolla/Sailfish folks and ship basically a secure Nokia N9 successor but with an easily reproduced and flashed image, which the N9 lacked, while the GNOME community grinds away on getting their stack mobile-ready for a potential future device. I don't know if the licensing could have been hashed out to get the N9 stack fully available in reproducible form, but I'm inclined to assume that if there were components legally obstructed from such distribution, it probably was less work to reimplement them than build all the components needed for a GNOME phone.</comment></comment></comment></comment></comment></comment>


We Tried 8 Egg Substitutes for Baking and Found a Clear Winner - <AUTHOR> https://www.thekitchn.com/best-egg-substitutes-baking-23003895 <comment><USER2> TLDR

Rating: 10/10 1/4 cup carbonated water = 1 large egg

Rating: 9/10 2 tablespoons water + 2 teaspoons baking powder + 1 teaspoon vegetable oil = 1 large egg</comment>


One Way Japanese Drivers Are Polite - <AUTHOR> https://www.kotaku.com.au/2018/02/one-way-japanese-drivers-are-polite/ <comment><USER2> This isn't unique to Japan, in fact it's very common in Europe. This creates an interesting question — where did this social interaction first appear?</comment>


Understanding "randomness" - <AUTHOR> http://stackoverflow.com/questions/3956478 <comment><USER2> The top answer is an excellent demonstration of the central limit theorem and why the question's assumption that rand() and rand() * rand() are "equally random" is wrong.

The central limit theorem is one of the most initially surprising and fascinating things in all of math. Please support the central limit theorem by learning about it on Wikipedia, or wherever fine theorems are discussed.

Edit to add: If you haven't learned about this enough to know that implementing systems that depend on randomness, like cryptographic systems, is really, really difficult and error-prone, please just use a standard library instead.

It's the most counter-intuitive thing in the world that rand() * rand() is less secure than rand(); shouldn't it be twice as unpredictable? But it's not. Cryptography and related fields are rife with counter-intuitive gotchas.

<comment><USER3> My favorite quote from that page:

 _Don't take Statistics and Intuition to the same party ...._

<comment><USER4> It's my favorite quote too, but intuitions, unlike probability theory, can be changed.

</comment></comment></comment><comment><USER5> Anyone interested in understanding randomness should endeavor to understand what probability actually is. As a Bayesian I think that probability is not a property of any object but rather a subjective measure of your own confidence, your own knowledge. To say something is random is just to say that you lack enough information to predict any one outcome over another. But everything could be predicted perfectly (barring quantum events) with enough knowledge. If I knew that a coin was weighted to favor heads my degree of belief in the outcome of the toss would become stronger. The probability for me would become, say, 75% heads, while for the observer without such knowledge it would be 50%.

Here's a good article on probability theory for those interested: <http://plato.stanford.edu/entries/probability-interpret/>

</comment><comment><USER6> >@Thilo No, it doesn't... ? If a random variable is uniformly distributed in the range (0,1), and you sample the variable n times, and take the sum, it will just be uniformly distributed in the range (0,n). – user359996 12 hours ago

It's so easy to sound certain and be wildly wrong.

</comment><comment><USER7> Why has nobody in this thread or the stack overflow thread linked to the Wikipedia page on entropy?

<http://en.wikipedia.org/wiki/Entropy_(information_theory)>

<comment><USER8> This is because Shannon entropy is basically useless when it comes to proving anything about randomized algorithms or cryptography.

<comment><USER7> How is that related to the SO question? The post is asking about how to tell if one distribution is "more random" than another, which is what entropy is all about.

<comment><USER9> Consider a random number generator that produces integers between 0 and 15. Here's a really crappy algorithm:

1\. Start with a truly random seed between 0 and 15.

2\. Increment it each time to generate a random number, modulo 16.

Suppose you start at 11. Your sequence of random numbers will be 11, 12, 13, 14, 15, 1, 2, 3 ....

This is obviously not very random. But look at the entropy of it. All values between 0 and 15 are equally likely, so this will have the maximum possible entropy: 4 bits.

The problem here is that, for entropy to be an accurate measurement of information content, you have to assume that you're measuring independent identically distributed random variables. The outputs from a pseudo-random number generator are not independent.

<comment><USER7> If we are interested in a _sequence_ of pseudorandom numbers, then we should be talking about the _joint_ entropy of the sequence. But information theory is plenty capable of describing "how random" a sequence is.

The generator you are talking about is far from producing a uniform distribution (which would have maximum entropy) jointly over the n-dimensional hypercube that would represent a sequence of n draws from your generator, so it has less entropy and is thus "less random" than the distribution you'd get from n independent draws from a perfect rand().

<comment><USER9> You're right (have an upvote); I was warning more against rash misuse of the concept of entropy, which I see quite a bit.

</comment></comment></comment></comment></comment></comment><comment><USER10> More interesting to grasp is that even rand() * rand() / rand() is less evenly distributed than rand().

It does seem like it should be possible to remap the numbers onto an even distribution if you knew how uneven to expect it to be. That would probably lead to some loss of fidelity at the limits of accuracy of the variable, however.

</comment><comment><USER11> I like the comments about dice. With one die, an outcome of 4 or 2 is equally likely. With two dice, an outcome of 4 is three times more likely than 2.

So while one and two dice games are both random (as in unpredictable), only the one-die game has uniformly distributed outcomes.</comment>


Hendrix: Real-time correlation and alerting system for streaming data - <AUTHOR> https://github.com/Symantec/hendrix <comment><USER2> First thought: nice, somebody took their time to do something with monitoring; could be useful. Then I saw who wrote the thing: Symantec. And then I saw in what they wrote it: Java. And then I took few minutes to skim their documentation: way, way too complex architecture and deployment for these things, and too tied to one specific message router (Kafka).

To sum up: how about no.</comment>


WhatsApp Is Down - <AUTHOR> https://www.independent.co.uk/life-style/gadgets-and-tech/news/whatsapp-down-not-working-picture-voice-messages-photo-video-download-failed-a8986406.html <comment><USER2> governments testing their kill switches

</comment><comment> the-dude FB pictures and movies not loading.

<comment><USER3> Same for me.

<comment> the-dude Problem seems to have resolved here ( NL )</comment></comment></comment>


Ask HN: Rate my small budgeting web app - <AUTHOR>

I put http://ldv.heroku.com together to solve a personal problem, managing the money I've set aside for various purposes.<p>Any feedback is useful. Note that it's still a bit unpolished (built it in only a day or so). Is this app to small (feature-lacking) in your opinion? Is it useful to anyone besides myself? <comment><USER2> I have no idea what this does on first glance. The contrast between the font color and background is too low, so it's hard to read, and your screenshots are highly compressed so I can't read them either. If I was a random customer I'd click back before even bothering with the screencast.

Also, the name lowlydisparateventures doesn't really inspire confidence. Is that the name of the budgeting app or a different company?

Bottom line, you need to describe what this thing does in one easy-to-read sentence before expecting me to bother sitting through a 2-minute video.

<comment><USER3> It's hard to read

Also I don't want to have to sign up to get some benefit out of it.

Maybe have an open access version that doesn't save state and has a budge limit like $20, just so people can quickly get a feel for what it does. That could be complemented by the video

Doing > viewing

</comment></comment><comment><AUTHOR> Clickable link:

<http://ldv.heroku.com>

<comment><USER4> Change the colors and theme of your website. It is very difficult to concentrate with those color themes. Black based is good only for some of web applications. But typically when you use black background you should make fore colors more readable. As soon as I went to your web app, i immediately felt uncomfortable. just my 2c</comment></comment>


Can Humans Fall in Love with Bots? - <AUTHOR> http://www.newyorker.com/online/blogs/elements/2013/11/her-film-spike-jonze-can-humans-fall-in-love-with-bots.html

<comment><USER2> > Machines "can't process infinity," Spivack said. "Love, the experience of > being in love, is one of those infinity kinds of things. It's close to the > experience of God, if there is such a thing. Or like chocolate. And I don't > think software or machines can do that. I don't think they can ever do > that."

Groan. Dualism is stupid.</comment>


Bitcoin Sinks After Hackers Steal $65M from Exchange - <AUTHOR> http://www.bloomberg.com/news/articles/2016-08-03/bitcoin-plunges-after-hackers-breach-h-k-exchange-steal-coins <comment><USER2> Can someone who really knows this help fix my ignorance?

How does someone actually steal from an exchange?

As I understand most of the funds(80-90+%) are kept in cold storage. Was the exchange not following this "best practice"? Is this not a best practice?

The way the cash equities markets work is you make a trade to buy or sell shares and they get delivered in 3 days time. Why does a bitcoin exchange need to have any bitcoins at all in a wallet accessible to any machine connected to the internet? Could they not work in a manner like this?

Why not net all trades and do settlement at the end of the day. If people want to withdraw bitcoins batch the requests up until the end of the day and then you can have a person or software review all requests before they are put into a hot wallet and sent out.

I've written my fair share of risk systems over the past 15 years. I think I understand how to manage risk, and delaying transaction settlement is considered part of risk management. You can trade as fast as you want but the actual settlement, by design, lags trading to allow for errors to be caught.

<comment><USER3> Bitfinex used to keep BTC in cold storage, but replaced that system with segregated multi-sig (2 of 3) wallets for each user account, backed by BitGo. In that scenario BitGo held one key, and Bitfinex held 2 keys for each account (one online and one offline). Supposedly BitGo should have enforced some limits on withdrawals to prevent such events, but for some reason that was bypassed.

<comment><USER2> Sure, I think I understand that, and I appreciate your answer.

My question is why do you need any bitcoins at all in hot storage?

What's wrong with netting until the end of the day and then put the required amount of coins in a hot wallet to do settlement say 24 hours after a trade?

Wouldn't this cooling off period give software and risk managers a chance to find invalid transactions and keep funds from being stolen out of a hot wallet?

<comment><USER4> Bitfinex was required by US regulators to switch from cold storage to segregated per-user wallets. Something to do with margin requirements for commodities exchanges.

<comment><USER5> Correct. Here is the source: "CFTC Regulation Prevented Bitfinex From Using Cold Storage" [http://imgur.com/O46UNix](http://imgur.com/O46UNix)

<comment><USER3> Actually it is incorrect. Source - Zane Tackett (Director of Community and Product Development at Bitfinex): [https://np.reddit.com/r/BitcoinMarkets/comments/4vtv1m/bitfi...](https://np.reddit.com/r/BitcoinMarkets/comments/4vtv1m/bitfinex_down_due_to_bitcoin_security_breach/d62v468)

<comment><USER4> I think you are probably right, the CFTC is not going to mandate a specific technical approach. Still, an exchange could very well make a poor choice in an attempt to comply with regs whose intent is focused on something very different from the risks of wallet theft.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> Interesting: the thief is currently attempting to launder a fraction (1000 BTC, worth ~$550k) through a giveaway:

[https://www.reddit.com/r/Bitcoin/comments/4vykkr/1000_btc_gi...](https://www.reddit.com/r/Bitcoin/comments/4vykkr/1000_btc_giveaway_from_your_friend_rekcahxfb/)

[https://bitcointalk.org/index.php?topic=1574127.0](https://bitcointalk.org/index.php?topic=1574127.0)

He is sending the coins as we speak: [https://blockchain.info/address/1BfxSuxJqXuizBbTcP238JZY9DT4...](https://blockchain.info/address/1BfxSuxJqXuizBbTcP238JZY9DT4eqvzJG)

As a contingency, to plan for his possible arrest/death/etc, he signed a NLOCKTIME transaction that would automatically destroy these 1000 BTC in a week if no action is taken.

His handle "rekcahxfb" spells "bfxhacker" in reverse. No plans yet on what he will do with the remaining 118 500 BTC.

<comment><USER6> Just curious, how is he laundering them? Wouldn't he need to get clean bitcoin back in return?

<comment><USER7> The idea, I think, would be the analog of throwing thousands of dollars from a bank robbery into the street. The stolen bills can be identified by their serial numbers, but if law enforcement tries to crack down every time they see one of those bills pop up, the actual thief will be buried in the noise.

In Bitcoin land this is both more feasible and more complex at the same time -- it's very easy for a poorly planned version of this to make the thief no harder to identify, and even a well-executed version requires vigilance in the future to avoid betraying the identity of the thief vs. the identity of one of the giveaway recipients.

</comment></comment></comment><comment><USER8> From the article (emphasis mine):

> While trading was halted in all digital currencies, including ethereum, the > exchange said losses were limited only to bitcoin. It also said _U.S. dollar > deposits were not impacted_.

As someone standing on the crypto currency sidelines with a bag of popcorn, I feel like this movie has gone from cyber punk drama to a played out comedy where you already know all the jokes and punchlines.

Every time a company attempts any form of "hot" storage for Bitcoin this seems to happen. At this point, I'm convinced it's only a matter of "when" not "if" for anybody else doing it. People keep trying to find an intersection between security and convenience but the lines are parallel!

<comment><USER9> Real world banks get robbed every day. As long as the hot wallet is a small enough portion of the total funds (unfortunately not what happened here) it'll just be an occasional cost of doing business.

<comment><USER10> Real world banks are backed by the federal government, both in terms of the FDIC, and the FBI and broader DOJ. Robbing a bank is a federal offense, and that is frankly why "big heists" tends to be such great fiction. Mostly.

<comment><USER11> I'm pretty sure that stealing hundreds of thousands of dollars worth of a "thing", regardless of what that "thing" is, is a federal offense thanks to CFAA, if nothing else.

<comment><USER12> It depends. By design (for plausible deniability) the key is _not_ a password, it's a mathematical fact which can be independently discovered.

If you generated weak keys then it's not theft for me to guess/calculate them and allocate those coins to myself.

This is why BTC is described as proving the strength of hash functions, etc. If it was easy to cheat, someone would claim the public bug bounty by giving themselves all the coins. Because they haven't, we have a fairly good minimum bound on the difficulty.

<comment><USER13> > If it was easy to cheat, someone would claim the public bug bounty by giving > themselves all the coins.

But giving yourself all the coins means demonstrates that the system doesn't work conclusively, and guarantees that no one will accept the coins for goods and services, so while giving yourself "all the coins" destroys a lot of value, it doesn't actually _capture_ any value. So, if you wanted to profit from an exploit you developed, you would _not_ do that (if you wanted to discredit bitcoin and had developed the exploit, you would do that.)

<comment><USER12> Right, they'd trickle them in to keep it secret. But that doesn't change the bug-bounty nature.

<comment><USER13> It changes the (paraphrased) "we can tell its secure because no one has visibly compromised for profit it the way they would if they could" nature you suggested uphtread, because, for profit, you would _avoid_ visibly compromising it.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> The price has rebounded quite a bit. This is different from the largest exchange hack in BTC history (2014 - MtGox) because now the exchange volume is much more distributed. I think this is a reflection of the increased robustness of the bitcoin economy in whole.

Pre Hack: $600 Low Point Post Hack: $465 Currently: $560

<comment><USER15> probably going back to $600 soon ,these selloffs are always temporary

</comment></comment><comment><USER16> > Bitcoin slumped 5.5 percent against the dollar as of 2:30 p.m. on Wednesday > in Tokyo, bringing its two-day drop to 13 percent. Prices also sank 6.2 > percent on Monday, although it was not clear if that initial move was > related to the hack.

The price has actually been dropping consistently since the 31st of July.

Granted, this hack has caused a the drop to be bigger, but attributing the entire drop to it makes no sense. The timeline doesn't fit.

The most likely reason the price has been dropping is because the Bitcoin miners have ran out of reasons and deadlines to stop the bitcoin hardfork which will cause an increase in block size, which is the main reason why Bitcoin is artificially blocked from accepting more customers and grow.

Investors likely don't think its worth holding onto a currency if it has (and reached) an artificial ceiling.

<comment><USER14> There are some nuances that are often not fully understood when discussing the transaction limit in bitcoin. Firstly, since the transactions are processed by the miners in exchange for a fee we have evolved into a dynamically calculated fee system. Since the blockchain is immutable this makes sense so that it is costly for an attacker or abuser to flood the system with meaningless transactions. There is some contention in this, but from my perspective what has emerged is a free market where if you need a quick transaction guaranteed you will pay the few cents to get it. Also, the Lightning network payment layer is in testing currently and when it is added as another layer on top of bitcoin this enables a huge rate of transactions per second for negligible price.

</comment></comment><comment><USER15> This is the perfect crime. IN a about a few months the heat will wear off and the thief or thieves can gradually convert the coins into cash or just store them in 1000s of wallets for later use

</comment><comment><USER17> In the long run, I think this is good for Bitcoin. It's supposed to be a decentralized currency. Centralizing Bitcoin in an exchange makes the exchange a big target. This disincentivizes centralization and limits how much centralization can actually happen when people are foolish enough to try.

For individuals who lose Bitcoin because of exchanges getting hacked, it's because they leave Bitcoin in the exchange. This is antithetical to how Bitcoin is intended to be used. The answer is, _don 't do that_. Make cold storage paper wallets and keep your Bitcoin there.

<comment><USER18> > _this is good for Bitcoin ... The answer is, don 't do that ... Make cold > storage paper wallets and keep your Bitcoin there._

Only in bitcoin land is theft considered _good_ for the ecosystem.

Only in bitcoin land does it make sense to blame laypeople for storing their money with financial institutions.

Only in bitcoin land is it a best practice to secure your money using a password written on a piece of paper.

Only in bitcoin land is it reasonable to expect consumers to do a better job of keeping their money secure than corporations with on staff security experts.

<comment><USER17> > Only in bitcoin land does it make sense to blame laypeople for storing their > money with financial institutions.

Uh, yeah. That's the entire point of Bitcoin.

> Only in bitcoin land is it a best practice to secure your money using a > password written on a piece of paper.

God no, at least not a password intended for human consumption. That's not what a cold wallet should be. It should be a key.

> Only in bitcoin land is it reasonable to expect consumers to do a better job > of keeping their money secure than corporations with on staff security > experts.

No, non-expert consumers should be using off-the-shelf security solutions made by a staff of security experts that they can use locally (i.e. physical Bitcoin wallets). It's just that not many people are working on that stuff, because most of the companies making Bitcoin stuff are catering to speculators trying to get rich quick.

There are a lot of really smart people working on creating centralized Bitcoin solutions, but frankly, that's just a bad idea, as evidenced by almost every centralized Bitcoin solution having been hacked at least once. A centralized system has too wide an attack surface and too high an incentive for attackers, and defeats most of the benefits of Bitcoin anyway.

Sure, it makes Bitcoin a poor choice for speculators looking to get rich quick, but I don't care in the least. They're outsiders who don't understand the tool and aren't on board with the philosophy of why Bitcoin is important.

If you don't understand decentralization and you try to be in Bitcoin, you're going to have a bad time.

<comment><USER18> > _Uh, yeah. That 's the entire point of Bitcoin._

The entire point of bitcoin is to avoid financial institutions? That sounds like a pretty big disadvantage compared to other forms of money that work well with financial institutions.

> _That 's not what a cold wallet should be. It should be a key._

A distinction without a difference as far as it relates to having all your money stolen.

> _Sure, it makes Bitcoin a poor choice for speculators looking to get rich > quick_

It makes bitcoin a poor choice for the general population since most people fall into the category of "outsiders who don't understand the tool and aren't on board with the philosophy of why Bitcoin is important"

<comment><USER17> > The entire point of bitcoin is to avoid financial institutions? That sounds > like a pretty big disadvantage compared to other forms of money that work > well with financial institutions.

It is a huge disadvantage for some purposes, but there are plenty of advantages to avoiding financial institutions.

If you want to work with financial institutions, there are plenty of ways to do that already. Go get a savings account or a mutual fund; it's not complicated.

If you want to transfer money at low fees across national boundaries, or make your money harder for governments to seize, or make your money anonymous, Bitcoin can do those things better than other financial vehicles. And that's _because_ it's not tied in with financial institutions.

> A distinction without a difference as far as it relates to having all your > money stolen.

It's a huge difference. Humans are notoriously bad at creating secure passwords. A SPRNG-generated key is far more secure.

> It makes bitcoin a poor choice for the general population since most people > fall into the category of "outsiders who don't understand the tool and > aren't on board with the philosophy of why Bitcoin is important"

True. The same can be said of almost any investment vehicle--most people have very little understanding of most investment vehicles. I'd also say that for example futures and options are much harder to leverage well than Bitcoin. That doesn't mean they aren't useful, it means you have to know what you're doing to use them.

As Warren Buffet said, "Don't invest in things you don't understand."

I have no problem with people investing in Bitcoin purely for speculation to make money, but I'm also not going to cry if they make a bad investment because they can't be arsed to understand what they're investing in. I wouldn't invest in mining futures because I don't know how to leverage mining futures, and they shouldn't invest in decentralized currencies if they don't understand the implications of decentralization.

If you keep your money in an exchange, you're gonna have a bad time. Lots of people (myself included) were saying this before even the Mt. Gox stuff happened, so it's not like this isn't predictable.

</comment></comment></comment></comment></comment><comment><USER4> Bitfinex had inadequate security, that much is now proven. But more problematic, there is no such thing as provably adequate security for holding other people's private wallet keys. Any flaw in the process of generating or storing the keys is essentially the mother of all bug bounties. That is why over time, I hope that a decentralized method of exchanging digital assets will be used more widely.

</comment><comment><USER19> What I learned from the video: Ninety percent of Bitcoin is traded in Chinese currency. Because most of the trading is in China, the impact of the hackers is minimized and the value is stabilizing after dropping twenty percent.

<comment><USER14> That actually may not be true, many of the Chinese exchanges have 0 fee trading so their volume could be 'fake'.. there is no way to tell definitively.

</comment></comment><comment><USER20> Does bitfinex have any legal responsibility to its customers? What are the U.S. laws (if any) surrounding the theft of bitcoins?

<comment><USER21> Most of what happens next depends on how they were organized and registered.

The obvious next step is that Bitfinex will have to file for bankruptcy protection. Whether people get their cash balances / other crypto / etc. back or some proportion of the remaining assets will be up to the bankruptcy trustee. The trustee will follow the law but I don't know if they were properly registered, aka where depositers fall on the list or whether any of the assets would be considered secured.

<comment><USER22> they would only need to file for bankruptcy protection if they could not cover the loss from their own funds.

Right now with the price falling that could be an easier proposition tomorrow or next week.

<comment><USER23> They likely also have insurance that may cover some or all of the loss.</comment></comment></comment></comment>