Why We Terminated Our Partnership with Microsoft - <AUTHOR> http://paulstovell.com/blog/re-next-decade-of-open-source <comment><USER2> The whole article paints a picture of Microsoft eating OSS OSS projects, but the author begins by clearly stating that the project he is going to reference (Octopus Deploy) is not OSS.

Instead, he is complaining that Microsoft is competing with his own proprietary, commercial offering. I'm not sure why he keeps pushing the narrative that this is bad for OSS, when the only two projects mentioned aren't.

Full Disclosure - I worked in the Azure DevOps org for a long time, and several of his assertions about Microsoft's auto-defacto status for developer tools and services aren't true, or at least weren't true during the time this article was set in (2010-2015).

<comment><USER3> > While Octopus isn't OSS (though much of it is)

I lost interest in the author's argument at that point. They're upset because someone is going to give a better offer than half a mil a year for the same product. And they're saying, "think of the OSS!" The same OSS they're exploiting to charge half a mil. How much of that money does the OSS see? Do they get proper support and maintenance?

Azure is a formidable competitor but a slow moving beast. They should be well geared towards innovation and not depending on their... yes... half a mil price tier. The fact that's written on paper and not a dedicated sales/VP call is crazy.

It sounds like they need to find something unique. Since every cloud provider is moving this direction.

<comment><USER4> Err, free software does not mean "zero dollars."

They're not exploiting the model to charge money for it.

I know Octopus Deploy uses proprietary code.

But if you're going to complain about the model, at least know what the model is. It's not about the amount of money you must pay to obtain a copy.

<comment><USER5> > Err, free software does not mean "zero dollars."

That's why they asked "How much of that money does the OSS see?"

If it's getting a significant chunk, then things are great.

If all the money is going to the proprietary part, then they have no high ground over Microsoft.

Nobody is complaining about money charged for OSS support and development.

</comment></comment></comment></comment><comment><USER6> I don't agree with the article at all. The point the author is making has less to do with OSS and more with competition. Business is never 'fair'. The reason people flock to AWS/Azure is because of ease of use, integration with other systems etc.. The burden of maintaining two (or more) ecosystems just because one is 'a little better' isn't worth it. Sure there will always be an alternative that fits the product/team better.

Besides, MS and alike have thousands of products and services. Are they supposed to point to every-other-alternative out there before they enter the market?

<comment><USER7> I don't think it is necessarily about being fair it is just that the philosophy of developers in the .NET world has always been if MS has something then that is the thing we use. I've felt that within Java there are usually more competing products and flavors.

Often the product MS provides is good enough but I remember in the tail end of the web forms disaster there were some good open source MVC libraries inspired by the Java ecosystem but they never really got traction and people kept building things with shitty web forms. This is until MS came with ASP.NET MVC and people started to switch.

I don't think Microsoft wants to kill alternatives. I think they really want a healthy ecosystem to get more developers using .NET but they also want to be able to create a complete developer experience and that sometimes clashes and kills other products due to the culture.

<comment><USER8> There are definitely cases where the community wins out because it delivers better quality - Newtonsoft.JSON eventually was recommended by MSDN documentation instead of the built-in .NET JSON APIs and the new in- development API is being written by the author of Newtonsoft.

<comment><USER7> That is true and that was a pretty big shift and together with embracing open source more, going all in on Azure, supporting Linux etc. there has been changes and that has reflected somewhat in the community as well.

I also think people being used to npm in the frontend will make them more likely to start looking around nuget for things that can support their use case better than what exists by Microsoft.

</comment></comment></comment></comment><comment><USER9> "If you look at the announcements for Microsoft products that compete with their own ecosystem, one thing you'll very rarely see is any acknowledgement of the OSS projects they displace."

I can see why you would be upset but what obligation does Microsoft have to do that? One reason CIOs will go with Microsoft solutions lock-stock-and-barrel is that it's there's one account rep, one consolidated bill, one "throat to choke" if there's a support need. The alternative would be to deepen your partnership to the point that something like Octopus becomes a de facto Microsoft product (complete with bundled support when you go with .NET/Azure/etc). Either that or go out of your way to show why DevOps managers never get fired for choosing Octopus.

No, it's not "fair" but Microsoft isn't the only company doing this and it _would_ be unfair to suggest they are doing this out of malice.

<comment><USER10> Malice is a loaded term.

When Amazon tells you they want to buy you, never sign and come out with a competing product months later we feel malice.

But in this case we don't becauce Microsoft copied an existing product and open source it we say no malice exists.

Big companies are copying smaller successful products on mass. It is not illegal, it's not out of malice. But its getting tiresome. How many products can facebook buy or copy and crush before we change the rules. Avoiding this was one of the pillars of copyright long ago. Now we have copyright for and copying trade secret powered development for big players.

<comment><USER11> But it's ok when small companies or OSS projects copy big companies? Isn't that double standards? GitLab was a perfect example when its first release(s) blatantly ripped off the GitHub interface.

Edit: Removing "amusing"

<comment><USER12> It is indeed okay. Phenomena that result in the market being more competitive are good, phenomena that result in the market being oligopolistic are bad.

<comment><USER11> I don't like this argument. Can I apply it to free speech then? It's either a level playing field, or it isn't.

<comment><USER13> Which sports with a level playing field allow one team to have a thousand times as many players in play as the other team?

<comment><USER14> Look at soccer leagues. Some teams have many millions to spend on players, others only have a few. And the ones who do have many millions are the one at the top of the league. In the Premier League, you have Man Utd, Chelsea, Liverpool at the top, all outspending every other team.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> _Prior to 2016, Octopus Deploy was the only popular option for .NET developers to automate their application deployments, and we 'd single-handedly helped thousands of dev teams to go beyond "right click, publish". In fact, at the time, Octopus Deploy was responsible for a large % of the largest Azure deployments that were happening._

I had never heard of Octopus Deploy until 2018. There were plenty of ways to automate deployments for .Net over a decade ago. In fact, Azure Devops is basically TFS online that has been around forever.

This is like the company that said Apple "stole" their idea of using an iPad for a second screen for a Mac even though other options existed since 2010.

<comment><USER16> > There were plenty of ways to automate deployments for .Net over a decade > ago.

There's a difference between just pure "automate deployments" and what Octopus does.

While sure there's been tools like NAnt around forever, back when Octopus came out* there wasn't a good easy to use workflow tool for deployment orchestration.

Sure, you could use TeamCity/Bamboo/TFS to deploy your code, but it was really focussed on the CI side of things, and the process of building a pipeline was often quite a pain to manage, with them not really understanding 'environments'.

You could, and in many cases often did - tell your CI system to deploy direct to a dev/staging environment - but it really wasn't intended for production environments. If you wanted to orchestrate deploying to more than one machine, it was a pain, and doing even tens of machines required that you built a ton of tooling to do this.

Octopus comes along and gives us the ability to:

\- Define environments (ci, dev, staging, preprod, production, etc) \- Define a common deployment workflow, with branching/conditionals based on the environment/machine \- Define a release workflow, for how a release needed to progress through environments (eg: a release MUST pass deployment on a preprod environment before it can be deployed to production) \- Define a release which comprises one or more artifacts (particularly useful if you have multiple parts to your applications - such as a website as well as a service) \- Give a good overview of what's deployed where. \- Easily roll back a release for an environment - just pick up the previous good release, and re-deploy it to that environment.

While sure I could have achieved all of that, the reality was that few people would put all the effort in to building it themselves, AND making it reliable.

* = I recall Stovell talking/writing that the whole reason he built Octopus in the first place was because he kept running into the same issues over and over when he was at a consulting firm. There just wasn't any tooling, free or commercial, that would do these things nicely.

<comment><USER15> All of this can be done with TFS and agents running on the deployment machines.

This is the earliest article I could find about using TFS for deployments from 2010.

[http://geekswithblogs.net/TarunArora/archive/2013/02/23/cont...](http://geekswithblogs.net/TarunArora/archive/2013/02/23/continuous- integration-automated-deployments-and-release-management.aspx)

Don't get me wrong, while for the most part, I hate dealing with "pets" and I was hired partially to kill all the servers we could and go all in on AWS's native hosted toolings, Octopus Deploy is a joy to use even just to deploy CloudFormation templates where the actually code is either in S3 (lambda) or ECR (Docker) not to mention deploying to our remaining pets.

Just the ability to use Octopus Deploy's library sets that are scoped to environments that can be referenced in Config files and templates is worth paying for.

On the other hand, I am on a mission to kill Jenkins and replace it with AWS CodeBuild - Serverles builds using a Docker Containers.

</comment></comment></comment><comment><USER17> From the linked (Aaron's) post:

> .NET users need to culturally normalize the idea of adopting non-Microsoft > .NET solutions when those third party technologies are better on the merits.

I'm a .NET developer and say: no. If Microsoft's solution satisfies my needs, I won't adopt a 3rd-party solution, especially if it has other nuget dependencies. Managing nuget packages can become hellish (looking at you Newtonsoft.Json) and MS at least takes some care with that.

I'm icky about adding dependencies and by using MS's solutions I can be relatively sure that they won't depend on latest shiny OSS package that could become a liability in the future.

<comment><USER18> > Managing nuget packages can become hellish (looking at you Newtonsoft.Json) > and MS at least takes some care with that.

So.. MS wrote a horrible package manager, and the workaround is to use more MS products?

<comment><USER17> So which package manager is NOT horrible when it comes to handling conflicting dependencies? Esp. when combined with developers specifying wrong constraints for dependencies, either out of cluelessness or carelesness?

</comment></comment></comment><comment><USER19> I read this as "evil Microsoft Product Managers _researched the market_ and _understand the competition_ and if they decide to compete with you watch out because they will be evil folks who _understand market needs deeply_ and _are intimately familiar with competitors_."

I mean, I get that's hard to compete with for a smaller company or an less- formal org, like those who maintain many OSS projects, but that's just... being a good product manager. If you don't like that, hire a Product Manager and get those skills yourself.

</comment><comment><USER20> I wonder what can you do to stop a big company from devouring your share in the SaaS market. What strategies are there?

GitHub devour-ed a lot of tools built for it.

Google do it with their search cards, amp and many other micro things.

Apple does it with incredibly popular apps and integration.

Every big company in short do it and they all have big pockets to lose money on the software until competition is sucked out. Unlike hardware, where you will be pressed with anti-competitive charges [0] for above. It doesn't seem to happen with SaaS.

0] [https://tech.co/news/eu-fine-qualcomm-2019-07](https://tech.co/news/eu- fine-qualcomm-2019-07)

<comment><USER9> It's not only a software thing; Amazon has been accused (or sued?) for anti- competitive behavior by creating "Amazon Essentials" version of lots of very popular items being sold through their site, even advertising the Amazon branded item right on the original product's detail page.

<comment><USER21> Same happens in brick and mortar stores. Im germany a drug store chain had a decade lomg partnership with an organic products / plant milk producer who did a lot to buold the market, and when the market actually got more mainstream and profitbale, they kicked them out and replaced them their new house line of organic products.

<comment><USER20> You are right but it's the scale that is worrying.

Tech is accessible everywhere. What it does is set certain expectations for users in different countries. In india, most people won't pay for apps and they are not profitable to run many services which big companies do for free.

Maybe it's good in the short term. For consumers, certainly but I wonder if tech will become stagnated like other industries with monopolistic control.

</comment></comment></comment></comment><comment><USER22> Large business with deep pockets has a product with a deficiency. Small entrepreneur sees a need and develops a bolt-on improvement that fixes the deficiency. Large business also sees the deficiency and fixes it.

I just don't understand the article's mentality. The only way Microsoft "owes" the small entrepreneur anything is if that entrepreneur had patents or other IP that Microsoft violated; or if the two companies had some kind of non- compete agreement.

It seems like, in this situation, the options are to pursue acquisition, have IP (like patents), or figure out how to carve out a niche and compete.

IMO: The "bolt-on product to fix something wrong with someone else's product" business model appears short lived and requires a rather early exit strategy.

<comment><USER23> These types of businesses shouldn't be taken past the concept stage. If the premise of your business is existing wholly on one other entity, it's a constant risk that'll never go away.

<comment><USER22> I don't know if I'd be that blunt: Depending on the situation, a patent plus a buyout can be very profitable. That's one of the reasons why patents are useful, they encourage innovations on top of other peoples' products because you can use them to force the other party to pay you something when they try to copy your invention and undercut you.

Makes me wonder why Autofac had no patents.

Besides, there's nothing wrong with making a quick buck as long as you know it's a temporary situation.

</comment></comment></comment><comment><USER24> But for me theirs is 10 times better as I don't have to install it anywhere and then maintain it myself.

<comment><USER9> There is that... but Microsoft screws up their advantage by constantly changing their product names (VSO? VSTS? Azure DevOps? Why don't we just use GitHub... and what is HockeyApp's new name?) to the point of confusing the very market they are trying to serve.

<comment><USER25> Unfortunately, the org as a whole has completely collapsed as the result of the GitHub acquisition. I wouldn't be surprised to see ADO be deprecated in 2-3 years in favor of GH

<comment><USER26> It's sad because GitHub is honestly a children's toy compared to ADO and GitLab in terms of large scale management of repos. GH shows no interest in fixing and improving long standing deficiencies.

<comment><USER27> Could you elaborate on these deficiencies?

</comment></comment></comment></comment></comment><comment><USER28> It looks like you wanted to do OSS but you soon realised that there is potentially good money to be made in commercial software. Your company also spent all the years building a good product but the money bug bit you and you started charging exorbitant prices. The greed kicked in. And now you are whinging because MS came and ate your cake.

Please don't get me wrong on this, making money is the reason why we live in a world which has all these amazing things. But it is a jungle and survival matters here.

</comment><comment><USER29> > Prior to 2016, Octopus Deploy was the only popular option for .NET > developers to automate their application deployments, and we'd single- > handedly helped thousands of dev teams to go beyond "right click, publish".

Mmm, after research. I just used Jenkins at the time and I thought TeamCity was the other option.

<comment><AUTHOR> Having used all three, I was rather impressed by Octopus Deploy's ease of use and deployment. You can set up Jenkins to do whatever you want but it's a pain. You can also set up TeamCity to deploy, but again it's a pain. Octopus Deploy is not a CI server, it's a CD product. That's Important. It specializes in deployment/delivery, and because of that it does better than Jenkins and TeamCity out of the box for deployments.

</comment></comment><comment><USER30> I find it kind of confusing that anyone attempts to make money building developer tools for MS platforms. The behavior described here is MS's standard operating procedure. Their goal is to control everything. They want to provide a fully integrated MS software development platform that's slightly easier to use than open source, supports legacy code, and comes with legacy users.

If there is ever an opportunity for building a tool that augments / integrates with the MS platform, that opportunity only exists because MS either 1) lacks the vision, or 2) has not chosen to place engineers on that idea. It is a transient condition. If the idea is worth a lot of money, MS _will_ eventually try to replace the third-party tool with their own.

</comment><comment><USER31> As soon as Azure became critical to Microsoft's success they should of seen this coming, it would be unacceptable for any large cloud vendor to not offer a first party deployment service.

Having said that when I last used Octopus a few years ago in a pets VM world it was an excellent experience. Does anyone know if they've managed to keep up this quality for containers/serverless/immutable VMs?

</comment><comment><USER32> Related: this guy rode through iran on 90cc bike and talks about his experience:

[https://youtu.be/_2LEgowbzSc](https://youtu.be/_2LEgowbzSc)</comment>


Let's Build Better Election Visualizations - <AUTHOR> http://java.dzone.com/articles/lets-build-better-election

<comment><USER2> If you overlay the Congressional districts I bet you can see the impact of Gerrymandering on some of these maps. When a party can receive well less than 50% of the votes and attain well more than 50% of the house seats you must congratulate them on trampling the intent of representative Democracy.

<comment><AUTHOR> _That_ would be useful. I think gerrymandering is still sort of abstract and inside baseball to a lot of people, but a stark visualization could make it a hell of a lot more immediate.</comment></comment>


'Going to Be Disturbing': Fauci Warns Coronavirus Cases Could Reach 100K a Day - <AUTHOR> https://www.wbez.org/stories/fauci-warns-coronavirus-cases-could-reach-100k-a-day/3e0de68e-8247-4fdd-a92c-dbef3978c413 <comment><AUTHOR> Also in the FT:

[https://www.ft.com/content/5d017675-9d61-4592-beea-1d47621ec...](https://www.ft.com/content/5d017675-9d61-4592-beea-1d47621ec68b)</comment>


Credit Is Good - <AUTHOR> http://www.daydrmr.net/2011/10/credit-is-good/ <comment><USER2> The author of this article is exactly the customer credit card companies don't want. They actually lose money. The irony of extolling the virtues of good credit card use is that if everyone who owned a credit card did the same, credit cards would cease to exist because they would no longer be profitable.</comment>


The effect of medication cost transparency alerts on prescriber behavior - <AUTHOR> https://www.ncbi.nlm.nih.gov/pubmed/31321427 <comment><AUTHOR> Gist:

> [Doctors in clinics] received a computerized alert whenever they ordered a > medication among 4 high-cost medication classes. For each class, a lower > cost, equally effective, and safe alternative was available.

> Prescribing volume for the high-cost medications overall decreased by 32% (p > < .0001).</comment>


Learn Python Programming with the "turtle" Module - <AUTHOR> https://dbader.org/blog/python-intro-statements-variables-and-loops#. <comment><USER2> This strangely remindes me about logo. [https://en.wikipedia.org/wiki/Logo_%28programming_language%2...](https://en.wikipedia.org/wiki/Logo_%28programming_language%29)</comment>


Facebook AI Research Team Open Source DeepMask and SharpMask - <AUTHOR> https://code.facebook.com/posts/561187904071636 <comment><USER2> Is there any way for those of us with average intelligence to contribute to tools like this?

I know I'm a decent developer, but I feel entirely entirely inadequate to participate in this enormous, scary world of AI.

<comment><USER3> fwiw, over 4 years ago, I quit a risk quant job at an investment bank and joined Twitter. When I saw all the sophisticated ML systems they had deployed, I asked the same question - How do I, a person of average intelligence with zero exposure to ML, contribute ? Is there anything I can do to get involved?

The answer I got was rather unpleasant and won't please everybody. No you cannot contribute. At least not in a direct meaningful fashion. You can be a waterboy. So that's what I did for 2 years. I wrote a lot of ETL jobs using custom Scala DSLs, that fed the input to these ML jobs. It was a total waste of time. Sure I learnt map reduce and Hadoop and all that jazz, but end of the day, I wasn't doing ML. I was doing ancillary tasks. These tasks no doubt have some economic worth, because I was getting paid. But no company is going to let you do the ML when they have 100s of ML PhDs on their payroll and you aren't one of them. So you just do the data prep, or do ETL, or do data viz, or crunch some numbers aka BI, and convince yourself you are doing real ML. This went on for a while. Finally I couldn't put up with this farce and quit. What worked for me personally was finding a very small company with a tiny data science department, that was headed by an ML PhD who was ready to mentor me, tell me which papers to read, get me to start working on my own papers, get me to build ML systems for image recognition on company time, get me to read textbooks and present topics...it was all quite painful and very humbling, but I learnt a shit ton of stuff. So my frank suggestion is to be brutally honest with yourself. You aren't going to get from here to there by hanging around on coursera or writing ETL. This stuff is seriously hard. If you want to make a genuine contribution, be willing to put in serious time - and that means literally stopping whatever shit you are doing now as a webdev/back-end dev/ETL dev/data-eng etc. Those ancillary tasks won't get you anywhere. Buckle down and do the real deal. You'll thank yourself one day if you did.

<comment><USER4> While I really appreciate the realism in your post, I wouldn't call webdev/back-end dev shit though. After all, that's what brought us here in the first place and are still heavily needed.

<comment><USER5> Don't think he was saying that stuff is shit. I think he was using the word the same way you might when saying "Boy, did I get a lot of shit done today!"

</comment></comment></comment></comment><comment><USER6> Future Facebook AR goggles will float people's names above their heads, replace billboard advertisements with live Facebook ads, and make people you 'mute' become invisible. It'll be a weird world.

<comment><USER7> Black mirror?

<comment><USER8> For those not familiar, specifically the "White Christmas" episode: [http://www.imdb.com/title/tt3973198/?ref_=ttep_ep1](http://www.imdb.com/title/tt3973198/?ref_=ttep_ep1)

For those who are familiar, new episodes are apparently arriving on Oct.21st.

A hackathon project inspired by White Christmas: [http://jonathandub.in/cognizance/](http://jonathandub.in/cognizance/) (Brand Killer)

</comment></comment></comment><comment><USER9> These seem to be the papers for DeepMask [1] and SharpMask [2]

[1] [https://arxiv.org/abs/1506.06204](https://arxiv.org/abs/1506.06204)

[2] [https://arxiv.org/abs/1603.08695](https://arxiv.org/abs/1603.08695)

</comment><comment><USER10> NB: The libraries use Torch.

I'm still playing around with fasttext (which is _amazing_ btw) officially announced last week so I'm surprised to see Facebook Research announce and release another project so soon.

<comment><USER11> Could you share what you did with fasttext? It'd be great to see some examples around the amazing tools being open sourced! I read that there are no documentation comments, maybe they were removed?

<comment><USER10> For basic use, you can construct text vectors faster/better than word2vec/doc2vec.

The Python package which serves as an API to fasttext ([https://pypi.python.org/pypi/fasttext/0.7.2](https://pypi.python.org/pypi/fasttext/0.7.2) ) is well documented, is constantly being updated, and is easy to use.

<comment><USER12> Does/can fastText use GPGPU at all? I use a CUDA cbow word2vec [1] that is really quick, and has served me quite well. Hard to know if switching to something more accurate would be worth giving up the speed :)

[1] [https://github.com/ChenglongChen/word2vec_cbow](https://github.com/ChenglongChen/word2vec_cbow)

<comment><USER10> No, fastText is CPU only.

</comment></comment></comment></comment></comment><comment><USER13> It would be nice to see results compared to other SOTA semantic segmentation approaches like

[https://github.com/daijifeng001/MNC](https://github.com/daijifeng001/MNC)

[https://bitbucket.org/aquariusjay/deeplab-public- ver2](https://bitbucket.org/aquariusjay/deeplab-public-ver2)

[https://arxiv.org/abs/1607.07671](https://arxiv.org/abs/1607.07671)

</comment><comment><USER14> I feel less and less willing to upload personal photos to social media sites where they will stick around forever attached to my identity while advancing computer vision techniques extract more and more information from them.

<comment><USER13> Not just social media sites - free searchable storage on Google Photos for instance (as nice as it is), is in exchange for Google to mine the shit out of your photos

</comment></comment><comment><USER15> This is very timely for me. Right at the moment I'm working on image segmentation for medical imaging.

If I can draft off tech developed to sell more ads to do some good I'm all for it.

<comment><USER16> I have a colleague working on something similar, drop me an email and I'll introduce you.

</comment></comment><comment><USER17> Is it safe to assume this release, as well as fastText are meant as PR for hiring?

</comment><comment><USER18> Looks very promising. Self-driving cars will need algorithms like this to understand as much as possible of the environment that they see through the cameras. I think currently things like those ropes that the shepherd is holding in the picture are still very difficult to detect and classify correctly but they could just as well be a line across the road, maybe with a sign on it saying "closed".

</comment><comment><USER19> How 'deep' are the networks used in something like DeepMask, and how does it compare with the number of layers of the human brain?

<comment><USER20> For example, ResNet from 2015 had 152 layers.

A real neuron takes in the order of 10ms to integrate and fire to the next neuron. Many subconscious reactions take less than 1 sec, which leaves time to a chain of length less than 100. Note that those neurons are not strictly arranged in layers.

The human visual cortex has 10^12 synapses [1]. One popular 2015 deep learning net (ResNet 152-layers) used 10^12 FLOPs to classify objects in one image (but less weights.)

In terms of depth, we're there. In terms of breadth, it will take several years. But the brain does things very differently. For example, it has top- down signals during "prediction."

[1] [http://www.ncbi.nlm.nih.gov/pubmed/7244322](http://www.ncbi.nlm.nih.gov/pubmed/7244322)

<comment><USER21> "It will take several years."

A Noob question:

If it reaches the "breadth" of human brain, how close will that to the "Skynet becomes self-aware" moment.

What would it tell us about human, our society after it study, analyze millions, billions hours of FB, youtube videos?

<comment><USER17> As long as we do simple data processing, it won't become the dreaded Skynet. When we stuck a Reinforcement Learning system on top, feed it with reward signals and let it loose on the net or in real life robots, then it could become intelligent and develop its own goals/interests. So the Skynet part comes after reinforcement learning.

</comment></comment></comment></comment><comment><USER22> Wow, the code is in Lua! Just a little surprised. Also I just read some LinkedIn post on the dearth of Haskell education in schools. Always on the lookout for more companies using Haskell and hoping in the field of AI, machine-learning.

</comment><comment><USER23> SharpMask looks very similar to a year-old "U-Net" [http://arxiv.org/pdf/1505.04597](http://arxiv.org/pdf/1505.04597)

<comment><USER24> I thought that too. Just finished a kaggle competition involving segmentation, like a lot of participant I used one form of U-net (my own implementation).

You can probably find a lot of u-net implementations from this contest. One that performed really well [1]. It uses 'inception style' blocks feature extraction instead of vgg. But otherwise pretty similar.

[1] [https://github.com/EdwardTyantov/ultrasound-nerve- segmentati...](https://github.com/EdwardTyantov/ultrasound-nerve-segmentation)

</comment></comment><comment><USER25> What's the performance like? Fast enough to handle live video with a high-end PC?

</comment><comment><USER26> Additional patent grand + bsd. Why not apache 2.0 or mpl 2.0?

</comment><comment><USER27> Is there a link to get the code?

<comment><USER28> Click the links in the "We're making the code for DeepMask+SharpMask as well as MultiPathNet" line. They should have made them display more prominently.

They require to login to FB, then redirect to GitHub

[https://github.com/facebookresearch/deepmask](https://github.com/facebookresearch/deepmask)

[https://github.com/facebookresearch/multipathnet](https://github.com/facebookresearch/multipathnet)</comment></comment>


Lenovo to modernize ThinkPad brand with redesigned T431s ultrabook - <AUTHOR> http://www.theverge.com/2013/3/17/4109522/lenovo-thinkpad-t431s-ultrabook-announced-priced-alongside-thinkpad-overhaul

<comment><USER2> Damn, if this had a decent resolution ( _at least_ 1080p), I would buy one on the spot! Come one, even the Helix, which is 11", is 1080p! I really hope they will come up with a high-res version of this T431 at some point this year, as I really like the design (I've always been a big fan of Lenovo laptops, best machines I've ever owned).

<comment><USER3> They are the epitome of uncool but I agree. I kind of love my work laptop.

<comment><AUTHOR> Actually they are the epitome of cool, if you work for a serious business. They're just not cool if you're basically an unemployed poser and spend most of your time in Starbucks ;-)

</comment></comment></comment><comment><USER4> Seems as if I have to hang on to my T410s or wait for someone to build proper notebooks with complete keyboards, trackpoints, displays that don't randomly open and at least remotely acceptable aspect ratios. Stupid new world.</comment>


Oil Prices Jump Most on Record After Saudi Strike - <AUTHOR> https://www.bloomberg.com/news/articles/2019-09-15/oil-prices-jump-19-after-attack-cuts-saudi-arabian-supplies <comment><USER2> I can't wait for electric vehicles to be more widespread so we would be more independent from the sh*tshow in the Middle East

<comment><USER3> We're just entering into a cycle which will vastly reduce the importance of the oil market. If the price goes up more people switch irretrievably to electric vehicles, if the price goes down investment suffers. And every year the cost of batteries falls by 20%. BNP Paribas recently estimated that over 25 years oil will have to come down to $9 per barrel to compete with the cost of delivering the same amount of energy to vehicles using batteries and electricity. Oil is just going to become one chemical feedstock amongst many, important but no more so than other major commodities.

<comment><USER4> Until we figure out better alternatives to plastic (or rather are more incentivised to use alternatives), and other by-products, then we will be stuck with our total dependence on petrochemicals.

True, more use of EVs will reduce oil demand somewhat and lower prices. Though that again just means less investment in exploration and research, and temporarily seal low yield oil fields, we will still pump more or less the same enormous amount of oil we do today, if not more due to ever-increasing Earth population.

<comment><USER3> Petrochemical feedstock only makes up 10-20% of oil demand, and road transportation 50%. And there are multiple different sources for those feedstocks. As I say, oil will remain an important commodity, but its days as the pre-eminent commodity, and a key driver of geopolitics, are already numbered.

</comment></comment></comment></comment><comment><USER5> At $59.7 WTI is just back to where it was in early July, and some distance away from the highs of April ($65.x). And the futures curve is in backwardation - markets are pricing Jun 2020 futures at $55.55 with a mere $2.83 jump because of these attacks.

</comment><comment><USER6> If it was really a drone attack, it shows that's drones are unstoppable. There should be a huge market opportunity for anti drone equipment right now. Looks like, that soft solutions as [https://www.rohde- schwarz.com/lv/solutions/aerospace-defense...](https://www.rohde- schwarz.com/lv/solutions/aerospace-defense-security/security/law-enforcement- public-safety/countering-drones/countering-drones-theme_233578.html) do not really work. Maybe it's time for commercial version of Israel's Iron Dome. Or something from USA: [https://en.m.wikipedia.org/wiki/Phalanx_CIWS](https://en.m.wikipedia.org/wiki/Phalanx_CIWS)

<comment><USER7> There _is_ a commercialized version of iron-dome, baring the noninteresting name drone-dome [0]

And there are multitude of other players in this field* [1]

* _examples are from Israel because I already know the names so the search is faster, surely there are multiple global providers of similar systems_

[0] [https://www.rafael.co.il/worlds/air-missile-defense/c-uas- co...](https://www.rafael.co.il/worlds/air-missile-defense/c-uas-counter- unmanned-aircraft-systems/)

[1] [https://convexum.com](https://convexum.com)

<comment><USER6> But is there enough laser energy to change the course of fixed wing drone? I am afraid, that such drone shot by laser will still deliver explosives to intended location. Of course, quadcopter has no chance against it.

</comment></comment></comment><comment><USER8> I'm not a conspiracy theorist, but some people are going to make a lot of money from this. Who makes the most? Unclear. Even Saudi Arabia benefits, if it results in persistently higher prices and greater geopolitical support.

<comment><USER9> What you said is entirely meaningless. Someone is always making a lot of money. Any situation results in winners and losers.

<comment><USER10> By your logic no one should ever question the financial motivations of anyone, ever. It seems completely reasonable to me to question who stands to gain the most from something like this.

<comment><USER9> I was replying to the first statement. You are talking about the second and putting words in my mouth.

</comment></comment></comment></comment><comment><USER11> That's only 5% though at ~$70/barrel. Didn't it use to be $100/barrel and civilization didn't end?

Seems to me to be sensationalism to get clicks.

<comment><USER12> And to gather support for a war against Iran.

<comment><USER13> Exactly. I don't understand why everybody in the US seems to just accept that there needs to be a war against Iran. How is the US endangered by Iran?

These strikes were on oil production facilities of the Saudi kingdom, which is known for beheading people, murdering journalists, and supporting the 9/11 attacks. The US is one of the top oil producers and has its own oil, as well as strategic reserves. Why does everyone accept that the US has to "retaliate" or wage war against Iran? Why is Iran even being named at this point?

I think it is sad that we are allowing this to happen. Instead of making sure we don't completely destroy our planet and go extinct, we accept our politicians' war-drumming as a fact of life.

<comment><USER14> Trump killed the Iran deal. Iran has to get out of their sanctions somehow, so they have to start their nuclear program again. And before they finish their first bomb, or immediately after the first successful test, Israel has to attack them. And if the US doesn't want Iran to crush Israel (Iran probably wouldn't win, but they can devastate Israel), the US (and others) have to help Israel.

Trump had a choice, the rest of the path to war is almost inevitable.

<comment><USER12> Israel has to do nothing of the sort, they have more then enough submarines carrying nuclear weapons to scare off any first strike. Its the sole reason why Germany sold them at a highly subsidized price in the first place. Neither does the US have to support yet another war of aggression. The only thing nuclear weapons for Iran would change is that they wont be the victim of yet another illegal "intervention" in the region. Northkorea showed that rather clearly. Looking at the despots, warcriminals and aggressors in the region who openly talk about annihilating Iran, not forgetting the attrocities of the Irak Iran war, its a rather reasonable idea.

Lets please not sugarcoat or justify warcrimes and remember that a lot of the people at Nurnberg were there for starting a war of aggression.

<comment><USER14> In reality there is a large international consensus that Iran must not get nukes, and that such weapons would be an existential threat to Israel. The Israelis definitely see it that way, and it's hard to blame them. The question of who is the aggressor is pretty muddled because Iran has threatened to annihilate Israel and is attacking all sorts country's assets, territory or people all the time anyway.

Deterrence is a nice idea. When the opponent is rational, and the weapons in question are not likely to depopulate the region. The Mullahs in Iran can not be counted on to be rational actors. They also can't be counted on to keep in power.

I'd have much preferred the old solution of delaying their nuclear breakout, all the while their prosperity and development reaches a point where the Mullahs lose their power.

<comment><USER12> >In reality there is a large international consensus that Iran must not get nukes

As long as its not based on a resolution of the UN security council that means nothing. Might makes right isnt part of international law of war. Just because we have actors who cant be held responsible for their illegal behavior at the moment doesnt mean we should just ignore international law altogether. Starting a war of aggression is still wrong and voters shouldnt be complicit in such actions by authorizing politicians to do so. Our continuous failure to do so in democracys sets an absolute horrible precedent, in which the voting population of a country is responsible for warcrimes. Might I remind everyone that that was the pretext for atrocities like the British punitive bombardments of German cities during WW2 or, since we had the anniversary last week, al Quaidas pretext for 9/11?

Ignoring international law sets a horrible precedent. If your side isnt adhering to it, the opposite side will neither. This warmongering risks yet again the few achievements we as humanity have made in the last century. I myself really dont want to see a future where i have to worry about state sponsored bio terrorism in response to a neocolonial might is right approach of my government.

<comment><USER14> Even a resolution of the UN security council means nothing.

I wasn't talking about international law. Israel is willing to go to the mat on this, and apparently convinced this is a life-or-death issue. A lot of other countries, including the only superpower, NATO and the EU agree or at the very least don't want to let Israel be destroyed if Israel chose to stop Iran's nuclear program. As far as international consensus goes, that's pretty strong.

"Aggression" is quite an arbitrary definition. Iran has threatened Israel with annihilation for decades, and occasionally they tried. They do/did have a nuclear program, they certainly have chemical weapons. They keep attacking shipping and causing further armed conflict around the region...

"International Law", which today mainly consists of Russia and China sabotaging everyone else, is not going to stop Israel from defending itself.

<comment><USER12> >I wasn't talking about international law.

I know, I was. I dont care much for the semantics of how warcrimes are tried to be painted as "the right thing to do".

> War is essentially an evil thing. Its consequences are not confined to the > belligerent states alone, but affect the whole world. To initiate a war of > aggression, therefore, is not only an international crime; it is the supreme > international crime differing only from other war crimes in that it contains > within itself the accumulated evil of the whole.

If you forgo international law in favor of might is right what you do is cultivating terrorism as the victims get radicalized and have no other way to left to respond. And thats not a new insight. Al Quaida was rather vocal about drone strikes and the atrocities in Abu-Ghuraib and Guantanamo being the best recruitment tools they could have ever asked for. And lets also not forget that the war on terror only recently cumulated into the emergence of ISIS, with the rank and file of Saddams dismantled army being there for the creation. People cant be so thick that they believe the phrase "They hate us for our Freedom". "They" hate us for invading their countries with our politicians and soldiers acting with impunity. I mean the US even sanctioned the ICC for gods sake. All those "necessary evils" breaking international law are only making the situation worse.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Is it me or I read a while ago that there are vast reserves in the US and other places (accumulated when oil was cheap) and so, a little strike here and there should not be a problem ?

Or is it the price of the "futures" (if I get that concept right) that goes up ?

<comment><USER16> Only 5% of world oil supply is suspected to be affected but oil futures have gone up by 15%. This is the result of speculation that causes initial large spike and then subsequent oscillations to a stable value.

</comment></comment><comment><USER17> Is there a good source tallying up the (refined) oil reserves? How long until a 5% decrease in production really propagates to the supply?

<comment><USER18> The norm seems to be to have at least three months' worth of supplies, so the question is rather how quick can those sources return online?

If that is not poised to happen anytime soon, the prices should go up almost immediately.

So far I think we had a mixed response.

<comment><USER19> According to WSJ, Saudi Aramco says they will have 30% of lost capacity back on Monday.

</comment></comment></comment><comment><USER20> Hope it helps Venezuela.

<comment><USER21> It would probably line the pockets of Venezuelan plutocrats rather than help Venezuelan people if it did have any affect.

</comment></comment><comment><USER22> So Yemeni fighters did more to fight climate change than Greta Thunberg, kudos

<comment><USER14> The oil is burning, however, releasing all the CO2 at once.

<comment><USER19> The fire was controlled within hours.

<comment><USER14> Then that oil will find its way into the economy anyway.

</comment></comment></comment></comment><comment><USER23> My parents were born in Yemen in hebrew "Teimani"</comment>


Show HN: imgip.com quick & simple image hosting - <AUTHOR> http://imgip.com/

<comment><USER2> Please, please change this language:

"Q: Are the images I upload, anonymous?

A: Yeah. Totally. Kinda. We keep your IP address. We wish we didn't have to, but there are some folks in this world that like child pr0nz and stuff. We really don't like that kind of thing, and if the cops come busting down our door, we gotta have something to tell them. But your IP address and the picture are literally the only things we track, and only the picture is made available to the public, so yes, you're more or less anonymous here."

"We keep your IP" and "More or less anonymous" are absolutely not compatible phrases. You either need to stop logging IP addresses or drop any pretenses of anonymity. You don't "gotta tell the cops something." There's no law requiring this. You don't even mention how long your data retention policy is.

<comment><USER3> I'm not an expert but I don't think 4chan stores anything.. why do you need to ?

<comment><USER4> I don't think this is true. This was is Christopher Poole's testimony:

      Q. Now, you said that 4chan does not keep the
      contents of these posts. Does 4chan maintain business
      records of web logs, also audit logs and sometimes banned
      entries as well, if a particular user has been banned?
      A. Yes.

[http://www.scribd.com/doc/41691202/35688046-Christopher- Moot...](http://www.scribd.com/doc/41691202/35688046-Christopher-Moot-Poole- Testimony-in-Palin-Email-Trial)

</comment></comment></comment><comment><USER5> Why do people create sites like these (from a financial perspective)? Do they have anything to gain? I assume they have to pay a lot in terms of space. Is there something I'm missing?

<comment><USER6> Some of them have made a good amount of money through advertising (e.g. Imageshack). It seems like the market is probably a little saturated by now, so unless you've got some killer feature or a base of users to market to (Imageshack started off on the Something Awful forums) it's probably not worth it.

</comment></comment><comment><USER7> What is the differentiator from other image sharing sites like imgur?

<comment><AUTHOR> Well, actually, I would have to say simplicity and convenience. imgip.com was intended for quicker image sharing,

It only takes two steps for you to complete your upload process and be on your way to share you image.

There are actually a lot more advantages currently and a lot more to come.

Thanks for asking.

</comment></comment><comment><USER8> So.. like IMGUR.COM before the owner had to cover hosting expenses with a few ads. Am I missing something?

<comment><AUTHOR> I'm not sure I understand your question. Please rephrase.

</comment></comment><comment><USER9> min.us may have won the game with their snazzy interface.</comment>


Downloading Game of Thrones may hide dangerous malware - <AUTHOR> https://malwaretechno.blogspot.com/2019/04/downloading-game-of-thrones-may-hide.html <comment><USER2> Okay, I am confused here but perhaps I'm missing something. It's a TV show right? So if you download something wouldn't it be an AVI file or a MKV file. How do you do malware in an AVI or MKV file?

<comment><USER3> An exploit in the codecs.

[https://www.blackhat.com/presentations/bh- europe-08/Thiel/Wh...](https://www.blackhat.com/presentations/bh- europe-08/Thiel/Whitepaper/bh-eu-08-thiel-WP.pdf)</comment></comment>


Ask HN: What is the current state of the art in homomorphic encryption? - <AUTHOR> <comment><USER2> Checkout the PALISADE library. (Full disclosure - I'm one of the main people behind the library.) PALISADE is an active open-source project partially funded by DARPA, IARPA and Sloan Foundation. It has an active user community that includes academics, start-ups and large defense contractors.

A new version of PALISADE was just released yesterday. It supports the current major HE schemes (BFV/FV, BGV/BV, etc...) along with modules for different kinds of Gaussian sampling, and lattice crypto building blocks.

[https://git.njit.edu/palisade/PALISADE](https://git.njit.edu/palisade/PALISADE)

</comment><comment><USER3> Recently I had come across this project [https://tfhe.github.io/tfhe/](https://tfhe.github.io/tfhe/)

</comment><comment><USER4> Damn, no comments. I'm super interested in this space, but would like to see the latest.

Maybe we post again after Xmas to see if we can get some experts in the field ...

<comment><AUTHOR> _Maybe we post again after Xmas to see if we can get some experts in the field ..._

That's a good point - I'll make another post in another week or so.</comment></comment>


IsNSFW.com - The Safe For Work way to share Not Safe For Work links - <AUTHOR> http://isnsfw.com I launched a new service yesterday and I'd like to get some feedback on it.
It's a URL shortener that allows you to safely share NSFW content with people.  You create a URL, give it a rating, and the user has the option to follow.
Thoughts? Ideas? Rants and Raves?
Cheers
 -eli <comment><USER2> Usability: Make the URL textbox bigger and autofocus it on load. Give the OGNX labels a bit of rounding to make them look like buttons. Give them some highlighting when selected. This will keep people who don't know better from getting annoyed with those little circle toggles. Submit goes on the bottom- right. s/custom alias/alias, add a hover or question mark to it that explains what it's for. Add some overlay js/ajax to give me the new link without having to go to a new page.

Design: Align your header's (logo, speech bubble) width with the google- advertisement-banner-footer width to make the middle stand out. What's up with affiliates? Put that junk into the box right under the banner. Your copy/link/share link colors are ugly. 2 lines of text max in your description.

Copy: Comma or exclamation after 'Congratulations', period after 'others'. Some of your wording is unprofessional. Don't try to be funny. Some bosses won't look kindly on a site like this just because of your language. For example, your <http://isnsfw.com/44dfs6> 'porn star' might get hit by someone's work filters and get your site blacklisted.

Good plan. Go find some decent sfw url shortener sites, see if you can set up mutual linking with them ("Have something sfw to share? Try [random friend]"). And do you realize that your source of revenue is under the fold on 900px height netbook screens? Many college students use those.

(When submitting, put your comments into the the actual post, not into a comment. Title should also be 'ask hn, feedback on nsfw-friendly link shortener isnsfw.com')

</comment><comment><AUTHOR> Looking for thoughts, feedback, rants, raves. The site is essentially a safe way to share not safe content. With URL shorteners becoming popular it's hard to know if what you're clicking on is safe to visit (especially at work).

isNSFW.com aims to fix that.

Cheers -eli

<comment><USER3> err.. the "I'm at work" button should not redirect you to Disney.com. try Google instead. Otherwise, great idea.

[added link: <http://isnsfw.com/yLyQTM>]

<comment><AUTHOR> really? people seemed to LOVE the disney.com redirect. They found it quite amusing :) It originally went to google though, like you suggested. We'll see how things test out and it might very well make it back to google.

Thanks for the feedback -eli

<comment><USER4> You should redirect them to amazon using your affiliate link and hope.

</comment></comment></comment></comment><comment><USER5> Oh wow, a URL shortener with a clear purpose and benefit. Nice work. :)

<comment><USER6> Actually, I'd written a simple service for the same purpose two years ago, I think some people use it right now:

<http://nsfw.in>

But this new service seems to have more features, good for them :)

</comment></comment><comment><USER7> Though not a particular fan of URL shortening services, I do have to say I like that you have put an original and useful spin on the concept.

</comment><comment><USER8> is it just me or is the 'i'm at work' functionality redundant? if you didn't wan't to see NSFW content, you woudln't have clicked on the 'isnsfw' link. What if you built in the category into the link, like <http://isnsfw/xxx/KJ89F>

</comment><comment><USER9> "Offensive Material: Link may contian offensive content such as references to religion, abortion, 9-11, or the devil."

First of all, there is a spelling mistake. Secondly, how is religion, 9-11 or the devil offensive? You may think it's an ironic joke, but most people won't get the joke, and frankly, it's not that funny. So if I were you, I'd not try to joke on that page, but give examples that genuinely describe what could be offensive.

All the same, it's a really great service, and I think it will be big.

<comment><USER10> Maybe _controversial_ instead of _offensive_.

</comment></comment><comment><USER11> How are link shorteners monetized? I'm just curious because it seems everyone wants to start a niche URL shortener.

<comment><USER12> I think they're just cheap enough to run that niche shorteners can easily be done without a monetization strategy.

</comment></comment><comment><USER13> I used to just replace the protocol with nsfw:// so that clicking the link would go nowhere, and that recipients would have to replace nsfw:// with <http://>. I was thanked on many occasions for this convention.

This is a nice automated rendition of that.

</comment><comment><USER14> This is solving the wrong problem. What I really want is a service that tells me if a particular link is NSFW. How about a Firefox plugin which links back to a database of NSFW links on a server somewhere. Then, whenever I click on a NSFW link on Reddit, a little box can pop up saying "warning, don't view this at work" and I have the choice to wait till I go home to visit it.

Seriously, it's a great idea and I would totally implement it if I had the time/motivation.

</comment><comment><USER15> So...can I browse links that others submit? By category?

<comment><AUTHOR> No... we're debating this feature at this point. It's NSFW material, so should we be listing all the NSFW content out there or should it be more private for you to share your NSFW content?

I'm torn on this one, what do you guys think.

<comment><USER16> You could make it an option to set a link as 'private' so it doesn't enter the global listing.

</comment></comment></comment><comment><USER17> Any possible way to provide a description of the link as well, automatically? Perhaps display the page's meta name/desc and page title?

</comment><comment><USER18> Is this a proper use? <http://isnsfw.com/liars>

<comment><AUTHOR> While it's proper use, if you read our ToS things as outrageous as foxnews are not allowed to be promoted with isnsfw... sorry. ;)

</comment></comment><comment><USER19> Are you going to submit yourself to the adult filters to be blocked? Seems like it is standard to do that and then mention that at the bottom of the page

</comment><comment><USER20> How about adding the rating to the link? <http://g.isnsfw.com/blah>. Then you won't need a preview.

</comment><comment><USER21> I think Nudity and XXX should be the same button. You can use that space, to add another button for stuff like Youtube and flash game sites.

</comment><comment><USER22> Cuz what we all need is another way to waste companies' time and resources by browsing porn. It's our right after all, and how dare those prudes frown on our proud and righteous lifestyle. No one's getting hurt are they? After all, beautiful people need some way to make money too, am I right or am I right?

</comment><comment><USER23> simplicity is nice. I look forward to the 'aggregation' of the links shared. Top 10 "O" ratings..will be cool.

</comment><comment> Moo-Juice Great stuff, good idea.

</comment><comment><USER24> wish i woulda thought of that

</comment><comment><USER25> Hi Eli, suggestion for the "I'm at work" button. Make it redirect to something fun and informative. Like say, a random twitter trend or somesuch!</comment>


Ask HN: Homeless shelters that teach trades to homeless - <AUTHOR> How effective would such a venture be? <comment><USER2> that would depend on where you draw your bottom line</comment>


Phantom – forward-thinking concept of OS that's not Linux-derived - <AUTHOR> http://phantomos.org/ <comment><USER2> This is very interesting, but I have a lot of questions about how "keeping documents as in-memory object" works in practice -- because files gives us lots of features we depend on, without even realizing it.

\- Upgrade software: right now, my "txt" files are independent from "/usr/bin/emacs". I can upgrade emacs to the later version, and use it to re- open the same documents. This does not seem possible if by file is "text window + object pointer + editor code".

\- Move/copy files between machines -- I can copy most of the files, but not objects. I can also save older versions, send them by email or messengers, and so on.

\- Recover from bad software -- the other day, my computer decided it wants to have a full-screen uncloseable window. A reboot fixed this right up. Good thing it was not persistent.

\- Recover from crashes. What do you do if you write a presentation, and a programming error causes program to stop responding if you ever draw a green circle of certain size? In regular OS, you restart your software, load the latest savefile, and avoid green circles in the future. In PhantomOS, looks like you will be screwed.

The only thing that Phantom seems to offer is snapshots, but they are pretty extreme (the whole system is reverted), and even then, it only helps with some classes of bugs, the ones which are obvious enough that you notice them right away.

<comment><USER3> Actually things in Phantom are not SO different from usual world.

\- You can install new version of class code. Of course, app code have to do migration by hand, but that's the case in nowadays world - if you change data file format, you have to convert.

\- There's no problem to migrate object tree over the net. Even storing it to a file is not a problem.

\- Persistence does not _forbid_ to restart things.

It just does not restart 'em on reboot. Eggs in your fridge are (more or less) persistent :), but you still can throw 'em away and put in fresh ones.

We're living in a persistent world and do not suffer too much from it, right? Non-persistence of software world is just innatural.

We're very used to it, and that's all.

<comment><USER2> Thanks for the answers, I am glad to hear from the author!

\- What do you mean "app code have to do migration by hand"? I'd say that most of the existing file formats need no migration -- images, videos, music basically don't change; and even very complex file formats like Microsoft doc only change with major versions, not with the minor ones -- MS word had tens of thousands code updates (service packs, localization, etc..) but only a dozen or so file formats.

\- What do you mean by "restart" in "Persistence does not _forbid_ to restart things."?

if by "restart", you mean "kill all the threads related to object", then I don't think it will help in most cases. If you have a bug in "Draw()" function, this bug will still be there after thread restart.

If by "restart", you mean "wipe all the state, and start from the clean slate", then won't this destroy all the documents user made?

\---

We live in persistent world, and we do suffer a lot from it, we are just very used to it. I have to wash my dishes every day, buy new clothes, and repair my car. I would love to be able to "save" the make, model, and license plate # of my car, then "restart" it to get a brand-new car with the same properties.

Default persistence of everything is annoying, and moving it to software is just unnatural :)

<comment><USER3> Well, you just can't imagine non-persistent world. :) I'll try to illustrate.

In non-persistent world you have to disassemble and store to special boxes all the objects in a room before getting out of that room. Or else it all will just vanish. :)

On migration: if you change code in Phantom in a way that does not change object representation, you can just use new code with old data. New paintDocumentPart() can be called for same document object as long as interface is the same.

The problem is with objects with running threads in them. You can't change implementation which is currently running.

Hopefully, it would not be a usual case. As far as I see, Phantom applications won't need forever running threads at all.

os ->(repaint)->window->(get state of)->document

or

doc->(update state trigger)->window->(repaint)->canvas

In either case it's just an event. Update and finish.

Actually, Phantom was a huge mind game of mine for years (first ideas started to form some 25 years ago) and one of the reasons to start actual implementation was that I can't imagine all of the potential problems and solutions for such an environment.

But - I don't want Phantom to be just a test bed for new ideas. I hope it will find its place as practical tool.

<comment><USER2> I can certainly imagine a non-persistent world -- why do you keep saying that I cannot? It is called "restaurant". You come in and get a clean, fresh table. You sit on it and eat, and if you have leftovers, you put them in special boxes. When you leave, everything on the table that you did not put in a box disappears. Very nice and handy!

=====

So what happens in case of errors?

os ->(repaint)->window->(get state of)->document->(EXCEPTION: LIST INDEX OUT OF RANGE)

Does this result in losing the document forever?

<comment><USER3> Word->Open file->Error reading file: LIST INDEX OUT OF RANGE

Does this?

Your point is obvious, but not specific to persistent environment. Things are getting broken sometimes.

Actually, back in 2009 when first message about Phantom appeared, I've got a message from team in Stanford. THey did an experiment about things we discuss.

Relatively big Java program was stopped in the middle of work, serialized to (I believe) XML and some objects were removed from that XML. After that program state was de-serialized and program continued to run.

Experiments shown that modern code degrades quite gracefully in such cases. Most of time problems were not global and affected just parts of program's abilities.

But again, it is not a persistent world specific problem.

If your code is wrong, no matter where index lies - in persistent memory object or in file. Index will be wrong.

The question is how system must be built, what kinds of services it must provide to limit app ability to shoot itself in a foot. That is one of the goals of this project.

<comment><USER2> In Word (especially when save-in-place disabled), old file disappears only when the new file is complete. And since file writing naturally walks over all the structures, any exceptions usually happen during _save_ and _display_ time. If the file ended up on disk, it is usually OK.

And even if you are unlucky, you can still restore it from your backup (time machine, dropbox folder, restore point, etc..)

If you have explicit "save" action, all of those things happen automatically -- there is no need for programmer to do any sort of action here, other than to make sure saves are atomic.

Only persistent environments have this problem, because once your persistent- word crashes, you cannot do anything to roll back the change -- other than revert entire OS to previous snapshot, but this will roll back all other apps, too.

(Practically, I've had MS Word crash on me hundreds of times. I've only got corrupted save file once or twice. So at least from my anecdotal evidence switching to "persistent world" would make data loss much more frequent.)

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> I immediatly started singing the Spam song in my head but replaced Spam with State. Lovely State! Wonderful State!

I actually prefer the old days: turn the thing off and walk away. Screw state.

<comment><USER5> State is the root of all evil.

</comment></comment><comment><USER6> The source: [https://github.com/dzavalishin/phantomuserland](https://github.com/dzavalishin/phantomuserland)

Previous discussion (6 months ago): [https://news.ycombinator.com/item?id=19672610](https://news.ycombinator.com/item?id=19672610)

</comment><comment><USER3> Hi everybody. As the author of original Phantom OS idea I'd like to thank you for the discussion.

I am here to answer any question, please ask.

If you have some collaboration or experiment with Phantom in mind, I'll be happy to discuss. I'm looking for practical but simple use case for Phantom OS.

<comment><USER3> Being on the vacations I decided to write some Phantom OS internals book, and if you're interested, here it is:

[https://phantomdox.readthedocs.io/en/latest/](https://phantomdox.readthedocs.io/en/latest/)

</comment></comment><comment><USER7> > Your program will survive OS reboot. All variables are now.. like files?

Sounds like we will have to format the hard drive and re-install everything every week or even more often.

<comment><USER8> It might just be that programs will have to be written slightly differently.

Sort of how drivers that have to deal with sleep/wake have to be tweaked.

Whem machines got sleep/wake it was a definite step forward for usability (and other things like machine efficiency)

</comment></comment><comment><USER9> Some ideas seem similar to Taos:

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

</comment><comment><USER10> A nitpick, in your FAQ's it should be "in the 1960's" not "the 1960th" if I'm reading the year correctly.

<comment><USER11> A nitpick: don't use the apostrophe in the phrase "in the 1960s". It's not a possessive in that sentence.

See, e.g., [https://www.thepunctuationguide.com/apostrophe.html](https://www.thepunctuationguide.com/apostrophe.html)

<comment><USER12> This is not a hard-and-fast rule. There's hardly agreement in style guides on this note. Don't be a jerk and nitpick style on the internet; it does not add to the conversation. [https://english.stackexchange.com/questions/13631/is-an- apos...](https://english.stackexchange.com/questions/13631/is-an-apostrophe- with-a-decade-e-g-1920-s-generally-considered-incorrect)

</comment></comment></comment><comment><USER13> Probably the thing that concerns me the most here: If it is as described... turning it off and then back on again probably won't fix whatever it's doing wrong. :/

I'm very curious what troubleshooting a system like this would look like.

<comment><USER3> Yes. But, really, turning off and on fixes not quite everything. I've seen Word files that can't be open and crash Word completely.

Application state can be unrecoverably wrong with any kind of storage, be it files or persistent object tree.

<comment><USER2> But only files offer fully automated backups which do not need any sort of support from application at all.

</comment></comment></comment><comment><USER14> >that's not Linux derived I get that it's supposed to be a strength but it will also be the reason it will be absolutely useless. Even BSDs implemented the Linux glue because everything is made for Linux.

<comment><USER15> Even if this is absolutely useless, there is an intrinsic value to the author to create this, to learn, and an extrinsic value to this: It may inspire some linux or BSD kernel dev to fix a long standing bug or add increased functionality.

<comment><USER16> So... you are saying that it is not absolutely useless even if it is absolutely useless.

<comment><USER17> No. It's not absolutely useless, even if it is _practically_ useless.

Do professional musicians play scales? Yes. Even if nobody would pay to hear it

</comment></comment></comment></comment><comment><USER18> I'm intrigued by the comments suggesting that rebooting a machine is a good way to fix problems. I certainly know that it can work but really it's a regrettable last resort to solve a problem.

It would be good to have an OS that brings back the idea of persistent state. Plenty of programs have to run without stopping so require thinking of long term behavior (power plants, various spacecraft, medical implants, etc). People without stopping and in fact halting them is greatly discouraged.

<comment><USER2> Especially those highly critical apps absolutely depend on the the ability to recover via reboot at any moment. There could be random hardware glitches, or software crashes -- and the fix is to discard the RAM, very carefully verify the stored persistent data, and re-create the state from it.

Famously, during the moon landing, the computer had an error and crashed, multiple times [1]. The landing was still a success because while the navigation state was explicitly saved, everything other state was reset. Good thing the designers did not use persistent memory!

[1] [https://www.wired.com/story/apollo-11-mission-out-of- control...](https://www.wired.com/story/apollo-11-mission-out-of-control/)

<comment><USER3> Religions are very different around the world. Though my gods do not forbid anybody to 'very carefully verify the stored persistent data, and re-create the state from it' even if persistent data is stored in... persistent memory.

Well, just kidding, I'm agnostic, there's no such thing as my gods. ;)

Key point is code that 'very carefully verifies'. Forced RAM nullification on reboot does not help per se.

And there's no need to reboot in any case. If you feel you're busted, in persistent env you still can clear all state and recreate it from some other state.

It's just very traditional to think of files, not RAM as storage.

Memory mapped files, btw, are quarter a step to Phantom.

<comment><USER18> Back in the days of core memory I remember restarting a machine after the power had gone out. No need to reboot (unless power had gone out while the monitory ("kernel") was running) -- only the running process, with its semiconductor registers, would die. Everything else was persistent.

The original Multics design did not make a distinction between memory pages on disk and in RAM. Files were just a way to describe a collection of memory pages, wherever they might be.

</comment></comment></comment></comment><comment><USER19> A "forward-thinking" project shouldn't have been written in C. They should've used Rust.

<comment><USER3> You're quite right, Rust would be better tool. But first Phantom code was written some 15 years ago and now it's too late to switch. :)</comment></comment>


The Thinkers: Black holes, black energy and the history of the universe - <AUTHOR> http://www.post-gazette.com/pg/09243/994390-298.stm

<comment><USER2> I've always been of the opinion that human existence will end because of the 2nd law of thermodynamics, through the continual change of various forms of energy into heat. Looks like the black holes are with me on this one.

But I don't really know what that means. Some questions:

How much will the average temperature of the universe increase? Since energy is neither created nor destroyed, there's a finite amount of it in the universe, so there is an absolute maximum (average) temperature, if all of it were converted to heat (Nobody's holding out on us with a _preexisting_ infinite energy source, right? (How would that work? I'm not really sure. But it would definitely obey the no-creation clause they stuck on the universe.))

How long will it take? If it takes even a few billion years, we'll probably have wiped ourselves out. I guess I'm contradicting myself... let me qualify my belief, then. As long as we haven't gotten to us first, then the increasing entropy of the universe will do us in. =P

I think that last one largely depends on universal efficiency, ie the rate of loss-to-heat of various energy conversions. (Sounds like black holes are pretty bad. Converting up to 40% of mass's kinetic energy to heat... talk about heat pollution! (But wait. Heat is kinetic energy on a molecular scale, right? So really that conversion is just large-scale motion to small-scale motion. I guess that's actually a definition of entropy: Conversion of cohesiveness into even distribution. Or random distribution, I should say.)

I think I should stop now. Apologies for rambling. =)</comment>


Chinese chip giant SMIC 'in shock' after US trade ban threat - <AUTHOR> https://www.bbc.com/news/technology-54056941 <comment><USER2> Shades of the 1940s, when the US cut off Japan's oil. Pearl Harbor happened very quickly after that.

But the US of 2020 is no longer the manufacturing giant of 1941.</comment>


Inevitability in technology - <AUTHOR> http://ben-evans.com/benedictevans/2016/5/2/inevitability-in-technology <comment> noir-york And where are the next footsteps heading, in terms of technology? VR? IoT? VR will make about as big a bang as 3D TVs...

AI is the best candidate - and its a natural progression of gradually replacing ourselves from ever more forms of labour.</comment>