Show HN: Active learning and model explainability for document classification - <AUTHOR> https://github.com/Hellisotherpeople/Active-Explainable-Classification <comment><AUTHOR> Idea: My model takes in documents from the user using Standard Input - <USER2> the model classifies, explains why it classified the way it did, and asks the user if the predicted label is the ground truth or not. User supplies the ground truth, the model incrementally trains on the new example, and that new example (with human supplied label) is appended to my dataset and the cycle continues. This is called active learning

I want to take in massive sums of articles from a news API which will be placed in their corresponding file based on where my classifier says I should put them. I have to generate my own labeled data for this. That is a problem. Most people don't realize that the sample efficiency in models which utilize transfer learning is so great that AI-assisted data labeling is extremely useful and can significantly shorten what is ordinarily a painful data labeling process.

We need a way to quickly create word embedding powered document classifiers which learn with a human in the loop. For some classes, an extremely limited number of examples may be all that is necessary to get results that a user would consider to be successful for their task.

I want to know what my model is learning - so I integrate the word embeddings available with Flair, combine with Classifiers in Sklearn and Tensorflow/Keras/PyTorch, and finish it off with a nice squeeze of the LIME algorithm for model interpretability (implemented within the ELI5 Library)</comment>


Copyless Crowdscanning: How to Legally Index the World's Books - <AUTHOR> http://go-to-hellman.blogspot.com/2009/10/copyless-crowdscanning-how-to-legally.html <comment><USER2> 1\. You can do crowdscanning, that's what Project Gutenberg and Distributed Proofreaders were doing for the twenty years before google came along.

2\. An individual line from a book is copyright, unless you have a fair use exclusion, which would not be the case in these circumstances.

<comment><AUTHOR> I agree with #1, but for #2, is there precedent or case law to support your assertion? Google's Book Search is premised on the assumption that "snippet" display is fair use, but the suit against them was grounded in the fact that they copied entire books. Typically snippets are longer than sentences.</comment></comment>


The Annoying State of AWS Lambda Observability - <AUTHOR> https://medium.com/@lukedemi/the-annoying-state-of-lambda-observability-465470403846 <comment><USER2> Nice summary of the (suboptimal) tradeoffs. Perhaps AWS is waiting for some customer push to offer better options.</comment>


Ask HN: Restarting my career. In a tough spot. Need your advice - <AUTHOR>

HN, I need your advice. Due to a combination of family and personal reasons, I had to move to Asia and "restart" my career. Leaving behind my previous life, experience and career (in software dev) I decided I'd earn my living freelancing; I could do it remotely, freelancing (should be) kind of meritocratic, so given my ability I'd do just fine.
What was my plan is to start releasing open-source libraries (have never done that before while employed), get noticed for the quality of my work, profit.
While I'm doing this now, I've read a lot about getting good freelance dev work and I notice that it is almost impossible to do so without tapping my pre-existing network (unfeasible) or real-world contact (due to external conditions I'm forced into a remote mode).
I don't believe in a "build it and they will come" mentality, yet I am kind of stumped at how to market my services when the time is ripe. Ideas? Suggestions? Help? <comment><USER2> You might find some useful suggestions in this recent hn discussion:

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

To prevent repeating myself, I wrote a comment in the above discussion that you might find helpful:

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

<comment><AUTHOR> Immensely useful thread, thanks a lot.

</comment></comment><comment><USER3> Does this help?

[http://www.warplife.com/jobs/computer/telecommute/](http://www.warplife.com/jobs/computer/telecommute/)

Most of the companies I list are in the US; that would be a problem if you had to take a face-to-face meeting, come in to integrate your deliverable, work closely with the QA staff &c.

Most of my work since 1998 has been remote; of that, most of my clients I never met in person, some I met just once or twice.

I have many more that I will add soon, particularly for countries other than the US.

My experience is that oDesk and eLance are not worth the time required even to browse their websites, let alone do the work they offer.

</comment><comment><USER4> Start earning money. Don't do this promotional stuff unless you have earnings covering your basic expenses. Start working on oDesk. It takes time to get a first offer (it took me a month), but oDesk really works.

</comment><comment><USER5> > how to market my services when the time is ripe. Ideas? Suggestions? Help?

Put on your Sales/Business Development hat and go direct. Identify CIO/CTO's, Directors of Engineering (people you can help) at companies you're interested in. Linkedin can be a useful tool for research. Then call/email them to make an introduction via Skype video.

Might suggest reading Weiss on client acquisition> [http://www.goodreads.com/book/show/142757.How_to_Acquire_Cli...](http://www.goodreads.com/book/show/142757.How_to_Acquire_Clients)

</comment><comment><USER6> As one suggested below, go oDesk. Create good profile, do few jobs for excellent feedback and go bigger. Earn money. Better to use your money to re- invest them into your projects or your future (your family, buying the home for example).

I don't know how much do you spend monthly, but oDesk for me really works and it's good alternative to even local jobs for me. Additionally it helped me reach the global market and work for customers outside Russia where I live.

</comment><comment><USER7> Start a blog with a focus on a particular piece of open-source software that you work on (e.g. Drupal) and provide your contact info. Then try to get your feed into some of the well read aggregators and followed on Twitter and such. I get cold requests once a month from that alone and haven't blogged in over a year, requests were more frequent when regularly blogging (note that I don't freelance, I just get requests).

<comment><AUTHOR> Thanks for the experience. I thought about that but wasn't sure it is a productive effort. A successful anecdote is extremely helpful.

</comment></comment><comment><USER8> Avoid oDesk and elance like the plague. You'll get sucked into underbidding your competition and that's not sustainable. I spent _way_ too many years of my life doing it.

Instead, use Gun.io. I'm not affiliated with them in any way other than being a happy user of the service. The jobs on there are very high quality from vetted customers that expect to pay good money for good work.

</comment><comment><USER9> first some questions. Do you have savings, can you work in Asia at a full time or part time position an work on your project on the side? You mentioned you can't contact your existing network? Something going on there that you need to avoid these people?

<comment><AUTHOR> I do have savings, I'm not in a burning position. I did get a job, but it's not in softdev; I'd prefer working in engineering.

I don't exactly _have_ to avoid my old network, but I wouldn't to explain them what kind of situation I am in.

<comment><USER10> No need to explain anything. This is a professional relationship, not a personal one.

"I have left X and relocated to Asia to pursue new challenges. I now work as a freelance contractor." is fine, hell, it even sounds exotic! Who wouldn't want to work remotely from a foreign country? Keep the bad out of your sale pitch. They don't need to know why you have moved and neither do they need to know that you are currently not employed as an engineer.

</comment></comment></comment><comment><USER11> I found a great developer by first finding his open source project. It's a great plan but will probably take a while. What's your skillset look like?

<comment><AUTHOR> Half software development / half data science. Clojure, Ruby + beginner Golang for softdev, R, Weka, Mathematica, Ruby and a bit of Python for data science.

On the web side, I'm almost purely backend developer.

</comment></comment><comment><USER12> Where in Asia ?</comment>


Ask HN: Any lawyers/accountants I can speak with? - <AUTHOR> I am currently conducting some user-investigation for an idea that I currently have; the idea focuses on entity registration and compliance (areas that I have prior experience in).
I was wondering if I could speak with any lawyers/accountants who would be willing to share their experiences.
Please let me know if this is possible - thanks! <comment><USER2> The way Patrick "patio11" Mackenzie validated his idea for Appointment Reminder was to make a mockup, make appointments with the relevant demographic at the professional's regular rate, and use that time to show the professional the mockup.

[https://www.conversionaid.com/podcast/patrick-mckenzie- kalzu...](https://www.conversionaid.com/podcast/patrick-mckenzie-kalzumeus/)

<comment><USER3> I walked in rather than making appointments, mostly out of a lack of planning / confidence in my ability to make things happen over the telephone.

<comment><USER2> Thanks. Do you think that for your target market, being a walk-in was more beneficial than appointments would have been?

As I was typing I sort of had a feeling that lawyers and hair salons have different attitudes toward walk-ins. Partly because I was in a PT office with the boy's ankle a couple of weeks ago when a fellow walked in and was trying to pitch something about an app...it wasn't really clear what from fifteen feet away (but I don't think it was clearer to the office manager) and the person to talk to was a Physical Therapist and consequently booked solid. The fellow didn't seem to be aware of HIPAA either and my instinct is it was at least even money he was planning to outsource development...yellow legal pad might have been a factor.

The office manager tried to direct the fellow toward thinking about HIPAA but I don't think it registered. Anyway, the eaves dropping reminded me of your story.

I'm curious if there is a better link than that interview to that particular story.

</comment></comment></comment><comment><USER4> Have you tried going through the yellow pages and calling a couple of local lawyers and accountants?

Another option would be to go to functions that they frequently put on and chat to some relatively informally and if they show interest then make an appointment to go indepth.

These are the two avenues I would try if I were in your situation. Or ... did I miss something? I don't think many lawyers nor accountants would be reading HN.

</comment><comment><USER5> Happy to share my own experiences. I work with George Grellas (frequent poster here) at Grellas Shah LLP. You can find my information on our firm website: [http://grellas.com/david-siegel.html](http://grellas.com/david-siegel.html)</comment>


Adm. McRaven Urges Graduates to Find Courage to Change the World - <AUTHOR> http://www.utexas.edu/news/2014/05/16/admiral-mcraven-commencement-speech/ <comment><USER2> This was an interesting article, though most of the points seem to revolve around the theme of "Never giving up". I found the first one particulary interesting (the make your bed one).

here's the points in summary:

1\. "Make your bed" \- start your day off by accomplishing a small task. Little things in life matter and add up.

2\. "Find someone to help you paddle" \- You can't accomplish great things alone, you need friends and collegues.

3\. "Measure a person by size of heart" \- Judge people by their deeds not ethnicity, etc.

4\. "Get over being a sugar cookie and move on" \- Sometimes no matter how great you do things, they fail. Accept it, keep going.

5\. "Don't be afraid of circuses" \- in face of constant failure, learn from it each time, persevere, let it make you stronger.

6\. "Sometimes slide down the obstacle head first" \- Don't be afraid to take a risk in order to achieve greatness.

7\. "Don't back down from sharks" \- people/events will actively try to take you down, stand your ground, fight back.

8\. "Be your best in the darkest moment" \- During the hardest/most critical times, you must be calm and composed to bring your peek performance.

9\. "Start singing when you're up to your neck in mud" \- Be a bearer of hope, persevere in it, there is power in hope.

10\. "Never ever ring the bell" \- Never give up, never quit.

I would be interested in knowing what other HNers have for good points they try to live by.

<comment><USER3> Never give up could also apply to posting to HN. This is the 3rd time this story has been posted and it's the first one to gain traction.

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

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

</comment></comment><comment><USER4> It sounds like an impressive speech. I understand people share his values.

The bravest and most meaningful action I saw from a military person was a college roommate who had returned from active duty as a Marine in the Gulf War. I don't know if his training was as intense as a SEAL's but he saw active duty and looked long and hard at his actions and those of this country and applied to become a conscientious objector.

I think he valued and lived all the things the UT guy talked about, but to me it seemed he did one thing further. After all, when a country goes to war, the other side has soldiers who share all those values too. What makes one side better than the other? I doubt many would say might should make right. I don't know if anyone can answer that question better than any other, but I believe he concluded that you have to examine your conscience and the conscience of the military for which you work and the civilians for whom it works. He told me that when he enlisted his intent was to defend his country but that his experience and thoughtful consideration showed him the U.S. military today wasn't about defense. What it was about he couldn't say for sure, but it had more to do with corporate control than defense. He felt lied to by a system that was designed to lie to him and everyone else and he couldn't see changing in his lifetime. That his participation in the military would force him to support with his actions things he could not support. This is an Ivy League guy who was decorated and nearly made the NFL and Olympics.

The UT guy talked about very important things. I agree we would all benefit from them. All his underlined parts were about changing the world. He didn't say only the military provided those things, but I think it's worth calling out that you can get them elsewhere, as well as other things you can't get from the military. I'm sure he knows plenty more than I do, but I think my friend had one extra step that I didn't see in that speech about changing the world, something about thinking deeply and considering a bigger picture about the consequences of your actions.

I'm sure he thought these things through himself, and I'm sure many soldiers do. Maybe all of them do. If they concluded they were doing right, they have the right to their conclusions. I'm not trying to say he was wrong or that the military is wrong. Everyone has their values. I just didn't see the call to examine your values in the speech. I suspect more people would become conscientious objectors if that message was stronger. Or rather, the government would have to make different decisions if potential soldiers considered bigger pictures than what he talked about.

<comment><USER5> Joshua, I'd like to add that I know people who have had direct contact with Adm. McRaven. That's the "UT guy" you spoke of. I feel like you could do him the courtesy of using his name and rank.

And I'd suggest that MAYBE a person who leads highly-intelligent and committed individuals into dangerous situations where there is a significant chance that they might lose their lives knows something about "Leadership" that you might be missing.

If you have a problem with the US military and their use then I'd suggest you direct that opinion to the President, your Senators, and your Congressman. I looked over your press page and didn't catch anything even remotely connected to the current wars. Nothing. Is that the "leadership" you teach?

The problem isn't the military. It's the _civilians_ that send them over to do a job they aren't willing to do.

You're a part of that problem whether or not you acknowledge it. You earned a degree from an institution that participated in the development of the atomic weapon. You are _currently_ a part of an institution (NYU) that serves as a feeder for the NSA via the Courant Institute of Mathematical Sciences. You're a part of the problem. How can you continue to be a part of an academic environment that refuses to acknowledge its contribution to the "corporate interests" that push us into war?

Don't forget that when a nation goes to war, it represents a FAILURE of the civilians of each of those countries to reach a peaceful compromise. It's YOUR failure, not that of the military. The military by itself does not go out and start wars. The bravest soldiers I know wish for NOTHING but peace. Go ahead and ask them. The biggest doves in the whole country work at the Pentagon.

Do yourself a favor and speak to a few veterans this Memorial Day. Like them, I know people who lost their lives during our more than decade-long wars. Ask them if they are regretful or angry. Ask them if they feel like they were taken advantage of. Spend some time getting to know people who wrote this country a blank check to include their own lives if necessary. They volunteered to serve. You didn't. Try and understand what motivates that kind of personal sacrifice. You might learn something.

Enjoy your day off.

<comment><USER6> I think this is an extremely disrespectful and kneejerk reaction to a very thoughtful comment on the parent article.

One factor that contributes to the readiness of the United States to go to war that escaped your analysis is that any critique, however mild, of the armed forces is met with furious moral indignation.

<comment><USER7> > I think this is an extremely disrespectful and kneejerk reaction to a very > thoughtful comment on the parent article.

I disagree, given that the comment was in keeping with the spirit of the parent comment (i.e., using the opportunity presented to hack in and tear away at the topic being presented).

> that any critique, however mild, of the armed forces is met with furious > moral indignation.

The best possible way to "support the troops" is to not send them to war in the first place, is it not? I'll disagree with a "blame the victim" mentality everywhere I see it, and you should too.

For instance, let's consider a fictional city (perhaps Gotham). Cities need firemen, even though we all hope that our stringent building codes will keep fires from starting (or at least, keep them from spreading), improved safety technology helps people put out their own fires, etc. But none of these are foolproof, and the idea of an uncontrolled fire spreading through densely- constructed buildings is so horrific that we have no choice but to maintain a cadre of firemen. OK.

But eventually our building codes and safety technologies become so good that Gotham realizes that the biggest risk of a large conflagration is actually from a fire starting in the border city opposite, so Gotham signs up their firemen for "mutual assistance" and helps put fires out in their neighbors, under the catchphrase "better to fight the fire there than have to fight it at home!". The logic seems to work, despite the number of firemen who die fighting these fires each year, and our neighboring cities are doing better at stopping fires too, so we sign up for mutual assistance with cities further and further away.

But larger and larger fires start to break out and worse, there are nasty and persistent rumors that those fires are actually being _started_ by Gotham leaders, and even some of the firemen. Yet no one has completely solved the issue of fighting fires in Gotham, so the need to have some people with the training and skill to fight fires at home remains. And yet we don't like the idea of shady people doing shady things to start fires abroad.

So who do you blame, the people who signed up to fight fires (possibly abroad, with good reasons), or the people starting the fires?

<comment><USER8> > So who do you blame, the people who signed up to fight fires (possibly > abroad, with good reasons), or the people starting the fires?

What if they're the same people?

<comment><USER7> What if the dog is phone? What if the sky were buttery?

Or, how do you think it works? Week 3 of basic training at the Gotham Fire Academy, and the drill is to go over to Buckytown and set a random building on fire?

</comment></comment></comment></comment></comment></comment><comment><USER9> Not giving up is great and needed more often than not

However, knowing when it's not worth it is a great asset as well.

<comment> dj-wonk Exactly. Not everyone is suited to be a member of special forces. Leaving to do something better (e.g. more achievable) may be a wiser choice.

</comment></comment><comment><USER10> The Navy Seals I have known in my life have been the most honest, bravest, and intelligent people I have ever known. I'm grateful people like this exist in the world.

<comment><USER8> I can't get behind people trained for the most part to kill other people. The bravest to me are those that refuse to be goaded into harming their fellow human beings at the behest of others. The line between 'brave seal' and 'tool' is a thin one.

<comment><USER5> This is a horribly naive viewpoint. You've fallen into the trap of making a judgement of someone based on a popular understanding of a particular profession rather than any factual reality.

And here are the facts:

1\. There is evil in the world. 2\. That evil sometimes hurts innocent people. 3\. We need some way of protecting innocent people from evil.

I'm reminded of the current hullabaloo about Boko Haram and the kidnapping of several hundred girls from a school. exactly who do you think is going to do anything about rescuing those girls? Exactly what kind of campaign do you think is needed to meet that challenge?

I see from your profile that you're in the Netherlands. I spent an afternoon at the Anne Frank house several years ago. I'm guessing you feel that she deserved NO protection whatsoever?

I'm always amused at the opinions of those who live in safe countries with comfortable lives and how they have no concern for the people who keep them safe and comfortable.

Maybe you should learn a little more, eh?

[http://en.wikipedia.org/wiki/Korps_Commandotroepen](http://en.wikipedia.org/wiki/Korps_Commandotroepen)

<comment><USER11> If that is horribly naive, so was Einstein:

 _He who joyfully marches to music in rank and file has already earned my contempt. He has been given a large brain by mistake, since for him the spinal cord would fully suffice. This disgrace to civilization should be done away with at once. Heroism at command, senseless brutality, and all the loathsome nonsense that goes by the name of patriotism, how violently I hate all this, how despicable and ignoble war is; I would rather be torn to shreds than be part of so base an action! It is my conviction that killing under the cloak of war is nothing but an act of murder._

> 1\. There is evil in the world. 2. That evil sometimes hurts innocent > people. 3. We need some way of protecting innocent people from evil.

That is true, but doesn't justify anything and everything. For example, the daughter of the Kuwaiti ambassador making stuff up about Iraqui soldiers tearing babies out of incubators. "War is a racket" may not be the full story, but has it ever been refuted in a meaningful way? If so, I'd like to see that.

As for Anne Frank, she and others were hunted and murdered by organized, trained killers. To say "but that's different, because those are _evil_ , and we are talking about organized, trained killers who _fight evil_ " doesn't really help, because from the perspective of fanatical followers of Hitler, they were doing the exact same thing, protecting the world from evil and degeneration. So to bring up Anne Frank to justify glorifying the military seems weird at best.

<comment><USER12> Why do people pull out quotes by globally recognized people in ordee to prove their points? So what if Albert Einstein said that? Are you implying that everything Albert Einstein says is true?

<comment><USER11> Where am I using Einstein's "authority" to support any of my arguments, except that I don't think it's a naive viewpoint? I agree with him on this, and having read some of his letters and whatnot I don't think he was naive, and I know he thought about people a lot and cared deeply about peace. I don't even care for his work in physics, because that goes right over my head, but find he said and wrote many wise things that still hold true. I even suspect this may be part of the reason he is "globally recognized": He wasn't just a scientist, he was a philosopher, too, had a big heart and a way with words. That is reason enough to quote anyone, and that Einstein gets quoted all the time for all sorts of reasons is not my problem.

I like the quote, and I agree with it. If you think you found a flaw in it, point out that flaw. I'm assuming that can be done, but you're not doing it; and otherwise, why would I care about the factuality of everything else he ever said, or even anything else? That's just a red herring.

<comment><USER12> You said: "If that viewpoint is naive, so was Einstein", and then proceeded to reproduce the same quote. You seem to have used his name to give extra weight to the quotation. I am not arguing for or against your stance here (actually, if anything, I think I agree with it), I'm just pointing out that the first sentence was superfluous. If one of Einstein's viewpoints was in fact naive, that wouldn't make Einstein himself naive, and stating something like that just sounds you were trying to appeal to his authority. That's all.

<comment><USER11> Replace "so was Einstein" with "then Einstein was also being naive when he said this", would that help? My sympathy for Einstein is personal, and I might have brought up, say, Bill Hicks in the same way; not meaning it as "this is correct because X said so, and many other people think he is generally correct", but "if this is wrong, then at least I am in company I like while being wrong about this".

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> Very good points made in the article.

Discipline, consistency, reliability, tenacity, teamwork, attention to detail are all valuable habits..... In an assistant.

If you develop these qualities you might help someone who questions paradigms, thinks deeply about implications and connections between events, has an innate ability for strategy with broad vision and big dreams change the world.

</comment><comment><USER14> I like it (unfortunately I am very far away now from ever being able to be that fit).

Leaving aside the uncomfortable notion that it is all for killing people, here is another question I wonder about: what are the survival rates for Navy Seals? Are they better/worse/the same as for normal soldiers? Does all the training help with survival? It would be a shame to go through all this and then be killed in the first hour of war by some stray bullet?

I don't mean to offend, I am genuinely interested. It seems fascinating if for example people are motivated to invest so much in training if the chance to die afterwards is high. Of course if it would reduce the risk it would also be a good motivator.

<comment><USER15> >> It would be a shame to go through all this and then be killed in the first hour of war by some stray bullet?

It would be more of a shame to not have tried, to give up, that's what I think the point of the speech is.

<comment><USER14> One could try less risky things?

<comment><USER15> For how long? Weeks, months or years or even decades? Then you tell those children how long you thought it was OK for them to endure what they are going through right now.

<comment><USER14> Not sure what you mean? What children?

You think the only worthwhile risks to take are the ones where you risk your life? Or do you mean you always risk your life anyway?

</comment></comment></comment></comment></comment><comment><USER13> So, how is all this going to help these guys beat the inevitably emerging robot army?

The robot army will be more tenacious, more disciplined, more reliable, more obedient... in short, it will have all the qualities mentioned at a much higher level...

Trying to install habits in men to the point they become machines is futile because... we have machines. And machines are controlled by conscious entities. Want to improve yourself? Don't become a machine. Work on becoming more conscious. More intelligent in ways machines never will. That's the future.

<comment><USER16> The robot army will probably be more predictable. Tease them, lure them into a trap - boom. Watch them for a while and learn their patterns. Same as with non-robot troops.

So, make them unpredictable? Their efficiency drops, they become less useful for ordinary operations. You can't win.

Except by doing what the Army does - they have regular soldiers, and they have Special Forces who's mandate is to do whatever it takes, even the unpredictable. Deployed into situations where the regular kind won't work.

I don't see robot forces ever approaching what we can already do with the right trained team.

<comment><USER13> Is there a computer, right now, that can beat any human alive at chess?

I don't know what robotics will do. My point is larger than specifics. And, the point is.... machine like thinking will always be better done by machines. So, developing better machine like thinking in their heads isn't the way forward for humans. It's a futile battle... kind of like John Henry and the steam drill. Sure, being a big strong guy who could hammer railroad stakes all day was a valuable quality.... at one time. Before steam drills. Now, its simply a sideshow in a circus or a personal hobby.

<comment><USER17> Is there a computer, right now, that can beat any human alive at Go?

<comment><USER18> jqm here...

There is likely one that can beat *most humans alive right now. What could a 2 billion dollar military grant and a sense of urgency produce in the 3 years?

We have driver-less cars. Exponential development. The robot army is coming... like it or not. Sure, humans will always probably make key decisions. Your point is good. There are areas humans have an advantage over machines. But, the robot army is coming and coming fast. My point is... this renders a bunch of the qualities mentioned in this article, qualities designed to turn man into a machine, obsolete. And it means other qualities become more important. Failure to recognize the future and plan for it will mean defeat on the battle field. No matter how much belt buckles are shined.

</comment></comment></comment></comment></comment><comment><USER19> Many of these same values are instilled in the Marine Corps, although not with as much physical intensity as the SEALS (unless you are in MARSOC) - they are good life lessons to absorb.

Regularly, I see examples of people failing to cope with them. A lot of people are enamored with ideas more than action & responsibility (and/or difficulties) associated with them.

</comment><comment><USER20> Good speech. The numerous errors in transcription took a little away from it, especially given the first message about doing simple tasks well. A University should have higher standards on their site.

</comment><comment><USER21> No offense, but this speech may impress a bunch of school boys...

<comment><USER11> I agree. Between John J. Chapman's commencement address to the graduating class of Hobart College, 1900, and "Advice, like youth, probably just wasted on the young" by Mary Schmich, I got nothing but a slimy feeling out of this.

</comment></comment><comment> dj-wonk In context, I think McRaven offers powerful advice. I wonder how it translates to the entrepreneurial world. Here are some observations.

A. For SEALs, there is a process to get through (see [https://en.wikipedia.org/wiki/United_States_Navy_SEAL_select...](https://en.wikipedia.org/wiki/United_States_Navy_SEAL_selection_and_training)). For entrepreneurs, there are many ways. This distinction matters: there are only so many slots for SEALs. There is no such limit for new products or services.

B. In some ways, there are gatekeepers for both. SEALs have obvious gatekeepers that set the bar. SEALs have to pass their tests as defined by their superiors. Entrepreneurs have less obvious gatekeepers. By this I mean that an entrepreneur chooses their gatekeepers when deciding to select a particular business plan. Whatever they choose, they have to find a business model that works somehow for their customers and investors.

C. For a SEAL, never quitting makes sense if your final goal is to be a SEAL. What if you break an ankle? Is it smarter (probably mandatory!) to ring the bell? (Do you try again later?) For an entrepreneur, never quitting means finding a way to succeed -- a way not tied to any particular business plan or technology.

D. As a SEAL, if you ring the bell, how does that feel? As an entrepreneur, how does it feel to run out of money before you find a business model that works? I would guess that it matters quite a bit on why didn't make it. Did you make obvious mistakes? Did you do your best?

E. If, during SEAL training, you decide that it isn't for you, is there any shame in quitting? I'm not talking about quitting simply due to exertion or pain -- I'm talking about quitting because you thought about all the implications. I've never been sleep deprived for days while also physically exhausted. What about an entrepreneur that gives it all but doesn't make it? I think there are some similarities here. One key difference is that entrepreneurs have more flexibility and control over pacing yourself than SEALs. (One can earn income while testing your business ideas, for example.)

F. This speech raises some big questions. What is quitting? What is failure? (A) If a SEAL washes out, there are other ways to do public service. Adjust your goals, as needed, and try again. (B) If an entrepreneur tests a business plan and it doesn't measure up, then perhaps you pivot or walk away. In my opinion, neither is "quitting" because you are still setting goals and working hard.

</comment><comment><USER22> If you're interested in the training the speaker mentioned, watch the Class 234 documentary made by Discovery in the late 1990s. It's typically up on YouTube (not entirely legally).

</comment><comment><USER23> > _But, if you think about it, not only were these soldiers saved by the > decisions of one person, but their children yet unborn—were also saved. And > their children's children—were saved._

Yeah. Shame about the children, and the children's children of the local population though. You know, in their own homeland and all, not asking for trouble or anything...

<comment><USER24> C'mon now, this isn't a political article, let's not mire the discussion in politics irrelevant to the link

<comment><USER23> An article praising soldiers and the "change" they bring IS political (in the general sense). It's just naively political, it doesn't even stop to consider the consquences of the actions it desribes, except on one side.

Soldiers = heroes, or "just honest hardworking people doing a dangerous job", is political in itself. It's pro army, for one. Some people for some reason only consider anti-war statements to be political, while statements like the ones in the article pass for some kind of unchallenged truth.

(If you mean "partisan", sure, it's not. But I don't care about that, and my point was not about "democrats" vs "republicans". Don't care about either of them).

<comment><USER15> The enemy is always at the gate, they care not that your heart bleeds for their children; they only care about making you and your children bleed so they can take what you have and destroy who you are and what your children could have become.

<comment><USER11> Nobody is pure evil, and someone who shallowly dismisses others as pure evil, is at least slightly evil. Of course, this is my personal definition of evil. However, I stand by it.

 _Traces of nobility, gentleness and courage persist in all people, do what we will to stamp out the trend. So, too, do those characteristics which are ugly. It is just unfortunate that in the clumsy hands of a cartoonist all traits become ridiculous, leading to a certain amount of self-conscious expostulation and the desire to join battle.

There is no need to sally forth, for it remains true that those things which make us human are, curiously enough, always close at hand. Resolve then, that on this very ground, with small flags waving and tinny blast on tiny trumpets, we shall meet the enemy, and not only may he be ours, he may be us.

Forward!_

\-- Walt Kelly, foreword to "The Pogo Papers"

<comment><USER15> I said, "the enemy is at the gate". I dismiss no one. Literature and art are the first things the enemy either takes or destroys, ironic isn't it?

<comment><USER11> Unless you were being sarcistic, you did seem to imply there are people who are just being evil for the sake of being evil, and talking about " _the_ enemy" makes it sound like a monolith very unlike to anything found on Earth; so I assume that gate is located in fantasy.

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> Is it training or is it torture?</comment>


Congress sends Google a list of questions about privacy and Glass - <AUTHOR> http://arstechnica.com/tech-policy/2013/05/congress-sends-google-a-list-of-questions-about-privacy-and-glass/ <comment><USER2> Oh, please. Butt the frack out, Congress. You lot represent more of a threat to our privacy than anything Google does.</comment>


Trump Prepares to Unveil a Vast Reworking of Clean Water Protections - <AUTHOR> https://www.nytimes.com/2018/12/10/climate/trump-clean-water-rollback.html <comment><USER2> It is truly amazing how well these shitheads prey on our understandable frustration with the government to gather support, and redirect that energy into just creating more corruption to pad someone else's pocket.

Even if downsizing pressure is applied evenly across the board, soft targets like the EPA take the damage while any reform that would actually cut into someone's bottom line remains unaffected.

And the worst part is there will be countless cheerleaders who rationalize this action because the "other team" is upset.

<comment><USER3> Yup I'm deep into the reducing government waste camp but of ALL the things to focus on that hurt business they focus on the one thing that's a compromise for something better, not just straight up wasteful interference in markets. There are a hundred better things to spend time on.

There is an endless legacy of old agency mandates and legislation that started with good intentions to 'help the little guy' or whatnot that are a completely net negative for everyone (except a few politically connected companies).

The EPA is not even a 'soft target', there are plenty of low hanging fruit. It's just a very public and obvious economic intervention, so it gets plenty of attention. Meanwhile the million other things the government has their hands in goes unnoticed.

Politics is cancerous.

</comment></comment><comment><USER4> Vernal pools are an extremely important part of the ecosystem and also play a role in carbon sequestration.

The background of all of this begins with a farmer named Duarte who plowed a wetland on his property and ended up with a huge fine. It became a divisive issue; some cried government overreach, others said he should have listened to the army corps of engineers.

But there's a reason we have an Environmental Protection Agency — people by- and-large aren't going to go out of their way to protect these natural resources. There are exceptions, and I know conservation minded farmers — but if you look at the aggregate of farming in America, well, it's pretty terrible for the environment.

<comment><USER5> Yes. There is a reason governments should be involved in this. Climate control, environment protection are classic game theory problem. Individual can profit from destroying a little bit of the environment but as a group we lose. Essentially governments do the group bargaining. Unless there is a group which represents all people government has to play that part.

</comment></comment><comment><USER6> Text of the Obama administration rule:

[https://www.federalregister.gov/documents/2015/06/29/2015-13...](https://www.federalregister.gov/documents/2015/06/29/2015-13435/clean- water-rule-definition-of-waters-of-the-united-states)

</comment><comment><USER7> And by "reworking" they mean "undermining"?

</comment><comment><USER6>
      "They're definitely rolling things back to the pre-George H.W. Bush era,"

This is a flat lie, given that the Obama rule wasn't even put in place until the last 18% of his administration (barely _14 months_ before Trump's election).

<comment><USER8> The Bush rule is that "wetlands will keep their federal protection"

The Obama rule is "farms near those wetlands cannot do bad thing to the wetlands"

By repealing the Obama rule, they are inherently repealing the Bush one.

<comment><USER9> Sure, but that is not the same as the tacit claim "They're definitely rolling things back to the pre-George H.W. Bush era".

<comment><USER10> Except that comment is likely referencing the regulatory environment, for which it is correct to state that the regulations are being rolled back to what they were before HW's changes in this area.

</comment></comment></comment></comment><comment><USER11> This is what we get for putting so much power to interpret and enforce law in bureaucratic agencies.

<comment><USER12> So, we should empower corporations to do the right thing without oversight?

<comment><USER11> We should make the legislative branch exercise more direct control over the alphabet soup of administrative agencies.

I thought that was obvious but I guess not.

<comment><USER13> don't get why you're being downvoted. it legislation was passed then it would be much harder to revoke with the next president on a whim</comment></comment></comment></comment>


FoundationDB Record Layer - <AUTHOR> https://www.foundationdb.org/blog/announcing-record-layer/ <comment><USER2> This is very cool!

FoundationDB excites a lot of people because it's an extremely scalable and extremely reliable distributed database that supports ACID transactions, and which is both open-source and has Apple standing behind it. And yeah, all of that is pretty nice.

But arguably the real power comes from the fact that it exposes a relatively low-level data model that can then be wrapped in one or more stateless "layers". All of these layers write to the same storage substrate, so you can have your document database, your SQL database, your time-series database, your consensus/coordination store, your distributed task queue, etc., etc., but you're only actually operating one stateful system. Your SREs will thank you.

Writing these layers to be scalable and high-performance can be challenging, but it looks like Apple is actively doing it and willing to release the results to the rest of us. This also suggests that their previous open- sourcing of the MongoDB-compatible document layer wasn't a one-off fluke. All of this is very good news for everybody who needs to run databases in the real world.

Full disclosure: I worked on FoundationDB a long, long time ago.

<comment><USER2> Wow, from the post:

"Together, the Record Layer and FoundationDB form the backbone of Apple's CloudKit. We wrote a paper describing how we built the Record Layer to run at massive scale and how CloudKit uses it."

I think this is the first time that little detail has been publicly disclosed.

<comment><USER3> Isn't the code on GitHub?

</comment></comment></comment><comment><USER4> Apple low key does some cool server projects with a Java bent. They've contributed to Netty (well, they hired core developers).[1]

They've been basically put them to work reimplementing it in Swift.[2] It's open and out there but not a lot of people paying attention. While it's still early days I think there may a year where, suddenly, Swift on the server is a super serious thing and all this work they've been doing on little old CloudKit kind of takes over the world.

Just a fun prediction.. but it wouldn't be the first time Apple pulled something like that.

I do like that Swift's non-tracing garbage collection model is well suited for server apps. Rust is cool too but maybe Swift would be a little friendlier and thus better suited to inherit Java's mantle. I mean can you just imagine if Apple is slowly building up Swift to overtake Java on the server? That that's one of their long game master plans? I know that sounds completely crazy.. It just might work. They do run one of the biggest data center networks in the world so they have a pretty good testbed and can justify a hefty R&D budget.

[1] [https://www.infoq.com/presentations/apple- netty](https://www.infoq.com/presentations/apple-netty)

[2] [https://github.com/apple/swift-nio](https://github.com/apple/swift-nio)

<comment><USER5> Apple is probably hoping to run Swift on _their_ servers. I don't foresee them putting in the effort into enterprise sales and service to make Swift overtake Java, though -- it hasn't really been their MO in the past.

<comment><USER4> They wouldn't need to. They already partner with IBM for that stuff.

</comment></comment></comment><comment><USER6> I had built a layer like this one for my startup Bagcheck called Havrobase[1] (it was on top of HBase/Solr, here is the motivating blog post[2]) that ultimately I put on top of MySQL/Solr and other stores. Later, when we started Wavefront, I ported that layer to FDB and that still powers their metadata. Really a good fit and very much like this record layer. I highly recommend this approach for 24/7 services as you never need to have maintainence windows for schema upgrades and the like.

[1] [https://github.com/spullara/havrobase](https://github.com/spullara/havrobase) [2] [https://javarants.com/havrobase-a-searchable-evolvable- entit...](https://javarants.com/havrobase-a-searchable-evolvable-entity-store- on-top-of-hbase-and-solr-d305f90a3eaa)

Initially at Wavefront we were using HBase for telemetry, Zookeeper for the service mesh and MySQL Cluster for entity metadata. All that was moved on top of FDB with 3 different layers that we developed.

I'm excited that this kind of database is now going to be available more broadly and with the confidence that CloudKit is using the same technology since to date implementing something like this was basically a DIY project.

<comment><USER7> What were the pro's and con's of using FDB over HBase?

<comment><USER6> Several things caused us to move off of HBase:

1) Operationally, HBase is a nightmare whereas FDB is extremely easy to operate. 2) HBase doesn't natively, or efficiently with extensions, support transactions across rows. 3) GC makes HBase performance unpredictable whereas FDB is written in C++. 4) HBase depends on Zookeeper and it is operationally painful to support and we were replacing it with FDB also.

I don't think I will ever again use anything from the Hadoop ecosystem if I can get away with it.

</comment></comment></comment><comment><USER8> Glad Apple is releasing all of this, I wonder what kickstarted it all?

The paper is rather interesting: [https://www.foundationdb.org/files/record- layer-paper.pdf](https://www.foundationdb.org/files/record-layer-paper.pdf)

<comment><USER9> recruitment?

<comment><USER10> Surely not apple has an issue with it

<comment><USER11> I'm sure they're good, but better is better.

</comment></comment></comment></comment><comment><USER12> This might be the first good alternative to etcd for configuration stores that need real-time updates.

Like Kubernetes.

Many Kubernetes scaling issues are etcd-related.

RethinkDB is dead-ish, and CockroachDB is treating their changefeeds as an enterprise feature that requires a Kafka instance to stream to :(

<comment><USER13> Is TiKV an alternative?

Short overview and maybe good to know it's becoming part of the CNCF: https//www.cncf.io/blog/2018/08/28/cncf-to-host-tikv-in-the-sandbox/

Haven't worked with it myself yet, but maybe others can share their experience?

There have also been some HN threads in the past, about TiDB at least.

<comment><USER14> TiDB developer here. Yes, I think TiKV is an alternative to FDB. Compare to FDB Record Layer, TiKV aims to provide a more atomic primitive, just including Get/Set/Transaction in key-value layer, so users can build customized distributed system around it. The main differences between TiKV/TiDB and FDB are:

1\. TiKV uses Multi-Raft architecture, I think Raft provides more HA.

2\. TiKV's transaction model is inspired by Google Percolator, it's a classical optimistic 2PC transaction model with MVCC support. I'm not a expert of FDB, but I think different transaction models fit for different application scenarios, TiKV's transaction model is good when your workload is mainly small transactions and with a low conflict rate.

3\. TiDB is a full-featured SQL layer on top of TiKV, aims to provide a MySQL compatible solution, you know, most of the TiDB users are migrated from the MySQL, so the focus of TiDB will be how to be compatible with these legacy MySQL-based applications. For example, how to read MySQL binlog and then replay on TiDB in real time, let TiDB become a MySQL active replica, or how to support complex SQL queries like distributed join or groupby, you know, building a full-featured SQL optimizer is a huge project.

There are some case studies:

[https://pingcap.com/success-stories/](https://pingcap.com/success-stories/)

[https://pingcap.com/success-stories/tidb-in-meituan- dianping...](https://pingcap.com/success-stories/tidb-in-meituan-dianping/)

There are some quick-start documents you can start with:

[https://pingcap.com/docs/op-guide/docker- compose/](https://pingcap.com/docs/op-guide/docker-compose/)

[https://pingcap.com/docs/v2.0/op-guide/migration/#migrate- da...](https://pingcap.com/docs/v2.0/op-guide/migration/#migrate-data-from- mysql-to-tidb)

</comment></comment></comment><comment><USER15> Congrats to the team at Apple for getting this released! They have had a busy few months with getting the document layer released, the FDB Summit, and now the record layer.

</comment><comment><USER16> Very interesting. I've been looking closely at FoundationDB as a way forward (to replace RethinkDB and Cassandra in existing systems). It's one of the few contenders for a really interesting take on a distributed database.

I am not sure if I will use the record layer (I've been planning to write "my layer" myself), but it will definitely be an interesting thing to look at.

<comment><USER17> Fellow RethinkDB user here. I've been looking at Cassandra and FoundationDB as replacements. I'm genuinely curious— what didn't you like about Cassandra?

<comment><USER16> Cassandra

To be honest, I don't like _anything_ about Cassandra. Beginning with the naming: back when I was trying to learn about Cassandra, I couldn't get past the obscure and bizarre naming (super-columns?). When I dealt with systems using it, I never quite understood how you can keep saying that "the later timestamp wins" and speak of consistency with a straight face: in a distributed system, there is no such thing as a "later timestamp". Or speak of transactions which aren't really transactions at all.

Then I read the Jepsen reports about Cassandra. Yes, Cassandra has made progress since then, but still.

I think of Cassandra as an outdated piece of technology at this point: we can (and do) build better distributed databases today, with better consistency guarantees, and proper transactions in case of FoundationDB. Cassandra was designed for a specific use case and then outgrew its initial design, because there was nothing else at the time. But I see no reason to stick with it any longer.

Even now when you need massive multi-region scalability there is little to choose from — if you want it to be open-source, there's pretty much only FoundationDB left.

<comment><USER18> FoundationDB does not support true geo-replicated multi-region distribution the way Cassandra, Spanner, Cockroach, etc do, at least not without paying huge latency/round trip costs. If you want to avoid that, the best you can have is a separate failover region, and, with FoundationDB 6, you can get closer-to-LAN latencies for failover deployments to separate regions (but only one region) while retaining ACID semantics. You could build truly global geo- distribution on top of it but that would have to be its own layer that implements 2PC/Paxos or something between regions. Ultimately you have to pay the toll somewhere in a truly consistent system like that if you want global availability (unless you're Spanner and have incredible hardware engineering that can be deployed across the globe).

Cassandra/Scylla are the only open source key value stores that do linear scalability by simply adding nodes even in huge, geo-distributed settings as far as I know, but they are ultimately AP systems. And Scylla just has absurd performance compared to Cassandra or FoundationDB. You just have to know what you're getting into. (But yes, ACID transactions are a good model for developers, and truly FDB's linearizable transactions and high scalability make it an obvious choice many CP systems, if you ask me.)

<comment><USER16> That is an excellent summary. There is no silver bullet and you can't have your cake and eat it, too. The approach to multi-region that FoundationDB 6 takes suits my needs (I'm not Google) and I like the compromises they made.

Since most of what I do (or consult with) does not need massive performance, I'd rather pick databases with compromises favoring consistency and correctness. This is why I like what I see in FoundationDB so far.

</comment></comment></comment></comment></comment><comment><USER19> I learned that basically all of Imessages and contacts are stored on foundation DB, it's pretty great this is making it into opensource. Thanks Apple!

<comment><USER15> Are you using FDB at Olark?

(Saw it in your profile)

<comment><USER19> No :) Just off the shelf DBs so far. But the FoundationDB guys are HS friends ;).

</comment></comment></comment><comment><USER20> Seeing this soon after the AWS "wire compatible with Mongo" kerfuffle, it makes me think: it would be amazing if the cloud vendors would offer a managed FDB service. An open-source, cloud-agnostic, horizontally scalable, document- oriented transactional database would be an incredible tool. I know AWS is going in the opposite direction these days with proprietary "wire compatible" services but a guy can dream...

<comment><USER21> It superficially sounds a bit like Azure's CosmoDB - they say that'll scale horizontally as much as you need, it's document-oriented, ACID transactions, with SQL, Mongo and graph APIs. Obviously lacking badly the open-source and cloud-agnostic. I wonder if there's a world where Microsoft and Apple could work together to standardise something cloud-agnostic based on the best of both.

</comment></comment><comment><USER22> Few doubts:

1\. Any reason to write it in Java instead of C, C++, Rust, etc?

2\. Any reason to use Protobuf instead of Flatbuffers, Avro, etc?

3\. Can FoundationdDB be used with Apache Arrow?

<comment><USER23> The Record Layer is written in Java as it was designed to fit in with an existing stack that was already primarily Java-based. You can read more about how CloudKit uses the Record Layer in the preprint of the Record Layer paper: [https://www.foundationdb.org/files/record-layer- paper.pdf](https://www.foundationdb.org/files/record-layer-paper.pdf)

Excellent question regarding the choice to use Protocol Buffers. Firstly, as mentioned in the paper released last year, CloudKit uses Protocol Buffers for client-server intercommunication. As a result, there was already expertise around protobuf, which is a good tie breaker when evaluating alternatives. (Here's that paper, by the way: [http://www.vldb.org/pvldb/vol11/p540-shraer.pdf](http://www.vldb.org/pvldb/vol11/p540-shraer.pdf)) Secondly, the Record Layer makes heavy use of Protocol Buffer descriptors, which specify the field types and names within protobuf schemata, and dynamic messages. Descriptors are used internally within the Record Layer to do things like schema validation. (For example, if an index is defined on a specific field, the descriptor can be checked to validate that that field exists in the given record type.) Likewise, dynamic messages make it possible for applications using the Record Layer to load their schema at run time by reading it from storage. The FDBMetaDataStore allows the user to do exactly that (while storing the schema persistently in FoundationDB): [https://static.javadoc.io/org.foundationdb/fdb-record- layer-...](https://static.javadoc.io/org.foundationdb/fdb-record-layer- core/220.127.116.11/com/apple/foundationdb/record/provider/foundationdb/FDBMetaDataStore.html)

The Record Layer's data format is not compatible with the specification specified by Apache Arrow, no.

<comment><USER22> Thanks for your reply. Would be really helpful if you can share the following:

1\. Size of the CloudKit cluster and the number of RecordLayer instances. A ratio would also be enough to get an approx. idea.

2\. How metadata changes involving field data type are being handled?

3\. How are relationships and therefore, foreign keys handled? Are any referential actions like cascading deletes supported?

<comment><USER23> The Record Layer doesn't currently support foreign key constraints, so foreign keys are more of an "design pattern" than a first-class feature. For example, in a sample schema in the repository, an "Order" message has have a field called "item_id" that points to the primary key of an "Item" message: [https://github.com/FoundationDB/fdb-record- layer/blob/792c95...](https://github.com/FoundationDB/fdb-record- layer/blob/792c952a2e460ff00eead9900a289a9055cb9d6a/examples/src/main/proto/sample.proto#L60) There isn't an automatic check to make sure the item exists, though, nor are there cascading deletes. That being said, I don't think the architecture is incompatible with that feature, so it would be a reasonable feature request.

There are some guidelines regarding field type changes in the schema evolution guide: [https://foundationdb.github.io/fdb-record- layer/SchemaEvolut...](https://foundationdb.github.io/fdb-record- layer/SchemaEvolution.html#change-the-type-of-a-field-in-a-record-type) Most data type changes are incompatible with either Protobuf's serialization format or the FDB Tuple layer's serialization format (which the Record Layer users for storing secondary indexes and primary keys). The general advice for type changes (if there are existing data in your record stores) would instead be to introduce a new field of the new type and deprecate the old one.

</comment></comment></comment></comment><comment><USER24> Has anyone ever used FoundationDB and _not_ found it successful? All I read is "it supports RDMS + NoSQL and can be distributed". So what use cases _doesn 't_ it solve?

<comment><USER15> The best way I can describe FoundationDB is it is like a file system. You can do just about whatever you'd like with files and a file system, in theory. You can implement just about any data model you can dream up in FDB.

But the current storage engine is not as well optimized as it could be.

It _does_ have scalability limits, although they're not relevant for 99.9% of use cases.

Upgrading a cluster to a new non-patch version will require a small (seconds) amount of downtime. A mitigating factor there is upgrading _your client_ doesn't have that limit, which is where all the interesting stuff is.

The minimum latency for a transaction is relatively high compared to systems which acknowledge writes before syncing to disk or only after syncing to a single disk.

I wouldn't say it doesn't solve "use cases". Rather, if you can live within the limitations (which means you need to know what they are), you can reduce the complexity and cost of designing a system for your use case by a lot.

Check out my talk from the FDB Summit for an example: [https://youtu.be/SKcF3HPnYqg](https://youtu.be/SKcF3HPnYqg)

<comment><USER24> Super helpful, thanks for the info.

</comment></comment></comment><comment><USER25> So why would Apple be doing this now? Maybe preparing the terrain to enter the cloud space and compete with Azure and AWS in a couple of years?

After all, it's no mystery Apple wants to expand their services revenue. Their hardware revenue it's not growing as much as it used to.

</comment><comment><USER26> Does anyone know if FoundationDB is gaining ground over Cassandra at Apple?

<comment><USER27> I recall a couple years ago that it was rumored that Apple had bought FDB with the intention of replacing Cassandra (and I think, at the time, Apple had the largest Cassandra cluster ever known).

Combined with other statements in this thread, I think that may be true. I remember reading once that iMessage used to be served by Cassandra, but now its served by FDB.

This is all speculation though.

<comment><USER28> The FDB Record Layer white paper [0], section 8.1, does open with:

> 8.1 New CloudKit Capabilities

> CloudKit was initially implemented using Cassandra as the underlying storage > engine.

So it seems this is what happened, for CloudKit at least.

[0] [https://www.foundationdb.org/files/record-layer- paper.pdf](https://www.foundationdb.org/files/record-layer-paper.pdf)

</comment></comment></comment><comment><USER29> The preprint of the paper is now up on arXiv.org: [https://arxiv.org/abs/1901.04452](https://arxiv.org/abs/1901.04452)

</comment><comment><USER30> Does that mean FDB now supports secondary indexes?

If that's the case, how does FDB compare to ScyllaDB now that they both have secondary indexes?

<comment><USER15> FDB does not automatically index your data, but you can write a layer (like this one) to index your data.

In a transaction, you write a key like "users/1" with a value of "bob" and then write another key like "users/bob/1" with no value. Then you can do a range scan over the prefix "users/bob/" and find all the primary keys. After that you do individual gets for the keys in the PK index to retrieve the full record if needed.

The comparison between the two is FDB "secondary indexes" are just like anything else in FDB. Namely, you update them in transactions and they are consistent immediately. Scylla does not AFAIK have this feature.

<comment><USER31> I wrote a blog post on how to implement secondary indexes using an ordered key-value store a couple of years ago: [https://misfra.me/2017/01/18/how-to- implement-secondary-inde...](https://misfra.me/2017/01/18/how-to-implement- secondary-indexes/)

It would work with FoundationDB, RocksDB, etc. I actually learned these techniques when I interned at FoundationDB but have used them the most with other K-V systems.

</comment></comment></comment><comment><USER32> This is super exciting. Can't wait to have some time this weekend to play with it.

</comment><comment><USER33> This is powering CloudKit. Very cool!

</comment><comment><USER34> Can someone please ELI5/executive summary to me what are the benefits of FoundationDB? Assuming I know the basics of PostgreSQL and ElasticSearch? I see some hype around it, but I can't understand what's the breakthrough. As a helping question: can you maybe try to tell me who are the expected users of it, vs. PSQL, ES? Or, when I should choose it over them? Also, what are its disadvantages? (I suspect bigger complexity, and bigger cost/worse effectiveness at small scale?) TIA!

<comment><USER35> Its a distributed acid k/v layer that other models can be built on top of.

So you can build PostgreSQL, ElasticSearch on top of the foundationDB.</comment></comment>


Curing Myopia - <AUTHOR> http://myopiacure.blogspot.com/ <comment><AUTHOR> Has anyone here tried these methods? Are the linked resources anything remotely reasonable, or pure quackery?</comment>


The Most Important Business Lessons I've Learned  - <AUTHOR> http://www.ryanallis.com/most-important-business-lessons-learned/

<comment><USER2> I agree with everything except for one point (which was a painful process for me to learn): some people want and need to be told what to do and there's nothing wrong with that assuming that, once told what to do, the people can execute.

I just assumed that everyone on my team was like me -- didn't want to be told what to do at a micro-level. I had a couple of team members who were really good engineers and they were failing miserably. Once I realized that they needed to be give explicit instructions on what they should be doing, they coded like a house on fire. One attribute of great CEOs (IMHO) is the ability to get a careful read of everyone on your team and understand exactly how much or little to manage them. In an ideal world, one could hire an entire company of people who do not need to be micro-managed, but real life doesn't always allow for that luxury.

<comment><AUTHOR> I, too, was often confused by this message because you hear it preached often. After digging deeper via one-to-one conversations with people like Ryan, you realize that it is already implied that you make each individual's responsibility very clear.

I bet even at Ryan's company the programmers are given very explicit specs on what to code.

</comment></comment><comment><AUTHOR> I like Ryan's focus and explanation of the key metrics he uses:

 _To grow your sales, it is critical to calculate the lifetime value of an average customer, calculate what you're currently paying to acquire an average customer (total monthly ad spend divided by customers acquired in that month), determine the maximum you're willing to pay to acquire an average customer, and scale your marketing scientifically by testing relentlessly and finding the channels in which you can acquire customers for less than your maximum acceptable customer acquisition cost and then growing spend within those channels.

Never raise more equity capital than 1x your current annualized revenue (monthly revenue x 12). If you raise too much money too soon you'll give up too much ownership and control of your company and be tempted to spend the money in ways that aren't carefully controlled. Wait to raise a large round until you have proven mathematically than $X amount of additional spending with generate $Y amount of additional revenue. (once you figure out #2 this is easy)._

<comment><USER3> His company just raised $40+ million

[http://techcrunch.com/2010/08/30/icontact- raises-40-million-...](http://techcrunch.com/2010/08/30/icontact- raises-40-million-for-email-marketing-software/)

<comment><AUTHOR> Yup! They are killing it.

</comment></comment></comment><comment><USER4> Can't agree more with this point: If you create a great culture (a fun work environment filled with people who are high performers and who care about their work and their impact on the world) you will be able to attract and retain better people who will be much more engaged and productive and create a much more financially successful company.

</comment><comment><USER5> My Web of Trust Firefox add-on declares this site to be on the lowest of low ratings and recommends I don't visit it. Quite funny, guess he's disagreed with some pro-active people.

</comment><comment><USER6> OT, but this tendency of marketing droids to noun "spend" (as opposed to "spending") drives me absolutely insane...

</comment><comment><USER7> That's a bunch of some really good advice with loads of common sense.

Thanks for posting it.

</comment><comment><USER8> _Hire people who are smarter than you._ It is the essential.

It could be stated as _Hire a young passionate geek and make him feel special and comfortable._ It is actually very cheap, compared to hiring an impotent 'certified professional'.</comment>


PocketGrid: tiny, powerful CSS grid - <AUTHOR> https://arnaudleray.github.io/pocketgrid/ <comment><USER2> I really like the documentation. Kudos on the brevity and immediately understandable style.

<comment><AUTHOR> I only discovered this CSS grid recently (even though it's been around since 2013) and was very impressed. It's a shame it hasn't got much traction.</comment></comment>


Inside Everyblock's furniture-less Chicago office - <AUTHOR> http://www.centersquarejournal.com/news/everyblock-decides-to-stay-close-to-home

<comment><USER2> Uhmm? There's furniture there, one of the lines from the article actually commented on them having just bought a conference table, and the pictures in the article show desks.

Am I missing the point here or something?

<comment><AUTHOR> I didn't mean they literally don't have any furniture, just that the place is really sparse, which I thought people on here would appreciate.

</comment></comment><comment><USER3> 15 years ago, when I worked for one of the first ecommerce startups ( OpenMarket.com ), one of our founders was quoted in Fortune that the reason we didn't have any chairs in the conference rooms was that it "kept meetings short".

In fact, the chairs just hadn't been delivered yet, and the journalist missed the joke.

</comment><comment><USER4> It's not that we don't have furniture, it's that the space is much bigger than the furniture we have...

Adrian @ EveryBlock

<comment><USER5> Didn't MSBNC give you some money to decorate your office? Tell them you are getting hammered by the press and need a trip to IKEA or something.

</comment></comment><comment><USER6> _As one of the creators of the programming language Django, which is widely used by Web site programmers around the world..._

:(

<comment><USER7> Cut them some slack, it's a neighborhood news blog.

</comment></comment><comment><USER8> Why? I'm thinking office space is like hardware. If your memory isn't full and your cpu pegged, you aren't getting your moneys worth. So many questions.

<comment><USER9> Maybe it's what you don't do with the space, rather than what you do with the space.

</comment></comment><comment><USER10> Awesome to have your readership!

On the "Django" point: I know the difference between a web framework and a programming language and a scripting language. I use them. But most of our readers don't, and the paragraph it would take to explain just didn't serve the story or our readers - who are decidedly non-programmers.

Mike @ Center Square Journal

</comment><comment><USER11> edit: pointless knee-jerk reaction deleted.

<comment><USER12> Shocking that "Your Definitive Neighborhood Guide to Northcenter, Lincoln Square and Ravenswood Manor" would miss the distinction between a web programming framework and the language it's implemented in, isn't it?

<comment><USER11> You're right, there's no reason for my comment. It was knee-jerk.</comment></comment></comment>


Android 11 Released - <AUTHOR> https://android-developers.googleblog.com/2020/09/android11-final-release.html <comment><USER2> > Native image decoder - New NDK APIs let apps decode and encode images (such > as JPEG, PNG, WebP) from native code for graphics or post processing, while > retaining a smaller APK size since you don't need to bundle an external > library.

I don't get a good feeling when it says it'll be small.

seems that corner cases will be left behind</comment>


Ask HN: Should I used a lexer and parser for this? - <AUTHOR> A technical question I'm hoping some experienced hackers can help with:
My django application has a search feature for searching articles. It needs to handle logic features (AND, OR, (), etc.) and search articles accordingly using django's ORM tools and be used to create a regular expression that's used in my python code for certain searches that aren't performed at the database level. I've read about lexers such as ply - but I'd be interested to hear about anyone else who's had a similar problem. Take logic expressions, then transform them into something a database can use for searching, and then transform them into something else entirely for regex searches. <comment><USER2> You don't need a specialized lexer for this. A regex to split on key words (AND, OR) and symbols (parens, whatever else you've got) is sufficient. A parser would be helpful, _if_ you really, _really_ think your customers are going to run complicated queries against your database with nested OR clauses and serious use of parentheses and stuff. You may have such customers, they do exist, but bear in mind the average user has no idea what the difference between "A AND (B OR C)" and "(A AND B) OR C" is; if you don't know why your users are above average and picky, you might consider something very, very simple instead.

But let's go on assuming that's not the case, because it's certainly a fair possibility. The next step is to find The Tutorial that all parsers _always_ have like it's some sort of law of the universe, the Arithmetic Expression parser. This covers basic operator precedence (multiplication and division vs. +/-), parenthesized expressions, hopefully the unary negation operator, and hopefully at least sketches the evaluation code for the resulting parse tree. Good news! This is almost exactly what you want, except multiplication is AND, addition is OR, and unary negation is NOT. You just need to tweak your regular expression to either emit "wordA wordB wordC" as a series of tokens which your parser will add together, or with just a bit of work on your regex, they'll come out as one token. Take your time transforming the grammar, one step at a time; make it so it takes "3 AND (1 + 3)" instead of "3 / (1 + 3)" first, little steps, because the error messages that come out of parsers can be a bit confusing at first and you want your changes to be minimal.

This may take a few hours to wrap your head around, but it's a very easy use case for parsing, and the time spent learning how to really, truly parse is time well spent.

Oh, and be careful with the generated regular expressions; there are some DOSes that can be done with those, and be sure you do something sane with asterisks and other special characters. If your regex engine supports the equivalent of \Q and \E in perl, use it.

</comment><comment><USER3> You should checkout <http://haystacksearch.org/></comment>


Catalan referendum: 'Hundreds injured' in Catalan clashes - <AUTHOR> http://www.bbc.co.uk/news/world-europe-41461032 <comment><USER2> Once again I think Canada has set an example for the world with how to do this properly: permit open and peaceful votes on secession (e.g. of Quebec), treat the issue as something to be resolved politically and not with the use of force, and pass legislation to deal with the matter that:

\- mandates that the secession question on the ballot be clear and unambiguous;

\- requires a clear majority to be considered valid;

\- mandates the involvement of all provinces and First Nations in negotiations following a vote in favour of secession;

\- and stipulates that secession, if it proceeds, would require an amendment to the constitution.

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

<comment><USER3> I believe the problem is Quebec has a poor economy and figured to lose out economically and in subsequent trade deals if they became independent. Catalonia on the other hand is ~20% of Spain's economy and ~15% of the population so on the national level there is an interest in keeping Catalonia as part of Spain against the wishes of the Catalan population. Canada has leverage if Quebec wishes to secede, Spain doesn't have leverage with Catalonia.

<comment><USER4> A quick googling would show you Quebec is also 20% of Canadian GDP and 15% of Canadian population.

Quebec moreover cuts off maritime provinces from the rest of Canada

</comment></comment></comment><comment><USER5> I don't get the point of the violence used to stop the ref. The ref is illegal. The hypothetical declaration of independence is illegal, invalid and likely never accepted by anyone (not in Europe not in the world) why the use of violence to stop the ref game?

This whole situation is senseless from both sides but it is obvious who is the side willing to use violence.

<comment><USER6> > The ref is illegal. The hypothetical declaration of independence is illegal

How can they be illegal ?

A democratic government derives it's legitimacy from the fact the people they govern choose to be governed by them. If the people obviously do not want this government, then isn't it the government that's obviously illegitimate ?

'The people' are the source of power, they just outsource it to a smaller group of people through democratic elections for practical purposes. If 'the people' decide their government's services are no longer needed, then there is nothing the government can do. It's not their call.

<comment><USER7> > A democratic government derives it's legitimacy from the fact the people > they govern choose to be governed by them. If the people obviously do not > want this government, then isn't it the government that's obviously > illegitimate ?

Spain has chosen to be governed by the current government. Democracy doesn't mean that you always get the way you want if the majority wants something else...

<comment><USER8> > Spain has chosen to be governed by the current government.

I mean, sort of yes, but also Catalonia was annexed within living memory.

<comment><USER9> What annexation are you talking about? As far as I can tell, Catalonia lost it's independence with the Nueva Planta decrees in 1716 [0], which is far from "within living memory".

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

<comment><USER10> Oh please.

Just because it happened a few hundred years ago, doesnt mean they lost their own heritage, their language, and their self-determination.

Look no further than Ireland. That battle goes back to Grace O'Malley and Elizabeth in the 16th'c. In reality, it went further back, to this structure called the Hadrian Wall, but that's in 1st c.

"Living memory" indeed.

</comment></comment></comment></comment></comment></comment><comment><USER11> If this were happening in russia, the EU leaders would have loudly condemned the human rights violations. The silence from them now is shameful.

<comment><USER12> If this was happening in Russia, nobody would say nothing because there is nothing to say.

German police in the last G20 (Hamburg) was more violent, for example.

<comment><USER13> > German police in the last G20 (Hamburg) was more violent, for example.

Not even remotely.

</comment></comment></comment><comment><USER14> As a Spanish (not from Catalonia), I'm totally ashamed about what my government is doing to address a political issue.

</comment><comment><USER15> Indirectly, the Spanish reacting with brute force will just help the Catalans -- as they're proving their point.

<comment><USER16> Indeed. If the situation can be de-escalated without more than one or two people getting killed, then the situation will probably return to the status quo.

If it escalates to live ammunition in the streets, then Catalonia will have its martrys and its independence.

</comment></comment><comment><USER17> This appears to be one of those cases where the government is going against its own people. I guess it is up to the people to make sure their voice is heard and to replace a government that does not serve them.

</comment><comment><USER18> The pro-Spain arguments here in this post are really poor. The only two good arguments that on their face are worth looking at are: Catalan's pop is evenly split on the issue and local officials are pushing it to gain power.

Spain was baited-they took it, and now Catalan's secession movement has international sympathy.

For abit of context of how something this is handled here in America. In 2015 the US Supreme Court temporary blocked a Native Hawaiian non-profit from counting votes in what lower courts called a private election (that the Supreme Court said used public funds granted to that non-profit). The issue plaintiffs were suing the non-profit over was it was excluded only to what they considered 'Native Hawaiians'. They wanted to establish a Constitution for Native Hawaiians for self governance.

[https://www.nbcnews.com/news/us-news/u-s-supreme-court- block...](https://www.nbcnews.com/news/us-news/u-s-supreme-court-blocks-vote- counting-hawaii-election-n470401)

[http://cdn.ca9.uscourts.gov/datastore/opinions/2016/08/29/15...](http://cdn.ca9.uscourts.gov/datastore/opinions/2016/08/29/15-17134.pdf)

The organization later dissolved from what I read in the Supreme Court's opinion on sanctions. I had trouble finding more info on it. From what I can tell the courts barely cared except for the issue of using public money for a racially exclusive election. This story reminded me of it so I thought it would add to the debate.

<comment><USER19> A more similar situation would have been the Hawaiian government organising a binding vote to secede from the US in 48 hours (while maintaining the US citizenship!).

I guess the SCOTUS involvement would have been more intense in that case.

<comment><USER18> Technically the state was involved. They were sued along with the non-profit in violation of the US Constitution and the Voting Rights Act. You can see this info with the SCOTUS brief I linked.

<comment><USER19> It was involved in a tangential way, doesn't seem comparable.

</comment></comment></comment></comment><comment><USER20> The referendum is illegal. Let them vote, then ignore the vote. What's the point in blocking it?

<comment><USER12> The sovereignty of Spain falls on all Spanish citizens.

If you allow a referendum on such topic in a part of Spain, it doesn't matter the result because you're accepting implicitly that a part of Spain can rule over the whole.

<comment><USER21> I'm kind of confused by this statement: so you are saying that Catalonia taking a referendum on what they _themselves_ want to do, is imposing on all Spanish people, but Madrid commanding the repression is _not_ imposing?

I don't want to start a flamewar, but that looks like a bias you might want to reflect on.

<comment><USER12> My statement is in the Spanish Constitution, I don't know why you're confused.

<comment><USER22> The relevance of that being?

</comment></comment></comment></comment></comment><comment><USER23> So by all means explain to me how I'm being overly simplistic (because I _feel_ that I am), but while our brains like to ponder the complexities of this situation, can't we at least conclude that it's a bad thing that physical, state-backed violence is used to prevent people from doing something that isn't in any way physically violent (and in fact a rather admired 'action') in itself?

I mean, hell, it's quite possible that even if an overwhelming majority of Catalonians vote for secession (which I hear is not even likely to be the case?), reality will get in the way. At the very least even the worst-case scenario, in my opinion, does not justify physical interference in a non- violent process.

But again, honestly please correct me if I'm missing something blindingly obvious.

</comment><comment><AUTHOR> Someone made a point recently that the past 50 years really have been a golden age of democracy (possibly the only 50 in history)

That during the 19C there was much more semi-democracy with strong authoritarian governments in Europe, cracking down on what we would call democracy (1816,1848 etc)

The point was that it is fairly easy to slip back.

<comment><USER24> I feel sorry for the injured in this Catalan referendum, but in my opinion this referendum has nothing to do with democracy.

First of all a country's constitution is sacrosanct and that constitution not only gives the people their power to vote, but also says that the country's territory is _indivisible_.

If the Catalan people want to change that, then the referendum should involve all of Spain's citizens, having as much rights at this point over Catalonia, as the people living there.

I've said it repeatedly here, so here it is again: I'm getting the feeling that people don't know what a democracy is.

A democracy isn't only about the freedom to vote. What happened in Turkey for example isn't democracy, even if a majority is in support of the current administration. The right to vote means nothing without liberal freedoms or without the indivisibility of the territory.

In other words, you can't have an "independence" referendum without involving all the citizens. That's not democracy, but a war declaration.

<comment><USER25> Self-determination of peoples is a jus cogens law and a cardinal principle in international law. It's part of the UN's Charter and it's enshrined in many international treaties subscribed by Spain and by the European Union.

The Spanish constitution recognizes the right to self-determination inasmuch as it explicitly enshrines the international treaties that define it.

Spain has always defended that this right to self-determination is confined to colonies because it would otherwise conflict with the also very important principle of territorial integrity. However, the International Court of Justice explained in its Advisory Opinion of 22 July 2010 regarding the case of Kosovo that "the scope of the principle of territorial integrity is confined to the sphere of relations between States". Thus, even unilateral declarations of independence do not conflict with the aforementioned principle: "general international law contains no applicable prohibition of declarations of independence".

<comment><USER12> But the truth is self-determination is for nations and colonies.

In this case, the right for self-determination is for Spain, not for a part of Spain.

<comment><USER26> I suppose the Spanish government didn't do a good enough job of convincing the Catalonian people that they are part of Spain.

<comment><USER12> The majority of catalans don't want independence.

The political parties promoting independence represent less citizens than the political parties that want Catalonia to be part of Spain.

<comment><USER26> So really, the Spanish government should just have let the referendum go ahead peacefully, and thereby have had that fact publicly demonstrated.

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> Clearly, identities (Catalan, Spanish, religious, atheist, ...) are very much layered, personal, and they fluctuate with time. How to reinvent the nation state (whether the Catalan, the Spanish or any other one) to take that into account seems to be a largely unanswered question.

Any good reading recommendations on that? Surely, there must be creative solutions! Maybe information technology can even help technically underpin progress in this area?

P.S. Good luck to all the Spanish and Catalan people that treat their neighbours with respect. I hope for a peaceful solution.

</comment><comment><USER28> Example of the crackdown on voters.

They seem completely nonviolent to me, even in the face of a disproportionate response.

[https://twitter.com/OwenJones84/status/914427797753430017](https://twitter.com/OwenJones84/status/914427797753430017)

[https://twitter.com/ZabMustefa/status/914406611375894528](https://twitter.com/ZabMustefa/status/914406611375894528)

<comment><USER29> The woman was not injured by police: she had an accident with the stairs going to vote.

There are videos with the attack to the police. At the end, there are violent people with the pacifist voters and not professional policemen too.

EDIT: Evidence asked, here it is [https://youtu.be/wmLTRluQm94](https://youtu.be/wmLTRluQm94)

EDIT 2: I was asked for source about the women and people manipulating pictures. Two sources here: [https://twitter.com/arb149/status/914401352230621184/video/1](https://twitter.com/arb149/status/914401352230621184/video/1) [http://www.larazon.es/espana/difunden-en-twitter-imagenes- fa...](http://www.larazon.es/espana/difunden-en-twitter-imagenes-falsas-de- agresiones-policiales-MM16381814)

<comment><USER30> I've seen no evidence of violent people attacking police.

Edit: well that is evidence - not a huge surprise that things have now escalated when you have an armed force shutting down an election.

<comment><USER29> I am uploading it so you can see it. (Nice downvote before letting me prove my words :) )

<comment><USER29> I am not excusing neither of the behaviors: both violents and not professional policemen are doing wrong. All your text is based not in what I said, but in yours interpretations of my words

I am adding references for the women issue too.

<comment><USER31> Well sorry then for reading your brief comments that way. Since my Spanish sucks I can't blame you.

But come on, we see cops doing things like _jumping on people_. Do their colleagues protest that? Do they go on strike until such actions are brought to court? No? Then they're all not "professional" enough in my eyes.

"Unprofessional" also applies to things like saying "hey buddy" to someone at a traffic stop instead of a more formal greeting. Why do you call the violent behavior of protesters violent, but violent and kind of sadistic behavior of police "unprofessional"? And apart from my interpretation, the bit about guilt not being transferable also stands. And it's not a minor point on the side.

> both violents and not professional policemen are doing wrong

As far as I'm concerned, that's like saying a rape victim is bad at mario cart. Police violence, any abuses of official authority but certainly such egregious ones, play in a _completely_ different ball park. And just like the abuse of authority (and gear) don't justify attacks on cops, attacks on cops don't justify other abuses.

Thanks for pointing out that one thing was faked, I wish faking something like that should be punished like committing the act. But I remain in firm opposition to anyone who uses it to excuse anything else. If you want the waters muddled that way, accept guilt for anything anyone ever did. If you don't, don't muddle them. It's a binary choice.

</comment></comment></comment></comment></comment></comment><comment><USER32> The referendum was ruled illegal by the courts. If we are going to allow all old tribes of Europe to become their own state, there wouldn't be much left of Europe. The nation-state and standardization is a European invention and a successful one. The case for an independent Catalonia isn't on strong grounds either.

This is no small issue, and Spain is responding accordingly. The message has to be clear: Spain isn't going to split and we aren't going to allow tribalists/nationalists to act freely.

They are using rubber bullets to disperse the crowds, that's not exactly a crime against humanity as some seem to suggest here.

Having lived in Spain for some time, I can say police there is awesome. That is, friendly and laid back. Once I was caught smoking marijuana in my apartment (the neighbors called the police because of the loud music) and they made a couple of jokes and left. Back in Norway, they'd be angry & taken me to the police station.

<comment><USER33> >They are using rubber bullets to disperse the crowds, that's not exactly a crime against humanity as some seem to suggest here.

Seriously?! They're not nerf guns, the mossos were banned from using them a couple of years ago, with good reason!

I am a fellow Scandinavian who lived in Barcelona and though I am not at all sure that I think independence is a good idea, I think the catalans should be the ones to decide that and the Spanish reaction to the vote is absolutely outrageous to me. They could have declared it illegal, and the outcome invalid. This treatment of peaceful protesters is ridiculous.

<comment><USER32> It's proportional. What are they supposed to use, water balloons?

The naive support for Catalonian nationalists on this site is not surprising, though.

<comment><USER30> Words and votes - that is what we use in the UK to handle the issue of Scottish independence. It has proved much better than guns (c/f Scotland and the troubles in Northern Ireland).

The Spanish police have gone in using force to prevent a democractic process.

<comment><USER32> Afaik the Catalonian separatist movement is a lot larger than the Scottish one, fueled by the last financial crisis.

I strongly doubt the UK can claim moral superiority above Spain.

<comment><USER30> The Scottish and Catalan separatist movements were actually very similar until yesterday. Both have so far choosen the democratic route to freedom. In both nations the support for independence was under 50% but the support for a referendum to decide the issue was very high. The fact that the Spanish state used illegal force (some of the police used had no legal basis to enter Catalonia and the use of rubber bullets by police is not allowed within Catalonia) to break up a democractic vote will presumably cause the two movements to diverge now.

Btw no one is claiming moral superiority - merely experience. The UK has a long history of suppressing independence movements by force and this failing. With Scotland they finally tried another approach and it seems to work better so far..

</comment></comment></comment></comment></comment></comment><comment><USER34> This is basically what we are used to seeing from the middle-east, and from before I was born: South Africa. I don't remember the boycot, but I do remember my parents of talking about it.

What, if anything, can we do similarly to apply pressure to Spain? What exports are they depended on? What start-ups are Spanish?

Edit: Downvoted for being against beating up people who are trying to vote? Really HN?

<comment><USER35> Lucky you for having an absolute moral compass that immediately recognizes who's right and wrong in the conflicts around the world

</comment></comment><comment><USER36> How does voting (on anything) not qualify as speech?

</comment><comment><USER37> The European Union sides with the Spanish Constitution, supporting the rule of law, against the regional nationalist revolt [1]. Also, it seems that Russian "hackers" are helping the rebels [2].

[1] [https://elpais.com/elpais/2017/09/15/inenglish/1505463613_51...](https://elpais.com/elpais/2017/09/15/inenglish/1505463613_515431.html)

[2] [https://elpais.com/elpais/2017/09/28/inenglish/1506588970_02...](https://elpais.com/elpais/2017/09/28/inenglish/1506588970_026442.html)

<comment><USER38> This is from BBC which is generally considered a reliable source. Even if the referendum is illegal, it doesn't justify violence against peaceful protesters.

<comment><USER29> The number of injured have been reported by the Catalan officials, which benefits from enlarge the amount. Maybe the number is true. I will remain skeptic until information from several sources is provided.

<comment><USER25> Just the amount of people I have seen injured just in the videos being shared easily reaches the hundred. To be honest, even one case is not acceptable.</comment></comment></comment></comment>