Engineering the $325,000 Burger - <AUTHOR> http://www.nytimes.com/2013/05/14/science/engineering-the-325000-in-vitro-burger.html?hp&_r=0&pagewanted=all <comment><USER2> As someone who doesn't eat meat for ethical reasons, I couldn't be more excited by the potential of this.

<comment><USER3> As someone who eats meat all the time, I also couldn't be more excited.

First this stuff will be an inferior meat substitute.

Then it'll be an equivalent meat substitute.

Then it'll improve upon nature itself, and we'll be eating things that taste ten times better than bacon, and fifty times better than steak, and it will all be without a twinge of guilt.

<comment><USER4> Eagerly anticipating the Aspartame of meat. 2 pounds of bacon, 0 calories.

<comment><USER5> Not really an analogous comparison.

Aspartame is a more complex molecule synthesized to mimic certain properties of monosaccharides. Many would say it is inferior in taste to what it purports to replace.

Cultured beef, however, should be more or less the same cocktail of organic compounds that make up a dead cow. How these compounds are mixed, the proportions to which they appear, and what shapes they take are the interesting variables here, and could, with enough control, make something "better than real."

I'd draw instead the comparison to synthetic diamonds. Same stuff, potentially unnaturally flawless results.

</comment></comment></comment></comment><comment><USER6> My concern with this is the health or nutritional profile of the engineered meat. Technology is great, but we've also found out years later that an "innovation" is really a step backwards health-wise.

So, for example, the move from grass-fed to corn-fed beef allowed for vastly greater production in a much more efficient fashion, and even (for most people's palates) resulted in a better tasting meat. 20+ years later, we're finding out that the environmental cost of factory farm meat is much higher than we thought, and the corn-fed beef is much worse for you than grass-fed beef.

20 years from the meat cubes hitting the shelves, are we going to find out that cells grown on a straight glucose+vitamin mix are missing some micronutrient that helps our brain function correctly, or protects the gut against cancer?

Our bodies have had a very long time to adapt to certain models of nutrition, and when we tamper with them, we often find unintended consequences.

</comment><comment><USER7> > Dr. Post, who has conducted some informal taste tests, said that even > without any fat, the tissue "tastes reasonably good."

I feel like the lesson of Tesla is that the way to sell new technology is to make it _better_ than the status quo in some way. "It's reasonably good" will sell to a few environmentally-conscious people, but it's better if something is genuinely appealing in some way other than ethics.

It's easier to sell the carrot than the stick.

<comment><USER8> Read _The Innovators Solution_ (or Dilemma). There is more than one way to skin a cat.

<comment><USER9> Interesting choice of words given the subject.

In this case I guess you skin the cat by growing cat-meat in a dish, so you _don't_ skin any cats.

</comment></comment></comment><comment><USER10> Glad this is getting closer! Aside from the moral issues, running sunlight, water and feed through a cow is such an inefficient and inelegant way of producing meat...

<comment><USER6> Running grass through a cow is a remarkably efficient way of converting sunlight-capturing grass into calories we can actually digest. At least in the US, much of the scrubland can't support crops without intensive irrigation and fertilizer, but they can support cattle.

If you take away the fundamental question of eating meat, it's the _way_ cattle are raised today that's the problem.

<comment><USER11> Additionally, the meat of grass-fed beef is much better for you than corn-fed (actually I believe the real difference is in the fat).

</comment></comment></comment><comment><USER12> I know this sounds repulsive, but I think a good shortcut to lab grown meat would be similar to KFC's urban myth of "headless organisms fed by tubes" [1].

If you give it a bit of thought, it might be more ethical raising brainless and senseless organisms for human consumption. It also solves many sanitary problems in farms (antibiotics, crowded living conditions) and it allows us to give pasture lands back to nature.

Assuming that such meat was demonstrably safer for humans to consume, why would we choose to keep eating "nature's animals"? It's taboo what keeps us from doing this.

<http://www.snopes.com/food/tainted/kfc.asp>

<comment><USER13> I suspect this idea has occurred to the people working on this and it is not as easy as you assume - that there are problems in execution (so to speak) of this shortcut. Once the lab-in-a-test-tube thing is solved, it is a much cleaner and more elegant solution.

</comment></comment><comment><USER14> So who gets to eat it at the event?

</comment><comment><USER15> I have a lot of mixed feelings about developments like this. On one hand, I'll tell people that food for me is about quality and flavor. I'm not opposed to pink slime for what it is, but because it just makes for a poor result. I'm in favor of this on a sustainability level, but very opposed on a quality level—not consistency and reliable textures and taste, but that sort of unquantifiable property that things exude when they just feel right. That's quality and it's just not going to come from a lab, in my opinion. Meat isn't just about texture and a taste, it's about /terroir/. Meat can be raised sustainably and humanely, it just isn't as appealing to your local food conglomerate looking to work on economies of scale. We can all eat /better/, live /better/ and be /better/ without all the trade-offs if we'll put a little more thought into our lives and a have a little more moderation of consumption. Oh, and waste less.

<comment><USER16> Eh, I can give up a bit of "unquantifiable property" if it means that living things don't have to die for it.

<comment><USER17> You mean "living things that look cute on pictures"? Cell cultures are alive too, and have to die for you to consume them.

<comment><USER18> Are you seriously trying to compare individual cells and fully grown mammals? Or are you just trying to be contrarian.

<comment><USER17> It said "living things". If it said "sentient things", that'd be different.

</comment></comment></comment></comment></comment><comment><USER19> Can a vegetarian eat meat if it's grown in lab a dish?

<comment><USER20> Depends on the reason you're vegetarian. If it's for ethical reasons, then they probably would. If it's for health reasons, then probably not. If it's for environmental reasons, then it would depend on the environmental impact of in vitro meat.

<comment><USER21> Don't forget taste -- some vegetarians simply don't like the taste of meat.

<comment><USER22> And some find it gross to eat animal flesh.

<comment><USER23> Those poor nuts and fruit, with all their flesh being eaten :( eat a cow today to save them!

</comment></comment></comment></comment></comment><comment><USER24> This is actually an exciting and much needed development for the meat industry to be honest. Everyone is quite content eating highly processed to the point they're questionably even meat products like salami already and the effects of farming cattle for meat like horrible conditions for the animals, high costs of feeding the cattle, transportation and the environmentally damaging effects of said practices.

I wouldn't have a problem eating manufactured meat if it looked the same and tasted the same, if not better (which what seems to be promised). I already eat Spam and salami, what's one more processed product in my food arsenal?

</comment><comment><USER25> I wonder why he had to be funded privately. This seems to me as high priority research.

<comment><USER17> If he'd being funded - which seems to be the case - what't the problem with it being private? I can understand calls for public funding where the need is there but the private funds to serve it for one reason or another are not - but here the funds are supplied already, I see no problem.

<comment><USER10> I'm guessing the OP means: given the high stakes (environmental, financial, moral, and so on), why aren't governments more involved in this research? (They're already regulating and subsidising farming in pretty much every country of the world.)

<comment><USER26> "given the high stakes (environmental, financial, moral, and so on), why aren't governments more involved in this research"

In the US? The beef industry has a strong enough lobby.

<comment><USER25> Yes that's my guess too. Note that the lab is in Netherlands.

</comment></comment></comment></comment></comment><comment><USER27> I'm bullish.

</comment><comment><USER28> I currently eat meat but I would rather not eat this... they already inject all kinds of stuff in "real" meat... I can't imagine what they would do to a completely engineered meat..

</comment><comment><USER29> Please let there be some ahi tuna in the product development pipeline after that. They wouldn't be going extinct if they weren't so damn tasty.

</comment><comment><USER30> The amount of vivisection that will take place to bring this genetically modified monstrosity to market makes it too unethical to bear for me.

</comment><comment><USER31> I can't believe in the entire article they didn't mention who would be eating the 5 ounce burger. Who gets to try it!?

</comment><comment><USER32> I thought that sounded familiar..

<http://www.imdb.com/title/tt1402241/>

</comment><comment><USER33> Would this reduce cancers with correlated animal protein consumption?

</comment><comment><USER34> pass

</comment><comment><USER35> I wouldn't beta test it

</comment><comment><USER36> I'd be super happy about this.

Except if Monsanto took it over. Then we'd be paying license fees to go to McDonalds.

<comment><USER37> The company or companies that make this work commercially will probably have patents out the wazoo. And manufacturers that use their technology will have to pay them license fees, which would probably be included in the price of the product.

It has the potential to be economically much more efficient than growing livestock and massively increase the production of meat. The article doesn't talk much about the potential economic impact, focusing instead on environmental and ethical concerns, but considering the amount of land that is currently devoted to livestock grazing that would be able to be put to other uses when it becomes obsolete...it really is a game-changer that will make the human race much better off.

The people who make it work will deserve the billions they'll earn.

<comment><USER36> Did you take my comment to mean that I'm opposed to this technology or that I would actually expect consumers to pay for patents directly? It was merely a very poorly received joke, downmod away as humor is really not appreciated on hacker news, but at least know that it was sarcasm.</comment></comment></comment>


Official Visual Studio Support for MinGW, Cygwin, and MSYS2 - bauta-steen https://blogs.msdn.microsoft.com/vcblog/2017/07/19/using-mingw-and-cygwin-with-visual-cpp-and-open-folder/ <comment><AUTHOR> I recently started a project with MinGW just to _avoid_ using Visual Studio. I have a fairly beefy machine, but VS _still_ takes forever to load.

<comment><USER2> So far from my experience if you use C/C++ project you can:

1\. Either use Mingw-W64, which is "closer" to WinAPI for compilation for Windows platforms, also more actively developed

2\. Use the better build system. So far, I think Meson (+ Ninja to actually build) is very easy and fast even for the complex projects. Moreover it works great on both *nix and Windows systems - it can generate VS Projects, if you need (but I recommend Ninja still - it's so much faster), and you can use not the full Visual Studio installation, but just a Visual C++ Build Tools, with compilers only.

<comment><AUTHOR> Thanks! I'll have to look into those. I'm just using GNU make at the moment.

</comment></comment></comment><comment><USER2> They should just switch to Clang completely. MSVC is well known for lagging behind modern C and C++ compilers. Sadly their slowness on supporting standards created a huge population of C and C++ programmers who do not even know about existence of some very useful features. Luckily recently they started to improve the situation, but damage is already done, and with their reputation I don't believe they will be on par with Clang or GCC ever.

<comment><USER3> MSVC is roughly as quick as GCC to adopt most of the new standards. Migration is a pain either way because you have recompile all your software and libraries with new settings and train your developers in the new paradigm of the day.

<comment><USER2> From the link in post nearby yours one, it's clear it still misses features which are already implemented in GCC and Clang. Also, don't forget, that complete support for C99 landed only a few years ago, almost 15 years late. If this is not slow, I don't know what is slow then.

<comment><USER3> Microsoft never planned to support C99 in the C compiler, they have been pretty clear about that for more than 15 years.

GCC and Visual have a slightly different release cycle. GCC can move the minor version whenever they please and they do. Microsoft only add language changes in a new major releases, and sometimes port it back in a visual studio update pack, which are more spaced in time.

In both cases, the new release breaks the C++ ABI so updating is not something to be taken lightly.

There is also the debate of what "implemented" means. GCC can be obtained in alpha and beta, so you can test new features early long before they are finished or included in a regular release. All things considered, MSVC is maybe one year later on the latest cool thing. Not much.

<comment><USER2> Well, this is then even worse - why they do C compiler at all, if they are not going to support latest versions of standard. It's like shipping HTML4-only web-browser today. Pretty stupid, especially with all this marketing around. Either be in line with language development, or step down. Otherwise any action is harmful.

<comment><USER3> C and C++ have nothing to do with the frenzy of web technologies.</comment></comment></comment></comment></comment></comment>


Amazon Employees Vent About How a Recent Suicide Attempt Was Handled - <AUTHOR> https://www.entrepreneur.com/article/286392 <comment><USER3> I know that in the San Francisco Bay Area, everytime a student from a highly pressured high school (think Gunn, Palo Alto, Monta Vista) commits suicide by walking across the train tracks, the more publicity it gets, the more copycat suicides happen.

IMO this response by Amazon is the best. Let things slowly sink into obscurity and that way people don't get stupid ideas about getting attention.

<comment><USER4> I think coverage can influence effect here

Talk about it like "Someone stood on the tracks and killed themselves", and now every suicidal person who sees the track think about that. Many suicides are impulsive acts (helped by a state of mind, but few have the willpower to plan their suicide), so these tiny facts that can influence people in need can kill them. Avoiding specifics of the death can be enough to avoid copycat behavior, because it remains a bit abstract.

Instead, covering it as "we want everyone to know that there are these programs that we have in place for those suffering" (and of course having a real feedback loop). Then if only a couple people go in after reading this, you have done some good!

Our mental state is the combination of many tiny positives and negatives. Contributing even just a small amount might be enough to get someone into proper treatment.

(Amazon should also be doing its own work to figure out if changes are needed. We spend a good chunk of our lives in the workplace)

<comment><USER3> > Instead, covering it as "we want everyone to know that there are these > programs that we have in place for those suffering" (and of course having a > real feedback loop).

That should be done regardless of whether or not there are suicides/attempts. That's orthogonal to the original point, which is that attention paid to a suicide tends to encourage copycat suicides.

Just ignore the fact that they existed and you can do a much better job ameliorating these things. Why even give them any news coverage at all or acknowledgement?

<comment><USER4> I've had classmates pass away. The school would then run counseling sessions for those who wanted it. It wasn't to talk about how the classmate passed away, but to talk about how to accept this and manage it.

When a person close to you dies, you likely want some of these services.

Now, I don't think we should be talking about _how_ these cases happen (because of what you bring up). But people close to the situation _do_ get affected. They hear about it outside the news, and might personally know the person. They deserve help.

<comment><USER3> > It wasn't to talk about how the classmate passed away, but to talk about how > to accept this and manage it.

You're missing the point. By doing anything out of the ordinary when something like this happens, you're giving it attention and calling it out.

It'd be like making safe driving classes available everytime somebody dies in a drunk driving accident.

These classes and service should exist regardless.

</comment></comment></comment></comment></comment><comment><USER5>
        Why this society and these millennials believe they are entitled only to good things, positive experience and rosy road ahead?

Of course, only millennials care about improving workplace conditions, and all millennials are whiny entitled crybabies.

/s

<comment><USER6> I fucking hate flippant comments like that. A human being was pushed to killing themselves, and this asshole is sitting there pretending as if the reason was because someone looked at them funny.

<comment><USER3> > A human being was pushed to killing themselves

Where in the article did it say that? Rather, a human being decided to try (and fail) at killing themselves for reasons unknown.

<comment><USER6> Er, how does that 'clarification' change anything? They tried to _end their life_ , and this armchair psychologist is only too keen to assume that they're overreacting to minor workplace hardships. Shamefully disrespectful, attempting suicide is not a joke.

</comment></comment></comment></comment><comment><USER7> Sending out a company wide email for a suicide attempt at a company with hundreds of thousands of workers? It seems like you'd end up sending something like one of those emails a month. It'd get depressing pretty fast...

</comment><comment><USER8> It is unfortunate that so many people are looking to blame anything - <USER2> companies, government, whatever - anytime their worldview has to reconcile a hint of the imperfections of humanity.

<comment><USER5> Yes, we should just leave all problems that we face as is and put absolutely no effort into solving them and improving our well-being.

</comment></comment><comment><USER9> This cracks me up. An anonymous chat app that immediately authenticates its users. They are probably selling your chat messages back to employers behind closed doors.

</comment><comment><USER10> This is why I have stopped buying things from Amazon. I feel uncomfortable buying from a company that treats its employees this way.

<comment><USER11> It's too convenient, but I can't stop. However if the prices keep creeping up I might just drop them.</comment></comment>


Introducing Google Cloud Container Builder - <AUTHOR> https://cloudplatform.googleblog.com/2017/03/Google-Cloud-Container-Builder-a-fast-and-flexible-way-to-package-your-software.html?m=1 <comment><USER2> Disclaimer: I work at Google but I do not work on the product, so this is my personal experience.

I recently tried out Cloud Container Builder before it went public. I host a lot of small personal Docker projects on my private GitHub repositories and build Docker images for them using CircleCI and push them to GCR (Google Container Registry). Once you figure out how to do this with $your_favorite_CI_tool, it is easy. However it took me about an hour to build this Circle CI and I had to do some tasks like set up Service Accounts, copy keys around etc.

Google Container Builder eliminates this completely, you just connect your GitHub account, pick what you want to build (every commit, branch or tag) and specify the image name you want to build and forget about it forever.

It runs faster compared to free CI services I've used in the past (probably because image pulls are fast b/c Google Networking, but I'm not sure how much CPU is allocated for builds). Also if you're pushing to GCR, then it'll be faster to push images as well. So overall pull/build/push cycle is just fast. To compare, build for a very simple image I have (base image docker.io/library/python) takes 3m30s on CircleCI vs 1m10s in Google Cloud Container Builder. That's 3x faster.

<comment><USER3> Question: was this on regular CircleCI, or the v2 beta?

<comment><USER4> I tried setting up Docker deploys to K8S today on CircleCi v2 beta. I had a horribly difficult time getting it to work because running docker in the docker runtime is nearly impossible to do in a way that is compatible with Bazel.io. I ended up having to use the VM mode and it just felt like Circle v1.

<comment><USER5> You may be interested in trying GCCB with the bazel build step: [https://github.com/GoogleCloudPlatform/cloud- builders/tree/m...](https://github.com/GoogleCloudPlatform/cloud- builders/tree/master/bazel)

In a GCCB build, we volume-mount in the VM host's docker daemon socket, so you can use the docker CLI, and related CLIs, with no additional setup.

We initially tried a docker-in-docker approach here, but it was a bit too fragile. This attempt was quite some time ago, so it's possible things have improved.

</comment></comment></comment></comment><comment><USER6> I'm so surprised that both Docker's as well as Google's solution to this problem involves 0 caching.

Much of our container building includes fetching dependencies from various package managers which rarely changes across builds, yet takes up the majority of the build time. Most of the time thats good enough, but for cases where we want to immediately deploy a fix, it can be quite frustrating to having to spend all this time seemingly unncessarily.

Edit: Docker 1.13 has the new --cache-from option so it seems relatively straight-forward to do I guess?

<comment><USER7> I'd give this a look: [https://github.com/GoogleCloudPlatform/cloud- builders/tree/m...](https://github.com/GoogleCloudPlatform/cloud- builders/tree/master/bazel) (unfortunately key links to Bazel docs are 404'ing.)

Bazel is a general purpose build system that focuses on reproducibility (same build inputs -> same build outputs) and strict dependency specification (at various levels: file, subsystem, external package fetching etc.) enforced by sandboxing which allows for fast incremental builds. Bazel is the open-source version of Google's internal build-system.

More info here: [https://bazel.build/](https://bazel.build/)

How external resources are handled: [https://bazel.build/versions/master/docs/external.html](https://bazel.build/versions/master/docs/external.html)

Obviously Bazel requires some buy-in which may be unappealing (at least for existing projects: migration/supporting multiple build systems.) There are, however, serious benefits (and a larger, but nascent, ecosystem of related open-source tooling.) The biggest gap at the moment is supported languages/etc.

(I don't work for Google, I just like Bazel.)

<comment><USER4> We just open sourced our monorepo which uses Bazel - [https://GitHub.com/staffjoy/v2](https://GitHub.com/staffjoy/v2)

It has some major speed benefits. But it's not turnkey. Setting it up is hard. Its dep management in Go isn't compatible with lint, vet, etc. We never got node modules installing with Bazel.

<comment><USER5> If you send me an email (skelterjohn at google dot com) I'd love to help you get things working with that repo and GCCB.

</comment></comment></comment></comment><comment><USER5> Hi all, I'm on the eng team for this service. Happy to answer any questions, and I'll do my best to monitor the threads.

<comment><USER8> This looks great. One question: We're currently using Drone (the open-source self-hosted version), which allows us to define a number of parallel sidecar containers ("compose") as part of the build pipeline.

We start things like PostgreSQL and Elasticsearch like this because a lot of tests need to exercise the actual data storage instead of (or in addition to) mocking/emulating them. The container builder thus doubles as a CI server, since every build needs to be tested anyway, and tests need to go through very much the same steps (install dependencies, build source and so on). Tests benefit from being run on the exact same filesystem that the final code runs on, guaranteeing that dependencies are identical.

From what I can tell, such a setup is not supported by GCCB?

<comment><USER5> My general advice is to do integration testing after push.

You say that you value the testing harness having the same set of dependencies as your deployable artifact. With GCCB, you are not limited to one image with your build - it can be any number of them.

So, something like

      1. build the deployable as gcr.io/project/service:${REVISION_ID}
      2. build the testing harness as gcr.io/project/testing:${REVISION_ID}
      3. build the db container as gcr.io/project/db:${REVISION_ID}

Then, you can spin up a test environment using the ${REVISION_ID} tags, and do your integration testing there with the same nice guarantees.

That all said, it's certainly possible to do fancier things within the build itself. Using the gcr.io/cloud-builders/docker build step, you can run any docker command. We haven't seen the need to directly support a docker-compose build step, but making it would be easy (different entrypoint on the docker build step) and it would automatically connect to the worker host's daemon.

You can also run several of these docker build steps in parallel, or run one that does 'docker run --name=foo -d ...' and have the others run with '\--link foo:foo', etc.

We try not to limit the sorts of things you can do, and provide bonus features like the docker daemon's socket, service account credentials etc.

You don't even need to build a container image, if you don't want to. Just provide some container images and we'll run them for you, pipe the logs back to you, and let you know how it went.

<comment><USER8> Hm, that's a bit much. In particular as various apps have a different setup (we're a microservice shop and have tons of them, although a minority needs external dependencies for tests like these). Splitting it up like that also generates a dependency, which adds a burden on an already complicated workflow. Drone just solves that so much better by keeping everything in a single, simple build file.

</comment></comment></comment></comment><comment><USER9> Just as with Amazon solution, this seems to not have caching. Baking deps into a separate image is a good solution, but oftentimes you want to rely on docker caching itself. For example docker caches `npm install` quite nicely if you split up the copying of package.json to a separate layer, which allows for a very neat flow where small app diffs result in a fast build, while adding new npm packages results in a slightly longer build. Not possible with GCCB or AWS CodeBuild.. For now, a self-managed Atlassian Bamboo instance (which can and does do caching for each worker) seems to be the best way?

<comment><USER10> People use bamboo? Always been told to avoid it and use Team City. I can't find any good info on bamboo tho.

</comment></comment><comment><USER11> With appengine exposing instances and cloud container facilitating the deployment of software packages, i wonder how long it'll take until the two merge.

<comment><USER12> That's basically what App Engine Flexible [0] is. It's yet to reach General Availability, but all you have to do is define a bunch of containers and a dispatch.yaml file [1], and App Engine then takes care of deploying/routing/scheduling it for you.

[0] [https://cloud.google.com/appengine/docs/flexible/](https://cloud.google.com/appengine/docs/flexible/)

[1] [https://cloud.google.com/appengine/docs/flexible/python/how-...](https://cloud.google.com/appengine/docs/flexible/python/how- requests-are-routed#routing_with_a_dispatch_file)

<comment><USER13> This sounds useful and revived my interest in GAE. The Go example has health check code. It makes sense. Are there equivalent offerings from AWS and Azure? This looks likes a unique GAE feature.

</comment></comment></comment><comment><USER14> Could someone explain specifically what problem Container Builder solves?

<comment><USER15> I think it's sort of container building as a service. It moves the burden of building Docker container from your laptop (or from your CI tool) to the GCE. It takes away the docker push, as it goes straight to the GCE registry (I guess).

So if you need to do docker build too often, or maybe your container-release process feels a bit quirky, you might want to do it with the container builder.

It doesn't seem too ground-breaking, people probably already have it automated somehow, or they use sth from Docker hub ([https://docs.docker.com/docker- hub/builds/#remote-build-trig...](https://docs.docker.com/docker- hub/builds/#remote-build-triggers)), or quay.

<comment><USER5> In addition to the "typical" kinds of builds you'll get with existing services (ie run 'docker build' and 'docker push' for me), we offer a flexible and powerful configuration language: [https://cloud.google.com/container- builder/docs/api/build-st...](https://cloud.google.com/container- builder/docs/api/build-steps)

One of the goals is to make it easy to separate the build-time environment from the run-time environment. eg, keep the JDK out of your deployable.

We do this by letting you choose arbitrary container images to run with your source volume-mounted in. We provide some simple ones, like one that runs the 'docker' CLI, and we take care of authenticated docker pushes to GCR.

But, you can use whatever you like as a builder.

<comment><USER15> I went through the doc. Yes, in addition to Dockerfile, there is a way to run tasks in parallel. I'm not sure how killing of a feature that is, when every build tool lets you pass a job count. And beside that, I can't think of a legit use-case of what to run side by side in a container build. Maybe someone else knows/cares?

I've never built anything with JDK, but is cleanup of build dependencies really a problem in 2017?

For these goodies, you get a nice piece of vendor lock-in.

<comment><USER5> The difference between including the JDK vs only the JRE in your deployable image can mean hundreds of megabytes saved. If you're trying to roll out this image to hundreds or thousands of nodes, this can save a lot of resources.

Additionally, less in your deployable is better from a security standpoint.

re lock-in: We're definitely cognizant of lock-in issues, and were trying to make it as friendly as possible. In the end, our service is running a series of containers with your source mounted in. If you really want out, replicating this process is straightforward.

<comment><USER16> Agreed, my node builds tend to build to a ./dist including a separate package.json with all test/dev bits completely removed. From there I pretty much use the -onbuild containers from the dist/ path.

</comment></comment></comment></comment></comment></comment><comment><USER17> Does anybody know when they are launching in Australia? They have listed 2017 as the launch year, and I'm excited for launch :).

<comment><AUTHOR> We happen to have our major annual conference, Google Next, this week.

Tune in at [0] Wednesday-Friday :)

(Work at Google Cloud)

[0] [https://cloudnext.withgoogle.com/](https://cloudnext.withgoogle.com/)

</comment></comment><comment><USER18> Really interesting. Is it possible that you'll remove the "one build at a time" restriction at some point? I'm imagining builds across a large org some of which would need to be run in parallel. Or am I misperceiving things in one way or another? Thanks!

<comment><USER5> For now, we ask that those orgs get in touch with us directly for the purposes of easing these restrictions.

</comment></comment><comment><USER19> Before GCCB become GA, to workaround 120min/day restriction I wrote a command line GCCB like tool. [https://github.com/hiroshi/cb](https://github.com/hiroshi/cb)

</comment><comment><USER20> Haven't tested out GCP yet, but am familiar with AWS and have played around with Docker a little.

Am I correct in saying that all this does is effectively a:

>docker build >docker push

But builds it all server side, then stores it in Google's Container Registry?

<comment><USER5> No, that's not _all_ it does, though you can certainly use it to do that.

This service runs a series of build steps on your source. It's an arbitrary execution engine with container building dressing on top (UI, CLI, etc).

One of the build steps might do 'docker build'. In fact, most of the build steps that GCCB has executed do just that! But it's not limited. You can provide container images for custom build steps to do whatever you like in a repeatable, automated fashion.

</comment></comment><comment><USER21> I'd love to see that target the market for CI/CD tools which cost an arm and leg while offering a shiny UI but only a minor convenience. That would require an extended tutorial section and an ecosystem of plugins.

<comment><USER5> We agree! We maintain the official plugins (which we call "build steps" or "builders") here: [https://github.com/googlecloudplatform/cloud- builders](https://github.com/googlecloudplatform/cloud-builders)

Support is limited, more or less, to what I am really familiar with. If you have other use cases that we could support with other builders, I'd love to see a FR on that GitHub repo.

Also, you can use literally any container image as a build step. Details about how to make that happen are here: [https://cloud.google.com/container- builder/docs/api/custom-b...](https://cloud.google.com/container- builder/docs/api/custom-build-steps)

<comment><USER21> I like how Codeship approaches the problem - see here for inspiration [https://documentation.codeship.com/pro/getting- started/steps...](https://documentation.codeship.com/pro/getting- started/steps/) Still, they're super expensive and not very performant, so I welcome competition.

What I'm missing here is an easy way to link a container being tested with external containers (eg DB).

<comment><USER22> Disclaimer: Codeship employee. Glad you like our approach. We are constantly working on performance, for sure. Since we offer dedicated build machines, there are always options for better performance.

Appreciate the feedback, and feel free to reach out to me directly anytime if you have other questions or thoughts on how we can get better.

<comment><USER21> I did have a call some 3 months ago with your support rep and a sales person and provided extensive feedback - which was acknowledged and ignored. Which is precisely why I welcome new competitors that could wake you up from your comfy slumber ;)

</comment></comment></comment></comment></comment><comment><USER23> Could I use this to build images and push them to Docker Hub? The auto build feature at Docker Hub is awfully slow and often fails. Could this be a good alternative or am I missing the point of what this is?

<comment><USER5> We don't currently have a supported way to inject Docker Hub credentials into your build, but it's a feature we have our eye on.

</comment></comment><comment><USER24> Hah, interesting to note how much dogfooding happens at Google before they make these technologies available to outside customers. This is a really smart move on their part.

<comment><USER25> That's also what Amazon does, right?

<comment><USER26> Not exactly. I worked at Amazon back when code piplelines/ecs came out. What happens at Amazon is that they have a system in place, but it's very specific to amazon tools, and dependent on so many things. So they take they idea and reimplement it more genericly. But they don't then re-use the new product. You end up sometimes with something great, and othertimes not so much. Pipelines internal to amazon is awesome. One of the best things about working there. I still haven't found anything like it, though gitlab is getting close. AWS pipelines on the other hand, was built by the same people, but it really isn't great at all IMO, not even the same thing.

Now, core services such as ec2 and S3 are dogfooded for sure, but it is more like amazon doesn't eat their own dogfood until after the product becomes big.

</comment></comment></comment><comment><USER27> Was just reading about this today. Didn't know it was new.

<comment><USER5> It's been around for a while, just under the radar. The service has backed App Engine Flexible environments for almost a year, it's been GA for months, but this is our first public spotlight.

</comment></comment><comment><USER28> "First 120 build-minutes per day" : FREE

Nice for Hobby projects...

<comment><USER29> We haven't had many projects exceed their daily free tier so far, and we've been backing all App Engine Flexible deployments for a while.

If you do exceed your daily free tier, you're only billed $0.0034/minute, on a per-second basis, so we expect the cost of using this product to be very low.

(disclaimer: I work on this product)

</comment></comment><comment><USER30> By seeing so much confusing Docker articles lately, I have a feeling that the Docker containers are creating much more problems than they are solving.</comment>


We Just Witnessed the Fastest Stock Market Correction on Record - <AUTHOR> https://www.bloomberg.com/news/articles/2020-02-27/we-just-witnessed-the-fastest-stock-market-correction-on-record <comment><USER3> No matter what the official criteria for "correction" is, that word just doesn't feel right. "Correction" implies it's a fix for some insignificant thing, like over exuberance/a bubble. But that's not what's going on here.

One of the biggest manufacturing economies has essentially shut down. Companies are already warning about significant impacts on quarterly earnings. Those are actual, real things — not people just realizing they got a little too excited.

<comment><USER4> Something that's never totally clear to me, either on the upside or the downside: say the largest economy in the world is shut down. Even say it stays that way for three or four months. Does that actually mean that the US' public capital has dropped ten percent in value? It's my very strong suspicion that in two years we will be chugging along again as if this never happened. Why is 10% the right number to contract in that situation?

(In case you can't guess, I'm still 100% long.)

<comment><USER5> Has the US' public capital dropped 10%? No. But prices are the discounted expectations of future profits, and future profits are suddenly less than we expect them to be.

But it could be worse than that. How long did it take the economy to recover from the Black Death? At least 100 years. If too many people die, then yes, the public capital has actually been significantly damaged.

<comment><USER4> Ok, so I guess it makes sense that the price would drop a lot since near term profits should be weighted more heavily than long term. 10% still seems like a lot with exponential discounting unless this is going to hit a lot harder and longer than I expect.

<comment><USER5> Well... What I said is kind of the ideal world. The reasonable value of the stock is the time-discounted expectation of future profits. The _actual_ value is heavily influenced by what each person thinks everyone else thinks. So for the price to drop, people don't have to think it will affect future profits at all. They just have to think that other people will think that the price should drop.

</comment></comment></comment></comment></comment><comment><USER6> My go-to perspective whenever these kinds of headlines come up:

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

"Suppose you're just starting out as an egg farmer, and your goal is to build up a nice, profitable business. You want to build up a flock of hens so big that they are eventually producing thousands of eggs per month.

You buy your first 100 hens, and they get right to work. You allow those eggs to hatch so more hens can be born, and you also continue to buy hens from the farm supply store. Suddenly your phone rings and it's Farmer Joe down the road. "The price of hens has just dropped by 50%! You've just lost five grand on those hundred hens you bought last summer!"

Is this a sensible way to think about it?

No, of course not. You're happy that hens are cheaper, because now you can build your egg business even faster.

Stocks are just like hens. They lay eggs called "dividends", which are real money that can either flow automatically into your checking account, or automatically reinvest itself to buy still more stocks. Some younger companies don't pay dividends, but that doesn't mean they aren't making you money – they are just reinvesting their profits to grow even faster – and eventually become a Super Hen.

There's only one time you care if one of your shares is down: on the day you sell it."

[https://www.mrmoneymustache.com/2016/02/29/what-to-do- about-...](https://www.mrmoneymustache.com/2016/02/29/what-to-do-about-this- scary-stock-market/)

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

Unless you're actively playing the markets, or close to retirement, there's nothing really to worry about.

<comment><USER7> I'm a big fan of MMM however a better analogy would be a disease comes through that makes all the eggs 50% smaller, or leads to 50% infertility.

MMMs analogies tend to assume you're independently financially secure, which is his whole schtick. I love it. But there are people who'll lose their jobs and house in a recession and need to draw down their stock at the worst possible time, not leave it sitting there as the analogy implies.

<comment><USER8> > need to draw down their stock at the worst possible time

then they're over invested! If they don't have spare money to invest, they shouldn't be. If you lose your job and have to sell stocks to pay rent, then that money shouldn't have been in stocks in the first place. The stock market isn't a place to park emergency money. It's a place you put money _after_ you've paid for necessities and topped up emergency reserves, in the hopes of getting a greater return.

<comment><USER6> I do think there's still something to be said against the "there's nothing to worry about", which is that people do lose jobs and experience other repercussions during a recession. It's only in the case of investing - <USER2> prudent investing, at that - where there's nothing to worry about.

</comment></comment></comment></comment><comment><USER9> We've had single day market "corrections". So not the fastest stock market correction on record. But then again, it depends on how one defines "correction".

1987-10-19 −22.61%

1929-10-28 −12.82%

1929-10-29 −11.73%

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

Wish news just stated facts instead of looking for every angle to spice things up for clicks. But then again, bloomberg and most "news" companies aren't in the news business, they are in the ad business. What's wrong with "X index has entered correction territory with Y percentage decline"? Or something like that?

<comment><USER10> What's up with October? It looks incredibly overrepresented on the top 20 list as well.

<comment><USER11> October is historically a scary trading month, but I've never read anything arguing there's a good reason for it.

<comment><USER12> In general there isn't really a good reason for any of it. Most of the markets are based on feelings.

</comment></comment></comment></comment><comment> t-writescode I'm not sure a run to the banks caused by a virus panic counts as a 'correction'. More like another wild, speculative swing.

<comment><USER13> A correction is defined as a drop of 10% (and for reference, a bear market is a drop of 20 or more).

</comment></comment><comment><USER14> I always tell people: zoom out. The reaction to this dump is quite hilarious when you realize how long this bull has been going.

<comment><USER15> Literally only a six month retracement.

</comment></comment><comment><USER16> The article presumes the correction is over. It isn't.

<comment><USER17> How many puts have you bought?

<comment><USER18> I put a small portion of my short-term portfolio into shorts on a basket of high-valued, money-losing, non-dividend paying, declining companies last friday. I can't predict how this will pan out but at least it will be a hedge. A full 80% of my non-retirement portfolio was in a short term treasury bond ETF (SHY) after I blanket-sold everything in January to try to make a down payment on real estate. I figured I could handle the extra volatility of SHY over SHV.

</comment></comment></comment><comment><USER19> We're just as likely to have the fastest correction in the other direction any day now.

<comment><USER20> The operative phrase here is "Never try to catch a falling knife". [https://www.investopedia.com/terms/f/fallingknife.asp](https://www.investopedia.com/terms/f/fallingknife.asp)

You're right, it's likely we'll get a reversal before too long, but how deep this goes and how long it lasts is up in the air.

<comment><USER5> > ... up in the air.

After the "falling knife" analogy, that phrase took on a whole new meaning...

</comment></comment></comment><comment><USER18> Now's one of the best times to start evaluating long-term mutual fund managers based on performance. It's hard to tell who's swimming naked until the tide rolls out. Does anyone have any funds they personally use that they recommend I look at?

</comment><comment><USER21> This may turn out to be the greatest get rich quick scheme since the great recession.

</comment><comment><USER22> Almost as fast as a car correcting into a telephone pole!

</comment><comment><USER23> The more machine trading is in play the faster it will fall

<comment><USER24> FWIW: the relative obsession with investment strategies as explanations for things like this is IMHO one of the clearest signs we're past the peak of an expansion and "due" for a correction. This happened in 2000 and 2008 too -- everyone online became an expert about this stuff. Then a year later no one wanted to be seen talking about money.

<comment><USER25> The same with Bitcoin. It was massive, everyone had an opinion, articles on hn/reddit every single day, now I never see crypto news unless I seek it out.</comment></comment></comment>


The Lie of the API - <AUTHOR> http://ruben.verborgh.org/blog/2013/11/29/the-lie-of-the-api/

<comment><USER2> Initially the author came across as having a vendetta against developers, like we are lining our pockets building APIs that nobody uses and have no value, but, of course, APIs are often either just tacked on to a product at very low cost, or are the backbone of the product, where the API severs both external requests which want the data, as well as the main website. I've actually never built a website where I didn't build an API which served my content to a front-end single-page application.

The cost of working with APIs isn't on the side of the API creator, it's the consumers who are interfacing with the API who likely incur the most cost, often due to poor documentation or misunderstanding how the API should be used. Even researching all the available APIs and the requirements of each can be time consuming, but at the same time, it's still definitely cheaper than either building an entire service yourself or scraping webpages.

So what is the author's solution? He doesn't seem to have one. I think you can skip this article if you haven't read it yet.</comment>


From an Unlikely Source, a Serious Challenge to Wall Street - <AUTHOR> http://www.rollingstone.com/politics/blogs/taibblog/from-an-unlikely-source-a-serious-challenge-to-wall-street-20120720 <comment><USER2> I'm not quite sure how this works. So the house is seized via eminent(1) domain and the low fair market prince is paid. Is this not paid to the owner, who then still owes the bank the extra he overpaid for the house during the bubble? How will it help that the government sells back the house him at the new market rate if he's still bankrupted trying to settle the old loan? It seems to me this just makes it all worse by bankrupting everyone who's underwater all at once.

(1)eminent = everywhere (our domain is everywhere), imminent = ready to take place.

<comment><USER3> "Here's how it works: MRP helps raise the capital a town or a county would need to essentially "buy" seized home loans from the banks and the bondholders (remember, to use eminent domain to seize property, governments must give the owners "reasonable compensation," often interpreted as fair current market value)."

The government is seizing the _loan_.

</comment></comment><comment><USER4> While I am not a big fan of how imminent domain has been used in the past this idea actually seems, at first glance, to be a creative use of it to do an end around the big banks.

I am skeptical but, at the same time, hopeful this plan can work and isn't just another way for financiers to screw over the average joe. I guess that goes to show how little trust I have in banks and public officials :(

</comment><comment><USER5> Ownership is -- remains -- a social contract. Push it too far, and society will break the contract. Put simply, you'll no longer be seen to be acting in society's interest, which is about where your ownership -- absent the ability to muster brute force -- ends.</comment>


Perl 6 in 2009 - <AUTHOR> http://perlgeek.de/blog-en/perl-6/perl-6-in-2009.html <comment><USER2> Could people who are building big new projects in perl today please chime in? I would like to know what motivated your choice of language.

I haven't seen anything new and interesting built in Perl in upwards of five years, but I'll be first to admit I'm not in that space.

<comment><USER3> lots of interesting and new stuff happened in perl5 land in the last 5 years. Major perl5 releases and lots of interesting projects. To name a few (mainly related to the web, which is the area that matters to me):

\- Moose <http://bit.ly/8J7qJu>

\- Plack <http://bit.ly/4NhAOl>

\- Tatsumaki <http://bit.ly/4zJbWG>

\- AnyEvent framework <http://bit.ly/4ODUiX> (with a lot of extensions: XMPP, irc, etc...)

\- strawberry Perl on windows

\- About day to day usage: NYTProf3 is out <http://bit.ly/6drmyT>

The community is vibrant as you can tell by looking at github, stackoverflow, perlmonks, <http://ironman.enlightenedperl.org/> etc

Yann</comment></comment>


Bill could mean jail for Internet flamers - <AUTHOR> http://scitech.blogs.cnn.com/2009/05/12/bill-could-mean-jail-for-internet-flamers/ <comment><USER2> I think this could raise some first amendment issues. Whereas it is a valid point that unfortunate consequences can sometimes arise when people get harassed in forums such as MySpace, legally, people have a right to be rude. It might be deplorable, but it is not illegal, per the first amendment.</comment>


Google says it's done making tablets and cancels two unreleased products - <AUTHOR> https://www.theverge.com/2019/6/20/18693399/google-abandoning-tablets-pixel-slate-failure <comment> n-gauge As phones have got larger they creep into the tablet space, 10 inch size tablets are tiring to hold, for which a small laptop seems better imo.

</comment><comment><USER2> Yep, if Google doesn't believe, OEMs will follow next.</comment>


Introducing the Donation Gift Certificate – No more lame gifts on "V" Day - <AUTHOR> http://blog.inpakt.com/en/this-years-valentines-will-have-no-excuse/

<comment><USER2> Upvoted, that's a great improvement over the last version i saw here, congratulations!

<comment><AUTHOR> Thank you so much jimmypt! We are working to make it even better :)</comment></comment>


Show HN: Where is the Fastest Internet (At?) - <AUTHOR> https://www.whereisthefastestinternet.at <comment><USER2> So, you have a speed rating, a dot rating, and a number indicating how many places there are, for each city.

What you don't explain for us is how these ratings and numbers are calculated, and whether it's better to have more dots with lower speeds, or higher speeds with lower dots.

The blog post helps somewhat, but this should be linked directly from the website, if not also summarized on the website.

</comment><comment><AUTHOR> Hey guys, so I pitched this idea a week ago at Startup Weekend Tokyo "Travel Edition" and people thought it was pretty cool. Built a prototype and demo'ed it, then decided "why not release this" and bought a domain name!

A little HTML/CSS, and ta-da. Hope you dig. If you think there are some cool ideas here and want to see more, let me know in the comments!

<comment><USER3> I don't get this. Is this the list of countries with fastest internet connections? In that case, your website data is wrong.

Afaik, various sources from early 2017 says that South Korea currently have the fastest network connection availability, while your website says it's in New York.

Also, no Romania in Europe list while it definitely have +/\- same network connection like Latvia which is also in top 5.

<comment><AUTHOR> I wrote a bit more about it here: [https://medium.com/@cafewifi/where-is-the- fastest-internet-a...](https://medium.com/@cafewifi/where-is-the-fastest- internet-at-35194487deb2)

Also, I centered the "Load More" button to make it easier to spot.

</comment></comment></comment><comment><USER4> why the pictures? a simple chart would do the job (better?)</comment>


Ask HN: What do you use for managing personal finance/money? - <AUTHOR> Howdy HN!
I'm looking for a tool to manage my personal finances. Something that lets me keep track of money coming in and money going out, possibly in a decently detailed way.
The idea is to keep track of mainly my taxes, knowing at any moment how much I owe and how much I have as "usable" money. But since taxes can just be seen as an expense, this can be generalized and include also all other expenses. I would like to be able to track my outlay and earnings in categories divided by date (e.g. 2017-05-13, fuel, 30EUR). Ideally, I would also like to be able to extract reports based on the metric I prefer (e.g. Give me the total amount of money gone in taxes in this given period).
What do you use for this job, if you use anything at all? I'm curious to hear about how you tackle this problem even if you don't use a particular tool but, say, a spreadsheet synced somehow.
The ideal tool would be cross platform (Android/Linux/Windows), work offline, and -- I realize this is highly unlikely -- possibly with an eye to privacy. <comment><USER2> GNUcash currently, but working on learning command line accounting such as ledger in emacs and beancount. I feel like the CLI accounting on text files with a good backup/versioning system is ideal over gnucash, but it does take more work.</comment>


How the Carolinas Fixed Their Blurred Lines (2014) - <AUTHOR> http://www.nytimes.com/2014/08/24/opinion/sunday/how-the-carolinas-fixed-their-blurred-lines.html?_r=0 <comment><USER2> Maybe not relevant, but I grew up in Greenville, SC, which is somewhat close to the border with NC. Once, I went on a Boy Scout camping trip near a Civil War battlefield in the mountains along the border. After visiting the history center on the site, our scout leader told us to hike back to camp, with an older boy in the lead (while the scout leader drove back). Because the hike in had been quite long and seemed roundabout, a small subset of us decided to take a "shortcut" that our friend Finley insisted would get us back to camp sooner (which I guess was important because we had vital "set things on fire" projects to get back to).

We set off from the main group, and away from the well-defined trail; I don't remember if the boy in charge objected to our innovative approach to returning to camp, or just couldn't be bothered with it, but they went on ahead without our small adventure crew. The main group made it back to camp, as expected, about two hours later.

Our group, on the other hand, was still wandering through the woods as dusk approached about four hours later. Before panic set in, we luckily heard a truck off in the distance...so, we headed for it, and found a road. We assumed it was the road where the campground was located, and figured we'd be back to camp in no time (surely we were really close, given how long we'd been walking). An hour later, we saw a sign..."Welcome to South Carolina". We'd walked from South Carolina into North Carolina, and were many miles from camp.

The scout leader found us a few hours after dark; we were on the wrong road, going the wrong way, and had likely crossed back and forth from NC to SC a couple of times in our hike. We got back to camp around 11:30PM. Henceforth, getting lost was called a "Finley Shortcut".

This story doesn't have any real point, but I'd guess the border that we crossed a couple of times during that hike has since changed.

<comment><USER3> > We'd walked from South Carolina into North Carolina

Y'all should have stuck around for the superior pulled pork experience!

<comment><USER2> I'm not sure which state you're saying has superior pulled pork, but I think those are fighting words in either case.

I'm fond of both mustard and vinegar sauces. Tomato is good, too (that's actually what's popular where I'm from in upstate SC and western NC).

The last time I ever ate red meat (or large mammal meat) was a pulled pork sandwich 23 years ago. I became a vegetarian a few months later, after having étouffée in Louisiana on my way to Texas. I still partake of BBQ pretty regularly, and make my own sauce, but it's always tofu, seitan, jackfruit, etc.

<comment><USER4> The mustard sauce over pulled pork is definitely producing plenty of fighting words at the moment: [http://www.newyorker.com/magazine/2017/04/24/americas- most-p...](http://www.newyorker.com/magazine/2017/04/24/americas-most- political-food)

<comment><USER2> Melvin's and Maurice's were always must-stops for my family. Maurice's in Columbia on our way to the beach (either Myrtle or Charleston or Hunting Island) and Melvin's regularly when my dad was working in Charleston for a couple of years. Both at their original locations, AFAIK. I didn't know anything about the politics of Maurice at the time, but read about it later (that very article, I think, was linked on HN a while back).

So, yeah, even vile racists make good BBQ in SC, and nobody held their racism against them through decades of successful operation. I always found that history pretty fascinating, even before the racism came up...brothers kinda duking it out in a BBQ turf war, in a state where BBQ really matters.

</comment></comment></comment></comment></comment><comment><USER5> "two states better known for philandering politicians and restrictive voter ID laws than progressive politics"

What does this quip add to the article? Was it a necessary insult? Would the author make the same type of insult about Oregon and California?

<comment><USER6> To add some levity. It's an opinion piece, not a feature article. The whole subject is a bit ridiculous to begin with, so the quip is in the spirit of the subject. Think of it like late show talk hosts.

Not everything is always lawyer speak. Sometimes, jokes are okay.

And yes, in an article about prop 64, a similar remark might very well be found about California.

<comment><USER5> Jokes I'm fine with, I just don't respect authors who go out of their way to insult folks. I think clock_tower's comment has quite a bit of truth in it. I would imagine the doctor from the story didn't find the whole subject ridiculous.

> And yes, in an article about prop 64, a similar remark might very well be > found about California.

I very much doubt that.

<comment><USER7> _Jokes I 'm fine with, I just don't respect authors who go out of their way to insult folks._

But both of the Carolinas have passed or attempted to pass needlessly restrictive Voter ID laws. So perhaps we should consider it "unnecessary commentary" or "snark" instead of an insult?

<comment><USER8> Requiring ID to exercise the right to vote is no more 'needlessly restrictive' than requiring it to exercise the right to bear arms or the right to drink. Canada, Germany, Switzerland & the Netherlands are among the countries which require ID to vote, and none of those is a dark dystopia of voter restriction.

<comment><USER9> I would be completely fine with requiring ID to vote if that ID was provided to you at birth or the age of majority, maintained at little to no cost by the state, and was convenient to replace or update due to marital or name change.

Instead, the states that are implementing voter ID laws are primarily states that used techniques like poll tests to disenfranchise minority voters, have limited access to ID issuing facilities in areas where voters tend to lack ID, and require documentation for issuance that people may not possess.

Seen through that lens, it's difficult to see America's regional interest in voter ID as anything other than a disingenuous attempt to continue to disenfranchise minority voters.

<comment><USER10> Sorry, no, that argument is baseless and "fake news" to coin the term. Anyone who looks into it or lives in the state knows it's so easy to get an ID in NC and you have months to get it done between election days. It's even free if it's not tied to a DL. It's seriously no harder than registering to vote, and you can do both at the same time.

[https://www.ncdot.gov/dmv/driver/id/](https://www.ncdot.gov/dmv/driver/id/)

Most of the commentary about voter ID laws here is from ignorant politically motivated journalists who find it easy to look down and judge southern states because everything they're doing must be racist and we're morally superior in every way. They don't even bother to look at what it's arguing. Sorry, but it gets a little tiring, and when it comes to this attitude of regarding southerners as ignorant and prejudice it's often the most ironic example of the pot calling the kettle black. It's harder to do something so basic as get utilities turned on in a new apartment to say nothing of a passport, and an ID would be required anyway for that, that anyone of basic competence can do it and it isn't some great imposition on them. It's not a literacy test or requiring proof of land ownership or anything like that.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Follow-up: The changes clarifying the border between North and South Carolina were put into place last year: [http://www.newsobserver.com/news/politics- government/article...](http://www.newsobserver.com/news/politics- government/article120028483.html)

</comment><comment><USER12> Here's a nice followup article that discusses the outcome for Lewis Efird's gas station, as well as other people impacted by the change.

[http://wfae.org/post/corrected-nc-sc-boundary-set-now-big- ch...](http://wfae.org/post/corrected-nc-sc-boundary-set-now-big-changes-loom- some)

</comment><comment><USER13> I grew up in Waxhaw NC. Andrew Jackson was born in the area and both North Carolina and South Carolina claim to have the birthplace of the president.

</comment><comment><USER14> I honestly do not understand why they felt compelled to disrupt so many people's lives to solve a paper problem, instead of just changing the official description of the border to match the de facto alignment?

I'm looking for more than just "grabbing tax dollars" or "justifying their existence" reasons. What legally compels the states to solve the problem this way instead of in a way that is least disruptive to the people who actually live there?

</comment><comment><USER15> Not sure if this spot was included in the change or not, but for a long time there was a little piece of South Carolina that was not accessible by land without driving into North Carolina first.

[https://www.google.com/maps/place/North+Myrtle+Beach,+SC/@33...](https://www.google.com/maps/place/North+Myrtle+Beach,+email@example.com,-78.5707029,15z/data=!4m5!3m4!1s0x89006e69bc6c66fb:0x7e185099e59b240c!8m2!3d33.8156663!4d-78.6799622)

<comment><USER16> International borders are not immune to this kind of thing either. Point Roberts, WA is only accessible by driving through Canada. [https://goo.gl/maps/ZZqPvck2oU82](https://goo.gl/maps/ZZqPvck2oU82)

</comment></comment><comment><USER17> Random tidbit: Cackalacky is a synonym for the Carolinas, but the origin of the word is uncertain:

[http://carrborocommons.org/?p=2490](http://carrborocommons.org/?p=2490)

[http://www.word-detective.com/2010/09/cakalacky/](http://www.word- detective.com/2010/09/cakalacky/)</comment>


Scratched glasses give perfect vision for any eyesight - <AUTHOR> http://www.newscientist.com/article/mg20827806.000-scratched-glasses-give-perfect-vision-for-any-eyesight.html <comment><USER2> Curiously, company site [1] seems to be already pretty old (all info points to 2006, domain was registered in 2004) and it describes pretty much the same technology.

So New Scientist got it wrong when telling startup was founded just now to commercialize it.

I wonder why it didn't catch on (if this approach is really so good). It does sound a bit "too good to be true".

[1] <http://www.xceedimaging.com/>

<comment><USER3> One possible problem with the technology is that even if it gives the wearer perfect eyesight, it seems to me that the lenses would appear frosted to others. So while you might be able to see through them just fine, they would look scratched to other people, and they wouldn't be able to see your eyes.

Additionally, it may not work with just anyone's eyes. For example, I remember a study in which scientists fitted a test subject with lenses that flipped the image upside down, and their brain started adjusting the image within a few weeks. Also I know a person who wears two different contacts, one in their left eye for far sight, and another in their right eye for near sight, and she says that this allows her to see both near and far just fine.

But not everyone can do this without getting a headache, eye strain, etc, and from the article it appears that part of the operation is that one's brain has to adjust to process the image. It may be that this scratched groove system isn't quite compatible with everyone. And even if one does manage to retrain their brain to the new system, what happens when you take the glasses off? In the study I mentioned earlier, after the test subject retrained their brain to see correctly while wearing lenses that turned things upside down, when they took the glasses off everything appeared upside down to them.

So the glasses might have a similar effect if they rely as heavily on brain adaptation as I suspect they do.

<comment><USER4> Strangely, the article also claims that it works with a cell-phone camera. How does this fit with the brain adaption?

<comment><USER3> The article says:

 _the interference pattern tends to cancel out some of the light passing through the lens, which reduces the contrast of images viewed through it._

The example image also shows this effect.

The claim is that:

 _the brain adapts to and minimises the reduced contrast within a few seconds._

My point was that this adaptation may not work for everyone or may not be comfortable. Also when the glasses are taken off do your eyes have to readjust to normal contrast?

<comment><USER4> Yes. Too bad they did not have a comparison to the example image in the article.

</comment></comment></comment></comment></comment><comment><USER5> This is amazing.

It seems to me that the given explanation ("patterns of both constructive and destructive interference") would depend strongly on the exact frequency of the light. So maybe it is not correctly stated.

However, the basic claim seems accurate. Here is Zalevsky's paper:

<http://www.opticsinfobase.org/abstract.cfm?URI=ol-35-18-3066>

You have to pay to get the full text, but the abstract says:

> This technology is capable of simultaneously correcting all refractive > errors, such as myopia, hyperopia, presbyopia, regular/irregular > astigmatism, as well as their combinations.

My goodness.

Curiously, the abstract suggests that this idea is "designed to employ neural adaptation processes". It also says that the effect "is achieved by exploiting the capacity of the visual system for adaptation to contrast".

Wow.

<comment><USER6> Agreed, I can't figure out how this can work for all wavelengths. But, then, I can't figure out how it would work at all, so what do I know? Perhaps this calls for a trip to the MIT library.

One wonders if too much reliance on "adaptations of the visual system" is going to cause problems. For example, will you wind up training your brain in such a fashion that you'll need several hours or days of retraining to see with your glasses _off_? Visual processing is famously plastic, but one wonders what the timescale of the plasticity is.

<comment><USER7> Right now, you can get opaque black plastic glasses with an array of pinholes. These work to correct a variety of focusing problems, since pinhole cameras have an infinite depth of field. The drawback is that pinholes let in very little light, so although the image is in focus, it is very dim. And, of course, the image between the pinholes is not as good as it is near the pinholes.

<http://en.wikipedia.org/wiki/Pinhole_glasses>

It sounds like this new product has a similar set of advantages and drawbacks, and maybe even works in a similar fashion.

<comment><USER8> I don't have access to the full text article so I can't say for certain but the article makes it sound like the effect is accomplished in a fashion similar to phase contrast microscopy.

<http://en.wikipedia.org/wiki/Phase_contrast_microscopy>

The basic concept of phase contrast is that certain objects (notably, monolayers of biological specimens) don't greatly affect the amplitude of light passing through them. IOW, viewed under "normal" optics, they would appear transparent.

On the other hand it was noticed that these objects do cause the _phase_ of light to shift as it passes through the specimens. The basic idea is that you create a system that has light passing through the specimen in two paths. The major light path is dimmed and accelerated by half a wavelength. This gives us a situation of theoretically perfect destructive interference at the point of observation. When the reference light waves pass through a phase object, it changes the phase of the light and introduces perturbances to the completely destructive interference which results in an observable image of the specimen.

The reason these glasses remind me of phase contrast is the concentric circles milled to specific depths and widths (which is one of two important pieces of a phase contrast microscope, the objective). Also, the article describes the effects based in terms of phase:

        The rings shift the phase of the light waves passing
        through the lens, leading to patterns of both
        constructive and destructive interference. Using a
        computer model to calculate how changes in the diameter
        and position of the rings alter the pattern, Zalevsky
        came up with a design that creates a channel of
        constructive interference perpendicular to the lens
        through each of the 25 structures. Within these
        channels, light from both near and distant objects is
        in perfect focus.

I never took the optics courses in school so I'm not able to connect how the phase properties are leveraged for focus. The only thing that comes to mind is that they're using phase differences to selectively destruct out of focus rays and reinforcing in focus rays (hand wavy factor: 8.6 of 10).

[ed: speling]

</comment></comment></comment></comment><comment><USER9> Currently my brain is wired to have focus one on area at a time. It must be a trip to have an entire field of view in focus all at the same time. Especially if you are looking at something in the near-field and the far-field is two wildly separated visual images.

<comment><USER10> In a lot of video games, the entire scene is in focus, presumably because the developers can't know where you're actually looking. In that context, it doesn't feel weird at all (though I wonder if that's part of why some people get sick watching 3D games). Anyway, I don't know if that would translate to real life, since a 2D monitor doesn't give you any stereopsis hints, but it seems not too much of a stretch...

<comment><USER11> When I look at my screen, only a part of it is in focus. The computer doesn't need to know where I'm looking; my eyes are blurring those other bits for me.

</comment></comment></comment><comment><USER12> Hope for even better:

" _Fixed in a pair of glasses, the lenses would not move as the eye looked in different directions, so the focusing effect would be lost in the regions between the circles. But Zalevsky says that the eye learns to fill in the gaps as it moves from one engraved structure to another, generating a continuous effect._ "

This implies to me that once they cleverly figure out how to embed this tech in something like a contact lens, it wouldn't have to "fill in the gaps" and would grant perfect vision in the full vision field. Wild.

<comment><USER13> The brain is extremely flexible in the inputs that it will accept, but one problem of such neural re-wiring is that you will have a splitting headache the moment you go back to 'normal' inputs.

Read about this mind-blowing experiment, where vision was inverted:

<http://wearcam.org/tetherless/node4.html>

</comment></comment><comment><USER14> Now please apply this to speaker drivers so we can have huge rooms filled with flat 110dB sound, with consistent SPL across the spectrum no matter the listeners position relative to the speaker :)

Seriously, it does remind me a bit of Turbosound's polyhorn system, see page 8 here: <http://bit.ly/dxEYrB>

<comment><USER15> Even been to Disney World? I've read that the music varies by less than 3dB (below the threshold of human noticing) throughout most of the park. <http://dustincurtis.com/how-mr-q-manufactured-emotion.html>

<comment><USER14> Yeah but its not at 110db on average is it? And disneys background music is hardly precision engineered in the first place.

I'm talking more about music venues, and the dream of being able to hear the performance as clearly at the side of the room as in the exact middle, or wherever the engineer has put the "sweet spot," which is analogous to focal length but not exactly the same concept.

</comment></comment></comment><comment><USER16> Whew! Some great comments here already. This article more than most needs a reference to Peter Norvig's online reminder

<http://norvig.com/experiment-design.html>

about how to check out reports about supposed scientific findings to see if the reports are really accurate.

</comment><comment><USER17> I'm a bit confused. In order for everything to appears perfectly focused, doesn't the glasses have to generate light rays that are just out of focus enough so your lens refocuses it correctly? So the patterns would have to be calibrated for your degree of myopia or whatever?

<comment><USER4> The first comment on that site (by Eric Kvaalen) says:

"Sounds similar to pinhole glasses. See <http://en.wikipedia.org/wiki/Pinhole_glasses>

Pinhole glasses do work, and they work regardless of your level of myopia.

<comment><USER18> But pinhole glasses work by passing all light through a single, tiny hole, which doesn't allow scattering of light from a single source because they must all pass through that point. If you're left with nothing but a single ray from each point, it'll be in focus forever until something disturbs it. This lens sounds entirely different.

<comment><USER4> You can make pinhole glasses with lots of holes, instead of just one. (Just look at the picture in the Wikipedia article for an example.)

<comment><USER18> Which is still the same principle. You're mechanically _restricting_ the cone of light from each point of what you're looking at, where a lens will _change_ the direction of light in that cone.

<comment><USER4> The difference might not be as pronounced as you make it sound. You can e.g. get diffraction effects just with a pinhole. (See [http://en.wikipedia.org/wiki/Pinhole_camera#Selection_of_pin...](http://en.wikipedia.org/wiki/Pinhole_camera#Selection_of_pinhole_size))

</comment></comment></comment></comment></comment></comment><comment><USER19> I have pretty bad eye-sight and experienced something like this when I was younger, although I don't know if it's the same principle. I had on swimming goggles and the moment I went underwater I had perfect vision in both eyes.

</comment><comment><USER20> My mother in law is an optometrist and I sent her the link - she doesn't seem too impressed:

"The immediate problem I see with this is that people can already see with their distance correction anything that is 33cm (83.82")(6.9 ') from their eyes to infinity. The problem that bifocals fix is the distance from 20" to the eyes or near vision! I don't know if this person is over 40 or not, but if so he should realize this. This type of technology is similar to what a progressive or "no-line" bifocal does at present."

<comment><USER20> Just noticed her math is off a bit!!! haha. I guess she applied 2.54 the wrong way - ~1 foot instead of 7 feet. (I hope she doesn't do that to her patients!) I wonder if that changes her opinion much. I guess 13 inches is close enough a distance to read from so maybe this is as awesome as it sounds afterall.

</comment></comment><comment><USER21> I got a lazy eye. Contrary to the article headline, nothing can give perfect vision for my eyesight.

</comment><comment><USER22> Wow! This is seriously cool.

Speaking of augmenting our sensory capabilities, has there ever been any work done on making hearing a voluntary sense? Always-on hearing had some evolutionary advantage in the past but it may be an interesting experiment to put this in one's own control.

<comment><USER23> According to my wife men have this capability built in...

Kidding aside, really good earplugs, the kind they wear where really loud machinery is in operation, effectively gives you that. Get the foam one that you roll between your fingers to squish them and then they expand to fill your ear canal. They block out a lot of noise.

<comment><USER24> They block out too much noise in a lot of cases (especially those bullet- shaped orange jobbies with the 33dB attenuation). Without competing environmental noise, your own body noise (and there is a seriously big whack of that) becomes an enormous distraction. I loved them when I worked a hangar line around jet engines, but when trying them to get a bit of quiet in the office, I found that my heartbeat, my joints, the impact of my fingers on the keyboard and the sloshing of blood through the carotid arteries (which are _way_ too close to the ears) constituted a distraction about on par with someone operating a jackhammer outside the window. Now, if there actually had been a jackhammer, the attenuation would have been about right. I found that the much less efficient silicon plugs were better for blocking low-level noise -- they didn't force the AGC circuits to max gain.

</comment></comment></comment><comment><USER25> I saw something on CBS news this morning about how they can now put a kind of contact lens INSIDE your eyes. And the woman they used as an example was able to see again only seconds after the surgery was finished. It was amazing.

<comment><USER26> What if your prescription changes?

<comment><USER27> The surgery is easily reversible without leaving permanent damage. That's the main advantage it has over laser surgery. Its not exactly a contact lenses though, its a ring of plastic that stretches your cornea. It also only works for low prescriptions

</comment></comment></comment><comment><USER28> Isnt that a Fresnel lens ? <http://en.wikipedia.org/wiki/Fresnel_lens> They have been around for a while. I remember some plastic ones come free with books that have very fine print.

So was the novelty of it all putting them on eye glasses ?</comment>


Feedback on social network I created - <AUTHOR> http://www.tuneorg.com

<comment><AUTHOR> Hi, I just created a social network connecting musicians, producers, and recording engineers entitled TuneOrg. You can visit and join the site at www.tuneorg.com. I'm looking for some good feedback from the community. Thanks!</comment>


Does The  Affiliate Marketing Going To Change Forever? - <AUTHOR> http://www.avinio.blogspot.com/2007/02/does-sitemighty-going-to-chang.html <comment><USER2> I can't get the grammar in the title (or the original) to parse correctly in my head.</comment>


Show HN: Alerts for the Cheapest Airline Tickets - <AUTHOR> https://www.jetcheater.com <comment><USER2> Which countries can I choose from, I cannot find Cuba there?

<comment><AUTHOR> hello,

thanks for the comment. At this moment, we only supports EU countries, register and when we include ROW, we will send you email.

regards tomas</comment></comment>


How Product Hunt drastically changed our day off - <AUTHOR> https://medium.com/flat-the-collaborative-music-score-editor/how-product-hunt-drastically-changed-our-day-off-201308e1f95a

<comment><USER2> Good to read

</comment><comment><USER3> great read thanks</comment>


AngularJS - Javascript MVC framework from Google - <AUTHOR> http://angularjs.org/

<comment><USER2> This is interesting on first glance. It does look similar to knockout.js, with a little Reactive Extensions behaviour also thrown in for good measure!

I have done alot of knockout.js work recently and I love it. Also really like sammy.js and amplify.js.

What advantage would anyone say AngularJS has over KnockoutJS ?

<comment><USER3> <http://litebyte.net/blog/?p=135>

<comment><USER2> Nice work, i must invest some time looking into angular, your article is convincing

</comment></comment></comment><comment><USER4> Bootstrap? Seriously?</comment>


Uber executive, who obtained medical records of customer rape victim, is fired - <AUTHOR> https://www.recode.net/2017/6/7/15754316/uber-executive-india-assault-rape-medical-records <comment><USER2> To summarize: An Uber rider in India alleged she was raped by an Uber driver. The driver was already awaiting trial for four other criminal offenses, and was ultimately convicted of the crime. An Uber executive (Eric Alexander) flew to India and (legally or illegally) obtained her medical records, then showed these to multiple executives at the company.

These records were then used by Alexander, Travis Kalanick, and Emil Michael to dispute (internally) the woman's account of the story. They claimed that a local competitor was trying to sabotage them by planting this story, which again, involves an Uber customer being raped by a driver facing multiple (other) criminal accusations. Needless to say they lack the training necessary to decipher a medical record, a rape may or may not have left evidence present in that record, and it's a gross violation of customer privacy, business ethics, and (probably) the law.

This is repulsive conduct and it's unbelievable any of these people are still attached to the company.

<comment><USER3> Not even allegedly, she was raped and apparently Uber's background checks were trash and didn't follow proper city laws so they got banned in New Delhi. The guy admitted the rape and claimed he'd raped others, he's serving life in prison and he threatened rape victim with murder and raping her with an iron rod. She was a 26 y/o financial executive and sued Uber and settled out of court. Yeah if you're getting strangers to drive women alone at night, I'd hope you'd follow proper background checks.

Just read some other links in article and they were also sued for having at least 25 riders be former sex offenders, sexual assault, and murderers just in Cali wtf. I seriously want to see how many sexual assaults have occurred in uber vs taxis. I see one every day from Uber just in Cali. If taxis did that they would lose their 250k-million dollar medallion so that's an incentive I guess to an archaic regulation. I know others disagree with me, but I would not hire any felons to be drivers. You're giving them complete power over any passenger with no witnesses. I'm completely okay with felons working anywhere with people, but I wouldn't hire one to babysit my kid. That's the similar level of power they have in a car at night and honestly most rape assaults I've seen, the perpetrators had priors

<comment><USER4> Please do not confuse "felons" with violent and sexual offenders.

Obviously you do not want to employ people with those kinds of backgrounds in a setting where they could repeat past behaviour, but there is an overwhelming number of felons without violent or sexual records and by denying them employment, you are participating in a system designed to coerce poor, uneducated and misguided individuals into repetitive criminal behavior.

If you already understand this distinction between non-violent and violent federal offenders, please consider reflecting it with your choice of words as to not cause further harm to others caught in this system.

<comment><USER5> It's ironic that in a post about conflation between violent and non-violent offenders of some class, you seem to have conflated the orthogonal classes of "felons" and "federal offenders".

<comment><USER4> I was not aware of any difference in the terms nor could I find anything on the matter after a quick search. Mind explaining the difference to me?

</comment></comment></comment></comment></comment><comment><USER6> _The executive in question, Eric Alexander, the president of business in the Asia Pacific, then showed the medical records to Uber CEO Travis Kalanick and SVP Emil Michael._

At least the article makes it clear who needs to be fired next -- for both not immediately firing Alexander for gross misconduct, and (just as egregiously) not adamantly refusing to even consider looking at a rape victim's private medicate records in the first place.

Nevermind the legal and criminal implications of that latter misstep; this is a matter of pure and simple human dignity.

</comment><comment><USER7> _Eric Alexander, the president of business in the Asia Pacific, then showed the medical records to Uber CEO Travis Kalanick and SVP Emil Michael_

In short, it's a tone-at-the-top problem, these things are always tone-at-the- top problems. Why is upper leadership still there?

<comment><USER8> Apathetic board/investors.

</comment></comment><comment><USER9> Worst is, the executive should have been fired on the spot as his actions were not only unethical but possibly illegal. Instead he paraded them around for at least a year sharing them, which makes the whole executive tier basically complicit. It's practically impossible for Uber's core to be fixed at this point it seems.

</comment><comment><USER10> An Uber exec files to India to dig up dirt, we know they were buying email- mined data from unroll.me, and frequently monitored travel of journos, famous people and one night stands. They have a culture of digging up as much dirt on passengers as possible. I wonder what else they are still collecting (or quietly stopped), and what they're using it for, that doesn't have the explosive headline potential of _medical confidentiality_ and _sex crimes_?

</comment><comment><USER11> Trying to further understand, I am unsure why a top Uber executive would need to obtain an actual medical record of a customer who was assaulted in her Uber ride? I can't see what value the medical record would bring for Uber as a company, which in the likelihood will contain medical terminology, that substantiates whether the incident occurred or not. Wouldn't their lawyers be involved with the proceedings, as the likelihood that the company would be included in the trial can be deemed possible as the incident happened in the confines of the business that revolves around them?

On a side note as well, will the names of the people fired be published? Will these people fired be actually penalized, or would they simply be hired with another company and simply move on from the incident?

<comment> UK-AL My guess is that wanted to get evidence to know if this was real or a plot by local taxi companies.

Having heard about business in India, bribes and plots to cause harm to your rivals, are the normal course of business.

This is a terrible way of dealing with it, but I absolutely get it.

Uber just doesn't have any finesse about dealing with local politics and PR. They just seem to brute force everything.

The idea and execution with uber has been great. They seem to be terrible with everything else.

<comment><USER12> Bribes may be the way to do business in country _____.

Despite that, if you are an American corporation, and your operation in country _____ involve bribes, you have broken the law. More specifically, you have broken American law.

<comment> UK-AL Yes, which is one of the reasons west corporations don't get india.

Bribes in india are accepted business practice, in western countries they are not.

In india is fairly common to pay "administration fees" in order expedite documentation, and licences, otherwise it might get "lost".

</comment></comment></comment></comment><comment><USER13> If this doesn't convince those doubtful about the depth of depravity among Uber's top leadership, I honestly don't know what will. Can you imagine the scene? Kalanick and pals in some luxurious office, discussing strategy over the medical records of a rape victim?

</comment><comment><USER14> at what point is it safe to say the best option for Uber is to burn to the ground and re-build?

<comment><USER15> Despite the negative press Uber is growing, revenue is growing, and the average Joe doesn't really care about any of this as long as his ride to work still costs less than a taxi.

<comment><USER16> Yes many people don't care, and I have also noticed many people aren't even aware of any the Uber negative press. And usually after I bring it up, they still don't care.

One thing I find interesting to consider is how "uber" succeeded in becoming a verb in popular language similar to how "google it" is the equivalent of saying perform an Internet search. Once something gets ingrained in language like this I feel like it affects us psychologically - the average Joe can still choose between Uber/Lyft/xyz, but it's so easy to forget the competitors' names when other people are using language like "uber over here and meet me".

</comment></comment></comment><comment><USER17> Uber drivers pick up and drive paying passengers. Doing so is against local laws or regulations governing taxi services. Uber runs a service that enables and encourages this activity on a large scale. How does that not add up to criminal conspiracy or something similar?

Serious question.

</comment><comment><USER18> This doesn't really confirm whether he was fired or was allowed to quit. Or maybe just switched companies?

Edit: his LinkedIn still says he works there, so whatever change was probably pretty recent.

<comment><USER19> LinkedIn has never been a credible source for anything.

<comment><USER18> It depends on the person maintaining it. This one seems complete and up to date, so if he had started at a new company he probably would update it promptly.

</comment></comment></comment><comment><USER20> So at what point does society get to determine Uber no longer deserves to be a company?</comment>


Wordpress Plugin to A/B Test Headlines - <AUTHOR> http://www.bayesianwitch.com/ <comment><AUTHOR> From the GitHub repo which contains the wordpress plugin:

"Bandit Algorithms are the next generation of A/B testing. BayesianWitch is a cloud service which uses Bandit Algorithms to increase engagement and clicks on your blog. BayesianWitch is aimed at using Bandit Algorithms to optimize each of your posts _individually_. Bandit Algorithms are better than A/B testing for transient content - i.e., a single blog post. The reason is that A/B tests attempt to determine the one right answer, whereas Bandit Algorithms simply try to increase the number of clicks. As a result, Bandit Algorithms can increase your performance with fewer clicks than A/B testing."

[https://github.com/bayesianwitch/BayesianWitch-for- Wordpress...](https://github.com/bayesianwitch/BayesianWitch-for- Wordpress/tree/master/BayesianWitch)

</comment><comment><USER2> The landing page could be improved, I'm still not sure what it does, even after reading the whole page, word-by-word. And I am a WordPress owner, so I could find this useful. Then there is no pricing, just free and call us, so I don't even know what ballpark I'm in, once I get over the limit (and I do get over the limit).

So how will you get them to read what I write? By force? By asking nicely? :)</comment>


Domain-Specific Languages and Code Synthesis Using Haskell (2014) - <AUTHOR> http://queue.acm.org/detail.cfm?id=2617811 <comment><USER2> Embedded DSLs in Haskell are really cool, but sentences like these confuse me:

> _The do statement can be reified by normalization._

???

> _Control flow is problematic and cannot be used directly, but there is a > generalization of Haskell Boolean that does allow deep-embedding capture._

What does it mean for control flow to be problematic? Control flow is the most basic feature I expect (it's not shift/reset), so what's up with _problematic_? What does it even mean for something so basic to be problematic?

For someone unfamiliar with these techniques, it's hard to tell the difference between a nifty trick that makes it possible to make something work at all, like a proof of concept, and a general tool that can be used to solve general problems.

<comment><USER3> > What does it mean for control flow to be problematic?

The idea is that we're embedding a DSL in Haskell by evaluating Haskell expressions _symbolically_ within the DSL. Instead of doing a computation _in Haskell_ and providing a value, we want to output a program in some other language from Haskell and then run that. This other program can have totally different semantics from normal Haskell: it might be a description of hardware (like Kansas Lava), it might be efficient C code, it might be an SMT formula... etc.

A nice, lightweight way to do this is to define a type where operations produce expressions in your target language. We can overload a bunch of things like + to do this; 1 + 2 would be evaluate to an AST along the lines of `Plus (Literal 1) (Literal 2)` which can then be treated as a circuit or a logic formula or whatever. This is called a "deep embedding".

The problem with control flow is that it happens at the _Haskell_ level, not at your symbolic level. So `if (x > y) then 1 else 2` will either evaluate to 1 or to 2, but we actually want it to evaluate to the AST representing the whole conditional expression. In a sense, we want to "take both branches" symbolically.

A good way to think about this is that actual Haskell computations become _compile-time operations_ for your DSL. Compile-time control flow can change the result of the compilation, but it can't depend on runtime information—and, of course, we definitely want to have control flow at runtime!

In the case of `if` we can still make this work by defining our own symbolic boolean type and overloading the if-then-else syntax, but we simply _can 't_ do this for pattern matching within the confines of Haskell. Haskell patterns are not first-class citizens and the language does not give you any to talk about what pattern matching means _within the language_ (except maybe something really hideous involving Template Haskell).

As to your broader question: deeply embedding DSLs in Haskell is a really broad and powerful technique, but it also has some real limitations. The control flow thing is one; another is dealing with common subexpression elimination. For example, if x gives you a big AST of some sort, you'd probably like x + x to give you an AST that realizes the two xs are the same and unifies them somehow but actually getting this structure from a Haskell expression is awkward at best[1].

However, the technique has one major advantage: it is really easy to use. It's much less work to build a nice deeply embedded DSL than it is to write a full compiler; if the above problems aren't a big deal, you're getting _a lot_ of structure for free by relying on Haskell—you can rely on Haskell's types and type inference, you don't have to write a parser, you get Haskell as a powerful compile-time metaprogramming language and you can use things like Haskell's rewrite rules for lightweight optimizations.

It's a great tool to have in your arsenal because it really lowers the barrier to writing a DSL, which is an incredibly powerful technique for a whole host of real-world problems.

<comment><USER4> I know a comment like this doesn't add much to the conversation, but I greatly appreciate your comment. I didn't initially grasp the point of overriding basic operators to return expression nodes. I've built plenty of programs that create things like expression nodes, but I wouldn't have ever thought to override existing parts of the language to return them.

When I read the article I thought the overriding was weird, and I guess the author's intention slipped past me. Your explanation made it click. I'm dying to try it out now.

Thanks for the great post!</comment></comment></comment>