Announcing the OpenFaaS Function Store - <AUTHOR> https://blog.alexellis.io/announcing-function-store/ <comment><AUTHOR> Stefan's function is pretty cool but it sounds like you guys are up for the challenge of submitting something even better to the store. Looking forward to seeing your PRs - get creative! [https://twitter.com/kelseyhightower/status/93589059037769728...](https://twitter.com/kelseyhightower/status/935890590377697281?lang=en)

</comment><comment><USER2> Really cool to see! I did feel the need to make this one correction though

> when you're LetsEncrypt SSL certificate

This should be "your."

<comment><USER3> Fixed

</comment></comment><comment><USER4> How can this compete with the recently announced AWS Serverless App Repo? [0]

That service is still in preview (and they may not be whitelisting folks yet), but it sure seems like it could be a category killer.

[0] [https://aws.amazon.com/serverless/serverlessrepo/](https://aws.amazon.com/serverless/serverlessrepo/)

<comment><USER5> Maybe you're running on non-AWS cloud or on-prem. Maybe you want to run a function that is written in a language that isn't supported by Lambda. Maybe your function is too complex for Lambda or would be too expensive. Maybe you already have a Kubernetes cluster running so deploying OpenFaaS is trivial and comes at no additional cost.

</comment></comment><comment><USER6> This is a great way to quickly and easily try out OpenFaaS by seeing some of the things OF functions can do with nearly no setup!

</comment><comment><USER7> It has all the important functions like left-pad.

<comment><AUTHOR> We need your functions zimbatm - whether light-hearted like left-pad or more involved like the TensorFlow + imagenet example

</comment></comment><comment><USER8> > One of my favourite functions (certinfo) reports back on when you're > LetsEncrypt SSL certificate is going to expire. How handy is that?

I can't help but feel that this is over-engineering to its highest degree. What is a calendar for? Create an event in Google Calendar or whatever and have it notify you a few days in advance. Completely non-technical solution that everybody already knows how to do.

<comment><USER9> Not at all. Let's say you manage 100 machines, possibly for different domains, and each generates their own certs. Now you probably want monitoring that alerts you when the certificate is about to expire in the next 20 days (you can renew them 30 days before they expire, without running into rate limit shenanigans).

With 100 servers, you'll have on average about two calendar entries per day, most of which are no-ops, because the certificate renewal worked fine.

<comment><USER10> You certainly do not need "infinite scaling" to do that. Just a queue of workers running on a dumb server or even just a crontab... Yes it is the very definition of over engineering.

<comment><USER9> No, you don't need "infinite scaling" for just that. But if you have a FaaS- Setup anyway, you might as well reuse it for such relatively simple (but still useful) tasks.</comment></comment></comment></comment>


Chinese Bitcoin mining company may have made as much money as Nvidia last year - <AUTHOR> https://www.cnbc.com/2018/02/23/secretive-chinese-bitcoin-mining-company-may-have-made-as-much-money-as-nvidia-last-year.html <comment><USER2> non-amp link: [https://www.cnbc.com/2018/02/23/secretive-chinese-bitcoin- mi...](https://www.cnbc.com/2018/02/23/secretive-chinese-bitcoin-mining- company-may-have-made-as-much-money-as-nvidia-last-year.html)

</comment><comment><USER3> This kind of inflation is one of the reasons I stay away BitCoin.</comment>


My hobby: Following up on entrepreneurs - cool-RR http://blog.garlicsim.org/post/3979256545/my-hobby-following-up-on-entrepreneurs

<comment><AUTHOR> How is that constructive? Or, phrased differently: how does doing this enrich the world in any way?

The entrepreneurs are trying to _do_ something, while the author of the article only waits for them to trip and fall.

I'm sorry, but I find no value in that. Actually, I find it rather sad.

<comment> cool-RR It adds value because it weeds out the people who talk the talk but don't walk the walk.

 _"The entrepreneurs are trying to do something"_

Actually most of the time they just talk without doing anything. People who _actually try_ are the minority.

 _"the author of the article only waits for them to trip and fall."_

I want them to succeed, but I also want them to be humble and realistic, so if they declare "I'm gonna make the next Facebook!" then yeah, I'll enjoy watching them fall.

The point of this hobby is to cut down on the level of bullshit in our industry. If many people adopt this hobby, then entrepreneurs will be more likely to think twice before they declare "We're gonna be the next Facebook!" And so when someone _does_ make a bold declaration, there will be a bigger chance that he will actually make good on it. I think that this would result in more honesty in our industry.

<comment><USER2> "I also want them to be humble and realistic."

Ironically, this statement is neither humble nor realistic. No one cares about how you'd like them to be. If all entrepreneurs were humble and realistic, we'd still be in the Stone Age. Yea, a lot of wild ideas fail, but the small number of them that succeed usually have a big positive impact. It follows that society is better off with a bunch of crazy, unrealistic entrepreneurs trying to "build the next Facebook".

<comment> cool-RR Trying to build the next Facebook is a great thing. Declaring "I'm gonna build the next Facebook! It's gonna have millions of users!" and then abandoning your project after a month is a bad thing. Saying "I'm going to try to build the next Facebook" is an acceptable thing.

</comment></comment></comment></comment><comment><USER3> This is awesome! I personally wouldn't be bothered doing the "hobby" or running after people myself but it would make for a cool blog. I'd love to read through each persons reply.

</comment><comment><USER4> The social pressure to make good on entrepreneurial promises is important. And doubly so, since studies show that the mere act of telling someone else what you plan to do ALREADY gives you an internal sense of personal satisfaction, and REDUCES the likelihood that you'll follow through.

In other words, it's dangerous to tell people your plans unless you are sure they will continually pressure you do actually do it!

</comment><comment><USER5> This actually sounds wonderful. I think a lot of entrepreneurs would actually find that extremely helpful. It would be great to get an e-mail out of the blue from someone who heard my team's pitch n months ago and was genuinely interested in how far along we'd come and if we'd met the goals we had in mind then. Startup idea? Goalcheck.com?

</comment><comment><USER6> This is something I have been doing with the idea guys on craigslist. Most of them are not even willing to buy me a cup of coffee to listen to their pitch. Out of 15 or so I have yet to see even a basic landing page get put up.</comment>


Plastic abuse photography – free Mac tool for Earth Day, Sunday April 22, 2018 - <AUTHOR> http://www.HugoMM.com <comment><USER2> I don't know what's up with the title of this post, but this actually seems like a pretty decent photo organizing app and it's on sale for free (usually $129.99).</comment>


Ask HN: How often do you have merge conflicts? - <AUTHOR>

I'm thinking about a tool to detect merge conflicts as soon as possible (realtime ?).
Before that, I would like to know if you have often merge conflicts. If yes, these merge conflicts often become a "merge hell" ?
Would you potentialy be interested by this tool ?
EDIT: I'm talking about a merge conflict in the source code of a project. Often detected with SCMs like git, hg, svn, etc. <comment><USER2> I'm a Linux kernel maintainer. Conflicts happen, but git makes the resolution straightforward, and can even try different merge strategies (git merge -X "ours"/"octopus"/etc). I wouldn't ever describe it as having been "merge hell". Maybe if it were a different SCM.

Linux has the "linux-next" tree, which merges feature branches together every night; Stephen Rothwell fixes up context conflicts in that tree which saves a lot of time, and the e-mails he generates also function as a notification that the code you're working with has conficts.

Having a nightly merge of all feature branches seems like the right kind of granularity of notification to me.

</comment><comment><USER3> We get them regularly, maybe a couple a week. But for the most part you know what you are getting into. It usually comes up in code review that there's going to be a problem.

What I don't get though is how a realtime notification would help me. If my editor started flashing that I was in conflict, what would I do differently?

<comment><AUTHOR> If you are notified in realtime, the merge conflict will be based on approximatively 1 line. It's easier to resolve it.

Suppose the "developer 1" working on a big feature during two weeks and a "developer 2" working on another big feature. If you detect the merge conflict at the end of the sprint, it can be difficult to resolve. Don't you think ?

<comment><USER3> Maybe the nature of our conflicts is different. Resolving things at the end is rarely that big of a hassle for us. I'd rather do it all at once after I'm done the work than interrupt my train of thought to fix it at the time.

<comment><AUTHOR> Ok great. Thanks for your comments. Can I ask you how much developers (approximatively) work on your company ?

<comment><USER3> On my team, 6. On another team, 20ish.

</comment></comment></comment></comment></comment><comment><USER4> Small team working on fairly big systems - we rarely have any merge conflicts due to the way we divide work up.

They can be a pain in the arse when something has gone wrong though - but it's not really something we spend a lot of time worrying about. If it happens we just deal with it.

</comment><comment><USER5> Small team (~10) of developers: I rarely encounter merge conflicts due to our method of doling out tasks. We generally try to group tasks together based on similarities, and our codebase is very modular.

<comment><AUTHOR> Great. Thanks for this comment.

</comment></comment><comment><USER6> Small team manager here -- not often at all. Most people are working on different components simultaneously so conflicts rarely arise.

<comment><AUTHOR> Yes. I'm pretty sure that if you have a perfect organization in your team work, there's no need to have a tool like that.

Personally, I already create a merge conflict... alone :-) But it's because I am (was ? I hope...) not well organized.</comment></comment>


Apps are too much like 1990's CD-ROMs and not enough like the Web - <AUTHOR> http://www.hanselman.com/blog/AppsAreTooMuchLike1990sCDROMsAndNotEnoughLikeTheWeb.aspx?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+ScottHanselman+%28Scott+Hanselman+-+ComputerZen.com%29 <comment><USER2> I posted this comment in another thread about apps, but too late for it to really get any responses:

\- app discoverability sucks ass

\- apps require updates

\- app development is unnecessarily tedious and must be done x number of times for x platforms

\- iOS apps need to be approved by Apple, and you have to play the game by their rules if you want to charge money for them

\- apps lack basic features of browsers - no universal find, no back/forward buttons, no bookmarking of pages or states, no organizing apps into tabs, etc.

Let's be honest: not counting games, the vast majority of the native apps out there would work just fine (or better) as websites. Add API's like access to the camera and there's even less reasons to develop a native app. Apps will be relegated to games and highly sophisticated interfaces, which if I had to guess probably represents around 10% of all the apps out there (heck, most of the games out there could probably be done in the browser).

<comment><USER3> _"app discoverability sucks ass"_

Discoverability sucks ass. Period. Unless you already have a strong network, or lots of advertising dollars, the chances of anyone finding your software, of any kind, is low.

 _"apps require updates"_

While that is true of some implementations, there is no reason why apps cannot be downloaded on each execution. You could even use a URL bar to show the network location of the app, if you want to.

 _"app development is unnecessarily tedious"_

A modern web application is no better in this regard. In fact, most of the recent frameworks that have sprung up to solve the problem of building web apps all seem to be loosely based on the same ideas from OpenStep that are used in popular native frameworks.

 _"apps lack basic features of browsers - no universal find, no back/forward buttons, no bookmarking of pages or states, no organizing apps into tabs, etc."_

I mentioned it in an earlier discussion, but it seems worth repeating: The web browser is just another platform API. There is no reason why, say, CocoaTouch could not include those things by default for all apps too.

The whole web vs. native discussion is pretty silly because it all comes down to a few specific implementations that we keep pointing to, when anyone can change the state at either end of the spectrum on a whim.

<comment><USER4> _there is no reason why apps cannot be downloaded on each execution_

It would make it much slower to open an application each time. After all, vast majority of applications _don't_ do this, so there must be a reason why.

<comment><USER3> I don't see why it needs to be any worse than loading a web application. It is the media assets that make any application large, and they are going to be the same size no matter how you package your app.

<comment><USER4> With a webapp, you only download the images for the page that is being shown, not all the images for all the pages.

</comment></comment></comment></comment></comment><comment><USER5> Keep in mind there are ton of mobile apps that do things that shouldn't require web access. I'm often in areas with spotty coverage, yet still need to use some of the following:

      camera apps
      flashlight
      calculators
      document editors / todos
      games

It seems like in these debates people are confusing HTML based browsers with internet connectivity. Internet connectivity is all that matters. The hypertext web browser, on smartphones, is looking rather obsolete from a performance standpoint.

<comment><USER6> webapps don't require web access. localstorage and application cache apis are widely supported.

</comment></comment><comment><USER7> I wish this were true. Those 1990s CD-ROMs were useful when I wasn't connected to a network.

My iPad has 32GB of space (about 50 CD-ROMs), two cores each faster than any computer in the 1990s plenty of RAM, etc... It wants to be used like a thin client web browser thing. What a horrible waste.

</comment><comment><USER8> I think apps are popular because they are more concrete than the web.

A user knows where an app starts and ends and they know what icon they need to touch to get there.

Websites are far more ethereal and it isn't as clear when you've left one site and landed on another. And it's much harder remembering how to get there.

Case in point: how many people type 'facebook' into google and click the first link instead of entering 'www.facebook.com' into the address bar.

</comment><comment><USER9> Haven't heard a better metaphor for apps yet. Long live the web.

In all my infinite wisdom, I tried out a few apps from google chrome. And gave them permission to see what websites I view. Does anyone know if that goes away once I uninstall said app, or is there any extra mucking about and cookie removal I should take care of to make sure feedly isn't following me everywhere, even after it's uninstalled?

<comment><USER10> You should be okay.

Once you uninstall a Chrome extension and close all tabs (since code could have been injected into them), there won't be any code related to it running on your machine.

It is still theoretically possible that while a Chrome extension was running that it updated state (via a cookie or otherwise) on webpages you were visiting, so perhaps clearing cookies could be helpful, but I'm not aware of this happening.

</comment></comment><comment><USER11> Some of these complaints are side effects of Apple's implementation and not apps in general.

Frequent updates are often used to churn an app for visibility on iTunes for better discoverability. Thanks to this, apps are updated for very minor reasons, and most people don't give a crap about minor updates.

 _apps are still little islands of functionality that don't talk to each other_

That's not entirely true. Apps are only islands if you make them that way. Many iOS apps talk to each other using URL protocol handlers as an interchange mechanism. I just bought TextExpander Touch, and it works with over 120 other apps. There's some Twitter clients that do something similar. No question that this would be even better with more support for it in the OS, but it works now.

I spent much of last year working on an HTML5 app. Maybe HTML5 will equal the app experience someday. But that day is not today.

<comment><USER12> Re: updating your app all the time for discoverability, on the flip side of that coin is that if you update your app frequently you'll also lose glowing 1.0 reviews frequently, to be replaced by the often-less-glowing 1.1 reviews. This is actually a large deterrent for many developers to ever release bugfix updates without new features because people are less prone to leave 5-star reviews on a new version that just fixes some small issues they may not have even noticed.

</comment></comment><comment><USER13> HTML/JS is up to running Doom now? Is that the best example? It puts it 17 years behind native.

The article also says the water level is rising -- which is true, but why assume native is standing still? On the contrary, I see native APIs evolving far more quickly because of the huge competition in mobile platforms. iOS has gone from 1.0 to 5.0 while HTML5 has been in gestation.

Native is a moving target, and HTML isn't catching up, let alone surpassing.

</comment><comment><USER14> One thing that web apps lag behind now is the "micropayments" thing. The eponymous "in-app purchase" is a damn sight easier for the end-user to understand and use ("Do you wish to purchase 99 potions for US$0.99?" Yes/No button).

Because the App Store already has your card on file, they can do this with minimal friction. Same goes for Amazon.

</comment><comment><USER15> I think that people are more likely to pay for an app then for a website.. maybe that is why, Apple, Google & Microsoft are pushing apps instead of pushing the web..

<comment><USER9> This is a good point, and touches on what calebbrown said above, that apps are concrete, which makes it easier to pay for (psychologically). Perhaps the powers that be recognize this, or perhaps it's just a matter of the biz end of then interent starting to trend towards paid material. Money drives motivation here. This scares me a little, because it tells me we really are going to move into a world of apps....

</comment></comment><comment><USER16> I just tried viewing this fellow's website through an iPad and an iPhone, and am pleased to report that he had the native good sense to make sure his site didn't look like garbage on a mobile device before singing the praises of the mobile web.

However. This good sense is far from universal, yet. When I browse the web on my mobile device, I stumble across a lot of pages that look as if they've never been viewed on a mobile browser - or, worse, that seem to think I'm using a mobile browser from 2003. Many other sites still use Flash - it will probably be another five years before the last one of those gets the memo that Apple mailed four years ago. And even the sites that _have_ a mobile design often use stock frameworks like OnSwipe, which I find to be an effective commercial for native apps or, for that matter, unstyled plain text.

In short, it's too early in the web's counterattack to deem it effective. For at least another year, that app icon is more valuable than a hyperlink, because it provides evidence that at least one programmer has spent at least five minutes looking at the app on a mobile device before signing off on it.

<comment><USER17> Thanks, I'm a responsive design fan and worked hard on that. Thanks for noticing. :)

</comment></comment><comment><USER18> "Apps are too much like 1990's CD-ROMs and not enough like the Web"

And that's a good thing. App developers have a much wider set of APIs to play with so they can do more while web app developers are stuck with whatever they had around 2005. There's been enormous progress on the back-end of web apps, but the browser side hasn't kept up.

<comment><USER19> I remember tons of CD-roms which were just HTML, images , swf and java files. The same goes today for many of the apps that are sold on appstores, especially magazines and newspaper apps. The main reason seems to be that publishers can charge for the apps. On the web we don't really have an alternative yet, unless someone comes up with a brilliant, frictionless, secure and elegant web API for micropayments.

</comment></comment><comment><USER20> I don't understand why not much has been said about Android on exactly this topic.

The article complains mainly about two issues both of which are solved by the Android platform:

1) The keeping-applications-up-to-date problem has been addressed by the auto- update mechanism introduced by a market update for some time now. The apps are updated silently in the background without any user-interaction whatsoever. That's exactly what Chrome does for the web. If you keep Chrome open for decades then you web app will not upgrade either, at least not in the way you think it will.

2) The every-app-is-an-island problem is symptomatic of iOS since you are only allowed access as Apple sees fit. However, this is a solved problem on the Android platform through the use of Intents and the Back button which works as good as any web linking would.

</comment><comment><USER21> 'APPS' AND 'THE WEB' ARE TWO COMPLETELY DIFFERENT FUCKING THINGS!!!

Do you realize you're comparing a crippled, poorly-designed gadget with a distributed, massively networked system for browsing documents and information?

'Apps' do not work like 'the web' because they're not supposed to work that way. They're supposed to be static, stable, simple, reliable, offline, well- tested, usable. 'The web' is literally thrown together like so many ingredients in hobo chili. 'An app' is a Bonsai tree. Unfortunately, most people spend all their time tweaking the chili and spend absolutely no time pruning their bonsai. God, I hate making these comparisons.

I'm sorry for being angry, but it's getting sickening just reading the titles for weird articles like these that make no sense.

<comment><USER15> so many apps do what the web can already do

<comment><USER22> That's true, but on the other hand, there are many apps that are pleasure to use where a web site is a pain in the ass. The android gmail app comes to mind.

</comment></comment></comment><comment><USER23> This reminds me of the dichotomy that Apple and Microsoft faced when developing their empires. There are two major camps I think: one that ties in hardware + software (native apps) and one that relies on software with disregard to the underlying hardware (the web).

It's really tough to say what the clear winner is. There are advantages and disadvantages to both approaches. AFAIK, Apple has always bet the bank on the first approach and it's done well for them.

History would seem to suggest that the first approach provides a richer end user experience where as the latter provide ubiquity. I'm not sure which will win out in the long-run.

</comment><comment><USER24> Why the fuck there is a debate over apps vs webs going on lately?? web,app or desktop is a medium and way to provide your service to users/customers.. You choose the medium depending on solutions u provide.. u do location based service on apps and u cannot do it well in web.. Each platform has its own advantage/disadvantage. it depends on users you target, solution you provide. i dont know why there is a debate?? is web developers vs native platform developers and their concern about their future,the root cause of this debate??

</comment><comment><USER25> Well that's precisely the point. The advantage of the Web is its concept, not its implementation. URL is great, instant delivery of content is great. But the technology stack that Web is currently implemented with, i.e. HTML, JS and CSS is full of crap. Advocates for Web confuse the two: it's not HTML and JS that constitute the main advantage of Web, it's linking and sharing. And those technologies need to be replaced as soon as possible. Good that Google is trying to do something about it: Native Client and Dart.

</comment><comment><USER26> Native apps have their place and so do web apps. One major benefit of native apps on iOS is consistent user experience. This is because a lot of apps use standard UI elements and navigation. I tend to feel more at home in native iOS apps than a mobile version.

I still don't understand how discovery is any worse for native apps. On the web most people use search engines to find an app? App stores have search too. Plus, search engines usually find apps on app stores. If anything this makes discovery better for the native app.

</comment><comment><USER27> Installable applications are much easier for many people to pay for.

This isn't limited to things that run on smartphones: Games that are installable are an easier sell than network games.

In some ways, they SHOULD be easier to pay for, as they have a chance of sticking around and at least partially working if the company goes belly up.

</comment><comment><USER28> This is why Google is so keen on the browser market. Once we're able to run beautiful apps through the browser independent of the platforms, standalone apps start to look really un-attractive. IMO who-over dominates the browser market in 5-10 years time, dominates the mobile app market.

</comment><comment><USER29> "Yes, JavaScript, HTML and CSS is a mess and it's hard, but it won't always be."

Just wondering, since those are the only languages I know, but aren't programming languages for writing native applications (like C++) harder than, say, JavaScript?

</comment><comment><USER19> Apps vs websites reminds of the TV vs VCR analogy. Yes you can use the VCR 24/7 but requires lots of maintainance. Sometimes it's just easier to turn the TV on no matter how bad the content.

</comment><comment><USER30> Yeah, apps were cool in the beginning, like when you first bought your iphone. But after you've installed like 10+, the novelty wears off and all the apps feels like a scam junk yard.

</comment><comment><USER31> Great insight, I mostly agree. And I am really crossing my fingers that HTML5 will quickly become a recognized app technology across all web platforms.

</comment><comment><USER32> Tangent: how does developing for webOS compare to developing for the mobile web?

</comment><comment><USER33> This "insight" is why WebOS was such a good idea. Entertainingly written though.

<comment><USER34> Clearly. WebOS has proven the author correct with its stunning success in the marketplace.

</comment></comment><comment><USER34> _> As browsers get smarter native apps will introduce new interaction models, hardware accesses and new features. Those will get folded into HTML 9, then HTML 10 and the cycle will continue._

So in other words, the latest web technology will always be lagging behind. Yeah, that's pretty obvious.

But the sad thing is we're comparing two already horribly flawed systems. No one in their right mind should be arguing in terms of a locked-down, Disney- fied, compartmentalized experience versus a slow, infuriatingly clumsy and intermittently-available simulacrum of the same thing. We need to _own_ our own devices and create, modify, and deploy _our own software on our own terms_. (And please don't insult my intelligence by claiming that the ability to _browse to any given URL_ can constitute these freedoms in any materially useful way.) To publicly ask for anything less is so lacking in imagination and ambition as to be criminal; it serves only to reinforce the pathetic productivity-destroying dichotomy seemingly being forced upon us.</comment>


Boden – Native mobile cross-platform applications - <AUTHOR> https://www.boden.io/ <comment><USER2> It looked very promising but GPL for mobile iOS and Android Apps It is impossible, even I release the Apps free it is very difficult to work with GPL on those ecosystems. It is sad because it really looks very cool code.

<comment><USER3> Boden author here, a bit overwhelmed by the feedback. We are in the process of releasing a new version that will change the license to LGPL / Commercial.

<comment><USER4> LGPL has the same problem! Users must be able to relink an application with their own version of the LGPL library. This is impossible for almost all iOS scenarios and only very slightly easier on Android.

This is often overlooked. If you want to keep LGPL you can investigate "linking exception", it's used by some GNU libraries if I recall correctly.

This has been discussed for a decade:

[https://stackoverflow.com/questions/459833/which-open- source...](https://stackoverflow.com/questions/459833/which-open-source- licenses-are-compatible-with-the-apples-iphone-and-its-offici)

[https://roadfiresoftware.com/2013/08/the-problem-with- using-...](https://roadfiresoftware.com/2013/08/the-problem-with-using- lgpl-v2-1-code-in-an-ios-app/)

<comment><USER3> Please take the following with a grain of salt. I am not a legal expert, but we have competent US lawyers assessing this for us right now.

The main issue we see with the GPL is that your app has to be effectively licensed under the GPL too, which makes your app's license incompatible with the iOS App Store's terms of service.

This is apparently not the case with the LGPL. Yes, you will have to provide a way for users to relink your application to another version of Boden. As far as I can see (I am not a lawyer), this can happen outside of the iOS App Store.

Our US lawyers are currently investigating this. As soon as we get a reliable assessment from the legal experts, we'll add an LGPL option to Boden.

<comment><USER4> Tell me, when your user has downloaded an app and wants to relink it with their custom version of Boden, how do they proceed?

<comment><USER5> LGPL 2.1 6c - on request, you provide the user with object code they can link against their custom version. Should be enough, if no other terms of the app store get in the way?

(VLC is an example of a well-known program that relicensed to LGPL and now is available in the app store, so clearly it is possible)

<comment><USER4> And how does the user then get their relinked app onto their phone?

(There are _plenty_ of App Store apps with LGPL code in them. The question is, should they be there? And VLC is not a good example, since presumably, I don't know - but I think all of it is LGPL or in any case, open source. The user can rebuild all of VLC in that example. The situation with Boden is going to be that a an app, probably proprietary, has a Boden library in it.)

<comment><USER5> Isn't the problem of "how do I get the app onto my phone" the same in both cases?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> There's a recent episode of the CppCast where the developers of boden.io are interviewed: [http://cppcast.com/2019/04/marcus- tobias/](http://cppcast.com/2019/04/marcus-tobias/)

</comment><comment><USER7> This is awesome but man the licensing sucks.. Sounds like to release on the App Store you have to pay for a commercial license? Even a free app?

<comment><USER8> The licensing is likely intended to ensure sustainability

<comment><USER9> Or even, gasp, profitability for the developers. That's a perfectly reasonable thing for a developer or company to expect.

It would be better, though, if they published pricing and had a self-service purchase process, rather than requiring users to contact them.

<comment><USER5> It's a really new project, so they're probably still figuring out what model works best and might want to limit the kind of deal they do - e.g. make sure it fits the client and they can support them with development where necessary. Freely selling licenses and then have unhappy customers that didn't evaluate the current state properly would be problematic.

</comment></comment></comment></comment><comment><USER3> Author here. We didn't expect so much attention and are happy about the feedback! Ask us anything.

With regard to the GPL licensing issues brought up here: We are aware that the GPL is not sufficient and we are in the process of adding an LGPL option. This will allow you to publish apps based on Boden on the iOS app store.

<comment><USER10> How will the license enforce that an app using an LGPL version of the library can't be sold? As such LGPL doesn't mean the consuming app has to be free.

<comment><USER3> Sorry, I should have written "apps conforming to the terms of the LGPL" instead of "free". Of course it's still possible to sell apps based on Boden licensed under LGPL as long as you comply with the license terms.

I fixed the parent comment.

<comment><USER10> Is there then a business model in a commercial license for Boden if a company can use it as LGPL? In general are there many companies who pay for a commercial license to avoid LGPL?

</comment></comment></comment></comment><comment><USER11> The target audience seems very small. There's lots of C# shops (Xamarin), and lots of JavaScript shops (React Native, Titanium), but few C++ shops that'd benefit from developing apps.

Maybe I'm wrong but the niche seems too small to be sustainable.

<comment><USER12> Soon there will be Dart shops (Flutter). :)

<comment><USER11> Funny you mention that. I primarily work with native mobile development and have grown fond of Flutter. Interestingly, the situation is reversed; shops will adopt Dart because of Flutter.

<comment><USER13> At least that is what Dart team hopes, after losing support from Chrome and Angular teams.

<comment><USER14> Except Angular Dart is alive and kicking, no? Powering AdSense at least which is a huge chunk of Google's business if I recall correctly from a Flutter talk by the PM who put some numbers on a slide.

<comment><USER13> It looks pretty dead to me.

AdSense team rescued Dart from certain death.

They also used to be heavy GWT users before, a stack now mostly discarded by Google.

</comment></comment></comment></comment></comment></comment><comment><USER15> From reading the iOS code there is already a number of bugs that will have issue, including but not limited to the iOS handling of text inputs. You won't get events / onchange firing correctly for autocorrections or when Chinese chars compact themselves. Seems like a very cool project anyway, there is a lot you could learn from react-native's approach to native components.

Edit: not to mention no support for text areas, will be interested to see that abstraction :)

<comment><USER16> I didn't look but I suspected such issues the moment they mentioned best practices and std::string in the same paragraph... It seems like it could be a fun project but I wonder who the target audience will be. Maybe they're working with a partner? I'm thinking for others it must be new startups just starting out, since every existing company I've seen that targets both platforms with native apps inevitably seems to split the codebases into iOS and Android sides because the platforms are sufficiently different. And of those companies a subset will have a shared C++ layer where it makes sense, probably with lots of cross platform issues already ironed out such that trying to drop in this would be too risky unless it matures into a really awesome project rather than its current preview release state... Best of luck to them.

</comment></comment><comment><USER17> It's cool to have options for x-platform development. I think we're at a solid 3 solutions: Boden (C++), Kotlin, and Xamarin (C#). Not to forget Unity and the JS solutions out there...

<comment><USER18> Flutter (Dart) is one of the best.

<comment><USER17> Oh yeah! Good call.

</comment></comment></comment><comment><USER19> I am curious to know if this can also target a desktop toolkit such as gtk/qt/tk/wx and so on. I probably wouldn't want to use such an arrangement as a user, but I could see it being very useful as a developer for testing out app functionality without emulation or a separate device.

I also wonder if this will be able to target the puri.sm Librem 5 when that comes out?

<comment><USER3> There is already an experimental macOSX port in boden. More desktop support is a future goal. The library is designed to support all types of operating systems.

</comment></comment><comment><USER20> I don't see anything on camera, GPS, maps, push, etc. Was this implemented?

<comment><USER5> From what I remember from a podcast with the creators (cppcast I think), it's planned but not yet implemented.

</comment></comment><comment><USER21> This is how I think it should be solved: [https://github.com/chrismsimpson/Meta](https://github.com/chrismsimpson/Meta)

</comment><comment><USER22> A discussion from 6 months ago: [https://news.ycombinator.com/item?id=18570423](https://news.ycombinator.com/item?id=18570423).

<comment><USER23> From that thread:

> Yes, I was also wondering why it's necessary to come up with yet another > smart pointer, which you need to learn and which is probably not battle > tested. - > [https://news.ycombinator.com/item?id=18586992](https://news.ycombinator.com/item?id=18586992)

Even though on the main website they say:

> No custom containers, smart pointers, or reinvented basics. This allows you > to reuse your existing knowledge and focus on what's most important: your > app.

<comment><USER24> Author of boden here: We have since moved away from a self written smart pointer and replaced as much as possible with standard C++ classes ( shared_ptr, weak_ptr, std::string etc. )

</comment></comment></comment><comment><USER25> I want to use C++ less than Java and Swift, especially Swift, I don't see this as catch on because C++ is lower level language.

</comment><comment><USER26> I don't speak C, but as a long-time web developer, it smells to me to see "Center" capitalized in the flexbox snippet. Why is it different than CSS? How is a developer supposed to understand the capitalization rules?

[https://www.boden.io/reference/ui/yoga/layout/](https://www.boden.io/reference/ui/yoga/layout/)

<comment><USER27> In C/C++ a common style is to use camelcase with an initial lower case letter for variable like things and with an initial upper case letter for constant or enumeration like things.

</comment></comment><comment><USER28> While I love C++, I can't help but see this as the n-th iteration of the noble but impossible pursuit of a cross-platform GUI framework.

Cross-platform GUIs never work. They _almost_ work to the point where managers latch onto the idea because they think it will let them fire half of the engineers, but the end result is always well in the uncanny valley.

Open Gimp on macOS and see what I'm talking about. Or Slack. Or Eclipse. Etc.

</comment><comment><USER29> I was exciting about trying an C++ IDE again after a few years of working in other languages. I tried VisualStudio for some simple C++ stuff (learning OpenGL with GLFW) and I found compilers and IDEs are still a pretty sluggish experience, all these years later.

I suspect Qt people developed QML for this reason: it is hard to beat the experience of instantly running something vs compiling C++ code on each run.

</comment><comment><USER30> > Write your mobile apps in modern C++17 and compile 100% native Android and > iOS apps from a single statically typed codebase.

Does this thing work in the same way as flutter? (ie. your own UI framework that looks and feels like the official one?)

<comment><USER13> Not at all, they bind to platform widgets and use a programming language that is one of the building blocks of our industry.

</comment></comment><comment><USER31> So how does this actually work? It sounds like Xamarin Forms.

<comment><USER7> uses C++ interfaces to native (objC/Java) classes so you can write the whole app in C++

</comment></comment><comment><USER32> Forget Boden and forget messy C++... use Google backed Flutter framework with Dart.

[https://flutter.dev](https://flutter.dev) Checkout youtube for presentations.

Build once for iOS, Android, ChromeOS, Web, All desktops.

<comment><USER33> As the intro page demonstrates, modern C++ isn't really all that messy. I think there's a solid argument that it's a more dependable option than Dart, which isn't really used by anyone other than Google.

<comment><USER32> Better languages have moved beyond C++. I've developed software for over 20 years. I've use C++ for many of those years. Software languages and tools have evolved past C++.

Imagine the "evolution of man" drawing. C++ is the middle guy not exactly standing upright.

<comment><USER33> An "evolution of man" drawing wouldn't really be accurate because it implies each entry is static in terms of evolution. C++ is very obviously not, and modern C++ is barely recognizable compared to code written years ago.

</comment></comment></comment></comment><comment><USER34> Awesome! Does anyone know if there is any similar framework for RUST?

<comment><USER13> First Rust still requires some ergonomic improvements to handle GUI coding in a better way.

<comment><USER35> Like what? (earnest question)

<comment><USER13> Handling callbacks without piles of Rc<RefCell<>> to access widget data, or having vectors simulating graphs, the most used data structure for UI widgets, having to deal with use-after-free indexes.

<comment><USER36> It sounds like you tried to write rust like it's OOP. You're gonna have a bad time if you do that.

>Handling callbacks without piles of Rc<RefCell<>> to access widget data

That's why you don't let widgets hold program state, they should just propagate deltas and display current state. It's a different way of thinking about how UI can work, but imho it has a lot of benefits aside from just speed and safety.

>having vectors simulating graphs,

You mean adjacency lists? They're a canonical realization of a graph, and a fast one at that.

>having to deal with use-after-free indexes.

What do you mean by this?

<comment><USER13> I have experience with plenty of languages, including doing UI programming in Haskell, just to make your point.

If Rust answer to typical UI programming patterns is "you are holding it wrong" then don't expect too much uptake by mainstream UI developers.

See Catherine's talk about their game engine implementation, regarding use- after-free indexes, and techniques to avoid it, by binding timestamps to indexes.

<comment><USER36> I don't think Rust has any one answer to a UI problem, since the UI story is basically the wild west right now. Everyone is doing something a little different.

I didn't mean to imply that, just that when I see people complain about the ergonomics of the language and point to using a bunch of Rc<RefCell<T>> stuff usually smells funny, it implies to me that you're either trying to use OO or control flow architectures and patterns, where the type system is able to handle the edge cases that you'd need to think about anyway. There are nicer alternatives, especially in terms of data flow architectures.

And I don't know what you mean by "indexes" in this context or which talk you're referring to, do you have any more details or a link? Google isn't finding me anything.

<comment><USER13> Catherine is relatively known in the Rust community, hence why I didn't mention anything else.

Here is her keynote talk at Rust Conf 2018.

[https://youtu.be/aKLntZcp27M](https://youtu.be/aKLntZcp27M)

<comment><USER36> Ah ok had to skim through the slides a bit, I think you meant to use the phrase "generational indexes" which is why googling didn't help me. This project was more helpful for my understanding:

[https://github.com/fitzgen/generational- arena](https://github.com/fitzgen/generational-arena)

I'm not sure what your ultimate point was though? You don't have to use anything like that in normal Rust code

<comment><USER13> Only if you understand by normal Rust code, CLI apps.

If we are talking about graphical applications, that would be a common usage.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER37> A cross-platform c++ framework... why not just use QT?

<comment><USER5> Qt isn't using native elements, and their mobile support is usable but not really great either (and doesn't appear to be a current priority, which makes a mobile-only project potentially more attractive). I'm not sure I'd use it if I didn't have existing Qt experience or even code to reuse.</comment></comment>


Ask HN: How to locate ads on websites programmatically? - <AUTHOR> Let's say if i want to screenshot the ad banners which appear on the website. How can i do this?
The challenge is the determine what is a banner programmatically.
What technology can be used for this? <comment><USER2> What are you using to fetch the pages? Something like CasperJS/PhantomJS? If the banners are images or iframes from an external domain you should be able to traverse the DOM and locate them this way. You would have to have a list of ad providers domains to look for and you might miss some.

<comment><AUTHOR> Using chrome headless

</comment></comment><comment><USER3> Modify an ad-blocker to instead of blocking highlight ads?

<comment><AUTHOR> Nice idea! Is there any resource on how modern ad blockers detect and block ad banners?

<comment><USER4> Some ad blockers, like uBlock Origin, are open source, so you can examine the code and see what they're doing:

[https://github.com/gorhill/uBlock](https://github.com/gorhill/uBlock)

The basic algorithm is to match URLs of loadable resources (images, JavaScript files, iframes, etc.) against huge lists of ad/malware/tracking sites. If the URL matches, the resource isn't loaded. The lists that uBlock Origin uses are enumerated here:

[https://github.com/gorhill/uBlock/blob/master/README.md](https://github.com/gorhill/uBlock/blob/master/README.md)</comment></comment></comment>


Federation is the Worst of all Worlds (2018) - <AUTHOR> https://fieldnotes.resistant.tech/federation-is-the-worst-of-all-worlds/ <comment><USER2> _The threat model and economics of federated systems devolve to concentrating trust in the hands of a few, while missing out on the scale advantages of purely centralized solutions.

Federation results in the data of users being subject to the whims of the owner of the federated instance.

Administrators can see correspondence and derive social graphs trivially. They are also in a position to selectively censor inter-instance communication._

I am totally happy with picking someone I actually trust to have those powers over me. The thing I don't like is when a random manager I don't know from Adam has those powers over me.

<comment><USER3> Yeah, delegation is inevitable in social networks because it just cannot scale otherwise. Having some power over that delegation is better than almost none

<comment><USER4> Is that inevitable though? A graph of independent but connected nodes could theoretically scale indefinitely in the case where I hold my data and you hold yours. If I want to add someone to my network, I can either get their direct address or navigate through friends-of-friends (graph traversal). The only necessary delegation would be a mailbox provider, but the contents of any messages could be encrypted.

Not that any of this is easy to engineer, but in my mind it seems viable.

<comment><USER5> It actually does exist already, in the form of Secure Scuttlebutt ([https://en.wikipedia.org/wiki/Secure_Scuttlebutt](https://en.wikipedia.org/wiki/Secure_Scuttlebutt)). Friends connect directly to each other. When you want to get news about someone, you download from them directly, along with news from friends of friends. If both peers aren't connected at the same time it is possible to use pubs, which are kind of hubs accepting all content and distributing to whomever wants it. Pubs have no special functions apart from being a store- and-forward, so you're not associated to a pub in particular (you can be on multiple, or none at all) and no pub is more "important" than others. Nothing is lost when a pub closes.

Cryptography makes sure that only the intended reader can read (unless it's a public message), and that messages can't be forged.

The nice things is that it's all just a message passing infrastructure, and applications can and have been built on top of it, like a git repository system or a music sharing application. So, yeah, it is feasible.

<comment><USER6> The amount of data you have to store for even the network's current larval state does not to me suggest that †he current version is real practical to scale.

<comment><USER5> I don't know, people have been on it since the beginning and have only a few Gigs in their db, which is mostly non-text (pics, videos, audio, ...). You'd need to store them in any case. It's true that initial sync is way too slow but they're working on it.

</comment></comment></comment></comment></comment></comment><comment><USER7> Matrix and XMPP, for example, provide methods for end-to-end encryption. The operator of the node has no way to see the content of the messages. Deriving the connection graph is not an issue exclusive to federated systems.

But most important, no one is ever bound to any federation system. This by itself should be strong deterrent of bad behavior by bad actors. If I don't trust one server I can always switch. In an extreme case of lack of trust I can set up a server just for myself and the federation devolves into a peer- to-peer system.

Either I am missing the point of the article or the author hasn't thought this through.

<comment><USER8> Matrix has e2e but it's a pain in the ass to use (every time you log on a different browser of from a different client you have to import keys and validate clients).

So most hub I have seen don't enforce users to use e2e and at least images are stored in the clear on the matrix server.

<comment><USER9> That's true, but cross-signing is right around the corner for Matrix [1], which will enable e2e by default in direct chats [2].

Encryption is useless for most public rooms, and actually counter-productive most of the time. If the room is public, anybody can join it, idle there and save the logs on their computer, or publish them. Activating encryption is just annoying: from the top of my head, you can't read what was posted before you joined (unless someone sends you their keys), search is client-side only, it's hard to link to attachments or reuse mxc: (matrix content such as images) from one channel to another.

[1]: [https://github.com/vector-im/riot- web/issues/2714](https://github.com/vector-im/riot-web/issues/2714) and the two links below

[1]: [https://github.com/vector-im/riot- web/issues/10605](https://github.com/vector-im/riot-web/issues/10605) and associated labels

[1]: [https://github.com/vector-im/riot- web/issues?q=is%3Aissue+is...](https://github.com/vector-im/riot- web/issues?q=is%3Aissue+is%3Aopen+cross+sign+label%3Across-signing-sprint)

[2]: [https://matrix.org/blog/2018/11/02/user-experience- preview-e...](https://matrix.org/blog/2018/11/02/user-experience-preview-end- to-end-encryption-by-default/)

[2]: [https://github.com/vector-im/riot- web/issues/6779](https://github.com/vector-im/riot-web/issues/6779)

<comment><USER8> That's really nice ! I hope the work on riot UI will continue.

</comment></comment></comment></comment><comment><USER10> I see that the author has a point, there are more people I have to trust with federated protocols.

But what's the state of instant messaging now? I have to trust Whatsapp, Telegram, Signal. That's still three entities that require my trust, and it's very difficult to verify any of their claims.

If I could at least have my federated Whatsapp instance that I use for family and friends, then I would at least know that none of the metadata created in these groups will be available to facebook, and I can find someone I trust in my group of friends, more than I trust Zuckerberg.

I'm not too sure about the scale argument from a technical point of view. But centralized platforms have scale problems too, such as moderation. Facebook and Twitter are basically unable to moderate their platform. With more instances there would be more people operating those instances and more people moderating as well. I think this is one of the reasons for twitters recent activity to develop a decentralized social media protocol.

<comment><USER11> >If I could at least have my federated Whatsapp instance that I use for family and friends.

You can use p2p solutions for family and friends (Retroshare, Tox etc.) But in reality pople prefer the benefits of having BigCorp behind the service, paying for availability and fixing bugs.

<comment><USER12> With Tox I cannot share an account between multiple devices - or that is I cannot switch seamlessly between PC and phone. That is dumb and I don't want that.

<comment><USER11> It's a cost you pay for true decentralization. Otherwise your devices would have to authorize each other, which is even dumber.

>I don't want that.

That's the point, you prefer benefits of centralization.

<comment><USER12> > Otherwise your devices would have to authorize each other, which is even > dumber.

Not sure why that is so dumb, presumably if one device gets compromised other linked ones are also compromised but if one device gets compromised now it is still compromised.

<comment><USER11> Because if one device gets compromised, you want to regain control of your identity and deny access from compromised device. Also you want to prevent the hacker from doing the same. We have not yet invented a way to do it without central authority, which is also acceptable in terms of usability.

<comment><USER12> So say I use this on my phone, and someone steals my phone, my "identity" is compromised anyway. I have to create a new Identity anyway. User experience of sending everything to someone N times over is not acceptable either. If I want to talk to someone I don't want to have to send a message to each of their devices.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Federation is absolutely necessary to scale a system that needs discoverability and access control for heterogeneous data types from unrelated producers. There is no way to scale it in a centralized manner without having insanely large and complex data governance.

I wish the author had prefaced with the context and scope. It seems like this is really referencing something like a decentralized twitter.

So sure, in the context of the author maybe that's true but it's clearly generalizable about federation.

</comment><comment><USER14> Couldn't actually read the article as the font colour is too close to the background colour.. sorry, the title was interesting!

<comment><USER15> Try firefox, it has a reader mode that always translates all html pages to the same structure. I bet it's also configurable.

<comment><USER16> Yes it's configurable, but no, unfortunately it does not always work.

<comment><USER17> This is mainly because of poorly designed sites - including sites with TONS of js ads that obfuscate the text.

</comment></comment></comment></comment><comment><USER18> Working on federation now. Depends on what you mean by privacy.

If you have federation for a group in society like doctors, you can push policy down to the applications themselves, who can express and enforce it locally, while trusting identity from the Idp (identity provider). If you want more centralization, you can have the applications consume their policy from a UMA2 (or formerly xacml) policy service, but to me that level of central governance is dumb, imo. Provide tools for the edges instead.

The users themselves don't have anonymity and their movements are all logged, but this is what facilitates the data subjects (patients) privacy in that scenario. So it's a question of, "privacy, for whom?"

On the normal internet, arguably, it's content providers who have all the privacy where viewers/users do not. The criticism in the article is federation doesn't invert this model, but that's not what it's for.

The radio/tv model where users can anonymously receive a broadcast signal is the conceptual model for most privacy thinking. This isn't how the internet works, and the only way this is possible is by adding noise to the channel the way Tor does it with onion routing, or some future way of obfuscating the origin of a request using ephemeral paths and end points.

Barring new cryptological link/network/transport layer protocols, we're basically stuck with the current privacy model of the internet until quantum computing becomes commercial.

</comment><comment><USER19> Federation works with the current physical network hardware topology. Pure peer-to-peer solutions typically rely on some subset of up/down speed symmetry, physical proximity (to skip backbone routers and switches), or equal distribution of computing/battery power. None of these are equitably friendly with the hardware reality of today.

<comment><USER20> Yeah. I _want_ to like Secure Scuttlebutt, which I think is the best current example of peer-to-peer social networking. But power usage and mobile data usage are an impediment to using it on mobile, and they don't currently have a viable multi-device story (as in, I want the same identity on my phone and my laptop).

Federation is a _good_ compromise.

</comment></comment><comment><USER21> I worry about this too; admins of popular ActivityPub instances have far too much power to silently censor things from tens of thousands of people.

I think federated systems might be the least bad of the available models, though. Technically, we just need to make it easy to switch hosting, like email with your own domain. Swapping out your email host is straightforward.

<comment><USER19> > admins of popular ActivityPub instances have far too much power to silently > censor things from tens of thousands of people.

This is a tired line of argument. Centralized systems are no better. ActivityPub is not FreeNet, and if you want censorship resistance then you're using the wrong network on ActivityPub.

ActivityPub is about being able to build communities that still interact with other communities. And if one community doesn't want porn, hate, gore, and ideology X to be federated with it, and that instance becomes popular, perhaps it's popularity is _because_ of the censorship, not _in spite_ of it. So who are we as outsiders to dictate its members and its admins are ethically _wrong_ for systematically censoring _only from their community_ ideology X when building _their specific_ community? We have as much of a moral right as to demand that church communities discuss the proper usage of BDSM rope knot placements for safety and maximum pleasure. That is: none.

<comment><USER21> The difference between local and remote in most AP software is minimal. Admins defederating is more a parental powertrip about which domains their users can or can't read than anything.

If this sort of thing were really valuable and popular, we'd see browser extensions that do it. For the most part, those only block spam and trackers, and don't break HTTP along ideological grounds.

I think it's the "free hosting" part that is popular, not so much the "admin powertrip" part.

They also aren't only censoring from their community. They are censoring their own users' posts from the entire set of users on the instances they have blacklisted. The censorship cuts both ways.

If anyone with any sizable audience were using AP, they would not tolerate a hosting admin deciding who is allowed to follow them.

<comment><USER6> Why do you think browser extensions are the non-technical user's preferred option? I'm getting a headache just thinking about how to get a consistent mobile/desktop experience.

> If anyone with any sizable audience were using AP, they would not tolerate a > hosting admin deciding who is allowed to follow them.

Well, at that point they can make a single-user instance (toss some euros at masto.host if not technical) and then they can get exactly the moderation experience they want.

<comment><USER21> What about readers who don't want some stranger deciding what they can or can't read?

Saying "well, you can just pay to run your own" is a silly response. Millions of people won't, and tinpot dictators will decide what does or does not show up in their feeds, simply by domain-association.

<comment><USER19> I don't think you've addressed my 2 core points:

1\. ActivityPub is not a censorship-resistant network. Criticizing it for not being censorship-resistant is obvious, so what is the motivation for the criticism? Evangelizing FreeNet, pushing for a different federating protocol, or just shitting on AP users? I've mentioned FreeNet (which is almost 20 years old!) as an actual censorship-proof network, but you haven't seemed interested, which is why I'm continuing to question your intentions.

2\. How do you treat users who _want_ instance blocks and censorship for their community? Are they just _wrong_ and haven't seen "the light"? Should we begin demanding churches host seminars on the two forms of Satanism, show 2girls1cup in high schools, and go to historical black colleges and shout the N word over and over? Because that's the meatspace equivalent of "no instance blocking" on ActivityPub, and local communities in society has found it healthy to limit content and speech to appropriate places. The indigenous and black ActivityPub instances aren't there to have "race debates" questioning their existence; they want to just talk with other cool people. Blocking helps protect them from groups of assholes who want to exercise their "free speech" by shouting slurs.

The rest of your posts haven't been convincing, either, because it's unclear what you're arguing for, besides just generically criticizing the protocol.

> The difference between local and remote in most AP software is minimal. > Admins defederating is more a parental powertrip about which domains their > users can or can't read than anything.

> I think it's the "free hosting" part that is popular, not so much the "admin > powertrip" part.

Strongly disagree. Using highly charged words like "powertrip" make me think you've had a particular experience color your world view. Most folks I know don't want gablins and freespeechextremist filling up their boosts & timelines, and I can count on 1 finger in 2+ years of Mastodon of a user who later felt like they "missed out" because the instance they originally signed up for blocked another interesting instance -- which was rectified by them simply _signing up on another instance_ and using Mastodon's move feature. That's not a high barrier and doesn't require alarmism.

> If this sort of thing were really valuable and popular, we'd see browser > extensions that do it. For the most part, those only block spam and > trackers, and don't break HTTP along ideological grounds.

That ship has _long_ sailed. It's not worth fighting. HTTP(S) is broken today on many different competing ideological grounds, the most obvious of which is The Great Firewall, and the most mundane of which are company ACLs/Firewalls (which usually give an ideological reason why they are banned - like "no games at work").

> They also aren't only censoring from their community. They are censoring > their own users' posts from the entire set of users on the instances they > have blacklisted. The censorship cuts both ways.

Yes, that's the point of doing an instance block. I don't see how this relates to the thesis of your argument (and I've honestly forgotten what you're arguing for).

> What about readers who don't want some stranger deciding what they can or > can't read?

This is a ridiculous question, and betrays the amount of thought put into your argument.

Everything you read, except you reading your own original unpublished writings, is somehow manipulated by someone else. Full stop. "Why was it written", "who affected how it got published", "who put it into a book / online", "who affected how I acquired the book / visit the website", "who influenced me to not read a different book", "who edited this book or article".

The answer to this question is equally ridiculous: run your own instance, or get off ActivityPub and go back to the deceptively-open centralized silos where everyone is, go to the ideologically-pure FreeNet where almost no one is, or do <something else>? And don't forget to subscribe to every newspaper and buy every book -- don't let one's own lack of time cause accidental self- censorship.

</comment></comment></comment></comment></comment></comment><comment><USER22> I disagree with many of the premises laid out here.

 _> Federation results in the data of users being subject to the whims of the owner of the federated instance_

In the largely unfederated world we have right now, that boils down to one single owner per platform. The promise of a federated system is that you can always set up shop on another system of the _same platform_ , without losing access to your relationships. And that other system could in theory even be run by yourself.

 _> Administrators can see correspondence and derive social graphs trivially. They are also in a position to selectively censor inter-instance communication._

Again, right now we're putting that trust into a single entity for the _whole network_ instead. An entity whose interests we know for sure are not aligned with their users, but with their customers. Giving participants in a network the choice which administrator they want to work with is not strictly worse than that.

 _> All the privacy issues, none of the scale advantages._

Social networks are not a place for privacy. Not in a federated world, and certainly not in the unfederated model we have right now. Once more the case can be made that the current system is worse, because not only is your communication and metadata _not_ private, but the unfederated systems we have often demand, or at least can correlate from context, your real-world identity. A federated system can _at least_ do away with that issue to some degree.

If you require privacy, and there should absolutely be a place for that in a civilized society, you need to use an end-to-end encryption scheme for point- to-point data exchange. There are fundamentally opposed design goals that apply for such systems.

 _> Considering that one of the main goals of decentralized systems is privacy preservation, and thus, control distribution, we must develop better models than "the most popular federated instances gain full control over the users interactions"._

Control distribution is absolutely achievable within a federated context, while privacy preservation will always depend on (in this case: unwarranted) trust. Just because you can't reasonably achieve one, it doesn't follow that the other is a fool's errant. I would also argue that the quoted sentence at the end here is a bit of a straw man, because taking away that power from the individual instance is - or at least should be - the _actual_ design goal of a federated system.

Don't get me wrong, a network design should do what it reasonably can to prevent and mitigate abuse, but I believe advertising inflated privacy expectations to end users is fundamentally dishonest. What they get is _not_ privacy. What they get is some degree of control and independence. Which incidentally is one of the reasons why no federated system has really taken off yet in the mainstream: those are not big enough selling points on their own, and they're certainly not enough to motivate people into taking the huge social hit from moving onto an empty new platform. So far, only fringe groups have taken up these decentralized offers - groups who frankly almost nobody wants to have associations with.

 _> Reliability & Discoverability being the main two._

I agree very much with the problem being discoverability. None of the open networks really tackle that aspect, but it's not a problem coming from the fact that these are _federated_.

<comment><USER6> What I'm about to say you may already know, but for the benefit of other readers:

> groups who frankly almost nobody wants to have associations with

I'd caution you about this claim; Gab, Spinster, Glindr, some of the less savory Japanese instances probably fit what you're saying. If you want to be less charitable about most people's broadmindedness, toss in the furries. But from what I've seen, a large chunk of Mastodon users tend to just be LGBTQ. For this group, the control/independence is a lot about knowing what you can expect your moderators to take seriously (both in terms of allowed content and protection against harassment). I'd question the term "fringe" for this group. There's also been a movement away from Twitter onto Mastodon of Indian users upset by Twitter's acquiescence with Indian government demands. In that case, it's not so much about privacy as making legal demands a game of whack-a-mole.

Otherwise I totally agree with what you're saying.

<comment><USER22> I think this probably doesn't need to be said but LGBTQ people on Mastodon are _not_ an example of what I meant. To make it extra clear, I also didn't mean to imply that just any group with a strong presence on such networks is automatically "fringe" or worse...

It's just by my (admittedly subjective) impression large-scale, community-wide adoption of decentralized networks has been mostly by radicals or militants, because they have increasingly been banned from mainstream social nets. They had an easier time taking the hit from jumping to a new network, because they had been ostracized.

<comment><USER6> Valid, valid. I think it's interesting to think about how groups that are in between the "mainstream" and the "fringe"\--not banned necessarily, but those with more variant needs from their networks--can serve as an "indicator community" ([https://www.britannica.com/science/indicator- species](https://www.britannica.com/science/indicator-species)) of social ecosystems' function.

</comment></comment></comment></comment><comment><USER23> I don't see the problem. Fully decentralized platforms like Bitcoin are too inconvenient to use. Not everyone wants to download the full blockchain and you still have to find someone to exchange your dollars to BTC. So what happens is that most people sign up on an exchange which is effectively a federated system which merely communicates with other exchanges over the common Bitcoin protocol.

</comment><comment><USER24> agree. federation doesn't seem to have been the initial plan of the internet. some sort of POSSE with content-agnostic subscribing mechanism would be far better. (and yes that subscription mechanism could be in a blockchain acting as a discoverability mechanism and a backup).

<comment><USER25> NNTP (newsgroups) and SMTP (email) both are federated systems. Long before domain names were convenience identifiers for just websites, you would be part of an organizational domain, be it your company, your university or your local ISP (before the advent of large national consumer providers). Those were much more than just a pipe to the larger internet, they would run applications which you would use, and which federated to other organizations.

<comment><USER24> i guess there is a difference between "dumb" federation the way nntp/smtp does it and e.g. matrix where account data and subscriptions are kept in the servers.

<comment><USER26> I don't follow. In what sense does SMTP have 'dumb' servers? Account data is definitely on the mail server.

</comment></comment></comment></comment><comment><USER27> Federation is actually quite centralized and explicitly so. DNS resolution is "federated".

Proof of work is the opposite end of the spectrum; maximally decentralized yet slow.

The worst of all worlds is proof of stake / stake-based consensus. It's expensive yet super fragile.

</comment><comment><USER28> This piece would be a lot more interesting, and useful, if it were illustrated with some concrete examples.</comment>


Long-Form Video Gaining Viewers on the Web - <AUTHOR> http://www.techcrunch.com/2007/11/12/long-form-video-gaining-viewers-on-the-web/ <comment><USER2> this is why i like google video. it doesn't have a limit on what you can upload and it's a good place to find lectures</comment>


Should I request payments at freelance milestones? - <AUTHOR>

I'm using Elance (I know, I know) to make some money on the side, and this is my second client. This time the scope of the project is larger, and it's expected that this job will take about 2 weeks to complete. However, in the terms proposed by the client they're asking to pay for the whole project once it's completed. Does this mean I have to send them everything first, or can they just dispute afterwards if the deliverables they get aren't what they asked for?<p>I don't really feel comfortable sending everything before receiving payment. <comment><USER2> First off, the project is only two weeks. How many milestones can you fit in two weeks? For some clients, dealing with billing more than a couple times a month can be a pain in the ass. Additionally, you are working on this project as a side gig, so it's probably not a lot of hours. In this case I would be fine with taking the whole payment at the end. Just have the client put the money in escrow. The client could still screw you over, but at least you know it won't be because of a lack of funds.

On the other hand, since this is a side gig you probably aren't on the same feast / famine cash flow cycle that most full time freelancers are on. You can probably afford to be picky. So, if you don't feel comfortable with the client, just look for another project. For a two week project, I would just do half down and half on completion.

I don't bother with giving partial work based on the payment schedule. At any given time my client has access to everything I have done. However, most of my clients are also developers (or have other developers working for them,) so we may be committing code to the same repo.

I have never been screwed by a client in years of freelancing. I have had clients be way late with payments, but they have always been responsive and sincere when asked about getting a payment. If you are getting screwed, then you need to look at your process for selecting clients.

Don't get too caught up with it. These payment schemes are meant for managing cash flow and risk. You probably don't have to worry so much about cash flow, so your main focus would be the risk.

Personally, I'm not concerned about the risk of losing billable time. My concern is the risk of my business going under. If I lose a few days pay, I'm grumpy, but this won't register on my risk radar. Losing out on a payment sucks, but it's a normal part of most businesses. As long as I'm committed to the long term of my business and learning from my mistakes then I can accept the risk of losing billable time. I might hound Joe down the street for that $10 he never paid me back for the rest of my days, but I can accept losing a few days of billable time because my client went bankrupt and can't pay me. So, be flexible and keep your risk management in perspective.

</comment><comment><USER3> 100% of my income comes from freelancing. I build web apps and APIs in Node.js. I charge an hourly rate and I bill once every 14 days. I only take on projects that are going to be at least two months in duration and I give my clients 14 days to pay after being invoiced.

I don't usually have much spare time, although it's not because of my billing practices.

If you're doing projects that are only going to last a week or two, just get 50% up front and 50% on completion.

</comment><comment><USER4> I would ask them give you 25-50% up front then the remaining after they have accepted the finished work. I don't know the nature of your work but maybe you can give give them 50% half way through the schedule and they give you the pay for that work, then you give them the remainder when it's done and they pay you back.

I definitely wouldn't trust them with all my work/result and then hope they'll get around to pay me.

<comment><AUTHOR> Good suggestion, I may try this. Forgot to mention that I'm doing front-end engineering work as a freelancer. Not confident enough in my Ruby skills yet to offer those services. :)

</comment></comment><comment><USER5> I know this may not be perfectly on topic, but it is the model we use for consulting. Maybe you can gain some insight: but check out our latest post [http://blog.tenorent.com/](http://blog.tenorent.com/)</comment>


Elon Musk: Rex Tillerson Has the Potential to Be an Excellent Sec of State - <AUTHOR> https://twitter.com/elonmusk/status/824010489449431040 <comment><USER2> having read the economist article I am inclined to agree, at least that he deserves a chance to prove his mettle. I felt the same about trump, not least because he is the US president and that is not going to change, you have to assume he is doing what he thinks is best and so I have to hope that he does a great job, the worry is that the first indicators on Trump are that he is relatively unhinged and egotistical, lets home that Tillerson can rein him in in places.</comment>


Hindsight – it's not just for past events (2014) - <AUTHOR> http://www.theguardian.com/lifeandstyle/2014/may/10/hindsight-in-advance-premortem-this-column-change-life <comment><USER2> I've very often found that people will speak dismissively of "hindsight", when in fact there were many people beforehand pointing out exactly what was likely to go wrong.

As the article suggests, it's usually not even very hard to think about things from different perspectives.

<comment><USER3> This came up in discussion about the Challenger explosion. Basically: the O-ring problem is obvious now, but how were they to know at the time that this one problem was the one they had to address, among the thousands of other issues they were dealing with?

But if you go back and look at it, that was a loud problem with people saying "astronauts are going to die if you don't fix this," and there wasn't anything else of similar urgency.

Hindsight bias is definitely common. "They should have known!" But so is a sort of anti-hindsight bias. "They never could have known!"</comment></comment>


Bitcoin Drops 50% on Mt Gox to $230 - <AUTHOR> http://www.josic.com/bitcoin-drops-50-on332-mt-gox-to-230

<comment><USER2> It's really too bad that Mt. Gox is tanking and that a lot of people are losing their money. It's probably better for the overall bitcoin community if they just go away, though. They've been dragging down the market for a while, and their wallet software isn't implemented correctly. They were the first, and I'm glad they existed, but amateur hour is over.

</comment><comment><USER3> Bad Gateway :-/ but the numbers are correct. The downward trend of the current slump looks like it has some way to go, even on sites like CoinDesk that no longer include Mt. Gox in their price.

</comment><comment><USER4> I wonder if the inflated (or not, in this case) price of MtGox is a good indicator for bitcoin trends. One could argue 99% of the time it's prices were reached in 2013.</comment>


Show HN: Storyly – User Engagement Platform Bringing Stories to Every Mobile App - <AUTHOR> https://storyly.io/ <comment><AUTHOR> Hi everyone,

We developed a lightweight SDK bringing stories to every mobile app. We position our product as a user engagement tool through which you can create stories (with features like interactivity, deep-linking, personalization, social media integration) and track performance analytics.

You can use Storyly for

\- interacting with your users by asking their feedback and opinion

\- onboarding your users by showcasing your app features

\- featuring your content, offerings and products

\- personalizing stories based on your users' feed

\- monetizing your story places via direct deals

Feel free to check it out and shoot any feedback you have!</comment>


Free Lectures on Professional Open Robotic Development with Autoware/ROS2 - <AUTHOR> https://www.youtube.com/watch?v=XTmlhvlmcf8&t=67s <comment><AUTHOR> More information here: [https://www.apex.ai/autoware- course](https://www.apex.ai/autoware-course)</comment>


How a small streaming site became the Netflix for indie film - <AUTHOR> http://www.theverge.com/2015/10/6/9463225/mubi-streaming-service-independent-films-efe-cakarel-interview <comment><USER2> Whoah, it's awesome to see this posted here in my native habitat! I've spent the last 8 years of my life building MUBI as Co-Founder and CTO (even longer than I've been on HN!). Please AMA.

<comment><USER3> Only discovered MUBI today via HN. Looks great! There is one annoyance (which I also have with Netflix): I live in Denmark, but I am not fluent in Danish. Not all your movies have English subtitles though, so how can I watch anything else except the three languages I master (English, French and Dutch)? Are licensing issues preventing you from offering English subtitles on all your movies as a default?

<comment><USER2> In short, yes. Language/subtitle licensing is a mine field. Often times the small local distributors we deal with don't acquire anything but the local language rights, so it becomes almost impossible to go upstream and get the remaining rights even though we may well have the assets for use in other countries.

We are doing what we can to move the ball forward on this issue industry-wide, but historical rights arrangements are working against us here.

<comment><USER4> This is also our major issue with MUBI. We love the film selection, but we live in Germany. When we want to watch a French film, its overdubbed in German.

Netflix is also odd about this but usually we can get German subtitles for any film and choose the audio with original language. Ideally we should be able to select any language that there are available subtitles for. Why restrict it by region ?

<comment><USER5> The producers likely have distribution agreements on a by-country basis. So, for example WB cannot distribute <movie> in Germany because GEMA has the rights. But GEMA didn't buy the rights for the English subtitles. I imagine technically WB could then sell subtitles rights for <movie> in Germany but it would be a pain because maybe those subtitles were done by <subcompany> for licence in America and Oceania... etc.

<comment><USER4> GEMA is a collection society for musical performing and mechanical reproduction rights. Equivalent to BMI / ASCAP. They have nothing to do with films.

They certainly do not buy rights for anything at all. They represent copyright holders and collect fees and distribute them.

</comment></comment></comment></comment></comment></comment><comment><USER6>
      MUBI's curatorial approach stands in sharp contrast to major streaming services
      like Netflix, Hulu, and Amazon, which have amassed large libraries and deliver
      personalized recommendations based on algorithms. MUBI's human-curated selection
      takes a lot of that choice away, and Cakarel thinks viewers are better off
      for it.

      "Think about your own Netflix experience and how frustrating it is — how
      long it takes you to find a film that you want to watch," says Cakarel.
      "It doesn't work. It categorically doesn't work."

While I get what they're saying, I still wonder if it wouldn't be interesting to try out some personal recommendation algorithms/systems on their user ratings dataset. (After reviewing their T&C, I've actually crawled through their data (more like, their backend exposes neat API endpoints that are not part of any formal API (officially they don't have one)..) some time ago, and am still curious to just try out some stuff from _scikit-learn_.

Maybe someone has thought/done the same? When contacted, the MUBI team (IIRC) basically said they're not interested in that as of now.

<comment><USER2> Little known fact, but we did start out with the goal of amassing a large library, and we even put significant effort with some former Netflix-prize winners in building a recommendation engine.

The first big problem, which you see on Netflix as well, is that a recommendation engine really falls off in efficiency when your selection is thin, and the original dream of streaming every film is never going to happen because of a price squeeze from the content side (hence Netflix moving into production and focusing on exclusive content).

The second, perhaps bigger problem (particularly for our audience) is that there is only so much metadata that you can pump into a film database that will tell you categorically if someone wants to watch it. People like to be delighted by discovering a new film, not because it is somehow akin to 20 other films they liked, but because of where they are in their life now, and the contemporary meaning of that film. I know curation has become possibly _the_ most annoying buzzword in SV circles lately, but it has been our approach since 2007, real actual curation by human beings—not algorithms that purport to be "curatorial" on a pitch deck.

<comment><USER6> Regarding your second point, I really understand this position - fair enough (re. zeitgeist and personal point in life of someone looking for films and rating films, etc.) I just wonder if it wouldn't be interesting to spend some time looking at recommendation systems which are not just simply about intersecting users' votes and presenting something "just what you've recently liked." But this would be more of a playful experimentation which is more hobbyist in nature, for sure.

<comment><USER7> What, so like, "as an early thirty-something who just found out you're about to become a father, you may enjoy films X, Y, Z"? To really get people's life chapters and such you'd have to have massive metadata about them beyond the scope of a video service. Google/FB could do it, though.

<comment><USER6> It was more a comment about how considerations such as this make collaborative recommendation systems precisely less useful. Regarding rec.systems that move beyond naive rating/like intersections between users (such as e.g. Jaccard similarity index), I think there could be interesting algorithms developed that make use of assigned/curated item tags together with collaborative filtering/recommendations (e.g. something that last.fm has considered (or has been considering) - there's an entire field of research for just music recommendation systems.)

</comment></comment></comment></comment></comment><comment><USER8> What is that line in the Pink Floyd song? "I got thirteen channels of shit on the tv to choose from..".

Netflix is beginning to resemble that. I mean I love Netflix but its becoming a little hit-or-miss. The alternatives (proprietary content from HBO Now) are becoming more alluring.

Anyway I just signed up a year's subscription with MUBI. I haven't had a chance to see "Junun" yet, but I just recently watched "The Reluctant Fundamentalist" by Mira Nair. I was blown away by the quality of the Music/Soundtrack in that.

I don't know the precise style of music in the movie (Qawwali/Hindustani???) but I have never heard anything so amazing.

</comment><comment><USER9> I used to use mubi back in the Auteurs days but it was frustrating that the selection was so much smaller in the UK than the US (I recall it being around 10% of the films; anything that had had a mainstream cinema release was missing). They still seem to have that restriction, but they've taken the 'show me what's available in my area' filter away.

I can understand why they'd do that, but it feels a bit off being asked to sign up for a service where the films advertised on the front page aren't available.

<comment><USER10> Exactly the same issue, kind of fell off my radar as a result of that, now I'm curious to see the selection.

</comment></comment><comment><USER11> "This film is not currently playing on MUBI but 30 other great films are. See what's NOW SHOWING"

Why? That was for a movie that I could pay to watch but they don't let me watch it. I wonder how they could be in business. Still they are so it's probably a sensible choice that I fail to understand.

<comment><USER2> We recognize the confusion this causes in the UI, but indeed there is a valid reason for it. Since the beginning we have streamed globally, but a different selection in each country. Since we have editorial and social features on the site as well, we can't just have pages appear and disappear from the site like Netflix does. All these pages exist as connective tissue between users in different countries (which becomes even more important with links shared on social networks). Even if social features and film discussions don't interest you, clicking Add to Watchlist tells us you _want_ to watch that and helps in our acquisitions and programming process.

<comment><USER11> Thanks for answering.

So the movie I wanted to see is currently available in another country or has been available in mine but not now. The UI could be tweaked to explain that and not (negatively) surprise customers but it seems that you already know that. Probably you have plans to improve it.

Your approach is similar to TV, a list of programs to choose from but not the full catalog. Given these terms I'm not sure I'll ever be a customer but this business model seems to be serving you well so I can hardly criticize it.

</comment></comment></comment><comment><USER12> Sounds like Netflix needs to take a lesson from Valve and let its customers do the curation for them.

<comment><USER13> I've been really impressed with Netflix's automatic suggestion algorithm. It frequently guesses my rating correctly and shows me movies that I do actually find interesting.

<comment><USER14> Wow. They routinely recommend bad for me. I even tried going along with a lot of their suggestions. Spent a day trying that out. It sucked. Now they show up in my "Continue Watching" list which requires going into preferences to remove.

Now, Netflix doesn't even pretend to recommend good stuff. The "Recommended For You" sort gives me items that Netflix itself suggests I will rate 1-star. I must sort by rating to see the better stuff. And even then, most of the top items I've already seen. I cancelled.

I used to pay Netflix (before streaming) while not receiving any DVDs. The recommendations were good enough for me to decide what to download. Not so much now.

<comment><USER13> Maybe the algorithm is different here in Canada? I wonder why we're getting so different of results.

</comment></comment></comment></comment><comment><USER15> I used Mubi a long time a go, but somehow forgot about them - probably due to their limited selection in Germany. The service itself always impressed me though - a service obviously run by true enthusiasts and aficionados.

Glad to see they are still around.

</comment><comment><USER16> Why won't they (mubi.com) tell me how much it costs?

No prices listed, and clicking links that seem like they would take me to that info send me to the 'subscribe now' nag dialog.

That's close-tab-and-forget-about-it behavior.

<comment><USER17> It's 4.99/Mo which it clearly says after the sign up dialog.

<comment><USER18> AFTER the sign up is a bit late...

<comment><USER19> Maybe.

Until quite recently there was a forum and such things, which you could use for free. Ninetysome per cent of the users never paid anything, and surprisingly many didn't know that Mubi offered any paid service.

But yes, nowadays I think it would make more sense to make the price tag for the paid service more visible.

<comment><USER18> Yes, giving the website a quick glance now it looks like a web shop/streaming portal: products and user reviews and I wouldn't even have expected you could create free account, much less it to be useful.

</comment></comment></comment></comment></comment><comment><USER20> I subscribed to MUBI for a while, and just never watched the films that were available. Some are quite risque for a dad with two pre-teens at home. But overall, I just don't watch movies at home. There's always something else to do. I hope they stay in business long enough for me to get to the point that I have time to participate.

</comment><comment><USER21> > "We didn't even know [he was a member] because he was using an email that > was not descriptive, and he was not using his real name," Cakarel says.

This implies that the company looks through their subscriber rolls for famous film-industry personalities, which is an unusual thing to glibly admit to.

<comment><USER19> It's a bit more prosaic: Film people at Mubi attend film events along with other film people, shake hands and exchange pleasantries.

<comment><USER19> Let me add to that. Starting from my own profile page at mubi, it took three clicks and a bit of scrolling to get to [https://mubi.com/users/59108](https://mubi.com/users/59108) — people know each other.

</comment></comment></comment><comment><USER22> I really like Mubi, I just don't keep it all year like I do with Netflix because of their one film a day model.

</comment><comment><USER23> The list of movies looks fantastic, and considering that The Big Lebowski is leaving Netflix I may just sign up.

</comment><comment><USER24> > _MUBI has spent years cultivating that audience with a selection of artsy, > obscure films that don 't usually appear on Netflix or Hulu. (It originally > launched under the name "The Auteurs," before rebranding in 2010 as MUBI — a > play on accented pronunciations of "movie," and after a city in Nigeria.) On > Monday, the titles available on the company's US site included Bernardo > Bertolucci's 1970 classic The Conformist, and Sympathy for Mr. Vengeance, by > Chan-wook Park. Occasionally, it features more mainstream movies like Sin > City, currently available on the French site, though the majority are far > more obscure. A new title is added every day as another drops out, meaning > that only 30 films are available for streaming at any given time._

In defense of Netflix (not that the "Goliath" in this comparison needs defenders)...but "Sympathy for Mr. Vengeance" has been available on streaming Netflix for, as far as I remember, the time that I've been a customer, which was basically when streaming started. "Mr. Vengeance" is the first in "The Vengeance Trilogy" that includes the more well-known "Oldboy" [1] and "Sympathy for Lady Vengeance"...I think the entire trilogy has been on Netflix for years (including the regrettable American remake of Oldboy, but can't fault Netflix for having it...)

Even as Netflix's blockbuster selection has faded (with the ending of the Starz deal, and in comparison to HBONow)...I've never had a complaint about their selection of the most well-known and recent foreign indies. "Let the Right One In", "The Hunt", "Force Majeure", The Girl with the Dragon Tattoo trilogy...though sure, they could always have more (and obviously, I don't know enough of the foreign scene to know all of the gems that they don't have).

But I imagine the problem for Netflix isn't that they do a shitty job of curation...but that the deals end up not being financially valuable to them, as it was in the Starz case. Ang Lee's movies ("Crouching Tiger, Hidden Dragon" and "Lust, Caution") were long-time selections, but I've just noticed they are no longer available for streaming.

edit: if you liked Oldboy, Sympathy for Mr. Vengeance is definitely worth checking out. But whereas Oldboy was entertaining on top of being emotionally extreme...I'd argue "Mr. Vengeance" is much more of an artistic achievement, but at the cost of being "entertaining". In fact, I get a little ill at the thought of re-watching it, even though I own it on DVD.

[1] [http://www.rogerebert.com/reviews/oldboy-2005](http://www.rogerebert.com/reviews/oldboy-2005) \-- Ebert's review here is so glowing that not only did it get me to seek out Oldboy, but it changed the way I think of foreign movies in comparison to Hollywood.

<comment><USER25> Have they added the Korean language version of (the original) Oldboy to Netflix or is it still just the dubbed version? I got tired of checking. Funny was just thinking about this last night when their recommendation engine threw Drunken Master II at me and the only option was English dub.</comment></comment>


Ask HN: C++ or Rust: Which one to Learn? - <AUTHOR> If I want to find a job ASAP, which one I should focus on? <comment><USER2> Job ASAP? Far more C++ opportunities. No question.</comment>


Building Haskell Projects with Halcyon and Heroku - <AUTHOR> http://robots.thoughtbot.com/building-haskell-projects-with-halcyon

<comment><USER2> Thanks, Pat. This is an excellent introduction to Halcyon.

See also my recent "Show HN" for Haskell on Heroku — a Heroku buildpack for deploying Haskell apps, built on top of Halcyon:

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

</comment><comment><USER3> Could someone point the link to [http://robots.thoughtbot.com/building- haskell-projects-with-...](http://robots.thoughtbot.com/building-haskell- projects-with-halcyon)

<comment><USER4> Thanks, we updated the link.

<comment><USER5> can you fix the title as well? (I don't think it's supposed to say "and heroku")

</comment></comment></comment><comment><AUTHOR> Halcyon and deploying to Heroku for Haskell is really great, I use it for [http://howistart.org/](http://howistart.org/) ([https://github.com/howistart/howistart.org](https://github.com/howistart/howistart.org))</comment>