skysight-inc/HackerNews huggingface dataset:
I thoroughly disagree with misusing terms like this. Experimentation and the like are important, but that doesn't mean you get to throw away the term "minimum viable product".

This article is more about "how to find out what an MVP might be".

> An MVP is not just a product with half of the features chopped out

Right, it's supposed to be the absolute core of what is necessary. This requires actually knowing what your customers want. It's perfectly OK to say "I don't know what our MVP should be" and then go and try and find out what it should be. But until you have something that is actually viable as a product then you don't have a MVP.

> You spend months figuring out how to launch custom mobile apps for your clients, only to find out that what a restaurant owner really wants is a mobile-optimized website that’s easy to find on Google.

So you added an extra feature that's unwanted and failed to add a required feature. This is neither minimum, nor viable.

> Or, after using all the latest technologies to build real-time chat, you find out that restaurant owners can barely deal with email and don’t want to sit at a computer all day.

Adding an extra feature nobody needs means you've not built a minimum product.

> Or, worst of all, you might find out that restaurant owners don’t want the hassle of dealing with technology and maintaining mobile apps and have no interest in using your product in the first place.

Then you haven't built a viable product.

> Therefore, the very first MVP could be a mockup of such a mobile app

Not really, since this isn't a viable product.

edit - I think this is a common issue, people taking terms and then bringing in what they "really mean". A "minimum viable product" is a very simple description. If what you have isn't a viable product, then I really do not understand the point of saying you've built a minimum viable product.
I would also question whether this period of peace in Europe is really due to the EU. The EU and it's predecessors certainly contributed to it, but I would argue it's a marginal contribution. If you look at world history after WWII you see that major conflicts - between two powerful nations - have largely disappeared. Instead we got a slew of proxy wars: US vs. China in Korea, US vs. China/USSR in Vietnam or Iran vs. Saudi Arabia in Syria more recently. I think the reason for this is purely economical. No country can afford in the late 20th century to break all diplomatic ties with another country (and their allies), so instead of engaging in an all out war they support local regimes or mercenaries whilst maintaining the necessary economic relations with supporters of opposing regimes. In Europe meanwhile the economies have become so interconnected (even before the EU) that any war would mean economic devastation for the whole region and is thus an impossible course for any regime.
I think you make a good point about your cousins children. I believe if the EU could survive for another decade or so, it will be in a much better shape. IMO the politics of free movement inside the EU changes the lives and behavior of those affected(e.g. students having the chance to live & study in a totally different culture and environment) in a way that makes is almost impossible for them to accept a reversal to the old status-quot. When the generations that are currently criss-crossing in the halls of european universities will get a chance to influence the politics I believe we'll see a much more aligned "european identity".
A lot of things need to be considered when designing a new protocol.

Versioning is clearly not enough: IP for example has many version fields, but that's not helping IPv6's adoption. You may not be able to "replace all the old versions" if your protocol becomes popular, so you need to consider how you will update it anyway.

Tags are worth study: If ECN had been implemented as a new IP option instead of appropriating a bit that "everyone should be ignoring" we would've avoided a lot of problems a few years ago.

Differentiating between "must implement to operate" and "may implement" is also useful. Sometimes you can add this with a flag or special notation (e.g. PNG and RIFF), but for protocols you can also use negotiation: Telnet's WILL/WON'T/DO/DON'T/CAN/CAN'T system, for example.

Specifying failure cases is also good: To make sure people implement reliable systems, I often design into the spec the retry protocol and have a mode (used in interoperation) that causes random failures so they have to implement the retry protocol correctly.
Just proposed one of my projects for inclusion: https://github.com/djcapelis/atomic-ring

Lock-free Single Producer, Single Consumer (SPSC) queue. The dependencies include C11 and that's it. No POSIX required, should work on any arch you can find a C11 compiler for.
> This is an artifact of the maximum complexity of front end apps having risen dramatically in recent years.

Front-end apps aren't more complex. Back in 2006-7 people were already writing complex front-end apps with frameworks like GWT or ext-js. What changed is front-end developers dropped the widget oriented frameworks for a lower level approach (stateless components). But the complexity of the apps have not risen.

You don't need IoC containers with javascript, it's useful but not mandatory. Angular2 tries to be some kind of kitchen sink of web frameworks but is losing its pragmatism in the process. I can guarantee that it will be drag its adoption speed.
Is there any information on the guaranties Moxie Marlinspike/Whisper Systems provide on the Apps downloaded from the App-Store?
I get that their source is open and reviewed and trusted but what is this worth when there is no way to tell if users are actually using their version/builds when installed from App-Stores. Same holds true for the necessary servers they maintain.

Don't get this wrong please: this is still probably THE best solution right now, which simply as well has its security limitations, right?

Is there any work ongoing on a kind of "verification process" for Apps like these? How can an end-user tell if the binaries running on their device are untempered with?

/sorry for hijacking ;)
Both groups have a hard time with the basics: getting a job, being able to afford a place to live where the jobs are, and most importantly (implied by the difficulty finding a mate) getting respect because of the lack of first two.
Oops, forgot to include link to concepts: http://nim-lang.org/docs/manual.html#generics-concepts
Sometimes people realize they have enough money to live the rest of their lives and would rather focus on more immediate pleasures. It is likely that they won't regret the decision on their death bed either.
>allowing Greek to make their own decisions,

Apparently, Greece owes Germany $80+ billion dollars[1]. Of course, if it were up to Greece alone, they'd prefer to say "just forgive our past loans and let's reset the odometer to 0 for a new set of loans. And oh, btw, don't expect to get paid back on the new loans either since we don't want your input on how to reform our ineffective government to even make payback possible."

People want to interfere with Greece because they took lots of other people's money.

If a company borrowed money from bond holders and timely payment is not possible, those bondholders can pressure the company to hire their turnaround managers in return for refinancing, or force it into bankruptcy and seize assets.

Whether it's a country or a company borrowing other people's money, it's hard to see how a "hands off" policy by the lenders would be possible.

[1]http://www.marketwatch.com/story/heres-how-much-greece-owes-...
The 'happy path' (everything goes right) is easy, as you said.

The hard part for me was making sure the state in the client is always in sync with server, in a valid state, even when things go wrong.

On a slow connection, another update made by someone else to board may arrive between the optimistic client update and the server confirmation, which can lead to a broken state on client.

Or, user may do an update on the optimistically added card, like editing, while the first action is not confirmed by the server yet. You either need to queue these actions, or generate the id of the card on client side. And you need to have reliable 'rollbacks' on the client when server rejects the action for some reason.

There are many more edge cases like that. I've solved all these problems eventually, but it took much more time for me than building the happy path.
Plug for a tiny header library I wrote

https://github.com/rtaycher/debug_print_h

It's a little thing for simple printf debugging. I got tired as hell of using formatting strings. It prints line, file, and function, expression and value. Since it stands out /greppable it's easier to delete then random printfs.

It has support for different colors(to make things stand out) and uses c99 _Generic to support different types with a single "function" and c initializers for named arguments. It supports basic c types and you can sort of extend it by modyfing the header(unfortunately I couldn't find anything cleaner using c).

C99 only (works on gcc>4.9 (due to use of designated initializers) and llvm/clang >3.3 (maybe earlier but I tested it with 3.3)
I was hoping to support msvc but it looks like Microsoft hasn't implemented _Generic yet.
I Built Myself a 16x20-Inch Camera in 10 Hours
Interesting. I wonder how a sat solver would do with this problem.
> I've never seen a C or C++ codebase that does this.

One example I've seen in the wild
https://github.com/dtschump/CImg
If all you're doing is passing pointers from one thread to another, lock free is not a very good choice. Try a trivial spinlock based implementation. It will outperform it easily.
I've been looking for an on-premise Trello for months and WeKan seems to be the best option for now. How would you guys feel about deploying such a project for 300 people? Too soon?
Alphabet earnings report coming up: http://www.nasdaq.com/earnings/report/goog
Ask HN: Why Apple laptops are predominant laptops on every hackathon I go?
I've got 10 years working as a Software Engineer on Windows machines, usually Dell laptops.

But I was surprised to notice that most of the people coming to hackathons work on Macbooks - at least in my area - London, UK.

About 2-3 years ago I was blown away when I noticed that all my co-workers(20-30) were using Macbooks, except one other guy, IT consultant as myself.

Am I living and working in a bubble?

Are there any stats about Mac/Linux devs vs. Windows devs?
Thanks a lot! I appreciate it!
History of Great Britain in 60 seconds
If the US were organized like the EU, several of the states would be heavily indebted and bankrupt, with a third world quality of life, and the financial, industrial, and entertainment centers would be even richer. Instead, richer states transfer huge amounts of money to poorer states through various federal programs (infrastructure spending, assistance to the states, federal welfare programs, etc.), going a long way towards putting citizens on an equal footing everywhere in the nation. The banking system is unified and federally insured, disaster relief is centrally supported, people are free to move around entirely freely as citizenship is handled at the national level. Every state has a comparable seat at the political table.

The weaker states in Europe should have never agreed to a currency union without any kind of fiscal or political union. It led to a massive bubble of stupidly cheap debt and speculative capital inflow, and then when the economy started looking iffy all the money flowed out again, and poof.

Losing control of your monetary policy is straightjacket enough when your economy dips, but under the rules of their debt deals, Greece also lost control over fiscal policy, and was forced to apply pro-cyclical cuts to government spending. They ended up in worse-than-great-depression level economic collapse, with absolutely no tools available to deal with it.

For Germany by contrast, the Euro has been great (though fiscal austerity in response to a recession was stupid for them too). Their currency has been artificially weak relative to their neighbors, helping them run huge trade surpluses.
Just to add some links for those (I assume these are the ones you mean):

Dumping the debug-level log ring-buffer on exception:

http://lists.xenproject.org/archives/html/mirageos-devel/201...

Detailed profiling (interactive JavaScript viewer for thread interactions):

https://mirage.io/wiki/profiling
New data centers hardware and its implications for distributed computing
Google Ads are not an integrated part of any Android OS. Google Play Store is available on most western Android phones but is not part of an OS - see Amazon Kindle and most Chinese phones.

Google ads are delivered either via web pages or as ads in apps. In both cases the owner of the page/app decides which ad network they'll use. There is plenty of competition in ads space.

The situation is the same on iOS, where Google has no leverage, yet they have the same revenue stream from ads.

The only advantage Google has is the default search engine setting on official Google Android phones.

SO you
Start Traditions That Won’t Last
I don't think you need to partner with a bank to start making progress here.
Sometimes reading does give you an epiphany. Even though most for me too of the time a from scratch bit by bit building is the best way to learn.
I think the EU certainly helped a lot by trade and free movement of people. It's a lot harder to make people from another country into demons if you've met them and shared a bottle of wine with some of their (almost inevitably from a UK perspective, better) food. Not impossible - but much harder.

I think we've had proxy wars by major powers going back millenia - I don't think that's such a strange situation for Europe compared to free movement and cheap flights.
If Kim Dotcom says you can't trust something does that mean you can? https://de.wikipedia.org/wiki/Kim_Dotcom#Werdegang
Recent Facts about Photovoltaics in Germany [pdf]
I don't think Soros' civic engagement is connected to his investments in the ways you think I've been involved in some of the projects run by his OpenSociety Foundation and the work they do is clearly Pro-EU.
Which is few times more expensive than the phone with contract.
I think the biggest difference is Americans willingness to use credit (debt) compared to other countries.
In 1953 Germany had half its WWI debt erased to rebuild the country and curtail violent attitudes.

Also, Greece did not dig themselves in this hole alone. Its a little telling that so many EU members kept lending to them despite ample signs of fiscal irresponsibility.

I agree with the general gist of your argument but you can't treat firms and nations and equals in this case. Greece's problem reflects a deeper concern of international debt structures and the concerns of the union against those of member nations.
"Our vision: millions of people working and living in space"

When you have only a few seconds above the "official" space altitude on a parabolic trajectory, I wouldn't say" working and living in space", and specially not "millions" at the same time..

Is it me or this is primarily a pitch video ?
"Can you imagine a US state doing that? "

You can't compare US and EU. US was built more or less as a coherent whole - politically speaking. EU was jury rigged on top of autonomic political entities, some with hundreds of years and some tens of years of political sovereignty.
I strongly doubt you're going to build a faster thread-safe workqueue by adding spinlocks to it, but if you think what I wrote is too slow, feel free to build something faster and show the speed difference in a benchmark. You can use the code in test/ if you'd like.

The code I wrote does leave an optimization or two on the table. Apple's lockfree queue in GCD is faster than mine because of batching. It also has a ton more features, including being (IIRC) MPSC.
> “I’ve spoken with Disney people, and they were completely blindsided by the reaction to the new Star Wars characters,” he tells Boehm. “They put a huge investment into marketing and merchandizing the Kylo Ren character. They presumed he would be the big breakout role from the film. They were completely surprised when it was Rey everyone identified with and wanted to see more of.”

...they thought everyone would identify with the whiny, emo bad guy?
Building Your First React.js App
I wouldn't over think it. Read a couple of books, study UIs you use more critically and keep practicing.
> We need a way for countries that don't want to be in, to get out. It will act as a relief from a lot of populist pressure. If the UK want out, they should have an available option.

The EU has a well-defined mechanism for secession; it is what the "out" option on the UK referendum is about. Any country can get out of the EU within a couple of years if they really want that.
How do you intend to run more than one piece of software on a beefy server? Face it, you need hypervisors if you want to actually use your production machines.
Probably the best key handling method is employed by Biocoded app. It uses the same encryption protocol as signal (Axolotl ratchet) and it only stores half of the decryption key locally. The other half is on the server.
Most of the content I watch from Netflix is 4K these days.
It seems that would produce little but similar problems to those the EU is having.
Agree completely. Not having the ability to inflate one's currency in times of economic struggle (so that exports are made to be cheaper, etc.) is not the best thing; while for Germany it helps with their own exports.

Moreover, lots of Greek debt (IIRC) was originally to banks which had lent lots of money without oversight; almost knowing that someone (the EU states) would take over the debt if need be... Of course Greece had borrowed recklessly on their end as well.

But I think the analogy and contrast to how US states work is really good. Want a single currency across multiple areas with differing economic performance? OK, but then better have mechanisms for supporting equal footing.
In the UK, yes. The party in power (the conservatives) favour leaving the EU, and even those among them who supposedly favour staying will only do so with demands met they already know they won't get.

The population at large also support leaving, and when the referendum happens this summer, I will be surprised if this ship of fools doesn't vote to be cast adrift.
Still stuck on Firefox 41, they broke too many extensions after that.
Ask HN: What does it take to run Hacker News smoothly?
The solution is called reproducible builds. I'm aware f-droid is working on these, but most of the work is currently happening more in the Linux distribution space (Debian is leading that cause). I hope in the future we will be able to say "if it doesn't have a reproducible build process it's not to be considered trustworthy".

(Also: I think this question is mostly independent from the disagreements between moxie and f-droid - they were regarding other issues.)
Not much better i guess? You'd have to model in the SAT-solver what is already more or less efficiently done here.

My best guess would be that the SAT-solver would be a lot slower, as this PoW system is mostly based on memory latency. From the paper: "Runtime is linear in graph size
and dominated by random access latency"
Types come with a performance overhead and will be disabled in production?

Sorry, I don't understand that. Typescript transpiles to plain JS, so there are no types at runtime no matter whetzer you are developing or in production. And therefore there is also no performance overhead. The only overhead I can think of is if you are transpiling code at runtime instead of build time using some JSPM plugin - but then the overhead is not related to types but to transpiling (it would also be there for typeless coffeescript transpiling).

And I also thought that typescript decorators are explicitily following the most recent ES7 decorator proposals and are even marked as experimental in TS to be able to react to changes if the ES7 syntax changes.
It's difficult to attribute success. Heck, it's difficult just to compare your situation to the situation 20 years ago when you were a different person.

The populists in Poland and Hungary made a story where good aspects of the current development (for example: competitive workforce, open borders) are taken for granted and bad aspects like perpetuating big differences (like, wages, or quality of public institutions) between Hungary/Austria or Poland/Germany are attributed to some evil manipulation by the seemingly neutral EU.

Every explanation for the big wage differences is quite complicated: you can't rely on any popular simple ideology. If market is efficient, why the difference? If state-regulated society is just, why the difference? This leaves space for quite stupid populist "solutions" that are not true, but at least short.

Full disclosure: I'm from the Czech republic.
I have not been through the free -> IAP route but each time we have to add a new permission, updates take a hit.
A large part of our users never update anyway, so when in addition a manual update is necessary, it takes time.

Since our app has a huge server-side part, from time to time we force users to update to mitigate this. That's not a solution for every app though.
This is why I'm not such a huge fan of "but the market wants it" arguments, at least in our current society. The market has high barriers to entry (only one entity can make a Star Wars film, and very few can make a Star Wars-scale film) and is run by people who, evidently, have no idea what they're doing, and are still profitable and have no need to seek maximum profit. Their own jobs and raises are not threatened by the possibility that they could have been ten times more profitable, because there's no way for their bosses to know that. Rey action figures aren't on the market, so there are simply no numbers for how profitable it would be.

Same goes for startups. Given the barriers to entry in the software business, which are low but still very much nonzero (hence the need for VC), and given that VC can't fund all the possible ideas that want to enter, what's in the market is what non-consumer participants have decided in their wisdom that consumers will probably like. Which may well be very profitable, but is unlikely to maximize profit.

Which leads to a simple reply to PG's claim, "When you accuse Silicon Valley of x, you're implicitly saying x works well, which doesn't seem smart if you're against x." No, I'm implicitly saying that x works rather poorly, because Silicon Valley works rather poorly and is still profitable. It could be much more profitable.
Reach out to them (PH) via twitter, I managed to get an invite that way :)
The US started out as a hodgepodge of kludgy compromises, with a uselessly weak confederate structure, but after a dozen years of experience, the system was in many ways failing. And so, still wanting to make the nation hold together and function, with the memory of winning independence fresh, the states decided to start over, and gathered a group of delegates to write a new constitution establishing a more coherent and unified federal government.

At this point I think internationalism and republicanism in Europe is sufficiently weakened that such an outcome is impossible in the near future.
Sidecar: ‘We failed because Uber is willing to win at any cost’
More Firefox than Firefox.

I have used it more or less exclusively for a couple of months and it works nicely everywhere except for some pages with JS developers who manage to write "your browser is not supported" for anything but Chrome.
noticed this as well. super cool demo though.
Awesome project, as a total aside, isn't there an issue with using Trello's name on your site?