The Ethics of Consciousness Hunting - <AUTHOR> http://nautil.us/issue/64/the-unseen/the-ethics-of-consciousness-hunting <comment><USER2> Is it really true that patients are diagnosed as vegetative without any attempt to check for brain activity with at least an EEG?

<comment><USER3> That jumped out at me too.

<comment><USER4> Can you imagine listening to your doctor and loved ones discussing taking you off life support and you're just not able to move? Then a lot of times, they just starve the patient to death, thinking they're basically not feeling anything, so then you starve to death while your family sits by your side. That's hell. We need to do a lot more research on conciousness and what makes a person or "animal" have that spark.

</comment></comment></comment><comment><USER5> If you want this added to the standard of care, then work on having it introduced at Grey Sloan Memorial Hospital. Seriously.

</comment><comment><USER6> How much consciousness is enough to justify living?

They make the point that this can prevent unnecessary care but ignore this. It's unlikely to be a simple yes or no.

<comment><USER7> This won't answer the question directly, but these sorts of discussions always bring to my mind the famous quote from Jeremy Bentham: "The question is not, Can they reason?, nor Can they talk? but, Can they suffer?"

</comment></comment><comment><USER8> I wonder if the results you would get from an EEG in these cases are different from those of a healthy person. If not, it should be possible for them to communicate using e.g. morse code through EEG.

<comment><USER9> The article mentioned that after 5 yes-or-no questions in 60 minutes, the patients became exhausted. I'm guessing that activating certain parts of the brain requires considerably more effort for them than for a healthy person based on that.

<comment><USER10> The areas in question are areas tied to physical activity. They've been lying in a bed for a decade. It's not surprising that activating areas tied to physical activities is difficult.

I'm curious if the same fatigue would be present if the Yes/No responses were tied to critical thinking activities (though those are obviously more ambiguous to detect).

<comment><USER11> As someone with a traumatic brain injury from over two years ago that stI'll had cognitive problems on a daily basis preventing me from a range of tasks such as working in IT (careel of 10+ years) to (depending on the day) understanding the question "are you hungry?": i get mentally fatigued from answering questions, both critical and non critical thinking. Both are taxing and after less than an hour of ~15 questions I am unable to proceed or comprehend the information. The best analog I could give is when you wake up groggy and turn on a tv show that is in a language you don't know. Your brain is trying and searching but there are no connections being made and you only are aware that you are struggling but can do anything about it besides rest and give your brain time to recouperate.</comment></comment></comment></comment>


iPhone XS is faster than an iMac Pro on the Speedometer 2.0 JavaScript benchmark - <AUTHOR> https://twitter.com/dhh/status/1043277162676072449 <comment><USER2> It really seems inevitable that Macs will switch over to Apple chips at some point, probably soon.

<comment><USER3> I think it's the reason we haven't seen a new Mac Mini. I also think it's the reason iBooks (the app) was renamed to Books.

New iBook ARM laptop and an ARM Mac Mini.

</comment></comment><comment><USER4> It'd be nice if Apple's iOS JavaScript core reached parity with W3C features supported on other platforms and browsers. Notable emissions are RTC data channel, WebGl2, WebAudio, iffy PWA support ...

All that speed won't allow a developer to circumvent the app store for features pedestrian in other browsers and platforms

<comment><USER3> It'd be nice if Safari were more regularly updated too.</comment></comment>


Talk of a Split from Docker - <AUTHOR> http://thenewstack.io/docker-fork-talk-split-now-table/ <comment><USER2> I doubt they would ever consider it, but I think Docker Inc's best move would be to push reset for Docker 2.0:

\- Fully embrace Kubernetes for orchestration

\- Drop Swarm

\- Roll Docker Engine back to its pre-1.12 scope

\- Get on board with standardizing the image format, now

\- Stop fighting Google and instead let them help you succeed

A Docker distro of Kubernetes would do very well in enterprise on-prem or private cloud environments. They already have a great developer experience. Companies will pay for support on both.

Continuing to oppose Kubernetes risks damaging the significant brand equity they've accrued as containers in production become mainstream.

<comment><USER3> Unfortunately there is no way to justify a unicorn valuation if all that you have as an asset is an open source file format.

Consider Vagrant -- like Docker, it's essentially a wrapper around other people's facilities and libraries. Mitchell and co appear to be trying to escape the trap by moving into nearby areas of real value, but there's no meaningful way to monetize Vagrant no matter how popular it is.

<comment><USER4> Do you remember when open source meant people just working on stuff for fun and trying to provide free as in speech alternatives to pay crap?

I feel like this is just another step into the corporate OSS world which is a far departure of what a lot of the original OSS architects envisioned.

Trying to monetize OSS often leads to rushed features and bad decisions like in most traditional non-OSS/enterprise products. If you strip off the polish and the fancy website, you should still have a usable, well documented thing that people need. That may also be a product you can sell support for or host, but it doesn't have to be.

Unfortunately, there aren't as many grants and not as much developer free time to go around anymore.

<comment><USER5> I'm not sure OSS ever meant that:

 _Many people believe that the spirit of the GNU Project is that you should not charge money for distributing copies of software, or that you should charge as little as possible—just enough to cover the cost. This is a misunderstanding.

Actually, we encourage people who redistribute free software to charge as much as they wish or can. If a license does not permit users to make copies and sell them, it is a nonfree license. If this seems surprising to you, please read on._

from:

[https://www.gnu.org/philosophy/selling.en.html](https://www.gnu.org/philosophy/selling.en.html)

<comment><USER6> > Actually, we encourage people who redistribute free software to charge as > much as they wish or can.

What they don't mention is that, when every recipient of the software is free to redistribute it and compete against you, as much as you can rapidly becomes zero (or, at most, just enough to cover the cost of the most-efficient distributor), since free competition drives prices down to the marginal production cost.

<comment><USER7> Except of course, that the business model of free software is generally support-license based. Yes, someone can take your software and provide support instead of you but they usually are not as experienced as you with what you created. If they are, you should hire them.

Companies make money charging for free software all the time, and I really wish we would stop having to go through this discussion every time that free software shows up as a point. Companies have been making money from free software for more than 20-30 years at this point, and none of it required taking away the freedom of their end-users.

<comment><USER6> > Except of course, that the business model of free software is generally > support-license based

Its _charging for support_ (not support-license since the support contract isn't a license when the software is actually delivered on a Free license) because that's an alternative to _charging for software_ , because, practically, you can't charge for Free software, for the reason discussed in GP.

> Companies make money charging for free software all the time

No, they don't. They often make money charging for ancillary services related to Free software, which their involvement in contributing to the Free software may have positioned them to provide at an advantage to competitors, but not many make money charging for Free software.

<comment><USER7> > Its charging for support (not support-license since the support contract > isn't a license when the software is actually delivered on a Free license) > because that's an alternative to charging for software, because, > practically, you can't charge for Free software, for the reason discussed in > GP.

The industry calls them support licenses (since generally you only support X machines running your software -- though of course you can have alternative models), so that's what I'm going to call them.

As for not being able to charge for Free Software, it is true that unless you have some value-add (preinstalling or burning to physical media) then yes, youre going to have trouble selling the bits that make up a piece of software. But then again, why does is that model taken as being the "right model" with the free software model being the "alternative". In fact, many proprietary companies have the same model (Oracle will charge you for support too). How is it a better model that you buy a set of bits and that's all you get (no promise of updates, no support if something breaks, nothing other than the 1s and 0s that make up version X.Y of the binaries you built). In fact, I'm having trouble of thinking what companies have such a model, because it's so user-hostile (even for proprietary so software).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I'm not saying those looking to fork Docker are wrong. I don't think that they are. But I think Docker's approach to Swarm is more _useful_ than the roadmap that those organizations considering a fork wish to pursue.

Kubernetes, Mesos, etc. appear to be great orchestration tools for an organization with a few [or many] engineers dedicated to operations. Their not so great for a small team [or individuals] who are just trying to deploy some software.

As I see it, Swarm seeks to solve orchestration analogously to the way Docker seeks to solve containers. Before Docker, LXC was around and the Google's of the world had the engineer-years on staff to make containers work. Docker came along and improved deployment for the ordinary CRUD on Rails developer who just wants to go home at night without worrying about the pager going off.

To put it another way, it looks to me like the intent of Swarm is to provide container orchestration for people who don't run a data center. Like Docker, it is an improvement for those scaling up toward clusters not down from the cloud.

None of which is to say that moving fast with Swarm isn't a business strategy at Docker. There's a whole lotta' hole in the container market and part of that is because the other organizations currently supporting development of container orchestration tools has business interests at a much larger scale...Google doesn't see a business case for pushing Kubernetes toward the Gmail end of the ease of use spectrum.

The desire to fork is based on the needs of the cathedral not those in the bazaar.

<comment><USER9> People on the bazaar who just want to deploy a CRUD web app you mentioned shouldn't be getting into the containers/orchestration in the first place. Just go for some PaaS or rent a server or two, write shell or python scripts to set them up and save yourself all the hassle.

<comment><USER10> The benefits of containerization are not limited to production deployment. Docker makes it trivial to run the exact same container in QA/dev as well - it's a 10 line Dockerfile and three commands (create, build, run) vs having to build custom shell/python scripts. Don't underestimate how useful that is, especially in smaller offices where you don't have the staff dedicated to automating everything. Even small shops also benefit from the ephemeral nature of containers - redeploying a container is a lot quicker and easier than redeploying an entire VM/physical server. PaaS isn't without it's own issues either (you have to learn the AWS/Google/openShift/azure/heroku way of doing things) and can be cost prohibitive.

<comment><USER11> What does Docker bring to this? This is basically the argument "use your production deployment mechanism to create your development environment". There are lots of ways other than Docker to do this, Vagrant being one of the most prominent.

<comment><USER8> One of the differences between a containerized deployment and scripted provisioning with tools like Vagrant is the state of a node following a deployment failure.

Deployment of a container to a node is roughly an atomic transaction. If it fails due to a network partition or server crash etc. The container can just be deployed again to the node again. By comparison, a partially executed provisioning script can leave the target node in an arbitrary state and what needs to happen next to bring the node online depends on when and how the deployment script failed as well as the nature of any partial deployment...and whatever state the server was in prior to deployment.

<comment><USER11> That's a reason why Docker is great for production deployment. If you don't use Docker for production your production deployment scripts have to deal with that.

But if you use your production deployment scripts for development deployments, then that problem has been dealt with one way or another.

</comment></comment></comment></comment></comment></comment><comment><USER12> Makes sense.

Since the late 90's early 00's when Linux _won_ the data center. Most people became really enjoyed the _we don 't break user land_ motto.

Once a kernel interface went live, it stayed that way. Ugly spots and all. Containers are starting to become a fairly important part of IT/Cloud infrastructure. Easily compariable to the OS itself. Logically those involved with maintainence would demand the same.

Yes I'm aware Docker is more a control program for interacting with Cgroups, setting quotas, installing packages, and isolating processes. Not the OS itself. It is an abstraction over the OS, hence for most developers it feels like part of the OS. So logically they'd demand it be as robust as the OS.

<comment><USER13> I think this is part of a more general trend of companies trying to use software that definitely isn't ready for prime time. Sure, it's trendy and being hyped, but those are not sufficient reasons to use it in production.

These days some new technologies become "trendy" (on HN and elsewhere) and start being used by developers. That in itself is great, but many of those developers are also young and inexperienced and do not realize that production systems have different requirements.

There are many symptoms: the docker situation, npm (need I say more), libraries like Semantic UI that can't be built in a CI environment from the command line (require user interaction). Even small things, like tools that change their behavior based on files in one of the _parent_ directories (npm again, but not only), or the proliferation of fancy progress bars and useless drivel being spewed to the terminals, are symptoms. Those are tools designed by developers working on their laptops, for developers working on their laptops, and do not (at this stage) fit the requirements of a production server environment.

Maturity and stability are valuable traits in software, especially in larger systems.

<comment><USER14> That is actually what I like about being a senior developer on enterprise consultancy.

We see these fads come and go, wait for the dust to settle and use what is actually mature to be deployed in real production environment.

It also helps that our customers don't sell software, as such they view of what technology stack is supposed to look like is quite different from what the typical Starbucks developer thinks about software.

<comment><USER12> >It also helps that our customers don't sell software, as such they view of what technology stack is supposed to look like is quite different from what the typical Starbucks developer thinks about software.

Selling software to people who _use_ software vs those who _develop_ software is a vastly different experience. As are the questions and rigor they'll put a consultancy agency though. As well as what they expect out of a product.

>We see these fads come and go, wait for the dust to settle and use what is actually mature to be deployed in real production environment.

Yup nothing like Oracle SQL + Java App driven by Tomcat or Spring. Hell you can even get an Oracle Rep to appear in your sales pitch. The suits really like that.

<comment><USER14> One of the customers I was dealing with recently still requires .NET 4.0 due to XP support.

</comment></comment></comment></comment></comment><comment><USER15> I'm not really sure why the proponents of this split don't just put their efforts into improving one of the alternatives which are already available (e.g. rkt). A split would seem to be a bad outcome allround (confusion in the market, divided resources, duplicated features), whereas competing products might bring out the best in each other.

Also it does seem a little odd to me to see people suggesting that Docker needs to be more stable and "boring" (from this article [https://medium.com/@bob_48171/an-ode-to-boring-creating- open...](https://medium.com/@bob_48171/an-ode-to-boring-creating-open-and- stable-container-world-4a7a39971443#.gux8c0bx2) referenced in the main link) to fit in with other projects in this space like Kubernetes, when it seems that most/all of these projects including Kubernetes are moving as fast as each other...

<comment><USER16> I don't think rkt is a valid candidate. People are already used to the basic of Docker command. There is no reason to change to something else. If rkt decides to reproduce the feature set, how is that different from a fork?

<comment><USER17> > People are already used to the basic of Docker command.

The tiny amount of existing early adopters can be made to adopt something else one more time.

<comment><USER18> Not to mention that they constantly break the Docker api and interactions. Knowing the commands today is not helpful in the future. Once you get past "docker run <image>" so much has changed the last couple of years that it is pointless to hold that up as a virtue.

</comment></comment></comment></comment><comment><USER19> Docker's mistake is bundling swarm and throwing away regular docker-compose with services. The bigger mistake was presenting them as they worked perfectly, just because in the sake of a badly timed DockerCon (seriously why the hell do we need 6-month spaced dockercons) they released something that was not complete and fundementally different from previous way of running containers. I feel their urge to monetize but events like this really leaves bad memories. By the way, does anyone remember the service command that was introduced in ~1.8 or 1.9 and just vanished? It was a similar mess.

<comment><USER20> Wait did they throw away docker-compose with services in this latest release? I'm not totally up on this release obviously.

<comment><USER19> Not actually, but swarm services with docker application bundle (dab) seems like a replacement for docker-compose and makes it redundant. All they had to do was promote compose from a cli tool to docker daemon itself and it would be great, not a major fundemental change. Now, I cannot even get the logs of a service because it is failing too fast and I can't catchup with it.

</comment></comment></comment><comment><USER21> That sounds like a bad idea to me. I do agree that Docker rushed things a bit with Swarm (on the orchestration front) but I think that they're doing an excellent job with the containers themselves.

I don't think a fork will help - I think a fork would make sense if there were concerns about Docker's level of 'openness' but I think that's not the problem here.

Forking/duplicating a technology whose main premise is being "a single consistent environment for running apps" sounds like a contradiction to me.

<comment><USER22> There are concerns at every level about the decisions coming from Docker, Inc. and there have been consistent issues for a long time. Swarm is just the latest issue, and the arguably the worst, since none of the key decisions are defensible - Why is it there in the core product? Why was it added in a point release? Why was it included at all when it is clearly not stable? Did any major contributor outside Docker, Inc. have any input into this?

Ultimately, forking is what happens when the contributors can't work with the maintainer, and it seems pretty clear that Docker, Inc. can't act as responsible maintainers.

</comment></comment><comment><USER23> Every time I think of Docker recently, the image of huge container ship accident shows up in my head. This thing needs to be standardized, and things are not going that way at the moment.

</comment><comment><USER24> This seems rather manufactured. In the span of days, we've seen article after article coming out and condemning docker, advising kubernetes, and now this fork. Who benefits?

<comment><USER25> People who want a stable container orchestration engine and through that, the users.

</comment></comment><comment><USER9> Imagine there would be "docker engine for running in production" outside of control of docker inc, with backing from the rest of orchestration industry. It may be considered as a tool for compelling docker inc. to play more nicely, rather than the total fork.

\- Developers interested only in the docker engine would consider using it for higher reliability, less breaking and rushed changes or force-bundling of things they don't want.

\- If enough developers are using it, docker inc. would be compelled to maintain compatibility to avoid "mainstream" docker ending up as the tool only for dev/CI.

</comment><comment><USER26> Beyond API flux, one thing docker could really focus on to alleviate a lot of pain would be to have some more stable / sane version management. If you need to break the API to bring in new features so be it, but maybe a former API client should be able to still interface with newer versions through backwards API support. When docker was new there was maybe a case to be made for stricter version matching, but it's just a sign of immaturity at this point that new versions of dockers upset the rest of the ecosystem so greatly.

<comment><USER7> I'm fairly sure that old Docker clients can communicate with new Docker servers (the docker.sock API is versioned and is backwards compatible). If that doesn't work, you should file a bug (there's lots of code inside the API handlers that deals with setting older API version defaults).

</comment></comment><comment><USER27> While Docker is probably not the last word in containerization technology (which is a good thing), the idea behind it is quite powerful: Small, lightweight, self-contained objects that perform a given function and that we can plug together in many ways. I think the impact of having something like this will not be limited to traditional DevOps but will permeate many other areas as well, like data analysis and the delivery of end-user applications.

<comment><USER28> > Small, lightweight, self-contained objects that perform a given function and > that we can plug together in many ways.

So Unix philosophy?

<comment><USER29> You bring up a really good point - that is the _UNIX_ philosophy, but UNIX didn't win the datacenter wars: _Linux_ did. And Linux doesn't entirely share that philosophy; depending on the Linux release it can be the polar opposite; piling on feature after feature into a monolithic block like systemd.

That's not an indictment of systemd... it's just an example of how I'm not sure everyone has glommed on to the fact that just a GNU isn't UNIX neither is Linux.

<comment><USER3> systemd is a really recent development. Linux won the datacenter wars well before any of the recent desktop stuff started encroaching, and it did it on the back of being a free Unix clone.

<comment><USER30> Yep. Linux offered a free unix that was not touched by the AT&T lawsuit and could run on commodity hardware.

Then we had the whole dot-com bust that freed up a whole lot of hardware to run LAMP stacks on, and things really got rolling.

</comment></comment></comment></comment></comment><comment><USER31> I feel bad for shykes. This can't have been a very fun release. He tries really hard, and I get the feeling he takes a lot of the feedback to heart.

<comment><USER25> He's aggressive and isn't super consistent. In the end I think the conclusion of the Twitter conversation I had with him was good but then you look at the rest of the it and it's just aggressively negative. Conspiracies everywhere.

</comment></comment><comment><USER32> Didnt this happen like 2 years ago when CoreOS created the Rocket Project?

[https://github.com/coreos/rkt/](https://github.com/coreos/rkt/)

<comment><USER30> When i noticed the posting mentioning CoreOS and Red Hat i found myself thinking that both of them would not mind seeing Docker go belly up. This because both are in deep with Systemd, and it is at this point offering a straight up competitor to Docker.

</comment></comment><comment><USER33> I hope rkt, runc and similar get donated to the CNC Foundation and get a direction there

<comment><USER7> runC is part of the Open Containers Initiative (which is a project by the Linux Foundation). So there wouldn't be much sense moving runC between two different Linux Foundation projects (especially since the same person [Chris Aniszczyk] is currently managing both projects). Also, since Kubernetes is part of the CNCF I'm hoping that will mean we'll get some support to adding OCI support to Kubernetes (something that we're currently working on).

</comment></comment><comment><USER34> _" What's happening right now, if we are not careful, will fragment the container ecosystem, and it make it impossible for single containers to target multiple runtimes,"_

UNIX had this problem and look how long it took before things settled. Linux was the result. Maybe this is a good thing?

<comment><USER14> Have they really settled?

In the 90's we had the UNIX wars.

Nowadays we have the GNU/Linux wars.

Each distribution does its own thing and every disagreement leads to yet another fork.

<comment><USER35> Right, so in that context who is the FreeBSD of containers?

<comment><USER36> Illumos (formerly OpenSolaris) containers perhaps?

<comment><USER37> Those are the ones!

</comment></comment></comment></comment></comment><comment><USER38> Sounds like the Docker container format should be split of into an independent foundation. Because everybody wants to use it but there's no money to be made of it. Then companies can compete on how to run Docker in production.

<comment><USER39> That is/was supposed to be what OpenContainers.org (OCI) is all about.

<comment><USER38> Good point. I guess there's more that should be a shared commonly funded resource: probably the core engine.

</comment></comment></comment><comment><USER40> Support for legacy OSes in newer releases would be wonderful but I don't know how hard that is... There's a lot of talk about how the older kernel makes it really difficult.

If you're using CentOS 6 you're stuck with Docker 1.7. There are a lot of enterprise companies out there (I'm looking at you big banking) that aren't ready to move to CentOS / RHEL 7 and trying to get stable usage out of Docker 1.7 doesn't "Just Work" in my experience.

Anyone here use rkt with CentOS 6??

</comment><comment><USER41> > The Docker orchestration capabilities are opt-in; they must be activated by > the user. Though not opting in may lead to backward compatibility issues > down the road.

Whoa, citation needed! Not activating swarm features has the same probability of causing problems as relying on fork() to create a process. Maybe not, but I don't see Docker suddenly forcing everyone into using swarm. It seems unreasonable to even suggest this, and a bit of a scare tactic.

</comment><comment><USER42> I'm not developing anything against Docker except for automation tooling, and I would kill for a stable Docker Engine; stable disk drivers, stable CLI arguments, stable configuration file formats, a stable daemon, and so on.

That said, it's a hard problem, and I certainly don't have the time to work on it myself; nor can my employer spare me to work on them either.

</comment><comment><USER43> I am sort of curious.

1\. Who is running docker in production.

2\. If you are running docker in production what sort of money are you making with it ?

</comment><comment><USER44> I think a lot of these issues were already nascent when CoreOS decided to fork Docker. People are asking for 'boring container infrastructure' \-- and it's called rkt. I remember the bruhaha at the time, with the Docker folks pissed at the CoreOS folks for doing so. That was Dec 2014. It looks like the way Docker handled the 1.12 release is shifting the sentiment.

For example: I ended up writing this to ask the Docker team for more transparency on this issue: [https://forums.docker.com/t/file-access-in- mounted-volumes-e...](https://forums.docker.com/t/file-access-in-mounted- volumes-extremely-slow-cpu-bound/8076/148)

And they responded with an _awesome_ reply addressing it: [https://forums.docker.com/t/file-access-in-mounted- volumes-e...](https://forums.docker.com/t/file-access-in-mounted-volumes- extremely-slow-cpu-bound/8076/158) and it went a long way towards helping the community understand the issue what to do about helping.

However, there are also threads like these that asks for the same issue:

[https://forums.docker.com/t/should-docker-run-net-host- work/...](https://forums.docker.com/t/should-docker-run-net-host-work/14215) [https://forums.docker.com/t/access-host-not-vm-from- inside-c...](https://forums.docker.com/t/access-host-not-vm-from-inside- container/11747/9) [https://forums.docker.com/t/explain-networking-known- limitat...](https://forums.docker.com/t/explain-networking-known-limitations- explain-host/15205)

They kinda left the community in a limbo here, and quietly added a line in the documentation saying it won't happen. But without the transparency, we don't really know what's going on here.

Back then with the rkt split, the Docker design was to gear towards users so that there is as little friction as possible. It worked all right when it was just Docker Engine on Linux. Over time, due to differences in distros, you can see the container abstraction leaking here and there. Generally manageable.

In the 18 months since, it's becoming clearer that Docker is drunk on their story. Seems like more and more of the leaks from the abstraction are getting swept under the rug while they are trying to make a land grab for the orchestration. Yet Docker is doing it in a way that is sacrificing the goodwill from the community. It first starts with the third-party vendor relationships, but as you can see from these forum posts, it is starting to leak into the relationship with end-users as well -- the developers.

There's still time to turn the (ahem) ship around. But a big part of what is driving Kubernetes success isn't that their abstractions are brilliant, but rather, that project is very transparent and communicative of what they are doing and what they are intending with the community. I get Docker is trying to do that with Docker Swarm, yet I think they missed a critical part of why and how Kubernetes gained so much traction so quickly.

<comment><USER25> Great summary of the issues. Though I've been only tangentially involved, I agree with all the points, especially "drunk on their story".

</comment></comment><comment><USER37> So instead of going to working, stable alternatives to Docker like SmartOS, people still cling on to it and try everything and anything to save it!

I'll be damned if I understand why someone would continue to cling on to broken software[1] when there is a working alternative. Can someone explain this irrationality in terms which I can understand?

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

</comment><comment><USER45> Maybe Docker should do what Ubuntu does: periodic LTS releases with a guaranteed support timeframe. They can experiment with the newer releases, and the LTS releases will be there for people who need stability and don't need bleeding-edge, unproven features.

</comment><comment><USER46> This sounds like a bluff to me. "Oh, you want fast moving changes, mobility up the stack, and centralized control? We want none of those things. Either you soften your stance and start listening or we'll fork."

</comment><comment><USER47> I think this is all a push by Docker's management to get the company acquired

</comment><comment><USER48> See also [https://news.ycombinator.com/item?id=12364123](https://news.ycombinator.com/item?id=12364123)

</comment><comment><USER49> The real reason everyone is upset is that I can now say.. goodbye kub, goodbye mesos, goodbye coreos, your are all complicated. I'm thrilled about docker 1.12 and swarm mode.

<comment><AUTHOR> That's not why. Good for you on using Docker 1.12 with Swarm mode, if that's what works for you. Have fun in production.</comment></comment>


Ask HN: What Are Some Companies That Foster Employee Happiness and Wellbeing? - <AUTHOR> After recently leaving a toxic work environment and reading the news about experiments in 4 day work weeks and 6 hour work days, I got to wondering how many companies out there actively foster a culture of employee happiness and wellbeing. I'm less interested in ping-pong and free lunches, and more interested in things like:

  - Shorter work days / weeks
  - Encouraged PTO
  - Concern for work / life balance
  - Openness to alternative working arrangements
  - Mindfulness of personality traits such as introversion / extroversion
  - Health / wellness and personal / professional development stipends
 I'm not necessarily looking for companies that tick all of these boxes, but instead looking to survey the landscape.
Also, what qualities are important to all of you in terms of being happy and healthy in your jobs? <comment><USER2> I just started working for Patreon so it might be a bit early but I _love_ the culture, and it has many of those traits. I have also studied building cultures for my own previous startups before and they do a lot right.

\- Encouraged PTO (they suggest one week a quarter) \- A lot of quiet / introversion rooms as well as space to be chatty \- Full normal health benefits AND mental health benefits (emotional counseling) \- Mental health days are totally accepted \- People WFH as they need (though encouraged to be in the office) \- A large personal development stipend ($3K/yr)

\</comment><comment></comment><comment>----

They also provide a lot of other aspects that I think play into the culture, but really it's the people that make it for me. Everyone really cares about the mission.

<comment><AUTHOR> That does sound pretty great. After your studies in culture building, what sort of things do you look for in a company?</comment></comment>


Airbnb, rivals may face challenges over rentals - <AUTHOR> http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2011/08/02/BUR41KIB6A.DTL&tsp=1

<comment><USER2> Sometimes it boggles the mind how far the land of the free and the home of the brave has come. As soon as a more efficient system for temporarily renting rooms is created, the various actors benefiting from the way things already are start lobbying the state to intervene. I believe a Canadian, Trudeau, put it best: there's no place for the state in the bedrooms of the nation. ;-)

<comment><USER3> Efficient? Perhaps.

Safer and more reliable? Remains to be seen.

But you don't get something for nothing and the usual decrease in cost comes at a price. As a customer of Airbnb I am extremely aware I taking a greater chance using it than booking myself into a hotel. The likelihood of being robbed, scammed, having a lousy time etc is arguably higher. My home city, Melbourne Australia, has seen its fair share of scandals involving apartments being used as backpacker hostels. Cramming several people per room into cheap apartments is a recipe for among other things fiery death.

The laws should be changed to allow Airbnb to operate, but at the same time provide protection to everyone involved.

<comment><USER2> Safer and more reliable will come with more data points (nights stayed, reviews, friend referrals, friend testimonials). Protection already exists for being robbed; the (increasing) strength of the recommendations protects getting scammed; having a lousy time is always a risk.</comment></comment></comment>


Lessons Learnt From Using MongoDB With High Volume Data - <AUTHOR> http://www.triggeredmessaging.com/blog/mongodb-with-high-volume-data

<comment><USER2> Asynchronous schema enforcement, that's really interesting. How has it worked out?

Also I'm not sure I get the dropping part. Do you really throw out most of your data after a short time window? Is it not of trending/historical-analysis value?

<comment><AUTHOR> Yes... pretty well - caught a few issues before they went out.

Dropping the data - this is just the raw unfiltered stream. We save the interesting process data elsewhere and then ditch the raw events.</comment></comment>


Show HN: Avenv – A more isolated virtualenv - <AUTHOR> https://github.com/ihucos/avenv <comment><USER2> I'd like to say good things, but there are a few big issues first.

It goes to the effort of downloading the sha256 hashes... For a filename. It never actually confirms a download is accurate with them. (curl --fail is not enough. You can have connections close nicely, but the file not be transferred correctly.)

It depends on bchroot for the heavy lifting, which is a beta product still, though interesting, and your own... And the habit of placing binaries in git do give me some twinges of concern. It would take more time than I have to audit bchroot. I have some concerns about binding /tmp and /dev the way you do... But a bigger concern is the assumption that /bin/bash will be available. What if it isn't?

It copies _my_ resolv.conf into the chroot blindly, despite the fact that many network managers may overwrite this file, and that my computer can move between networks where this may change. It'd be better to at least symlink the file. Best would be running a network manager.

It assumes x86_64. Reasonable-ish, but not always accurate. A Raspberry Pi is just as strong a target. Use uname -m. You'll probably hit issues otherwise.

Speaking of which, if you feel the need to grab resolv, you probably want hosts as well.

avenv-update finds and sorts binaries from a few static locations. It'd be much better if it could rely on a PATH variable.

\---

As a _first_ chroot manager attempt, it's not awful.

You set the right failure flags for sh, and handle most of the fail conditions nicely.

... But never trust the internet to hand you blindly what you ask for.

... And never trust the assumptions you've made about what it's running on will also be accurate.

<comment><AUTHOR> The whole shell script is really just because it's a protoype (=Initial commit). If I get good feedback, I'll rewrite this in proper python code. At least for myself it's already good enough to use it.

The thing that worries me more is the bchroot.c, but since it does not promise any guarantees on isolation and is not setuid or so there really should'nt be any security issues.

> I have some concerns about binding /tmp and /dev the way you do...

Can you elaborate what exactly the issues is? I use this quite often.

> But a bigger concern is the assumption that /bin/bash will be available. > What if it isn't?

Then you'll have to call 'bchroot ./rootfs /bin/ash' instead of just 'bchroot ./rootfs', just like with the regular chroot.

> It copies _my_ resolv.conf into the chroot blindly, [...]

bchroot mounts the hosts resolv.conf over it anyway. This is just a redunancy for some corner case I have (whole programming environment already inside an namespaced chroot)

<comment><USER2> > If I get good feedback, I'll rewrite this in proper python code.

I don't mind it being a shell script. So is arch-chroot, which is an amazing little tool.

> > I have some concerns about binding /tmp and /dev the way you do...

> Can you elaborate what exactly the issues is? I use this quite often.

It's a container escape. The chroot shouldn't be able to access the hosts tmp files. Creating a tmpfs and using that is a safer method. If you can read and write the hosts tmpfs, then you can impact the behaviour of the host.

The cheap way would be making a directory in /var/shm and symlinking to it.

The better way is creating a ramfs and mounting it.

For /dev it's just because it has to be a proper bind, and I haven't looked deeply enough to check that happens.

> bchroot mounts the hosts resolv.conf over it anyway.

I'll still wait til you fix that symlink problem you've noted in the source - my resolv is definitely a symlink.

> Then you'll have to call 'bchroot ./rootfs /bin/ash' instead of just > 'bchroot ./rootfs', just like with the regular chroot.

/bin/sh is generally guaranteed to exist (more often than /bin/bash). That's all. (Though technically the path /bin/sh isn't guaranteed by POSIX. You're supposed to use /etc/passwd to find the shell.)

> At least for myself it's already good enough to use it.

The goal of all software, if it works for you, fantastic.

<comment><AUTHOR> > > > I have some concerns about binding /tmp and /dev the way you do...

> > Can you elaborate what exactly the issues is? I use this quite often.

> It's a container escape. The chroot shouldn't be able to access the hosts > tmp files. Creating a tmpfs and using that is a safer method. If you can > read and write the hosts tmpfs, then you can impact the behaviour of the > host.

ok ja, I know, I am also mounting /home. There are no guarantees that there is any security gain by using this and security is not the goal of this software.

> For /dev it's just because it has to be a proper bind, and I haven't looked > deeply enough to check that happens.

I am using `mount("/dev", "./rootfs/dev", "none", MS_MGC_VAL|MS_BIND|MS_REC, NULL)` so a recursive bind so we also get stuff like "/dev/pts". I am using this regularly and it works perfect for me, let me know if you know of any specific problems with this!

</comment></comment></comment></comment><comment><USER3> Please don't put binary artifacts in git; GitHub offers "releases," which are essentially download buckets attached to git tags, from which one can download tars. To the best of my knowledge they're still curl-into-bash-able (or I guess into tar, in your case)

</comment><comment><USER4> It uses xbps!

        $ venv/bin/xbps-install -Sy libreoffice xorg-fonts # you can imagine that as kind of like a chrooted void linux

I wonder how easy this is to do with other package managers? Is this a feature specific to xbps?

<comment><AUTHOR> This also works with others package managers/distributions. Only with apt/apt- get you need some extra configuration "APT::Sandbox::User=root"

I was thinking about using Ubuntu, but in the end took void linux because it's the smallest glibc based distribution I could found. Python wheels don't work on musl based distributions

</comment></comment><comment><USER5> Seems a bit scary to install it like that

<comment><USER6> Seriously. At least add in an MD5 hash, jeez.

</comment></comment><comment><USER7> I'll not use this, because I've had enough of Python and will do my best to not start any new Python programs (also I don't know how is this better than virtualenv), but the README is truly awesome.

</comment><comment><AUTHOR> To my haters: It's clearly a prototype. 60 lines of shell script will always have their own issues. What I'd love to hear is thoughts on the general approach! Is this cool enough to do proper?

</comment><comment><USER8> Is this a serious project?

> Linux only support

>

> Tell your employer to stop using Macintosh

... because that doesn't seem like a sign of a serious project to me...

<comment><USER9> Show HNs don't have to be serious projects. Please don't post shallow dismissals.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

[https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)</comment></comment>


List of high-quality open datasets in public domains - <AUTHOR> https://github.com/caesar0301/awesome-public-datasets <comment><USER2> I don't quite understand these awesome lists. From what I've seen it usually ends up being a way for creators to promote their stuff and for the list creator to have a big project with a few thousand stars in their profile. So when I did something in say, electron, I would go to the awesome-electron list and add it there for promotion sake.

I couldn't find a usecase for these lists myself yet. There is no way to verify the quality of the product or the activity (stars for example? last commit date?).

In one case I searched for aws adapters for a language, clicked on all links inside awesome-{{language}} just to find that all of them are inactive or a few days young. I ended up using something I found on google instead.

<comment><USER3> When I started learning Golang last year I found the awesome-go list quite helpful. Not because I needed every single library mentioned, but because it quickly gave me an impression of how the ecosystem plays out and what typical ways to build stuff are. Because that's quite important in case you're not starting from an existing framework (.net or Rails etc).

</comment></comment><comment><USER4> 69 points, #3 on Hacker News, and no comments? :P

This list would be much improved with descriptions for each dataset and indication of schema, as some of the datasets listed have very unfriendly schema. (e.g. the IMDB interfaces link)

Kaggle's recently-released Public Datasets feature ([https://www.kaggle.com/datasets](https://www.kaggle.com/datasets)) provides an interesting approach to presenting data and qualifying datasets by giving good examples of data robustness.

<comment><USER5> Exactly my thought as soon as I looked at the lack of comments.

How is it this community can debate some inconsequential nonsense, and there is no discussion here of how we get a consistent set of meta-data for these data sources.

There are researchers both in academia and in the commercial world who would thrive if there were such a list with good consistent meta-data on how to interact with it.

Disclosure: I work regularly with open datasets, and the effort it takes to work with each different set overshadows any effort on actual analysis.

<comment><USER6> I'm building a dataset of images with annotations (svg-like as well as clinically relevant metadata). I would _really_ like to know any papers or people who could help guide the effort. Any suggestions?

<comment><USER7> I think it's really a political thing. How many of these open datasets come with a license/disclaimer that you are also allowed to rehost the data in its entirety for redistribution? It's one thing to standardize a format for open data, it's another thing to be able to make that standardized format available to everyone if you're repackaging someone else's data.

</comment></comment></comment></comment><comment><USER8> SolveBio (my startup) has parsed, normalized, and indexed a bunch of the datasets listed under biology. Our goal is to make these kinds of datasets easier to access for programmers and non-programmers alike, similar to other some sites mentioned here (Enigma and Quandl) but for genomics. You can query and filter the data on the website or through one of our API clients: [https://www.solvebio.com/library](https://www.solvebio.com/library)

<comment><USER9> Sounds like a good idea, especially the normalization part, but your site requires Java Script without even some basic functionality without it... nope.

</comment></comment><comment><USER10> The author's notion of a "dataset" is weird. Under "Finance", there's a link to Google Finance page ( [http://finance.google.com/](http://finance.google.com/) ). How is that a "dataset" ??

</comment><comment> chestnut-tree For those in the UK, the available Government datasets are published on [http://www.data.gov.uk](http://www.data.gov.uk)

The datasets are not public domain, but licensed under the Open Government Licence (which allows you to use and adapt the data for commercial use).

There's also the Global Open Data Index: a website that ranks countries by how much Government data is available as open datasets based on certain criteria. The current top spot is taken by Taiwan

      1. Taiwan
      2. UK
      3. Denmark
      4. Colombia
      5. Finland
      5. Australia
      7. Uruguay
      8. USA
      8. Netherlands
      10. Norway
      10. France

[http://index.okfn.org/place/](http://index.okfn.org/place/)

<comment><USER11> You mean Colombia?

<comment> chestnut-tree Yes, sorry. Corrected :-)

</comment></comment></comment><comment><USER12> I wish linkeddata.org or ckan installs weren't being reinvented here, but instead ckan supported pull requests or similar decentralized ways to publish new data sets

<comment><USER13> If you have any ideas/suggestions for how this might be implemented in CKAN, please do drop a mail to the list ( [https://lists.okfn.org/mailman/listinfo/ckan- dev](https://lists.okfn.org/mailman/listinfo/ckan-dev) ) or add an issue at [https://github.com/ckan/ideas-and- roadmap/issues](https://github.com/ckan/ideas-and-roadmap/issues) for discussion.

</comment></comment><comment><USER14> For the complex network part, I think the collection missed this one: [http://www.networkrepository.com/](http://www.networkrepository.com/) The site itself is a collection of several publicly available network datasets.

</comment><comment><USER15> I noticed no [http://commoncrawl.org/](http://commoncrawl.org/) (oh no, naked domain!) or [http://www.cochrane.org/](http://www.cochrane.org/)

I don't quite understand the criteria for being included in the list since I think it's:

[https://groups.google.com/forum/#!forum/awesomepublicdataset...](https://groups.google.com/forum/#!forum/awesomepublicdatasets)

</comment><comment><USER16> Betfair Historical Exchange Data requires you to have "100 Betfair points" which you acquire by gambling on their site. It's hardly an open dataset.

</comment><comment><USER17> Check out data.ny.gov

Also nycopendata.socrata.com

</comment><comment><USER18> Is it too late to create a central registry of datasets - to aid discoverability. A voluntary system maintained by convention?

Perhaps a distributed registration system ala DNS?

<comment><USER19> We have [https://www.biodiversitycatalogue.org/](https://www.biodiversitycatalogue.org/) for biodiversity informatics APIs. A hackathon I attended made an API for registering, but I don't think it was deployed.

</comment></comment><comment><USER20> Enigma.io is great for public data too.

<comment><USER4> I took another look at the Enigma.io public datasets. Over 50% of _all the public datasets_ are from the Federal Reserve Bank of St. Louis. Finance data is boring. :P

Quandl ([https://www.quandl.com/browse](https://www.quandl.com/browse)) is similar to Engima, except they got rid of all the fun datasets and added more finance/economic datasets. Hmrph.

<comment><USER21> While the FRED data might be ~%50 of the datasets, most of those table are 200-4000 rows, it is not nearly %50 of the rows of data.

the remaining 50% of datasets have a lot of gems

quality in the breadth of data is important

state-wide liquor license, corp reg. OSHA is great data. AMS shipping records. FDA adverse events. Oil and Gas well locations/production. Consolidated weather reports since 1800... im almost certainly forgetting some.

</comment></comment></comment><comment><USER22> It's strange that they put Wikidata under natural language.</comment>


Ask HN: Methods for measuring objects to model in 3d? - <AUTHOR>

I want to model my 3DR Solo Drone to develop an accessory for it. I can model in Blender, but I'm unsure of a method to model it very precisely, especially the curved sides etc.<p>Are there any methods/practices that I can follow to accurately model the drone in 3D, or is my best bet to take a ruler to it and go from there? <comment><USER2> Hmmm. Interesting question, here. The 3DR Solo Drone isn't necessarily massive, but it's certainly too large for a small, accurate 3D scanner. My recommendation would be to take a two-step approach: obtain front, side, and top views (a back view and bottom view may also be helpful) and do a rough model from those references. After you've done that, you can take more exact measurements and translate them to your model! Hopefully having a rough model will make it so all you need to do is make fine adjustments.</comment>


China's Tencent to open first US-based AI laboratory - <AUTHOR> https://www.ft.com/content/5628724c-2f28-11e7-9555-23ef563ecf9a <comment><USER2> (off topic) Instapaywall at $6.45 a week, that's around $300 per year? Ouch. We need a different model for this. If this is micropayments, we need nanopayments. I could see giving ALL 10-20 or so of the top news publications I regularly dip into $3/year, but I won't give one of them $300 a year.</comment>


Former NFL Player, After Settling Title IX Lawsuit, Plots a Comeback - <AUTHOR> https://www.nytimes.com/2019/06/01/sports/mumphery-lawsuit-michigan-settlement.html <comment> throwaway-3891 I write this as someone who considers himself a liberal in the American political sense. As I see it, there is a serious tension in the way we think about sexual assault. We assert two things: 1. women very rarely make false claims of sexual assault, so we should believe their claims, and 2. higher rates of criminal convictions and incarceration among black people are largely explained by institutional racism, rather than truly higher criminality among black people. These things conflict in the apparent over-representation of black (and minority in general) students in campus sexual assault accusations [1].

Hard numbers don't seem very common here, but that article contains qualitative testimony: "In 2015, in The New Yorker, Jeannie Suk Gersen, a Harvard Law School professor, wrote that in general, the administrators and faculty members she'd spoken with who 'routinely work on sexual-misconduct cases' said that 'most of the complaints they see are against minorities.'"

That article offers also one pretty shocking statistic: "In the 2013–14 academic year, 4.2 percent of Colgate's students were black. According to the university's records, in that year black male students were accused of 50 percent of the sexual violations reported to the university, and they made up 40 percent of the students formally adjudicated. During the three academic years from 2012–13 to 2014–15, black students were accused of 25 percent of the sexual misconduct reported to the university, and made up 21 percent of the students referred for formal hearings."

As a result, I struggle to reconcile points 1 and 2 above. My best guess -- and it's similar to what that article hypothesizes -- is that encounters that already exist in some grey area of drunkenness and consent are more likely to be viewed as assault when the man is "other", i.e. black or minority. But this seems awful.

[1] [https://www.theatlantic.com/education/archive/2017/09/the- qu...](https://www.theatlantic.com/education/archive/2017/09/the-question-of- race-in-campus-sexual-assault-cases/539361/)

<comment><USER2> > _1\. women very rarely make false claims of sexual assault, so we should > believe their claims_

This is a big fundamental mistake. Women are just as capable as men of lying.

The principle of "innocent until proven guilty" was established over centuries of very hard won experience of why this imperfect principle works better than all the others that have been tried.

How sad that the left of 2019 has forgotten this history and now needs to relearn it.

<comment><USER3> Obviously the reason that #1 exists is because the systems meant to help victims of crime treated sexual assault victims as liars and people somehow deserving of their victimization, hence an overreaction.

However regarding statement Women are just as capable of lying as men, I suppose this is true but I also wonder if there aren't particular crimes that have different levels of lying about than others, and different types of lies. For example a companies office gets burglarized, an expensive ring was in the office but was not stolen. I would expect this to be a temptation to lie and say it was stolen, because it gives a benefit and who does it hurt, the insurance company whom everyone hates or the burglars who you would like to hurt at the moment.

The question to me is what is the rate of lying that people would want to do about about sexual assault. My gut feeling is not that much, but of course it's a charged subject so I bet nobody is really researching it and able to tell us what the rate actually is.

on edit: clarifying that the word overreaction is used under the supposition that the application of #1 if it results in a false statement being believed then that is an 'overreaction'

<comment><USER2> How accusations are handled of course also influence the rate of lying.

If an accusation is investigated thoroughly with evidence examined and carefully weighed, there are serious costs to making a false accusation (also, unfortunately to a truthful one).

If an accusation is just accepted at face value and the accused is automatically shipped away to whatever punishment is mandated, making a false accusation is much more attractive.

So the idea that "since women never lie about rape we can stop investigating rape accusations" is a bit like the anti-vax idea that "since measles is rare, vaccinating is pointless".

</comment></comment></comment></comment><comment><AUTHOR> It seems that most people don't understand how insane and discriminatory Title IX is: [https://www.newyorker.com/news/news-desk/laura-kipniss- endle...](https://www.newyorker.com/news/news-desk/laura-kipniss-endless- trial-by-title-ix)

<comment><USER4> I don't think Title IX is discriminatory. Rather, it has been applied in discriminatory ways.

<comment><USER5> I'm not sure that's a meaningful distinction. The literal text of Title IX is so short it can't possibly be discriminatory:

> No person in the United States shall, on the basis of sex, be excluded from > participation in, be denied the benefits of, or be subjected to > discrimination under any education program or activity receiving Federal > financial assistance.

Everything that people normally refer to by the phrase "Title IX", from Title IX offices to Title IX cases to Title IX procedure, is an application.

<comment><USER2> The text of Title IX is almost irrelevant.

What controls its application is directives from the Department of Education.

The controversial and important one here is the "Dear Colleague" letter the Obama administration sent out in 2011 that substantially chipped away at due process rights for defendants in sexual misconduct cases on campus.

[https://reason.com/2017/09/22/breaking-betsy-devos- withdraws...](https://reason.com/2017/09/22/breaking-betsy-devos-withdraws- dear-coll/)

</comment></comment></comment></comment><comment><USER6> It is disturbing to more and more find myself on the other side of the culture war.

There is nothing "liberal" about what is going on here and the people who are doing it are by numbers moderate not extremist.

Where do you go when you support free expression and freedom to pursue the good life however you see fit?

<comment><USER7> Quillette? Then people say you are "alt-right", although they are considerably more nuanced than most outlets.

<comment><USER6> Not for me. I don't want to engage heavily on the other side of these topics, I think the topics are a poison. There is real discrimination in the world and this isn't it.

</comment></comment></comment><comment><USER8> I live near East Lansing and have friends who know Keith Mumphery. In the swirl of the Dr. Nassar scandal some well meaning Michigan State administrator falsely ruled against him in this lady's appeal. I was impressed by this balanced article and I hope it finally means justice for him.

But as I said on Twitter, will the NFL listen? Sadly the scandals locally are far from over with at least two court cases against former MSU administrators ongoing.

<comment><USER9> > But as I said on Twitter, will the NFL listen?

I suspect an incoming lawsuit against the NFL will get their attention.

If they really cut him without any investigation, that's going to be a violation of his contract. Obviously, you won't win this if you actually get convicted for a crime, but the fact that he has been exonerated means the NFL is guilty of a contract violation and is going to have to cough up for it.

I suspect that will finally get the attention of some important people in the NFL.

<comment><USER10> That may get him some money but I doubt it would get him back on the field or even on a practice squad.</comment></comment></comment>


Myrddin: a systems language that is powerful and fun - <AUTHOR> http://eigenstate.org/myrddin/ <comment><USER2> Author here. If you've got any questions, I'd be happy to answer.

I'm a little sad that this got posted before I had a chance to write a good tutorial and upgrade the documentation. So, imagine that this project was just about to step into the shower when Hacker News came knocking on the front door. "A package? I like packages but.. damn it. I'm not presentable yet."

All the code in compiled binaries is in Myrddin, other than a few assembly stubs: There is no dependency on any installed library, although you _can_ bind to C if you want -- for example, [http://git.eigenstate.org/ori/cbind- example.git/tree/](http://git.eigenstate.org/ori/cbind-example.git/tree/)

But everything else is in Myrddin. For example, memory allocations: [https://github.com/oridb/mc/blob/master/lib/std/alloc.myr](https://github.com/oridb/mc/blob/master/lib/std/alloc.myr)

Or regexes: [https://github.com/oridb/mc/tree/master/lib/regex](https://github.com/oridb/mc/tree/master/lib/regex)

The various system calls are all here: [https://github.com/oridb/mc/tree/master/lib/sys](https://github.com/oridb/mc/tree/master/lib/sys)

And so on.

If you want to play with it, there's a playground here: [http://eigenstate.org/myrddin/playground](http://eigenstate.org/myrddin/playground)

And there's even a neat little regex debugger it ships with that I find useful:

        $ redump '[a-z]+'
        abc123
        Match failed:
        	abc123
        	<comment>^

<comment><USER3> "Are you tired of your compiler Just Working? Are you tired of having your standard library having the basic functionality you need? Do you long for the days when men were men, and debuggers operated on the assembly level? If so, Myrddin is for you."

That was awesome. Either you're delivering a refreshing amount of honesty or like to under-promise then over-deliver like me. ;)

<comment><USER4> It's a paraphrase of Linus Torvalds' announcement of Linux in 1991: [https://groups.google.com/forum/#!msg/comp.os.minix/4995SivO...](https://groups.google.com/forum/#!msg/comp.os.minix/4995SivOl9o/GwqLJlPSlCEJ)

<comment><USER5> "Why? Hurd will be out in a year"

Funny thing about that....

<comment><USER3> ...is that I could still include the statement in a release of my own. And then you could. And another could.

I might have a RISC-V laptop before they finish Hurd. It still won't even run on RISC-V.

</comment></comment></comment></comment></comment></comment><comment><USER6> Every new language suffers the same problem in its docs. The docs will show you:

* Hello world (yay, printing to console, wow!)

* How to declare functions (impressive.... most impressive </s>)

* Their type system (cool, you have ints, bools, floats... I'm drooling over here!)

Please folks, for your language's own good, please put the unique distinguishing features FIRST in your docs. I don't care what your printf looks like! Just show me the 3 things I can do in your lang that I can't do anywhere else, and then you might actually hook me into trying it out.

<comment><USER7> Couldn't agree more. Even worse are GitHub READMEs that usually go on and on about how to download, compile, install and run the compiler (how about making it so simple you could do it in 2 lines?!) and how to contribute code, without actually explaining what makes the language different.

<comment><USER8> I would argue that, for many users, manually installing software leads to a greater understanding of that software.

Take Linux/Bash as an example. What better way to learn Linux than to agonize over a Linux From Scratch installation, building CUPS, and successfully printing a test page to your printer?

<comment><USER6> Yeah but you already WANT to install Linux. This here language is fighting for my attention. It's not gonna win it by showing me Hello World.

<comment><USER2> I agree, and I've been thinking of replacing what I have with a better sample program. The problem is finding a _small_ example.

I mean, sure, I could post the code for my memory allocator, which showcases lower level raw memory manipulation, or a the formatting code, which showcases runtime type information, or some of the traits for iterables, but all of these take some time to digest, especially without first reading an introduction to the language.

What kind of example would you like?

<comment><USER9> Actually the "Hello ..." program is not so bad to show first. After all, it _is_ a tradition, and like other introductions in the social universe, greetings serve a purpose. "Hello world" instantly tells me, ah, "this language is a lot like C with some interesting differences".

From there quickly getting into the features that make the language unique will prevent reader boredom. Overall your site was nicely done. One aspect I particularly liked is that you described all of the syntax in the examples. I really dislike when a new language is presented without making clear what symbols mean, as if I would just automatically know.

It will be interesting to see how Myrddin comes along.

</comment></comment></comment></comment></comment></comment><comment><USER10> The designer has a stange aesthetics for those {} (function body) and ;; (block terminator), is there a FAQ?

Update: This may be the best answer... [http://eigenstate.org/myrddin/lang- checklist](http://eigenstate.org/myrddin/lang-checklist)

<comment><USER2> It makes closures relatively clean, since the syntax is usable directly as an initializer for constants.

        var f = {arg
            body
        }

        const main = {
             g({arg; body})
        }

<comment><USER10> So a semicolon plays three roles in the code (arg; statement; block;;), and it seems that ;; has higher precedence when ;;; is seen.

<comment><USER2> Sort of.

Endlines have one role: They end statements, although there are potentially many kinds of statement that they end.

';' and '\n' are alternative equivalent renderings of line endings. ';;' ends blocks. And yes, the lexer does the usual longest prefix match.

</comment></comment></comment></comment><comment><USER11> Myrddin language has very similar ideology in syntax to ACPUL.

[http://acpul.org/](http://acpul.org/) (see api & samples, also screenshots with minimal working code for DOTA game prototype)

But ACPUL is different, main idea in minimal touch programming on mobiles with full livecoding using self-development tools. Not only language. For example, editor & debugger is used and developed in real-time (also as other parts). By this, ACPUL syntax is very limited. It don't have strings, because strings is form of data. ACPUL don't have standart console log, because your console is whole GPU-accleated screen. And many others things.

I think Myrddin in right way, but additional tools is needed. I like it!

</comment><comment><USER12> The compiler on github [https://github.com/oridb/mc](https://github.com/oridb/mc).

</comment><comment><USER13> Is it memory-safe?

<comment><USER2> No. It is memory dangerous. Please use appropriate personal protective equipment when using this, or you may find you have lost all memory of your family.

More seriously: no, it makes no guarantees, but it tends to a much safer style by default: Bounds are checked, raw pointer arithmetic is ugly, clunky, and rarely used (although useful within, eg, the memory allocator), implicit conversions are gone, and null pointers aren't present in either the language or the library. You _can_ define your own, even in a generic manner, but nothing uses this ability. Uninitialized variables are generally a compile time error (barring some bugs in the data flow analsyis), and so on. You can poke holes in the type system, but these holes are explicit.

As a result, most code written is going to be far safer than, say, C.

</comment></comment><comment><USER14> >Just show me the 3 things I can do in your lang that I can't do anywhere else

You won't find such a new language. Most languages in use are already known to be Turing-complete. There is no new computation that "can't [be done] anywhere else [, except in some new language]".

It would be highly useful to give examples of things that are easier to do in your new language though.

<comment><USER15> We detached this subthread from [https://news.ycombinator.com/item?id=10954802](https://news.ycombinator.com/item?id=10954802) and marked it off-topic.

<comment><USER14> I guess you can't be bothered to provide your reasoning of how this is not on- topic?

Might as well just delete it.

Edit: How do I become a moderator here? Also, who is "we"? You and who else?

<comment><USER16> FWIW: Dan runs HN, all of it.

[https://blog.ycombinator.com/two-hn- announcements](https://blog.ycombinator.com/two-hn-announcements)

<comment><USER14> Ah. Royal we. Nice.

Downmod bot has got me in its sights.

<comment><USER16> There are multiple moderators, so no, that is not an example of the "royal we".

<comment><USER14> Where can I see the list of user downmods?

Also, does this mean Dan does not run all of HN? Or do the sub-moderators just fluff?

<comment><USER16> What's a "user downmod"?

<comment><USER14> A user downmod is when someone pushes the "upside down triangle" next to a person's name and/or point score for a particular post, or, in some other way decrements a person's "karma".

<comment><USER16> Charming!

<comment><USER14> ?

Edit: Know where I can find the feed of user downmods?

<comment><USER17> Theres no list of either "upmods" or "downmods". Think about the frequency that feed would be updated.

<comment><USER14> Karma is just mutable state with no backing event log?

Edit: I would also settle for a live stream of events; don't need the full history, if it doesn't exist.

<comment><USER16> What other people upvote or downvote on HN is really none of your business.

<comment><USER14> That's an opinion, I suppose.

When downmods serve to censor my content, they become my business. I don't know where you pulled 'upvote' from, though; I'm not sure there is much value in knowing them.

Edit: Someone is getting a feed of something...or they are just furiously refreshing this thread. hehe

<comment><USER14> Lots of downmods and zero answers in this thread. Classy.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Ask HN: Play music remotely for my Dad - <AUTHOR> Hi all,
I wanted to get some ideas from you all on the best way to do this. My dad is suffering from Parkinson's disease and lives in a different country (I live in San Francisco currently). He absolutely loves music. However, his caregivers are unaware of his music taste and in fact also don't have a good music collection or access to Spotify etc to play music that my Dad will enjoy. I have seen music soothes him while he sleeps and I wish I could play a good playlist for him from here. Can you think of a good solution?
Thanks in advance! <comment><USER2> Why not get him a tiny cheap media center PC or chromebook or such? You could probably even do this with a Raspberry Pi. Hook it up to a nice set of PC speakers. Set up remote access to it for yourself.

Then you can either download a selection of music to it or set it up to play from a streaming service just as you would on your own PC. If your dad wants to turn it on or off (or the caretakers need to), he can use the volume/power knob on the speakers.

Or if he likes a popular genre of music (classical? Classic rock?), maybe just get him an FM radio?

</comment><comment> linux-modder Are either of you familar with kodi or remote access /streaming via ssh ? If so one simple option would be to setup a ssh tunnel thru to a music store on your network and have him connect to it via key (preferred) or passphrase ( less preferred for security but doable). that way you would be able to update and / or curate playlists and or even allow him to remotely access a pandora /spotify account form your network / IP and not be technically voilating ToS.

</comment><comment><USER3> Considering there's no one technical on the other end to set stuff up, your best bet might just be to mail him a simple stereo and weekly mixed CDs.

</comment><comment><USER4> Can you load up a cheap tablet with songs and send that to the caretakers to press play?

</comment><comment><USER5> not sure if it still is the case, but last time I checked logging into Spotify from a second account begins to control the other logged in account, complete with stopping and starting play.

<comment><USER6> This is still the case. If you login to the same Spotify account on multiple devices, you can choose which device to play on, even if you're not on the same network.

</comment></comment><comment><USER7> Remote access like team viewer etc

</comment><comment><USER8> Sounds like a job for Icecast to me.</comment>


Stack Overflow Funding: Chat Q&A Transcript - <AUTHOR> http://blog.stackoverflow.com/2010/05/stack-overflow-funding-chat-qa-transcript/ <comment><USER2> I love StackOverflow, ServerFault etc, so i hope that the investment helps them to grow rapidly. StackOverflow has saved my life on many occasions.

I hope they spend significant time on evolving the Stack Exchange UI away from the parent sites. I can't help feeling 'oh here's another one' every time i come across a SE powered site.</comment>


C# Autocomplete Demo Using Bing Code Search Engine - <AUTHOR> http://codesnippet.research.microsoft.com/ <comment><USER2> One of my pet ideas is a new programmer's editor that uses proportionally as much compute resources as Emacs did in the late-80s. An amount of computing that would show up as a major line item on your department's timesharing bill.

1000 cores costs around $50/hr, so if it boosted my productivity measurably it'd be worth it. Searching all public github code for strings matching around my cursor seems like the sort of thing these 1000 cores should be doing.

<comment><USER3> It should be noted that public github repos are _not_ public domain and not even necessarily open source unless the author specifies a license.

<comment><USER4> It's part of the GitHub terms of service:

 _" By setting your repositories to be viewed publicly, you agree to allow others to view and fork your repositories."_

<comment><USER5> Permission to "view and fork" is not the same as permission to copy and paste into a proprietary software product (i.e. this may not be legit for use by "enterprise" developers)

</comment></comment></comment></comment><comment><USER6> the linked page is an old version. New version: [https://visualstudiogallery.msdn.microsoft.com/a1166718-a2d9...](https://visualstudiogallery.msdn.microsoft.com/a1166718-a2d9-4a48-a5fd-504ff4ad1b65)

</comment><comment><USER7> This seems like a really cool idea, but I'm not sure how useful it'd end up being. I also wasn't able to get it to actually work with anything other than the demo question they provided

<comment><USER8> Me as well.

</comment></comment><comment><USER9> I installed the plugin, restarted VS, but nothing happens when I type:

/// convert string to byte array

and press tab afterwards.

Am I missing anything?

Edit: actually something does happen... it inserts a tab, just like any VS installation would do.

Edit 2: from browsing through the comments it seems like it might be a ReSharper conflict. They said they would update it though, but in 8~9 months nothing has changed apparently.

<comment><USER10> Have you tried to uninstall and install ReSharper? In the past when ReSharper has prevented other plugins from working, that has been my solution.

<comment><USER11> I don't have ReSharper installed but get the same problem. The IntelliSense has improved but neither /// nor the "bring up IntelliSense and click the "How do I" button shown in the video works for me ..

</comment></comment></comment><comment><USER12> It also aptly demonstrates the issues with doing internet searches for code, the snippet in the demo has a bug!

Still, it's a crazy neat idea.

<comment> squeaky-clean The demo comes directly from the msdn, which is also funny. A cool feature would be the ability to rate the code snippet, and then searches could be filtered by rating. For snippets from websites with voting features, like Stack Overflow, it could display the number of votes, and maybe the comments for the snippet, or the rest of the post text. Often I don't want to just know "what code does X" but "how to do X".

Seems like the search could be better anyways. The StackOverflow result for that example is from a post with 4 other (more useful) examples, but it picks the last one. It was also not the selected Answer for that post.

This is still really cool, even in it's current state, I think I will find it useful.

</comment></comment><comment><USER13> I always thought that people should have more built-in search power when they code. It's funny that Microsoft is taking the lead over Google on this, though I guess Google doesn't have their own IDE.

Soon, modular projects will just consist of searching and plugging in components...

<comment><USER14> Android Studio.

<comment><USER15> Visual Studio is a lot more important to Microsoft than Android Studio is to Google.

</comment></comment></comment><comment><USER16> I installed on VS2013 Ultimate wo/Resharper and here is how it worked for me.

The '///' then tab does nothing but when I start typing in the IDE however it kicks in with a much better Intellisense complete with the Bing snippets like depicted on the VS Gallery. So perhaps they limited the slash+tab sequence?

</comment><comment><USER17> Why aren't we using git like hashes for compilers? Take referentially transparent parts of code, blob together and make a hash of the AST in a canonical form and a hash of the assembly, source, transforms used, and benchmark stats. The compiler would run continiously searching for new solutions.

</comment><comment><USER18> Nice idea. Sort of changes ideas as to what an IDE can/should do.

<comment><USER19> Related: Joe Armstrong's ideas on a global code database: [http://erlang.org/pipermail/erlang- questions/2011-May/058768...](http://erlang.org/pipermail/erlang- questions/2011-May/058768.html)

(Armstrong is the inventor of Erlang, by the way)

</comment></comment><comment><USER20> Does anybody know of a Sublime Text or Atom package that does this?

<comment><USER21> [https://github.com/azac/sublime-howdoi-direct- paste](https://github.com/azac/sublime-howdoi-direct-paste)

<comment><USER22> Probably also worth mentioning the commandline tool that I assume this (howdoi-direct-paste) is based on:

[https://github.com/gleitz/howdoi](https://github.com/gleitz/howdoi)

Previous discussion: [https://news.ycombinator.com/item?id=5027021](https://news.ycombinator.com/item?id=5027021)

</comment></comment></comment><comment><USER23> I typed

///how to parse json

and it waits...

</comment><comment><USER24> This is a great idea, but I can't get the website to work. I will try the IDE because this is actually pretty useful.

</comment><comment><USER25> Unfortunately I don't write much C# (took a few courses that heavily used it) so it's going to be hard for me to really get an idea of what this feels like to have access to all the time (i.e. know if it's really useful). I'd really love to see what it feels like with a scripting language like Python or Javascript

</comment><comment><USER26> I tried the web version, but it just says Loading. Do I need to install Silverlight?

<comment><USER27> No, it doesn't seem so. I have Silverlight installed but set to click-to-run, and the site will provide suggestions for the sample without running the Silverlight control.

</comment></comment><comment><USER28> I fear for the future of working with copy/paste programmers, but then my fears are probably unfounded because after all, this uses the Bing search engine. Searching for "///how to sort an array" will most likely just give me the top ten tourist hotels in Paraguay instead.

<comment><USER29> The problem is that only part of a solution to a problem is really in your control. Each has a potentially very large number of solutions, most of them are equivalent (renaming of variables, isomorphic control flow etc.), but some are inequivalent. For example in Haskell you could at least use iostreams, pipes, conduit or lazy io to solve the read file in and print its lines. You can't expect a developer to be familiar with every choice the Library implementors made, especially since lots of libraries do not really have stellar documentation.

</comment></comment><comment><USER30> Waiting for the Vim plugin :)

</comment><comment><USER31> Because we need to have more people using random copy-pasted code in their programs.

<comment><USER32> Yes, I rather my juniors cut and paste from StackOverflow because it means they are using a _modern_ coding pattern and can learn from it and see great commentary about why this was the "chosen" pattern.

How else are we supposed to learn?

Same goes to all these clowns who champion one language/platform over another simply because of ego.

<comment><USER33> "...because it means they are using a modern coding pattern and can learn from it and see great commentary about why this was the "chosen" pattern."

Unfortunately it means no such thing. I have seen junior engineers search stack overflow and click for easiest/fewest lines of code with no regard to why.

You took the OP extreme view and countered it with your own which is equally biased. Let everyone just be honest about it is all.

How else are we supposed to learn? Actively thinking and engaging others when we don't know.

<comment><USER31> My view is that it's probably not wise to automate copy-pasting code from the internet. It easily leads to just that: copy-pasting and not thinking. I'm sure that this view is not that extreme really.</comment></comment></comment></comment>


Giving away my Startup - <AUTHOR> Hey everyone.
Programmer/designer guy here who has due lack of motivation determined to give away an entire future company. (Although I will require a ~10% ownership of any legal entity you setup, but I'm willing to make that negotiable.)
I figure it'd be a nice thing to try, cause there's (in my mind) nothing wrong with the idea or the execution. I'd really like to see it fly!
But after 10 years of constant, excruciating grind – I have decided to make some life changes.
The app, called Trotter is for those on the move to 'Feel at home, wherever they are'.
The current state of things: The app was built from May 2017 - December 2017. Launched in iOS App Store December 2017.
It's currently hidden in App Store and all servers and services are switched off.
Here's a look at the app and it's features. https://www.youtube.com/watch?v=LuIycb4bLRk&feature=youtu.be
In terms of revenue model,
Users can contact up to 10 new users per day. After that it costs $x for 10 more.
I would like to add though that I won't give it away to give it away to anyone but to the person or group I deem most suitable in terms of ability to grow and nurture it.
I will not be taking an operative role in any future operation. At all. I want to make that perfectly clear.
Any questions, Let me know! /Philip
email@example.com <comment><USER2> Have you generated any revenue at all?

Perhaps you could ask for royalty instead of equity. It would effectively be the same revenue to you, but with less contractual complications.

Good luck! This is a very interesting proposition. Perhaps you could let HNers know how it works out down the track.

<comment><AUTHOR> Certainly, royalties is an interesting idea.

Nope, the app has not generated any revenue, I went on Christmas holiday the day after the app went live in App Store

0% of the growth strategy have been executed.</comment></comment>


Show HN: Cube.js – Framework for building analytics into your web apps - <AUTHOR> https://github.com/statsbotco/cube.js <comment><USER2> I noticed in the graphic comparing cube.js to the traditional systems, you have misspelt caching as cashing

<comment><USER3> Nice catch! This one is typo for sure :) Thanks!</comment></comment>


Calls between JavaScript and WebAssembly are finally fast - <AUTHOR> https://hacks.mozilla.org/2018/10/calls-between-javascript-and-webassembly-are-finally-fast-%F0%9F%8E%89/ <comment><USER2> dup of [https://news.ycombinator.com/item?id=18168400](https://news.ycombinator.com/item?id=18168400)</comment>


Dogs Align Their Poops with Earth's Magnetic Field and 22 Other Dog Facts - <AUTHOR> https://www.gethuan.com/dog-facts/ <comment><USER2> I'd love to see some sources on these facts. Interesting enough though.

</comment><comment><USER3> 3.8" is an absurdly small dog. How long did this dog live?

<comment><AUTHOR> "Miracle Milly" was born in 2011 and as of 2018 was still alive. Apparently a "controversial Korean laboratory" has successfully cloned her 49 times for a commercial breeder.

<comment><USER3> Ugh. Well, that's just heartbreaking.</comment></comment></comment>