Signal Desktop beta now publicly available - <AUTHOR> https://whispersystems.org/blog/signal-desktop-public/ <comment><USER2> Signal Desktop has a standalone registration UI that works perfectly fine in the source ([https://github.com/WhisperSystems/Signal- Desktop](https://github.com/WhisperSystems/Signal-Desktop)), but this hidden feature has been entirely removed from this version.

Here is a convoluted process that will allow you to register with any SMS- capable phone number, no Android app required:

First, install the Signal GitHub repo (unzip [https://github.com/WhisperSystems/Signal- Desktop/archive/mas...](https://github.com/WhisperSystems/Signal- Desktop/archive/master.zip)) unpacked in Chrome, inspect the background page and enter `extension.install("standalone")` in your console. Enter a phone number to get your verification code. Do not submit your registration using the standalone UI! Keep your verification code for use with the official app.

Next, uninstall the source app and install the official app. Inspect the background page and type this in your console: `getAccountManager().registerSingleDevice("your phone number", "verification code")`. Don't forget to include your country code in your phone number (+...) and remove the dashes from your verification code, or you will probably get an error.

No idea why Open Whisper Systems felt that it was necessary to entirely remove this hidden UI, when it wasn't accessible through any of the standard UI anyways. The feature works completely fine (and has for months). The only purpose this removal seems to serve is to force users to install their mobile app.

<comment><USER3> I get an "HTTPError: Failed to connect to the server, please check your network connection" for the first part (extension.install). Does that not occur for you?

Edit: Ah, it's using a broken SSL cert (chain is broken). Going to the URL manually and accepting the break works.

Edit 2: The verification code doesn't work.

</comment></comment><comment><USER4> I just wish Signal was easier to get through a firewall.

"You need to open TCP 31337 and _all UDP ports_ in order for Signal to work." Emphasis mine.

[http://support.whispersystems.org/hc/en- us/articles/21369721...](http://support.whispersystems.org/hc/en- us/articles/213697218-Which-TCP-UDP-ports-need-to-be-available-)

When I first read that I was sure that must largely apply to the calling (voip) features, but testing showed me I was wrong. I couldn't even make messaging work through a firewall so now I sourly use Telegram instead (no private chats by default in telegram??).

<comment><USER5> No private chats at all for Windows/Linux. It is actually insane that (unless I'm missing something) there is no usable/accessible trustworthy end2end encryption chat program that has both mobile and desktop clients.

Note: Telegram desktop alternative apps have major usability issues at least on Linux.

Edit: Also, many people refuse to install/use Chrome for various reasons, so even if you don't have to open ports, this still won't be a solution.

<comment><USER6> > Edit: Also, many people refuse to install/use Chrome for various reasons, so > even if you don't have to open ports, this still won't be a solution.

Let's be honest, there aren't many. Chromium is enough to please the majority of OSS people. And if they are not using Chrome for 'security' reasons they are very misinformed.

<comment><USER7> Show me where to get a NoScript replacement and I'll consider that Chrome or Chromium might have a clear advantage in security. But if you try to point me at an extension that only blocks JavaScript based on URLs, I'll consider _you_ very misinformed.

<comment><USER8> NoScript does more than block JavaScript, but if that's all you're interested in, uBlock Origin can block inline and external scripts on a global or site- specific basis.

[https://github.com/gorhill/uBlock/wiki/Dynamic- filtering:-qu...](https://github.com/gorhill/uBlock/wiki/Dynamic- filtering:-quick-guide)

</comment></comment></comment></comment></comment><comment><USER9> What's with all the weird restrictions on using Signal? Why do I have to register via an Android account? Why not a simple messaging app that just lets me message anyone else with the app with no bullshit?

Signal has done an excellent job of branding itself as the one true E2E encrypted messaging app made by real experts, as against e.g. Telegram. But the actual product is hugely disappointing because of these apparently arbitrary and, in the case of requiring a phone number, privacy-damaging restrictions.

I'm ready to look for something else.

</comment><comment><USER10> dupe: [https://news.ycombinator.com/item?id=11449610](https://news.ycombinator.com/item?id=11449610)

</comment><comment><USER11> Even if I could get over it using Chrome as it's runtime environment requiring a phone number is a deal breaker.

<comment><USER12> Indeed! I can not understand the logic of using phone number in such apps while many security experts (like Jacob Appelbaum) call cell phones as little tracking devices which allow you to make call and send text with! Such a disappointment!

</comment></comment><comment><USER13> Tried signing up for Signal using a RingCentral number. The callback verification triggers way too quickly for a VoIP call to propagate, answer and verify.

Gave up. =(

<comment><USER14> Google Voice works in my experience. Just to be clear because I know moxie reads hn... What should happen differently?

<comment><USER13> Solution: introduce a sufficiently long wait to allow for call to connect and pick up

<comment><USER14> I believe this is something they'd have to talk to twilio about?

Have you had any experience with twilio? Any problem receiving calls?

<comment><USER13> I didn't know Signal used Twilio on the backend to verify. I haven't used it myself but know someone that works there. Maybe they can help look into it.

</comment></comment></comment></comment></comment><comment><USER15> It really would make sense if Signal would support more than just phone numbers as identifiers. It shouldn't be too hard: in the protocol, use URIs as identifiers, using tel: (or sms:?) for mobile phones, mailto: for email addresses, maybe urn:uuid: for general UUIDs.

I've not looked at the internals — it's possible of course that it already does exactly this.

</comment><comment><USER16> This is 1 month old...

</comment><comment><USER17> This is back from April. Why is it on the front page now?

<comment><USER18> Collective audience amnesia + use of weasel words like "now" \+ said audience's hard-on for anything encryption-related.

</comment></comment><comment><USER19> Android only

</comment><comment><USER20> Is it only me or does the UI look an awful lot like WhatsApp Web ?

</comment><comment><USER21> But does it work on iOS?

<comment><USER22> Downvoted because this information is trivially discovered. :(

<comment><USER23> Is there a specific bug for iOS compatibility?

<comment><USER22> Ugh.

Check the second result of [0] (entitled "What is Signal Desktop? How can I sign up?").

[0] [https://encrypted.google.com/#q=%22signal+desktop+ios%22](https://encrypted.google.com/#q=%22signal+desktop+ios%22)

<comment><USER23> From what I see your link does not provide a ticket item but a plog post which is an entirely different thing.</comment></comment></comment></comment></comment>


Nanoporous Graphene Could Outperform Best Desalination Techniques - <AUTHOR> http://www.wateronline.com/doc.mvc/nanoporous-graphene-could-outperform-best-commercial-water-desalination-techniques-0001

<comment><USER2> Impressive find. However, given that the toxicity of graphene is not well understood[1], shouldn't there be significant concern for now about using graphene in processes which involve contact with food products? It's easy to envision a scenario in which a microscopic chunk of the stuff breaks off and ends up in the air or your stomach. The article only hints at this, where it mentions "mechanical stability."

[1] <http://en.wikipedia.org/wiki/Carbon_nanotube#Toxicity>

</comment><comment><USER3> _"In their simulations, the scientists strengthened the nanopores by passivating, or shielding, each carbon atom at the pore edge with either hydrogen atoms or hydroxyl groups."_

Filed under the heading, "If someone knew how to build this stuff in volume, boy would it be useful."

This is good follow on work to other micropore work with graphene but as far as I can tell its just a simulation which points to areas that might lead to useful products.

</comment><comment><USER4> Another cheap new desalination idea was recently presented at Google's Solve for X: <http://www.youtube.com/watch?v=R63zYZZuRvQ#>!

Instead of a fancy membrane it uses some nifty chemistry. Doesn't take much energy and the chemicals are in a closed loop.

<comment><USER5> Thank you for the link. The McGinnis's talk was very interesting, but there are some other more just as good.

</comment></comment><comment><USER6> I wonder if that flow rate would be high enough to build this membrane into a drinking straw, so you could take a safe drink right out of the ocean with a cheap, compact device. This seems like it has the potential to revolutionize camping and survival in the near-term, and eventually the availability of clean water everywhere.

<comment><USER7> Wouldn't the water have to be sanitized first? It sounds as if it only filters sodium, not other dangerous particles.

<comment><USER6> The pore size is very slightly bigger than a single water molecule, and smaller than a single sodium ion. Heavy metal atoms are much larger than sodium atoms, and would not go through the membrane. Any kind of virus or bacteria is much, much larger than this molecular scale, and have no hope of traversing. I am not aware of any harmful water-soluble substances as small as a water molecule.

<comment><USER8> Hydrogen fluoride comes to mind, but it's probably not an important pollutant in most of the water sources we care about.

I can't think of anything else that small that would be a problem.

<comment><USER6> Wouldn't hydrogen fluoride just be fluoride ions in solution? Water molecules tend to clump around charged ions, which might impede traversal of the membrane.

</comment></comment></comment></comment></comment><comment><USER9> There are already technologies beyond reverse osmosis in large scale industrial use (and I'm not referring to brine or similar high energy approaches)

Siemens has built a desalination plant in Singapore that works similar to dialysis (mimicking kidneys) and is using a fraction of the energy required for a comparable RO solutions (<http://www.desalination.biz/news/print.asp?id=6008>).

The key issue with all membrane / filter based desalination solutions still is the lifetime / service requirements of the filters.

</comment><comment><USER10> I thought Reverse Osmosis was already close to its thermodynamic limit (in terms of efficiency)?

</comment><comment><USER11> Estimated time to product?

Why not sooner?

<comment><USER11> This is an honest question. Millions would like such a product yesterday. I'd like to know how long it might take to market, and understand why it could not be done sooner.

Didn't expect such questions be downvoted on a business/product startup site.</comment></comment>


The 62 richest people have as much wealth as half the world - <AUTHOR> http://money.cnn.com/2016/01/17/news/economy/oxfam-wealth/index.html?sr=twcnni011816oxfam-wealth0125AMVODtopLink&linkId=20438205 <comment><USER2> I wouldn't have a problem with this if that wealth were tied up in, say, artworks and other 'intangibles'.

I do have a problem with this because that wealth is largely, I assume, representative of claims of ownership of resources that are fundamental necessities of human life (e.g. land, water, fish stocks/quotas, etc).

</comment><comment><USER3> How about breaking it down by nation in an attempt to show how lopsided certain economic systems or legal frameworks are vs others? That would at least seem to provide a more complete view of the potential problem.

I'd also be interested in seeing a break-down per nation regarding wealth distribution in order to measure what appears to work and what does not from an economic/legal framework.

<comment><USER4> I might note that a lot of that wealth is in the unrealized labor of the many people that are in debt. I guess you could say that if all of those indebted people suddenly died, the wealth would evaporate.

<comment><USER3> And then the question of "was it really wealth to begin with" must be asked. Wealth is a function of added value.

</comment></comment></comment><comment><USER5> I'm having a tough time wrapping my head around a) what this means, and b) what it implies about the world economy.

Naively, it sounds really bad because how could any individual produce more than tens or hundreds of millions of individuals? If they do not produce more than nations, then how is it fair that they have so much? Another intuition is that this is the product of technology being adopted much more rapidly by the titans of industry than by others, to great effect decreasing cost and increasing profit.

<comment><USER6> see my comment above, they are comparing net worth which is meaningless in most ways. while it sounds like the richest 30 or so people have more money than the entire world, they couldn't even pull their money and buy Calcutta.

</comment></comment><comment><USER6> they are comparing net worth, and even in america most people are worth 0 (or less). so yeah, lowly me is worth more than half a billion people, but their combined wages (even minute) would dwarf mine. but its not like you could take the 1%'s wealth and give it to everyone else and it would make any meaningful impact.

even if you took the top 10 richest people in the world and gave it to every person in just america, thats only about 1600$/person. They'd still be poor and there'd still be a richest 1% and apple would have sold a lot more iphones.

<comment><USER7> > Even in america most people are worth 0 (or less)

Wrong. In the US only about 4.1% of people in US have negative net worth (wiki stat). The rest with debt such as mortgages and the like have assets against this debt so while they owe the bank $300k type thing they have a $500k assets against this.

> even if you took the top 10 richest people in the world and gave it to every > person in just america, thats only about 1600$/person. They'd still be poor > and there'd still be a richest 1%

There will always be a richest 1%. Also ideally in a redistribution sence you wouldnt give to everyone, you'd redistribute to the bottom X%, and this would drastically change the $1,600 figure oyu quote (I'll trust your maths). And don't be distracted form the problem being addresses here is how much that 1% (or far fewer %) own of a nations wealth, not that there is a 1% class. It's not just the money either, extreme wealth can give influence and have other negative effects e.g. power within the political system, unproductive hoarded capital in a nation, and ability to monopolies by buying assets etc.

<comment><USER6> you might want to fact check, about 50% of the US has <=0 net worth.

if you sent the top 1 % to the death camps, by the laws of math, there will be a NEW top 1%. and guess what? because of my statements above, they would still be exponentially richer than the bottom.

</comment></comment></comment><comment><USER8> The common misconception being that the poor are poor because the rich are rich;

But there is no causality. Not even a correlation.</comment>


Apple breaks record for biggest ever company profit - <AUTHOR> http://www.telegraph.co.uk/technology/2018/02/01/apple-breaks-record-biggest-ever-company-profit-despite-iphone/ <comment><USER2> I don't understand why? Why do people drool over rotten fruit.</comment>


For Students Accused of Campus Rape, Legal Victories Win Back Rights - <AUTHOR> http://www.npr.org/2015/10/15/446083439/for-students-accused-of-campus-rape-legal-victories-win-back-rights <comment><USER2> "Legal" victories win back rights but don't cure the harm.</comment>


Practice Frees Your Mind - <AUTHOR> http://anniemurphypaul.com/2012/10/practice-frees-your-mind/# <comment><USER2> An interesting point, but a pretty thin blog entry. I think that everything I have done has benefited from practice. Even programming. The Pragmatic Programmers (iirc) even devised code katas to formalize the practice process.

</comment><comment><USER3> As a matter of fact, in my experience (as a teacher), the more you practice, the more you can "improvise". Improvisation is a side-effect of rote.</comment>


DHH: Are you sure you want to be in San Francisco? - <AUTHOR> http://www.37signals.com/svn/posts/987-are-you-sure-you-want-to-be-in-san-francisco <comment><USER2> I think people are too focused on the logistics of "startups" and getting investors instead of actually creating websites that make money.

The fact of the matter is, there are tons of individuals across the country that make thousands of dollars a month creating websites _themselves_. They don't seek funding, they either hire a designer/programmer or do it themselves. They don't have a beta, they launch whatever they they are making. They don't have one obscure idea that they think they need to go out and pay $5,000 to form an official company for, but instead have a couple of useful websites that generate money. If they start to make a lot of money, then they'll open a LLC for tax benefits.

On top of that, I'd bet a majority of them have no computer science degree or the knowledge that the hackers here do, which means anyone here can make as much as them since they won't need to pay for programmers.

</comment><comment><USER3> San Francisco is an interesting place. I live in SF, and I know a lot of programmers (and other tech workers) who live in SF, but I doubt that more than a third of them actually work in SF proper. Most of us engage in long and soul destroying drives to sterile office buildings in the midst of pedestrian- unfriendly parking lots on the peninsula and in the south bay. And we pay _a lot_ for the privilege.

I think that other cities, like Portland, Seattle, Austin in the US (and maybe Barcelona, Copenhagen internationally) might actually be better places to work.

I wouldn't leave SF, but I grew up here and have family around. If I were starting out, I'd definitely consider other cities.

<comment><USER4> I can't believe you put Portland and Austin in the same sentence. Nothing wrong with Portland, but Austin is simply in another league: I don't believe there is another place in US with such combination of technology, nightlife and dating scenes. I do feel sorry for all guys in their 20s living in Bay Area.

<comment><USER3> That's funny - I actually feel sorry for all the guys in their 30s living in SF (and that includes me)! Technology, nightlife, and dating seems pretty great in SF. And when you have no obligations, you can take advantage of all of that.

Most of the programmers I know are now in their 30s with small children. We're trying to figure out how to pay a mortgate and preschool costs that easily exceed $1000/month.

Salaries are high here, and two income families can swing it. But I have realized that high costs are toxic to freedom. Yeah, if you score huge with a startup you'll have enough money be free of the daily grind, but that isn't really in the cards for most of us, even if we take a real crack at it.

I know people who have cashed out of the real estate market in SF and moved to Austin, and they absolutely love it. I think I'd enjoy it there, too. I think that it's probably easier to gain financial independence and start living on your own terms in other cities. And these don't have to be crappy lame places - these are really entertaining places to live. In some ways, I think the cost structure of SF makes it a less entertaining place to be, because people have to make more decisions based on paying the mortgage than doing something creative.

But my wife and I have a huge extended family in SF (parents, grandparents, cousins, nieces, nephews, etc...). I've actually tried to leave, but just I can't do it. And to me, cost is the only problem - if you have the dough, then for a certain type of person, SF may be the most pleasant place to live in the US.

</comment></comment></comment><comment><USER5> Are you sure you want to listen to someone who has never lived in San Francisco?

How can you measure the benefits of being around people and businesses that are similar? Its possible to trade stocks anywhere, but why do companies setup in New York or London?

If you don't want to take someone else's money to build your business, then don't. If you lived in Las Vegas would you automatically become a gambler?

<comment><USER6> I don't know. Why don't you ask FeedBurner?

<comment><USER7> I think that -- by pointing out that there has been only one successful startup in Chicago (37Signals does not count; it's not really a startup, just a small business) -- that you just underscored the argument for the Bay Area.

<comment><USER6> Way to take my argument out of context.

First, I'm citing Feedburner to demonstrate that large Google acquisitions don't have to come from the Bay Area. Are you refuting that?

Second, if you ask me to name more Chicago startups, I'll add 37Signals, EveryBlock, Threadless, Inkling Markets, and of course Orbitz.

Third, nobody is arguing that any other city in the US, including Boston, can go toe to toe with San Francisco simply on body count. I am, however, objecting to the argument that in 2008, the only way to be successful in a web company is to be based in the same city as your potential acquirer. I'll guarantee you this: your customers will not give a shit where you're located.

<comment><USER8> just to nitpick, Orbitz totally wasn't a "startup" in the conventional sense, and certainly not the DHH sense. It was a project conceived and funded by a cartel of major airlines. The initial funding was 150 million dollars!

<comment><USER6> You're right; I'm just thinking about tech companies, but the same logic would lead someone to count MOT.

</comment></comment></comment></comment></comment></comment><comment><USER9> DHH talked about lifestyle at Startup camp, and lifestyle is the key reason to want to be in San Francisco. It is simply a great City to live in with the added benefit that almost any escape to the natural world, like skiiing, sailing, etc etc, is immediately available. The downside is some added cost, but the costs here are comparable to Southbay locations and other major Cities. So if you want to build a sustainable business with a lifestyle that you want to enjoy for the long-term, San Francisco is an ideal location.

<comment><USER6> Give me a break. I lived in San Francisco for a bunch of years, starting after my first company got bought out --- I've experienced the city both totally flush with cash and living paycheck to paycheck. Allow me to retort:

* Public transportation in the Bay Area is a shambles, and, in particular, getting between any two points in the (tiny) city of San Francisco involves interaction with the worst bus system in the country.

* Housing is _spectacularly_ expensive, which, in hacker teams, simply means you're going to be living in half the space you have now, with no amenities.

* Office space in San Franscisco? I already spent the modifier "spectacular", so let's go with "catastrophically" expensive, meaning: your office won't be in the city, it will be in San Mateo, which despite its relative proximity to the city, will still be an hour and a half commute. Unlucky enough to wind up in Santa Clara? I was. My commute from SOMA often exceeded two hours _each way_.

* Half to 3/4s of your friends are going to live in the South Bay. No matter where you choose to live --- San Francisco or the suburban Mallhalla of the South Bay --- you are going to be 45 minutes to an hour away from anyone you want to visit.

* An ongoing dispute between the dispatchers, the city, and medallion owners keeps taxicabs artificially scarce, so that you are going to wait 20 minutes to catch one on Folsom or downtown.

* There isn't one good place in the city to see a show, but that doesn't matter, because your favorite band skips San Francisco.

* Last call in San Francisco? Earlier than other cities.

* Weather? Choose between "brown" or "wet".

* Streets? Laden with human feces and garbage. Am I being hyperbolic? No.

Almost any other city in the country, save Los Angeles, can lay a better claim to being a destination for long-term lifestyle companies than San Francisco.

<comment><USER8> * Public transportation in the Bay Area is a shambles, and, in particular, getting between any two points in the (tiny) city of San Francisco involves interaction with the worst bus system in the country.

\- Public transportation is bad, unless you've ever been to houston, phoenix, dallas, detroit, los angeles, or anywhere else in the US outside of NYC, Boston, Portland, Chicago, or D.C. As bad as it is, SF's public transport is probably the 5th BEST in the country.

* Housing is spectacularly expensive, which, in hacker teams, simply means you're going to be living in half the space you have now, with no amenities.

\- Yes.

* Office space in San Franscisco? I already spent the modifier "spectacular", so let's go with "catastrophically" expensive, meaning: your office won't be in the city, it will be in San Mateo, which despite its relative proximity to the city, will still be an hour and a half commute. Unlucky enough to wind up in Santa Clara? I was. My commute from SOMA often exceeded two hours each way.

\- My office space on Howard street is cheaper than what I would pay on the peninsula or in Chicago. I think I lucked out, though.

* Half to 3/4s of your friends are going to live in the South Bay. No matter where you choose to live --- San Francisco or the suburban Mallhalla of the South Bay --- you are going to be 45 minutes to an hour away from anyone you want to visit.

\- uhh... i guess if your friends all work at Yahoo!? I don't really see this unless your friends are all married or dorks.

* An ongoing dispute between the dispatchers, the city, and medallion owners keeps taxicabs artificially scarce, so that you are going to wait 20 minutes to catch one on Folsom or downtown.

\- this is pretty much true.

* There isn't one good place in the city to see a show, but that doesn't matter, because your favorite band skips San Francisco.

\- this is true if your favorite musicians are Jack Johnson or Britney Spears. If you are cool and listen to interesting music there are at least 6 decent mid to large clubs and dozens of smaller spaces. The music scene is better in Manhattan, Brooklyn and Chicago but SF is on par with everywhere else.

* Last call in San Francisco? Earlier than other cities.

\- except it is the same as Los Angeles, Portland and Minneapolis, an hour later than Seattle and Boston, and about the same time as when most bars in Chicago now close. If you want to stay out really late your only choice in the US is Manhattan.

* Weather? Choose between "brown" or "wet".

\- more like "cold and windy" or "not quite as cold and windy"

* Streets? Laden with human feces and garbage. Am I being hyperbolic? No.

\- it sounds like someone's office was close to 6th and Market. SOMA is slimy in parts but gentrification happens and the poo is mostly confined to a few select corridors these days.

Poopy streets to avoid: 6th between Market and Folsom and associated side alleys. Capp between 15th and 17th. The tenderloin bounded by turk, mason, leavenworth and o'farrell.

<comment><USER6> I modded you up, but:

* Compared to Chicago, Seattle, Portland, Atlanta, or Boston, San Francisco is filthy, both in a "civic pride and basic hygiene" sense, and in a "methadone clinics spewing out mentally ill homeless people contributing to a desperate humanitarian crisis" sense.

* What areas are walkably friendly got that way by gentrifying and bleaching out the culture and neighborhoods from the city. Live in San Francisco? When was your last block party? Can you name your neighbors?

* Strong indie music scene? I guess it depends on what you like --- you could caricature me as a Pitchfork fan. Admittedly, comparing to Chicago, most other cities save New York and Seattle are going to suffer. But go read JWZ's blog about the DNA Lounge and form your own conclusions about how vital and diverse San Francisco's indie venues are.

* If your friends all work at startups, a big chunk of them live in the South Bay, which means you will rarely see them, because facing a 45 minute commute (that's _without_ 101 traffic) at 12:30AM is a strong deterrant to an impromptu night at a bar.

* Your office on Howard Street --- presuming it's a real office --- is not cheaper than what you'd pay in Chicago. Let's compare notes. You first.

I'm skipping the good stuff about San Francisco. Leaving aside the benefits of being surrounded by product managers and QA team leaders, which is a dubious benefit, let me get in:

* You have 7-day-a-week access to solid Dim Sum.

* You live in the US capital of fresh water aquarium suppliers.

* On any Friday or Saturday you are 30 minutes, a cooler, and a couple of logs away from a bonfire on the beaches south of San Francisco.

* If your car can handle, the drive to Half Moon Bay is pretty awesome.

I'm assuming most of the readers here don't have kids. I have two. We won't get in to how much worse the city is going to be for you if you're trying to raise a family.

<comment><USER8> * Compared to Chicago, Seattle, Portland, Atlanta, or Boston, San Francisco is filthy, both in a "civic pride and basic hygiene" sense, and in a "methadone clinics spewing out mentally ill homeless people contributing to a desperate humanitarian crisis" sense.

\- I agree with that, I guess. SF is pretty psychotic.

* What areas are walkably friendly got that way by gentrifying and bleaching out the culture and neighborhoods from the city. Live in San Francisco? When was your last block party? Can you name your neighbors?

In my neighborhood the block party is in September but the SOMA block party is in a couple of weeks. I know all the people who live in my building (there are only 5) and three of my good friends live on the same block.

* Strong indie music scene? I guess it depends on what you like --- you could caricature me as a Pitchfork fan. Admittedly, comparing to Chicago, most other cities save New York and Seattle are going to suffer. But go read JWZ's blog about the DNA Lounge and form your own conclusions about how vital and diverse San Francisco's indie venues are.

\- JWZ is grouchy because he was hoping to open up an industrial club but instead has to cater to asian gangsters coming up from Daly City. The scene he is into (industrial dance music) was never big enough to support a club the size of DNA and pretty much died out entirely 10 years ago. Everyone who was into it is now 40+ and doesn't go out anymore. I will admit that I don't go to many shows but the bands that I like (Autechre, TV on the Radio, Cornelius, are a few shows I've seen) seem to play here as often as anywhere else. The LOCAL music scene isn't that awesome, IMO. Most people are trying to be DJs rather than be in bands.

* If your friends all work at startups, a big chunk of them live in the South Bay, which means you will rarely see them, because facing a 45 minute commute (that's without 101 traffic) at 12:30AM is a strong deterrant to an impromptu night at a bar.

I guess that would be true. However most of the friends I have at startups work at startups in the city.

* Your office on Howard Street --- presuming it's a real office --- is not cheaper than what you'd pay in Chicago. Let's compare notes. You first.

We pay $8850 for 9000 square feet. Pre-wired, server room, and physical workspace in the basement (part of our product involves creating physical prototypes)

<comment><USER6> * I lived in Noe Valley for a couple years and never once even heard of a block party. "The SOMA block party"? Does that go by another name I'd know it by better, like, say, the Folsom Street Fair? That's hardly a "neighborhood" event, but then, SOMA isn't a neighborhood, and hasn't been since it was debrided by "live-work art spaces" (a.k.a. luxury condos).

* JWZ is certainly not a good trendspotter, but you're providing a parody of his experience. He's not complaining that nobody cares about VNV Nation; he's complaining that he can't get permits to host 18+ shows (why do you care? Because lots of touring acts won't book 21+ shows), and chronicling the demise of one music venue after another.

* You are getting a _fantastic_ deal on office space; you're paying approximately what we're paying for finished office space in the Loop (we have a smaller space; our company is split evenly between Chicago and Manhattan).

<comment><USER8> It is actually a different block party centered around the park between 7th and 8th on Folsom. It caters mainly to the mexican people who live in the area. I've never heard of a block party in Noe, either. My apologies for bringing up race, but I used to rent an art studio in the Bayview and that was the only place in SF that I've seen block parties. I've lived mainly in white yuppie neighborhoods in various parts of the country and never encountered a block party in any of them. There have only been annual "street fairs." The only other place I've seen a proper block party was when I lived on the edge of a puerto rican neighborhood in Brooklyn.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> This seems a direct contradiction to everything PG advocates ... no funding (not even seed funding). No VC's. No IPO. No buyout. Just doing what you love, without a boss, and getting paid well for it. Claiming a higher probability of happiness than the "funding" route.

And yet, PG is eerily silent... does YC cater to people following the 37sig model? If one decides to stay a private company, how do investors ever make back money?

<comment><USER11> I've just been busy with other stuff today and I haven't read it. But the answer to your question is yes: Wufoo, for example, is very much following the 37 Signals model.

<comment><USER10> If Wufoo stays private indefinitely, doesn't this clash with YC's business model?

This probably stems from my naivete, but how do investors make money if a company has no intention of going public or being acquired?

<comment><USER12> Investors can make money the same way founders can: Dividends. But yeah, that's a slow, boring way of earning a return in the eyes of some. It's not nearly as spectacular as a 10-100x return from a sale.

<comment><USER11> The reason venture investors want a return of capital rather than dividends is not so much that it's faster, but that it's harder to spoof. Investors will accept dividends from a large, public company, because they're so highly regulated. But in a small private company it would be too easy for the guys running it to divert (what would have been) profits to their own uses.

This is why medieval venture investors were willing to back sea voyages but not factories. In a sea voyage everyone got liquid at the end of each trip, and it was very clear what was on each ship.

I'm not suggesting of course that 37 Signals would take advantage of investors. I'm just explaining why, structurally, venture investors are not interested in dividends.

<comment><USER12> Which is a great argument for why we turned down the 30+ venture capitalists who came knocking on our door. We weren't interested in those kind of setups. And I wish more people who think through exactly those implications: Getting a traditional VC involved means aiming for an exit. Whether that be M&A (more likely) or IPO (less likely).

For people who are just interested in building a business, not searching for an exit, the traditional VC is just not a relevant option. 37signals is amongst those people.

</comment></comment></comment></comment></comment></comment><comment><USER13> His first argument seems to do more with the teams themselves than the surrounding area. Temptation is found anywhere, whether it's a big office in the bay area, a huge flat in Chicago, or me supersizing my McDonald's combo #2. If you're not disciplined with your money, you're bound to fail regardless of location. Sounds like he's making a generalization about programmers, too.

<comment><USER14> As a Silicon Valley resident who has lived in an inexpensive place, I think you have to be _more_ disciplined with your money and time if you live in the Bay Area.

</comment></comment><comment><USER15> I'm in Buenos Aires. The cost of living here it's 1/6 compared to San Francisco. And we have a lot of talent, cheap bandwidth and resources (apple Computers, big linux community, etc). Also, real state its growing fast. If you are planing to visit BA, msg me! :)

<comment><USER16> I've been to Argentina and I'm deeply in love with Buenos Aires – but heard that it's getting rather expensive living there fulltime. How is the job situation and such, for foreigners?

<comment><USER15> You can rent an appartment for U$S 300/month in a very accesible and centric place. You don't need a car here. There is plenty of work on IT, but we are talking about startupping here, so yo have everything. This country does not request visa for work or tourist, so you will not have any problem. Mail me pablocorral at gmail.

</comment></comment></comment><comment><USER17> You know none of this really matters. Be a rebel. Live everywhere as often as you can.

I've lived in Taipei, Los Angeles, LA suburb, east San Jose, Cupertino, San Diego, Pendleton, Lejeune, and now back in Cupertino with constant visits to San Francisco and I can honestly say... it doesn't really matter where you live.

Learn as much as you can. Make as many friends as you can. And make sure you always have a WiFi connection.

</comment><comment><USER18> I agree. I live in Grass Valley, in the Sierra foothills. Turns out, we've got a solid little tech base here, in a rural area. I never wanted to go the VC route, so the conditions here have made it much easier for me to bootstrap as a consultant, and make lots of professional connections.

In my case, I'll ultimately be more successful starting out here, than I think I would have in the Bay Area.

</comment><comment><USER19> There are a lot more chicks in other cities. This might assist founders during the low points of a startup.

<comment><USER6> Please check your gender bias at the login page.

</comment></comment><comment><USER20> If crazy growth, outside investment, and M&A are your goals, being in the Valley is the place to be. Especially if you are aiming for a consumer app. No question.

If you're going the "DHH path" (profitable lifestyle business, limited outside investment), it probably doesn't matter much.

<comment><USER6> Because why? You didn't make an argument, you just recited the premise of DHH's argument.

<comment><USER20> I wasn't trying to make an argument.

However, if I was, I'd say:

Draw a 50 mile radius circle around Stanford. Get a list of all consumer startup acquisitions in the last 2 years. Put a pin in the map for each acquisition. (This is straight from the mouth of Ron Conway, so apologies to him).

Rinse/repeat for VC investment (which is nearly required for any consumer startup)-- it turns out that VCs tend to invest in Valley companies (because that's generally who they can meet face to face).

<comment><USER6> Wow. For that argument to make sense, all you have to do is get bought by Google.

<comment><USER20> If your target path is VC and then acquisition, I'd say proximity to Google is a pretty good idea, wouldn't you? Throw in Yahoo, Ebay, and the many other big players who like to buy companies as a bonus.

The point is-- It's way easier to get funded in the Valley (I'm raising money in the Valley and Seattle right now, so I'm speaking from a bit of experience).

And the data seems to show that it's easier to sell your company if you're in the Valley (which is the only realistic path to liquidity for founders/investors). Even if the data didn't confirm it, it makes SENSE, doesn't it?

<comment><USER6> I don't know. The last big VC-funded company I was with was in Ann Arbor, MI. When the valley influenced the rest of the VC-backed or acquired companies I worked with, it did so by moving the established company out to California. I've never worked for a company whose opportunities came simply from being located in California.

Meanwhile, the elephant in the room here is that you aren't _going_ to be acquired by Google, in the same sense as you are not going to win the lottery. There's a get-rich-quick mentality behind web startups that is totally not borne out by the numbers, and it cuts both ways: unrealistic hubris that infects judgement (for instance, by moving teams out of comfortable environments to San Francisco), and devastating emo temper tantrums at minor setbacks, like not being accepted into YC.

</comment></comment></comment></comment></comment></comment><comment><USER21> I loved DHH's speech at startup school, but having lived in Chicago and now living in SF, I have to disagree with him on this one.

His point seems twofold: 1) The availability of funding in the Bay Area tempts people to take it whether they need it or not, and 2) The competition for top talent is stronger here than anywhere else.

The first point, on funding, is news to me. Yes, the availability of VC here is correlated with more Bay Area startups being funded. It doesn't mean that your startup will automatically be funded just because you're located here - the competition for funding is as strong as the competition for talent.

I meet people doing self-funded startups all the time. The differentiator is whether you want to be the next Facebook vs. traditional profit model. Yes, the funded web-2.0-ish startups get most of the press here, it doesn't mean that no one is doing it another way.

Yes, the competition for talent here is fierce. Right now I'm looking for a CSS expert, no programming required, and even that is nearly impossible to find. However, I know I will find someone sooner or later _because I'm located in SF_. I shudder to think how hard this would be if I were in St. Louis or something, or even a less tech-centric city like Chicago. A few weeks ago I needed an expert Flex hacker to help with something I'm building, so I just called up my friends until I found one. Try doing that in the midwest. Also, I'm at the kind of small, traditional-profit-type company that DHH so admires.

Hackers move here because SF is the best place on earth to be a hacker, and that fact mitigates in your favor when looking for talent.

</comment><comment><USER22> This issue is so much less important than other matters - and heavily context dependent. But I find the ability for two reasonable and diametrically opposing opinions interesting.

I just moved to SF from Boston. I think more people understand startups in the Valley, making hiring with equity displacing cash more of an option.

I also think my startup's success will heavily depend on distribution and business development deals. That makes moving to a concentrated area more important.

</comment><comment><USER23> I wonder if DHH means SF proper, or if he's actually talking about the entire Bay Area.

The Peninsula (Palo Alto, San Mateo) and the South Bay (Mountain View, San Jose, Santa Clara, Sunnyvale) are home to the popular web sites used around the world.

The issues you would deal with living in SF differ pretty dramatically from the ones you'd deal with living anywhere else in the Bay Area. (Except the expense, which is bad everywhere.)

</comment><comment><USER24> I'm surprised that noone's really talking about money here. The Bay Area has one of the highest costs of living of any city in the country. That means its going to take that much more of your time to work, to make money, and to live. If you're spending your time working to live, that means you're not using that time to work on your projects.

Right now I'm taking a culture hit. Living in Worcester, MA certainly doesn't put me at the center of startup culture, but Boston and Providence are close enough. I can take the bus/train and find myself surrounded by technically oriented people. A low cost of living in this town is what allows me to work less and affords me the free time to work on my projects. To me, this time to work is alot more valuable.

(Oh, there is culture in Worcester. You just have to dig. :)

<comment><USER25> Not to mention that California is probably the most fiscally screwed up and one of the most tax heavy states in the country.

<comment><USER26> You forget to mention that I make about twice as much here in SF as I did in Boston. And my lifestyle and quality of life improved dramatically...

I have an uncle in Worcester, and I visit it once and a while, and I think it is really boring.

</comment></comment></comment><comment><USER8> The smart businesses know you don't want to be in San Francisco - there are too many distractions. You want to be somewhere lame, like San Carlos, so that people don't have anything to do besides work.

edit: I guess I should have added the ";)" JUST KIDDING!

<comment><USER18> Bluh. Dunno about you, but I get badly demotivated if all I'm doing is working.

</comment></comment><comment><USER27> Just because there are some crap companies being started, and some crap investments being made, doesn't mean everything coming out of the bay area is as DHH describes. I'm working at a company thats doing quite well, and will continue to do quite well. Being close to the bay area was essential, so essential that the founders both relocate from their homes for most of the year to be here.

</comment><comment><USER28> After reading this rant and listening to his talk in startup school, is DHH drinking too much of his own kool-aid?

[I live in SF bay area and work in VC funded startups]

I mean life is not just 37 signals? At some point in time, he has to come out and do another startup. Is he setting himself a trap of doing a very narrow set of startups?

<comment><USER12> Why do I have to go out and do another startup? I don't work at a startup, I work at a company.

I think this mentality is a big part of what's wrong with the startup culture in the Bay area. This notion that it's inevitable that you have to work for a long string of companies, better not get too attached to any one of them.

Jason and I intend to make 37signals a company that'll last for 20 years. Maybe we won't succeed, lots of businesses fail, but that's at least our goal.

It's a sad state of affair where such a simple goal is looked upon with suspicion and disbelief.

</comment></comment><comment><USER29> Much of the "go big with other people's money" culture is by design.

People are naturally risk-averse -- moreso than pools of capital would prefer. Capital wants to maximize expected return, and will smooth out the variance by diversification, rather than trading away raw expected return for stability.

</comment><comment><USER30> No one's mentioned competition?

Along the lines of start small, regional and expand. It's easy to differentiate yourself as a regional online application. Anywhere else.

</comment><comment><USER31> There should be another point under TALENT.

Set up shop near a college with a strong tech program.

<comment><USER6> And there should be a sub-bullet for "HARD TO COME BY IN THE BAY AREA". Yes, there's clearly more of it in the Bay in gross terms. That doesn't mean you're getting access to any of it: new startups in San Francisco are totally, completely outgunned.

</comment></comment><comment><USER32> I'm glad you enjoy those wonderful Chicago winters, DHH.

<comment><USER33> Winter in Chicago isn't that bad. Do you think "wow, this is great weather" every day during the winter? No. But the spring, summer, and fall is very enjoyable.

The problem with Chicago is that there are no other hackers around (all the tech people work for banks, and end up being as interesting as you'd imagine), and there are no 24-hour coffee shops, at least not near me.

Chicago is a good place to be if you want to be alone. I guess it's "a big city" but it sure doesn't feel like it at times.

<comment><USER7> "Winter in Chicago isn't that bad."

In the words of 37signals -- and Dr. Phil -- get real. Winter is hell in Chicago, summer is a pressure cooker, and fall and spring are tolerable for a few days.

"Isn't that bad" is relative. Weather in the Bay Area is amazingly good. One of three mediterranean climates in the world. There is no comparison.

<comment><USER33> > In the words of 37signals -- and Dr. Phil -- get real. Winter is hell in > Chicago, summer is a pressure cooker, and fall and spring are tolerable for > a few days.

You are entitled to your opinion, but I disagree. It's just the weather; if that's the defining feature of your life, try to do something more interesting :)

</comment></comment></comment></comment><comment><USER7> Flamebait. From a guy who's barely ever been here. From a guy who grew up in an ugly place with lousy weather (Denmark) and moved to a place that's remarkably similar to that.

DHH generalizes wildly in this rant -- usually an indication of anger and jealousy rather than reason.

<comment><USER2> What is he angry and jealous of? I'm pretty sure he can afford to move there if he wants to.

<comment><USER7> I'm just guessing, but I'd say he's intimidated. Usually people who are frequently accused of arrogance are overcompensating. He doesn't like the Bay Area because so much happens here, and he's not a part of it.

Afford? DHH is not rich.

<comment><USER12> I actually really like the Bay area as pleasant place to be. My argument is that you shouldn't move there to start a company of the product/price/profit variety.

And this doesn't really have anything to do with cost. 37signals is a multi- million dollar company and we (including the founders) could certainly afford to move to San Francisco.</comment></comment></comment></comment>


Account Security – A Divided User Perception - <AUTHOR> https://www.elie.net/blog/security/account-security-a-divided-user-perception <comment><USER2> > On the hardware token side, security keys are still quite expensive

I don't know Elie, a lot of valuable users have iPhones with a great biometric secure enclave implementation. I know you've heard of it--it's like CAPTCHA, except the end user is real (not some tasker) and generates 1,000x more value for the security integrator. It's not the end user's fault Android sucks in this regard.

If Google wanted to, it could extend the IMAP protocol, work with Apple, and make it happen--two factor for everyone. It could also provide Exchange and push too, for free, like it used to, for everyone, but I don't know what happened with that either.

Along with a bunch of other people, Google contributed to Let's Encrypt, a product of the ISRG, by giving ISRG a bunch of money and basically saying, in a determination made by a business person (not a security analyst) in an afternoon, "Okay, the world can have free certificates now, Chrome will be okay with this." That determination, which may have literally taken minutes by some executive to make, has done more for HTTPS adoption than any study or Chrome feature. I'd use that as a model for what you could do to improve security of the end user.

If Gmail isn't interested in improving practical security--if its product managers are narrowly focused on adoption of the iOS app, for tracking purposes, and the delivery of as much content to it as possible for analysis, people will obviously change the way they deliver e-mail. Services already notify you of important messages and require you to login to their websites to read them. It's not zero sum, but given its moat, Google has a lot more to lose.

The end user's experience is frustrated here. But it's not really "thought leadership" to come out and say, "More of whatever Google does, as long as it doesn't interfere with its complex priorities in the reality the end user actually inhabits."

</comment><comment><USER3> While overall, your take on what makes an account valuable is an interesting take on the subject, it looses credibility the more you read on... Starting by the simple fact that you undermine your own point by saying that it is less of a problem because ... You will get your stuff back ... Ok, sure you will, ...eventually. in the meantime, you could very well end up without a dime for a couple weeks! We could go in and out about identity theft and how it can ruin lives..

And while you are right that social media accounts are very valuable for celebrities, companies, notorious figures and so on, for the average user , it simply doesn't... Saying that your Social media account is more valuable than your bank accounts is utterly absurd. And even for celebs and other public figures, I very much doubt they would rather have had their bank account compromised... (I.e. the very recent Bezos saga).

Besides all that, advocating that one could be less secure than another, is nothing if not counter-productive, users should make their less secure accounts MORE secure, and yes, shedding light on the real value those could hold is a very meaningful and relevant way shifting behaviors towards better security!

</comment><comment><USER4> I've observed something similar about HTTPS adoption: for many years many sysadmins and many Internet users thought HTTPS was absolutely essential to protect credit card numbers (which are not really very secret), but not to protect e-mail and messaging.</comment>


Ocamlmq: a 1200-line low-key alternative to ActiveMQ and RabbitMQ. - <AUTHOR> http://eigenclass.org/R2/writings/ocamlmq-release Previously: http://eigenclass.org/R2/writings/rabbitmq-STOMP-semantics <comment><USER2> Don't forget 0MQ too.

<comment><USER3> 0mq is a great solution. But, as far as I know, it does not support persistent storage, while ocamlmq provides "strong durability guarantees".

<comment><USER4> How does 0mq stand against something like AMQP?

<comment><USER5> ZMQ is much lower-level than AMQP. ZMQ is pretty much a thin layer on top of TCP (or alternatively UDP) which offers basic messaging semantics like Publish/Subscribe. You create ZMQ-sockets on multiple machines and data written to one socket will be forwarded to all machines that have subscribed to this socket. There's several more socket types, for example Request/Response or point-to-point (which is mostly like a traditional TCP connection).

AMQP is much heavier and offers persistence and more advanced routing (and a lot of unncessary cruft). In theory you could build something like RabbitMQ on top of ZMQ (I say 'in theory' because AMQP defines its own wire protocol which is incompatible with ZMQ). AMQP is also server-centric whereas you could use ZMQ in a more decentralized system.</comment></comment></comment></comment>


Scenes from the First Rare Digital Art Auction - <AUTHOR> https://www.theparisreview.org/blog/2018/01/23/much-pepe-scenes-first-rare-digital-art-auction/ <comment><USER2> Finally David Thorne will be able to get its spider back: [http://www.27bslash6.com/overdue.html](http://www.27bslash6.com/overdue.html)

</comment><comment><USER3> Hey all - I was the organizer of the Rare Digital Art Festival, cool to see this on Hacker News! I'm happy to answer any questions about the event, rare digital art, etc.

<comment><USER4> Digital art in unencrypted form can never be rare. It will only be rare if it is painted by a homomorphicly encrypted algorithm that contains vector or any infinitely scalably primitives. This would ensure that screencaps never capture the "real" thing at the heart of the asset. Clearly, this takes a lot more work than what was done here. But it is the only pure way to not scam people on assets that can be easily cloned.

<comment><USER3> The assets can never be cloned because the asset is not the file. It is the blockchain asset cryptographically signed by the artist. Just as you can make a photocopy of a book but can't clone a signed, first edition book so it is with rare digital art.

<comment><USER4> Didn't need an explanation. The asset is NOT an asset. "This pipe is not a pipe!"

</comment></comment></comment></comment><comment><USER5> Somewhere in all this we need to study people's willingness to do things they don't understand. Humans have been creative risk taker as well as sheep through out time. I wonder how many of these people are creative risk takers and how many are simply followers.

What motivates people to do this? Is it fear of missing out? Is it the potential to be a part of something new? Is it greed?

<comment><USER3> All of the above, but I would add in many cases people truly do want to own the art because they admire the artist or admire the creation. There is some intense creativity going on in the space right now.

</comment></comment><comment><USER6> This is a great way to make a lot of money but doesn't provide a lot of value. In fact, it destroys one of the most important parts about digital media: that it can be instantly copied exactly. We need to continue teaching people that it's perfectly acceptable to make exact duplicates of something, not head in the opposite direction.

<comment><USER3> It actually doesn't destroy that - it assumes that quality will never change and adds a new asset type to digital files. You end up with both collectible/signed/authentic versions and the infinitely replicable copies. It allows artists to implement scarcity without implementing DRM.

<comment><USER7> Implementing scarcity seems like a totally undesirable thing to do, unless your only motive is money

<comment><USER3> Yes - artists deserve to be able to make money from selling scarcity and authenticity. 100%. If they can do that while not restricting access, it is the best of both worlds.

<comment><USER8> This is a great project, thank you :)

</comment></comment></comment></comment></comment><comment><USER9> It's amazing that someone paid six figures for a cryptographically-assigned virtual cat. I would ask though, is this the future of art collecting? Or, a by-product of the crypto hype wagon?

<comment><USER10> It's both a product of crypto-hype and one of several futures of art collecting.

<comment><USER11> Except the value of a CryptoKitty or Rare Pepe is unlikely to continue to be worth anything in a few years, because let's be honest, it's not very interesting art.

<comment><USER12> That's your opinion. Art is a matter of perception.

</comment></comment></comment></comment><comment><USER13> Walter Benjamin is rolling over in his grave.</comment>


Solidus: A Protocol for Confidential Transactions on Public Blockchains [pdf] - <AUTHOR> https://eprint.iacr.org/2017/317.pdf <comment><USER2> It looks like it can be implemented efficiently only on top of ZKSnarks, and doesn't try really hard to compare with MimbleWimble, the obvious competitor (just writes a few words about it that doesn't make me confident in trusting the paper)</comment>


Kevin Smith has near fatal heart attack - <AUTHOR> https://www.geekfeed.com/kevin-smith-had-a-near-fatal-heart-attack/ <comment><USER2> I had a similar blockage about a year ago, which resulted in a cardiac arrest. Were it not for the hard work of the paramedics, I wouldn't be here now. All I can remember about that night is that the pain is excruciating.

Exercise more, eat less crappy foods (looking at you carbs), stay healthy...

</comment><comment><USER3> Oh wow, my thoughts go out to Kevin, he's a humble, hilarious and all-around great guy from what I've experienced through his podcasts and movies. Glad he's still with us!</comment>


Ask HN: Mozilla Persona Post-Mortem - <AUTHOR> As far as I can tell, the demise of Mozilla Persona has left a vacuum in terms of user-controlled identity solutions.  Why did Persona fail? What else is happening in this area? What's coming up on the horizon? <comment><USER2> Portier (formerly Let's Auth) was set up by a bunch of people interested in decentralised identity solutions after Persona was killed, as a sort of spiritual successor: [https://portier.github.io/](https://portier.github.io/)

<comment><USER3> I recently implemented Portier in a porject. I haven't come across a nicer login system. It's dead simple and a joy to use. I hope it'll become more popular!

</comment></comment><comment><USER4> The after action report (AAR) can be found at [https://wiki.mozilla.org/Identity/Persona_AAR](https://wiki.mozilla.org/Identity/Persona_AAR)

</comment><comment><USER5> The main purpose of Persona was cross-site login, and it seems like there's a million options for that: Google, Facebook, Twitter, Reddit, Steam, etc etc etc. Broadly speaking, you can support a lot of these platforms all at once with OpenID (don't know too much about OpenID though; not sure how prevalent support is).

I think Persona failed because it simply wasn't the easiest option for the end-user. When given the choice to create an account on Persona, or sign in with the social media account they already have, most people will follow the principle of least effort and use their existing social account.

<comment><USER6> The original Persona proposal had the concept of browser-based identity. Your browser would provide secure authentication, and then Firefox Sync would let you bring the authentication credentials with you to other systems. You'd just click "sign in" on a site (or in the browser UI) and your browser would sign you in, with no other interaction required.

However, outside of a prototype addon, that approach never materialized. And without that, Persona didn't have a compelling use case except for people who didn't want to trust signing in via Facebook or Google or Twitter.

We're finally starting to see standards proposals that address this, and allow signing in via cryptographic authentication built into your browser. I hope to see those make OAuth obsolete for any use case _other_ than API access to an account (e.g. "allow this site to integrate with Github").

<comment><USER7> > We're finally starting to see standards proposals that address this, and > allow signing in via cryptographic

could you point us at these - would've very interested as thelack of PKI in the world does bother me

<comment><USER6> [https://www.w3.org/TR/webauthn/](https://www.w3.org/TR/webauthn/)

Disclaimer: I have _not_ reviewed this spec in detail yet, and my confidence in the W3C is _not_ high.

<comment><USER8> Firefox 60 will ship the WebAuthn API. Here's a Mozilla blog post with examples of how to use WebAuthn and FIDO U2F devices:

[https://hacks.mozilla.org/2018/01/using-hardware-token- based...](https://hacks.mozilla.org/2018/01/using-hardware-token-based-2fa- with-the-webauthn-api/)

<comment><USER6> Will it work with a key stored in the "software security device", rather than a hardware token?

For that matter, the description shown on that page suggests that it supports using the key on the hardware token as the _only_ authentication factor. That seems dangerous. Unlike a key stored on an encrypted disk, a U2F key typically works for anyone who steals it. Firefox needs to use that key _together_ with another key stored in the browser, or otherwise ensure that someone who steals the U2F key does not gain access to every account secured with WebAuthn.

<comment><USER8> Yes, I think Firefox will support U2F "soft tokens". Code for a U2FSoftTokenManager was added in Firefox bug 1323339.

[https://bugzilla.mozilla.org/show_bug.cgi?id=1323339](https://bugzilla.mozilla.org/show_bug.cgi?id=1323339)

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> There was a post here by the head of the team about 4 years ago going over his thoughts on the matter [https://news.ycombinator.com/item?id=7364465](https://news.ycombinator.com/item?id=7364465)

and as someone else mentioned the After Action Report summarized the bullet points well: [https://wiki.mozilla.org/Identity/Persona_AAR](https://wiki.mozilla.org/Identity/Persona_AAR)</comment>


New details about planet 2007 OR10, third largest dwarf planet in solar system - <AUTHOR> http://gizmodo.com/a-huge-unnamed-dwarf-planet-almost-the-size-of-pluto-1776287457 <comment><USER2> Its orbit in relation to other far out planets: [https://upload.wikimedia.org/wikipedia/commons/b/bc/2007OR10...](https://upload.wikimedia.org/wikipedia/commons/b/bc/2007OR10-orbit.png)

<comment><USER3> Thanks, that's the context that we need. It seems rather odd that someone could write a whole article without going into _where_ "in Our Solar System" this body orbits.

Obviously it's not going to be in the inner solar system, but it seems odd not to even mention the basic comparisons to e.g. the orbits of Pluto or Eris.

Summary: It is out past Neptune, has a similar kind of orbit to Eris.

<comment><USER4> Odd but not too rare, unfortunately. I've seen countless articles _about the contents of a photograph or piece of art_ that did not include an image of any type. Puzzling.

<comment><USER5> _> about the contents of a photograph or piece of art_

That often happens because of copyrights.

<comment><USER6> How can that be? That sounds like the most uncontroversial example of fair use.

<comment><USER7> Fair use doesn't apply everywhere in the world.

>Fair use is a legal doctrine only in the United States.[0]

In the UK, for example, their fair dealing exception is only for " _non- commercial_ research or study, criticism or review". [1]

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

[1] [https://en.wikipedia.org/wiki/Fair_dealing_in_United_Kingdom...](https://en.wikipedia.org/wiki/Fair_dealing_in_United_Kingdom_law)

<comment><USER8> The term "fair use" seems to only exist in the United States, but the same concept exists in more places. Such as Sweden, for instance, where it's called "skäligt bruk".

[https://sv.wikipedia.org/wiki/Fair_use](https://sv.wikipedia.org/wiki/Fair_use)

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I am baffled by the article's frequent use of the word Kepler. The first mention is correct: "New planets are uncovered all the time, thanks to Kepler. In fact, the mission just unearthed a stash of more than 1,200 new exoplanets, bringing its total haul to over 3,200."

This refers to the Kepler Mission[1] which points to a fixed spot in interstellar space and finds exoplanets. But that mission has NOTHING to do with our solar system. It isn't pointed anywhere near the solar ecliptic and couldn't see a local planet if it was.

So when it says "That lack of reflective light made it hard for Kepler to even spot the planet" it is being ignorantly misleading, and when it says "although Kepler managed to catch brief glimpse in 2014" it is just wrong. "the Konkoly researchers hadn't thought to pair NASA Kepler data with ESA Herschel data" \-- for very good reason, Kepler data would be completely irrelevant. "information about the amount of light the planet was reflecting from Kepler..." again, completely impossible and wrong.

The byline is Ria Misra, clearly a person who should not be allowed to write about astronomy anytime soon.

[1] [http://kepler.nasa.gov/](http://kepler.nasa.gov/)

<comment><USER10> The abstract of the paper[0] clearly says

> We combined optical light curves provided by the Kepler Space Telescope–K2 > extended mission and thermal infrared data provided by the Herschel Space > Observatory.

Kepler hasn't been staring at the same patch of stars for a while now[1]

[0] [http://iopscience.iop.org/article/10.3847/0004-6256/151/5/11...](http://iopscience.iop.org/article/10.3847/0004-6256/151/5/117/) [1] [https://en.wikipedia.org/wiki/Kepler_(spacecraft)#Second_Lig...](https://en.wikipedia.org/wiki/Kepler_\(spacecraft\)#Second_Light_.28K2.29)

<comment><USER9> Thank you. It appears I was wrong.

</comment></comment></comment><comment><USER11> This was discovered in 2007 and thought to be a dwarf planet even then. The new information here is a more accurate estimate of it's size that moves it from 5th largest to 3rd largest dwarf planet. The title is click bait.

<comment><USER12> Ok, we changed the title to a representative phrase from the article.

</comment></comment><comment><USER13> It's original discoverer, Mike Brown, wrote a few blog posts about this object back in 2011 that are worth reading: [http://www.mikebrownsplanets.com/2011/08/redemption-of- snow-...](http://www.mikebrownsplanets.com/2011/08/redemption-of-snow-white- part-1.html)

</comment><comment><USER13> Here's the actual paper: [http://arxiv.org/abs/1603.03090](http://arxiv.org/abs/1603.03090)

</comment><comment><USER14> Sigh, not Planet X: [http://www.sciencemag.org/news/2016/01/feature- astronomers-s...](http://www.sciencemag.org/news/2016/01/feature-astronomers- say-neptune-sized-planet-lurks-unseen-solar-system)

<comment><USER15> I'm hoping for planet McPlanetface myself...

<comment><USER16> Not dwarfy mcdwarfface?

</comment></comment></comment><comment><USER17> Perhaps one of the more interesting things in this article was the depiction of Haumea [0]. I had no clue planets could have an elliptical shape. Pretty cool. Apparently it hasn't been directly observed, but it's shape has been calculated from its "light curve".

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

<comment><USER18> >> I had no clue planets could have an elliptical shape.

They can't, as one of the defining characteristics of a planet is having enough mass to be rounded under it's own gravity. Dwarf planets have no such restriction.

<comment><USER19> Earth is elliptical - an oblate spheroid - so I would say they can.

<comment><USER20> Yes, the Earth is an oblate spheroid rounded by its own gravity. Despite your tone, you seem to be agreeing.

</comment></comment></comment></comment><comment><USER21> The massive distances between celestial objects is somewhat beyond human comprehension. The scale of these objects and their orbits is so very different from the scales we encounter on a daily basis. The fact that these bodies can still be discovered proves we know so little about our own cosmic backyard, let alone the intricacies of spacetime.

<comment><USER22> Although I agree with you that it's in some ways amazing that we can, e.g. spot planets in solar systems hundreds of light-years away and still have discoveries like this one in our own 'backyard', I'd say that the intricacies of spacetime is a rather different issue which is not correlated with our lack of understanding of our own cosmic backyard, except for the fact that both are 'astrophysical' phenomena (spacetime is more GR, but bear with me).

What I mean is that the intricacies of spacetime is something that can be mathematically formulated, tested, and 'known' in a whole different way than how many objects reside in our solar system. It's kind of analogous to saying that not knowing how many species there are on earth means we don't understand how natural selection works.

</comment></comment><comment><USER23> "A dwarf planet", not "An". Also, too many commas and no need to capitalize every word.

Grammar, FTW.

<comment><USER24> Re: the commas, see the Free Modifier example from [https://en.wikipedia.org/wiki/Comma#Parenthetical_phrases](https://en.wikipedia.org/wiki/Comma#Parenthetical_phrases)

The commas are not ideal, but neither are they ungrammatical.

</comment></comment><comment><USER25> That's an pretty surprising finding.

</comment><comment><USER26> If the naming gets crowdsourced we all know how that ends. Ladies and Gentlemen, I would like to present Rocky McPlanetFace.

<comment><USER27> Planetey McPlanetFace you pleb. ;)

<comment><USER26> Oh please. Thingy McThingFace was so 2015:

[http://crooksandliars.com/2016/05/zimmerman-gun-sale- hijacke...](http://crooksandliars.com/2016/05/zimmerman-gun-sale-hijacked- racist)</comment></comment></comment>


The FBI Director thinks this company found an answer to 'Going Dark' - <AUTHOR> https://www.cyberscoop.com/christopher-wray-encryption-symphony-key-escrow/ <comment><AUTHOR> The keep your own data, but escrow your keys approach, that banks apparently use for secure chat.</comment>


Apple patents iPhone tech to stop filming at gigs - <AUTHOR> http://www.wired.co.uk/article/apple-patent-targets-concert-smartphone-users <comment><USER2> >> This news will come as a welcome relief to anyone who hates having to watch concerts through a sea of smartphone screens

Alright. Tangent before getting on point. I'm someone who hasn't been to a movie theatre in the past 6 years except for Avatar and Inception in 2009/2010\. My blood boils every single time I see a cell phone pulled out to check the time, reply to emails or text messages, or "quietly" answer a call "I'm at a movie, I can't talk now, I'll call you later... _2 more minutes of talking_ ". I just can't handle it. I'm not a very angry person, and I've never even been in a fistfight, but I truly have a hard time resisting shouting at these people, or grabbing their phone out of their hands and smashing it.

I will only go to see the best of the best in theatre now; the films that _must absolutely_ be seen on a large IMAX screen with booming bass audio. I _cannot_ handle the situation of cell phones shining in my face in a dark theatre. I fully advocate Faraday cages inside theatre rooms. Make it so that signal works just outside the doors of the theatre, but not within it. Gunmen, fires, and "family emergencies" do not warrant cell phone usage in a theatre. They didn't exist 30 years ago; if you can't go 2 hours without your phone, don't go the theatre.

But fuck this. I've been an iPhone user since the 3G (3G, 4, then 6). If this patent ever becomes integrated, I will give up my ecosystem with my MacBook and iPhone and switch. No way in hell do I accept having my camera locked out in whatever location anybody decides to block it. What a way for police states to deny the recording of government employees breaking the law. I expect I'd think differently were I a concert-goer (clearly I would despise people pulling out their bright phones in a dark concert hall). But this... this is going too far.

Thankfully this patent is already 5-7 years old without being used. Let's hope this is one of those patents that sits around as a piece of intellectual property without ever being used. The potential for abuse is too high.

</comment><comment><USER3> At this rate, apple has to start paying me to use their phone. I am already bummed out due to the lack of a jail break. I feel so trapped without any option to customize.

The only reason why I use iphone 5s is due to the size. Just that. It's a pity that android does not come in small size.

</comment><comment><USER4> What's to stop a troll from setting up a signal at arbitrary locations and ruining people's pictures?

<comment><USER5> Exactly - or worse, what happens when law enforcement starts using it to disable people from filming them? This is a terrible idea, IMO.</comment></comment>


Ask HN: What's the most simple thing you struggle to understand in programming? - <AUTHOR> Always there's something you struggle to understand and you're surprised w/ yourself <comment><USER2> Testing. I'm a very experienced programmer, and I have written plenty of unit tests -- but I've never worked in a place with a good testing culture and I've always struggled to develop a high level mentality of how and why I should be testing my software. When should I write a test for something and what is the best way to go about it? Does my code have to be more 'test friendly'? TDD seems very appealing to me as a way to outline my software before I 'dive in' but its hard for me to rationalize spending the extra time on building out the testing framework.

<comment><USER3> I struggle with this as well. I wouldn't say I'm very experienced, but I've been around the block for awhile. I use TDD successfully, but I always have problems with edge cases. I think of and try to guard against edge cases, but I feel like testing in practice is really just preventing regressions for test cases. Most the bugs I actually see in my software are of things I didn't think about (obviously).

Sometimes I wonder if I should only write a test when something unexpected happens (e.g. user has a bug report) instead of wasting time writing tests on the front end for core features and obvious edge cases.

I mostly work on scientific software, btw.

</comment></comment><comment><USER4> Every asynchronous programming API ever created.

My program spawns and runs in the main thread. It calls the main function. If it want it to run forever, I'll stick a while(1) loop in that function.

Now I want to have a particular thing go off and do some work in parallel with that main loop, and when it's done, I want the next iteration of the main loop to pick up on that fact.

Not once have I encountered a sane API for that use-case as easily expressed as those sentences of prose above.

<comment><USER5> I can think of a couple trivial ways to express this in Erlang/Elixir. You should take a look at them.

<comment><USER4> I concede I've not studied those languages yet - I do hear good things about them though, so I'll take a look next suitable chance I get!

</comment></comment></comment><comment><USER6> I have a few (mostly silly ones):

• Async/await in C# (I have a pretty good mental model and use it quite often but honestly have never truly understood how it compares to c/C++ threads)

• async concepts in Java Android. Runnable, future, asynctask, threads arrghhhh. My head hurts.

• multitable SQL joins (inner vs outer). Someone gave a pretty good explanation in the comments.

• why do I need to use nginx for my web server? And what is a reverse proxy anyways?

• how come I can use any smpt client or something like mailchimp or sendgrid to send an email and specify any email in the "from" field. Can't I pose as someone I'm not?

<comment><USER7> I can answer your question on nginx. There are multiple reasons why you would want to use it as the entry point to what you want to serve. As a standalone web sever if offers a plethora of configuration settings that allow you to specify how you want to handle the incoming requests.

TLS is one aspect that comes to mind. A certificate and key is not enough. You must specify the correct parameters such as the cipher suites, DH parameters, HSTS, and more if you want a secure connection.

You mentioned a reverse proxy. This is the other aspect that comes to mind. Servers are bound to ports, like 80 and 443. How do you serve multiple applications on the same port on the same server? A proxy. More specifically a reverse proxy. It sits between the client and the services as a middleman to handle and direct requests. Multiple services can run on different ports but the reverse proxy allows for a single point of entry, such as HTTP requests on port 80. The proxy will inspect the request and based on certain values, say a hostname, it will be directed to the correct service. Otherwise you would have to tell your clients to specify the port the service is running on, ex: [http://mydomain.com:8080](http://mydomain.com:8080)

<comment><USER2> This is incredibly useful for performance. If the user is requesting an image or other static asset, your reverse proxy can detect this and skip making a request to the actual application. Likewise if you want to go to some sort of cache based on the type of request.

</comment></comment></comment><comment><USER8> Basic OOP. What do I make a class?

Functional programming in general clicks with me, however.

<comment><USER9> Values that get passed around together go together into a structure, making code that deals with them more succinct. The functions that care about that sort of structure go into a class, not because this is inherently better, but because following this convention solves the "where did I put that function?" problem for a wider variety of cases than most other conventions.

Values that are supposed to change at the same time (or care about each other, or would otherwise need to be in sync somehow) would normally have to be passed around together to maintain that property, but this can lead to errors because it's the sort of thing people forget. If you put them into a structure together then hide the ability to actually use them behind functions that maintain the property you want, you prevent that sort of error.

<comment><USER8> > The functions that care about that sort of structure go into a class, not > because this is inherently better but because following this convention > solves the "where did I put that function?"

So you attach functions that operate on a data structure to the data structure solely for organizational purposes?

Seems almost identical to defining a record and module of functions that operate on said record. Except that in OO, by attaching the functions you create new copies of each function with a bound reference to the instance of data structure. Are there other advantages?

<comment><USER9> > Seems almost identical to defining a record and module of functions that > operate on said record.

OO is mostly that plus the ability to forbid people from using the record without using the functions.

> by attaching the functions you create new copies of each function with a > bound reference to the instance of data structure.

Yes, but the compiler won't actually copy the function, it'll implement it as something closer to the record plus modules approach (for example a record plus a pointer to the module). This might not be true if you're trying to use OO in a functional language.

<comment><USER8> Thanks for taking the time to give these detailed responses.

One more question (restated from below):

Coming from FP where immutability is sacrosanct, I often wind up writing classes that are largely immutable, which doesn't seem like correct OOP. Is there a proper way to marry immutable data structures with OO?

<comment><USER9> The object-oriented world has been moving towards more immutable and mostly- immutable classes. This is sometimes awkward with large classes, so people use the builder pattern to get around it. (It's a case of languages having not caught up with practices.)

</comment></comment></comment></comment></comment></comment><comment><USER10> Lambdas. Monads. Inner & outer joins. Tensorflow.

<comment><USER11> I think of inner & outer joins like AND & OR. An inner join will only return a result if the value of key that the join is on exists in both tables. An outer join will give rows for all key values in both tables even if values are only in one or the other table with null results in the row for the columns of the opposite table. Inner joins are the default as you are generally interested in what matches between tables but you have the option of outer if you need to get the full messy picture or if you are doing ETL and want to ensure no badish records are missing.

<comment><USER6> My goodness. Thank you for this explanation. I've always googled the concept and forgot about it but this sticks.

</comment></comment></comment><comment><USER12> Lisp continuations! From the name I swear they're just backing up the current scoped state and returning to it, but I've yet to find an example that clearly shows what's going on in what order. To be fair I haven't actually used lisp, just read through the beginnings of the scheme spec.

<comment><USER13> Start with escape continuations (using call/cc to make an early escape) and work onwards from there.

It didn't click for me until the third tutorial, and there are lots of resources out there

</comment></comment><comment><USER14> More 'ops' than 'programming', but: Email.

Email is a real 'devil in the details' thing. Anyone can follow a web how-to (when they're not stale) and set up a basic server, but it's crazy complex to understand properly. It's also weirdly both old-as-rocks and at the same time constantly changing (eg: deliverability scores, major vendors changing how they accept things, etc). Aliasing and mail flow and MUAs vs MTAs and mailbox formats and multiple arcane config files and blacklisting and DKIM and MX records (and TXT records) and etc etc etc... and if you're really crazy, GPG- signing. I've always got enough to just scrape by, but never actually comfortably grokked it all at any point. So many disparate spinning plates...

</comment><comment><USER15> I'll risk looking like an idiot: Figuring out the architecture and different combinations of languages in modern web dev, and what a good solution choice is for a given need/problem.

From the basic options to set up a server, code deployment and maintenance using Github, nodejs and similar JS-everything, XML/JSON, how much of what should CSS take care of, DB access (and which one), structure of a modern webpage, CDNs, structure scaling, and requirements for browsers and platforms..

I used to use JS to change some text in html pages ftp'd to a server running a basic apache. Looking at it now is a big slap in the face. Nodeschool helps a bit, but it's all pretty blurred still. The more I dig, the deeper it gets without a sense of direction.

<comment><USER13> Every time I try web development I feel like I have lost every sense of control. It feels like abstractions upon abstractions that are governed by conventions hidden from me, and every time I step outside them things break in weird undocumented ways. And whenever I try any web frontend stuff it feels like I have taken everything I hate with UI development, squared.

I have however embraced the magic of "no idea how things work under the hood" and now build things for our intranet in seaside.

I am however a bitter old fart that envy people that can throw beautiful web pages together in 25 minutes. Most of my work these days are management and scheme coding,so that is probably.the way it is going to stay.

</comment></comment><comment><USER16> I just figured this out today but the pass by reference and pass by value thing in Python. I understood that Python variables in the same scope can refer to the same memory object, just the name is different. However when you pass the into classes and fuctions, mutable types are pass by reference and imutable types are pass by value. I just came to this realization after spending hours looking at gui code trying to figure out why some variables form a parent object we're not changing when passed into another class and modified.

<comment><USER17> Everything is passed by reference in Python. But there are no methods to modify values of immutable objects like strings or numbers.

(Variable assignment, as in foo = bar, always just assigns a reference, it doesn't mutate objects or copy values.)

</comment></comment><comment><USER9> C++ pointer/reference syntax.

I understand the concepts, and pointers make perfect sense to me when I'm programming in assembly, but whenever I look at them in C++ it's like & and * mean the opposite things when used in variable declarations from what they mean when used as an operator and yet another thing when used to declare arguments. But I've never seen anyone else acknowledge that they're weird so I feel like there's some sort of logical connection I'm missing.

<comment><USER18> Second this.

</comment></comment><comment><USER19> This probably is ignorant, But I don't get why we need interface in java/c#. Why can't a base class with abstract methods be sufficient for that use case?

<comment><USER20> It allows you to compose types and avoid the issues (complications not necessarily problems) of multiple inheritance.

For example, where in your hierarchy do you stick the AbstractSerializable class? If it's an interface like ISerializable you just implement it at whatever level you're at.

With multiple inheritance you don't need interfaces because you can just inherit from multiple base classes.

</comment></comment><comment><USER21> Where to start, and what to make.

</comment><comment><USER22> Dependency injection.

<comment><USER23> I strongly suggest "Dependency Injection in .NET" by Mark Seemann, regardless of whether or not you're a .NET dev (if you understand basic OOP, C# syntax is generally pretty easy to pick up on).

Really the main reason it's "... in .NET" is because there are a few sections in the book that explain how to achieve DI in some common .NET frameworks, which you are free to ignore. The first half of the book is a fantastic explanation of both the problem that DI solves, and how DI solves it.

I felt like I didn't really understand OOP and the real point of object- oriented design patterns until I read it.

</comment></comment><comment><USER24> Clean code.

What makes some code better than other code? The understanding of this is probably a lifelong pursuit.

</comment><comment><USER25> I guess this isn't "simple" but I'm in a place now where I'm responsible for "all-the-things" and I'm having a difficult time understanding what makes a good architecture for a web app.

</comment><comment><USER26> Right now, Reactive Streams and RxJS in particular, especially around errors.

</comment><comment><USER27> call/cc. I understand what it is and what it does, but I don't understand how it's actually used in a practical way (all I've ever seen are synthetic/too abstract examples).

<comment><USER13> Check out srfi-125 and the make-coroutine-generator: [https://srfi.schemers.org/srfi-121/srfi-121.html](https://srfi.schemers.org/srfi-121/srfi-121.html)

That is implemented using call/cc, and even though it is mostly a convenience function, it shows how call/cc can be used.

It should be noted though, that call/cc is extremely expensive and prone to memory leaks. If you are using racket , scheme48 or guile you should use their delimited continuations instead.

</comment></comment><comment><USER18> Initial setup to get started with programming and run a hello world kind of thing.

With things we do outside of an IDE.

Language specific functions and behaviour.

</comment><comment><USER7> How to overcome imposter syndrome.

</comment><comment><USER28> Abstraction.

</comment><comment><USER29> Why C++ doesn't have modules yet ;)

</comment><comment><USER30> Pointers

<comment><USER7> A pointer is a value. That value is a memory location. That memory location should contain a value too. The value the pointer points to.

Pointers start to make more sense when you take the comment above about pass by value vs. pass by reference into consideration.

There's a great gif about this where a cup is used as the argument to a fillCup() function.

[https://blog.penjee.com/wp-content/uploads/2015/02/pass- by-r...](https://blog.penjee.com/wp-content/uploads/2015/02/pass-by-reference- vs-pass-by-value-animation.gif)

In pass by value, a second cup is created just for that function and then filled with liquid. The original cup is left untouched. With pass by reference, the original cup is being filled, not a duplicate of it. How does the function know to fill the original instead of creating a duplicate for its own scope? A pointer.

When calling a function with arguments a few things are happening behind the scenes. Memory allocation for these arguments is one of those things. This is where the stack and heap come into play. Memory allocated for the function call is considered the stack while memory for the entire program (think global variables) is the heap. Things get even more interesting when you look into stack frames and step through the execution of a program with a debugger like gdb or lldb. You'll start to understand how recursion works.

Pointers are also used in certain data structures like a linked list. They allow you to easily keep a chain of values that contain data and a pointer which points to the next data, otherwise known as a linked list, or binary tree, or many other names depending on the structure.

I'm replying on my phone so I apologize in advanced for the formatting. Hope this helps.

</comment></comment><comment><USER31> Haskell.</comment>