Pulumi – Modern Infrastructure as Code - <AUTHOR> https://www.pulumi.com/ <comment><USER2> I have been wanting to try Pulumi out for a while. As an avid terraform user, I welcome the ability to use a proper language instead of the declarative HCL. For those who have migrated from terraform -> Pulumi, what are the biggest cons you've experienced?

<comment><USER3> I witness the same mentality in sbt users, Turing computable > declarative. I don't get it though.

In both the build system and the deploy system, I want to know the config terminates, and I want it to be easy to understand. The application's specialization is Turing computability. I prefer that footgun to stay isolated there. But maybe there is a use case I don't get.

Imagine accidentally provisioning infinite VMs...

<comment><USER4> [disclaimer: CTO at Pulumi so clearly biased :-)]

One of the things I really believe is that you can have the best of both worlds here. Pulumi uses imperative programming languages, but is still "declarative". The imperative programs are executed to build up the desired state, which can then be reliably diff'd and previewed, and can be used to enforce manual or automatic checks for correctness. So you get the expressiveness of imperative programs (loops, conditionals, components, packages, versioning, IDE tooling, testing, error checking, etc.), but still the safeguards and reliability of declarative infrastructure-as-code (preview, gated deployments, policy enforcement, etc.).

I also tend to view the perceived benefits of JSON/YAML/HCL "simplicity" as somewhat comparing apples to oranges on a complexity specturm. If you are only managing a dozen resources, it may be that JSON/YAML/HCL are fundamentally simpler. But when you've copy/pasted tens of thousands of lines of YAML around all over your codebase to manage hundreds or thousands of resources, the value of abstraction, reuse, well defined interfaces, and tooling to manage that complexity feels to me essential to the scale of the problem. And that degree of complexity is no longer just something large organizations are dealing with. Modern cloud technologies (serverless, containers, Kubernetes, etc.) are leading to significant increases in the number of cloud resources being managed, and the pace at which those resource are deployed and updated.

Assembly is a "simpler" way to think about programming, but didn't scale as complexity of application software increases. I believe the same is true about JSON/YAML/HCL and cloud infrastructure.

<comment><USER5> > But when you've copy/pasted tens of thousands of lines of YAML around all > over your codebase to manage hundreds or thousands of resources, the value > of abstraction, reuse, well defined interfaces, and tooling to manage that > complexity feels to me essential to the scale of the problem.

You're lumping in HCL (and languages like Dhall by extension) with static serialization formats and criticizing them for a characteristic only found in the latter.

HCL is programmable and has a fair model for code reusability through modules, state outputs, for-expressions and other kinds of expressions.

Add in a proper language with types like Dhall and you have a configuration language where you can apply all the transformations you could want with a much higher safety and robustness floor than a turing-complete language that allows you to make all sorts of messes.

It's specially dangerous to have a turing-complete language for configuration once you factor in that the reflex of an inexperienced developer who is more likely to make these messes is to use a tool they're already familiar with even when the tool is actively harmful to their goals, as Pulumi facilitates.

<comment><USER6> [Disclaimer: also member of the Pulumi team.]

We've worked with a lot of end users to migrate from Terraform, and we honestly do see a lot of copy-and-paste. I agree that it's not as rampant as with YAML/JSON, however, in practice we find a lot of folks struggle to share and reuse their Terraform configs for a variety of reasons.

Even though HCL2 introduced some basic "programming" constructs, it's a far cry from the expressiveness of a language like Python. We frequently see not only better reuse but significant reduction in lines of code when migrating. Being able to create a function or class to capture a frequent pattern, easily loop over some data structure (e.g., for every AZ in this region, create a subnet), or even conditionals for specialization (e.g., maybe your production environment is slightly different than development, us-east-1 is different, etc). And linters, test tools, IDEs, etc just work.

For comparison, this Amazon VPC example may be worth checking out:

\- Terraform: [https://github.com/terraform-aws-modules/terraform-aws- vpc/b...](https://github.com/terraform-aws-modules/terraform-aws- vpc/blob/master/main.tf)

\- Pulumi (Python): [https://github.com/joeduffy/pulumi- architectures/blob/master...](https://github.com/joeduffy/pulumi- architectures/blob/master/aws-py-base-infra/__main__.py)

\- CloudFormation: [https://github.com/aws-quickstart/quickstart-aws- vpc/blob/ma...](https://github.com/aws-quickstart/quickstart-aws- vpc/blob/master/templates/aws-vpc.template)

It's common to see a 10x reduction in LOCs going from CloudFormation to Terraform and a 10x reduction further going from Terraform to Pulumi.

A key importance in how Pulumi works is that everything centers around the declarative goal state. You are shown previews of this (graphically in the CLI, you can serialize that as a plan, you always have full diffs of what the tool is doing and has done. This helps to avoid some of the "danger" of having a turing-complete language. Plus, I prefer having a familiar language with familiar control constructs, rather than learning a proprietary language that the industry generally isn't supporting or aware of (schools teach Python -- they don't teach HCL).

In any case, we appreciate the feedback and discussion -- all great and valid points to be thinking about -- HTH.

<comment><USER7> > It's common to see a 10x reduction in LOCs going from CloudFormation to > Terraform and a 10x reduction further going from Terraform to Pulumi.

I don't see this as such a terrible problem. The configurations may have more LOC's but there are not as many surprises. The dependency of declarable configuration makes it rock solid and favorable among operations teams who need to make these kinds of changes all the time.

> A key importance in how Pulumi works is that everything centers around the > declarative goal state. You are shown previews of this (graphically in the > CLI, you can serialize that as a plan, you always have full diffs of what > the tool is doing and has done. This helps to avoid some of the "danger" of > having a turing-complete language. Plus, I prefer having a familiar language > with familiar control constructs, rather than learning a proprietary > language that the industry generally isn't supporting or aware of (schools > teach Python -- they don't teach HCL).

I understand the reason to want this. Having worked closely with developers, lack of familiarity with HCL makes it much less accessible. However, from an operations perspective, I am GLAD that HCL is a very limited language. No imports of libraries all over the place (in your infrastructure configurations, no less!).

<comment><USER8> > I don't see this as such a terrible problem. The configurations may have > more LOC's but there are not as many surprises. The dependency of declarable > configuration makes it rock solid and favorable among operations teams who > need to make these kinds of changes all the time.

The issue is that your static configs often have lots of boilerplate sections that have to be kept in sync. Further, you can use an imperative language like Python, JS, etc and still write in a completely declarative fashion (or you can use a functional language which tend to be declarative out of the box). Conversely, you can model an AST in YAML (which is what CloudFormation is trending toward) and get the worst of all worlds. Bottom line: don't conflate "reusability" with "imperative" or "static" with "declarative".

<comment><USER7> > The issue is that your static configs often have lots of boilerplate > sections that have to be kept in sync.

Yes, I agree with this. However, its predictable. As an operations person, I value predictability and am willing to pay the price of keeping static configs in sync.

> Further, you can use an imperative language like Python, JS, etc and still > write in a completely declarative fashion (or you can use a functional > language which tend to be declarative out of the box). Conversely, you can > model an AST in YAML (which is what CloudFormation is trending toward) and > get the worst of all worlds. Bottom line: don't conflate "reusability" with > "imperative" or "static" with "declarative".

Hold on, I'm not conflating anything. Saying that "you can write terrible things in any language" isn't anything new. We choose to use languages that provide certain guarantees that we need for the domain that we're working in. For infrastructure, declarative languages are a lot more suitable for the properties they provide (i.e. no surprises, limited functionality etc.). Its "possible" to use static types in Python, how many do that?

<comment><USER8> > Yes, I agree with this. However, its predictable. As an operations person, I > value predictability and am willing to pay the price of keeping static > configs in sync.

I think there's wisdom in this at small scales, but as the volume and complexity of your boilerplate grows, I think you lose any advantages. I also think this threshold is quite low (as an ops person and a dev person) since it's not much harder to look at/read the YAML generated by a script vs that which is hand-rolled and committed to git.

> Hold on, I'm not conflating anything.

Are you sure? Because you just said "I am willing to pay the price of keeping __static __configs sync " and then "For infrastructure, __declarative __languages are a lot more suitable for the properties they provide " and then you started to talk about "static types" in Python, which is different than "static" in the YAML sense (YAML isn't statically typed, but it is static in that it isn't evaluated or executed).

I'm not trying to be a jerk, it just sounds like a lot of concepts are being confused. I also wasn't making the argument "you can write terrible things in any language" (not sure if you were attributing that argument to me or if that was a point you were trying to make).

Consider this Python: [https://github.com/weberc2/nimbus/blob/master/examples/src/n...](https://github.com/weberc2/nimbus/blob/master/examples/src/nimbus_examples/s3bucket.py)

It's fully _declarative_ , but it does _evaluate_ , so it's not static in the YAML sense. It outputs a JSON CloudFormation template (but it could easily output in YAML) which you could inspect visually before passing onto CloudFormation.

It's also _statically typed_ although that's not evident from this file since all types are inferred in this file (however there are annotations in the imported libraries), and while the static typing is a very useful property, it's not what I've been talking about in this thread.

In my opinion, this is no less readable than the equivalent YAML; however, it's capable of doing much more (albeit if your infrastructure is just one S3 bucket, then this is overkill--to really understand the power of dynamic configuration, you would want a more complex example).

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I love Pulumi. It's a joy to use a proper programming language to manage infra.

I wish more tools would adapt this. I find it mind boggling that it is very hard to use ansible modules in a Python program for example. That would make things much easier to compose.

</comment><comment><USER10> I've been looking at this for awhile and it's super cool! As a person who's used Terraform extensively and has ran into a lot of issues with it's declarative, non-scriptability (at least before 0.12), pulumi seems great. And it's also great its able to wrap any Terraform-compatible provider out of the box.

One question I have for anyone who's used it or the team if they're here is how they convinced their company to use it? Last time I checked pulumi was a small company with only 20M in funding versus hashicorp which was more established. What happens if the pulumi team runs out of money and we've moved all our infra onto pulumi?

<comment><USER11> Pulumi is great, but I gave up on persuading a company with a lot of existing terraform to move to yet another tool, and created a (pretty basic) DSL/library for writing terraform in python/c#, which can output to terraform. I could probably get permission to open source it if people are interested. *

As far as I can tell, you get more or less the same benefits as you would if you use pulumi (in the same ballpark).

* There are one or two tools for python/ruby that do this already, but having it in something with stronger typing has advantatages

</comment></comment><comment><USER12> Perhaps i'm misunderstanding but this seems to convert a declarative workflow into an imperative one. Doesn't this seem backwards?

Kubernetes manifests are declarative by design and for good reason, the controllers reconcile the state not your script.

Interested to hear Pulumi examples where this is desired and where it fits in with other tools.

<comment><USER13> [disclaimer: I work at Pulumi]

The Pulumi engine uses a desired state model[1]. You can use imperative language features like loops and conditionals, but all of that gets mapped to a declarative resource graph prior to diffs/updates.

[1] [https://www.pulumi.com/docs/intro/concepts/how-pulumi- works/](https://www.pulumi.com/docs/intro/concepts/how-pulumi-works/)

<comment><USER12> Thanks for sharing! Interested to try this out

</comment></comment></comment><comment><USER14> We switched to Pulumi from terraform for a new project because we can use it for both cloud infrastructure and for k8s configuration. It is easy enough to just apply k8s configuration files you have, but it is harder to delete the k8s resources in all places when you delete a k8s configuration file.

Operationally they can be thought of as working in exactly the same way: they compare desired configuration, already applied configuration, and observed configuration.

<comment><USER15> > We switched to Pulumi from terraform for a new project because we can use it > for both cloud infrastructure and for k8s configuration.

Did you think about using the kubernetes provider in Terraform to manage K8S as well?

<comment><USER14> Yes. Pulumi supports using existing yaml and helm templates (we aren't really using this yet), so I think it's support is better. But it may have been more influenced by the thought of having to deal with k8s boilerplate configuration in terraform's HCL. The team wanted something that was "easier to template', but I didn't want to use any template languages.

</comment></comment></comment><comment><USER16> I deal with a 40k line Terraform codebase. I love the idea of a more expressive language for infrastructure (and unit tests, validations, etc.), and even wrote a tiny JS library a long time ago for generating TF 0.11 from JS [1]

However, the migration paths laid out in the Pulumi docs are completely intractable for a codebase this size [2]. I'd love to give Pulumi a try, but it would only work if you could auto-generate a corresponding JS project structure from the various .tf modules and .tfstate files. Right now, it looks like tf2pulumi just spits out a single stream to stdout, which won't work for large projects like mine.

If anyone from Pulumi is here, are there any plans to make tf2pulumi a more "first-class" migration method?

[1] [https://github.com/mayanklahiri/node-genesis- device](https://github.com/mayanklahiri/node-genesis-device)

[2] [https://www.pulumi.com/docs/guides/adopting/from_terraform/](https://www.pulumi.com/docs/guides/adopting/from_terraform/)

<comment><USER4> We've worked with several Pulumi users who have migrated thousands of resources (including in production) from being managed by Terraform to being managed by Pulumi - so this is definitely possible.

We're actively working on an overhaul of the tf2pulumi tool to support more Pulumi languages and more breath of Terraform project structures. But already it should support the majority of adoption use cases.

At-scale adoption can be done in Pulumi by combining transformations [1] and imports [2]. Together, these allow programmatically importing existing resources without the need for manual steps.

See the section on adopting in the docs here for details: [https://github.com/pulumi/tf2pulumi/blob/master/README.md#us...](https://github.com/pulumi/tf2pulumi/blob/master/README.md#usage).

If you have more detailed questions on this - feel free to reach out on the Pulumi Community Slack (I'm @luke) for a deeper discussion: [https://slack.pulumi.com/](https://slack.pulumi.com/)

[1] [https://www.pulumi.com/docs/intro/concepts/programming- model...](https://www.pulumi.com/docs/intro/concepts/programming- model/#transformations) [2] [https://www.pulumi.com/docs/intro/concepts/programming- model...](https://www.pulumi.com/docs/intro/concepts/programming- model/#import)

</comment></comment><comment><USER17> I'll be interviewing one of the core dev of Pulumi tonight if you're interested, he'll be doing a demo too and taking questions [https://youtu.be/Sy_4KueoTUA](https://youtu.be/Sy_4KueoTUA)

</comment><comment><USER18> I welcome a new tool that competes with Terraform, but I have 2 negative points:

\- where's the option to deploy to self hosted infrastructure? (E.g. Proxmox, vCenter, ESX)

\- what's the "Pulumi service" and why can I self host it, but cannot deploy services to self hosted Infrastructure?

<comment><USER19> ESXi is indeed available as a target (here: [https://github.com/pulumi/pulumi- vsphere](https://github.com/pulumi/pulumi-vsphere)).

The reasons that self-hosted infrastructure is less prevalent in tools such as Pulumi (and Terraform) are many - not least demand - but one reason is that vendors make it INCREDIBLY difficult to test thanks to proprietary license costs.

I brought up an ESXi provider for Terraform in 2015, and VMWare were not even remotely interested in giving us the ability to test it via a license grant, and I was obviously not about to pay VMWare to test integration for a product I don't even use. In the end I never released or upstreamed it, preferring to work on targets whose vendors were more co-operative.

<comment><USER18> but there's Proxmox, which is free

<comment><USER20> but the proxmox devs seem to have no interest in terraform (or pulumi) support

<comment><USER18> why not? There's a REST API and I don't think Amazon devs actively developed modules for terraform or pulumi, but the way around...so the pulumi devs seem to have no interest in Proxmox support.

</comment></comment></comment></comment></comment><comment><USER21> I recently picked up AWS CDK and have been enjoying using it more than something like terra form.

I wonder how this compares - aside from the obvious plus of being platform agnostic (which in my case doesn't matter)

<comment><USER22> I've enjoyed the CDK. I looked at Pulumi, but settled on CDK because it's AWS developed. As where I work is an AWS shop, I didn't see many advantages to Pulumi, and I felt more confident in AWS continuing development and support, vs another 3rd party company that could go out of business.

Also I really have enjoyed the built in unit test tooling of the CDK. Unit testing my infrastructure code has been a game changer.

</comment></comment><comment><USER23> So I've been trying out Pulumi at the new company I've just started working at and I can say the experience so far has been pretty awesome. This coming from a pre-version 1 user of terraform (when pretty much the only support was the AWS provider). For me HCL was never the killer feature of Terraform, I personally think it was the resource abstraction and providers that made it the best choice at the time. Chef/Ansible runs were always dangerous because as most of us will know from hard learnt lessons, "what you see isn't necessarily what you get". Having a DAG, tracking dependencies between resources, and getting a "this is what you have, this is what you'll get" when you apply a change is the core of what makes terraform great... but this isn't the language, I'd actually argue HCL is where most of it's problems were. The hacks one had to make before HCL 2.0 to get any type of reuse were to be frank, awful. They were also non-obvious, so you had to either pass the knowledge on in your team like a "sage" which isn't scalable for smaller/midsize teams, or let people hit those walls and waste more collective time. Writing languages is hard, and it took Hashicorp years to get it "mostly" right. Though the ergonomics of HCL I would still say aren't very nice or very developer friendly.

Now to Pulumi's merits, if you dive into it's architecture you'll find it's actually users from terraform providers under the hood (very well tested code bases). So it will do things like build a DAG, track dependencies, and give you a diff before you apply anything. From what I can tell it's just changed how you interact with the terraform internals (I'm sure it's more complicated than this, but this is my simple understanding of it). Sure you can get code ordering problems, like any imperative language but it doesn't make it any more unsafe to run as you're protected by the same plan/apply type setup as Terraform. You can also rely on the same language specific quality controls you already rely on. Things like unit tests, integration tests, code coverage, IDE integration etc. Personally I think a better use of time is teaching team members about the infrastructure fundamentals who have an interest in learning them, over getting them to also split focus on a language they will only use in one situation.

</comment><comment><USER24> Can your DevOps read and manipulate code? If no, don't adopt a tool like this. Your Ops guys will hate you.

Furthermore, the code can't be analyzed very well with tools. (aka gradle vs. maven)

You want to make the same change to 20 scripts? Trivial with a declarative language you can parse easily.

Non-trivial if you have code. You better have those re-factoring tools at hand.

If you environment requires complex scripts to get up and running, that is a strong hint that you are not done yet. Can it be simplified further?

<comment><USER25> If your DevOps team can't code you don't have a DevOps team, you have an Ops team

<comment><USER26> this is just wrong. a) it was never about ops writing code b) ops always wrote code.

</comment></comment></comment><comment><USER27> I've been using Pulumi for about a year for deploying stateful and stateless services on Google Cloud Platform, AMA.

<comment><USER28> Questions:

1\. Have you ever used Terraform? If so, how does Pulumi compare?

2\. What language do you use with Pulumi?

3\. What is the learning curve like for Pulumi?

4\. What specific actions do you use Pulumi for with GCP?

4a. What have been some hurdles or roadblocks you have faced using Pulumi with GCP?

5\. Which Pulumi plan (cloud hosted, self hosted, etc.) and how is that working for you?

<comment><USER27> 1\. Yes, not as long professionally. More experience with CloudFormation and pyplates. Pulumi has libraries that wrap around Terraform providers for some of its integrations such as Google Cloud Platform.

Terraform pro:

* Simple deployments are fairly easy to grok, the base language is simple to understand

Terraform con:

* Advanced deployments, using templates, modules, functions is nontrivial to teach and error-prone.

For my use case, we have multiple environments - as most folks do - and we also have several "micro-service" like services deployed each with its own configuration. It's very easy to write a function that generates these variations:

        function someResource(args, additionalOptions, etc.) { }

This is much easier to teach, and so I would argue that Terraform solves for a case that doesn't really exist in many businesses.

2\. TypeScript

3\. The getting started information is fairly solid, I didn't have a lot of difficulty getting started.

4\. Primarily Kubernetes resources on GKE, service accounts and tokens, Cloud SQL, storage buckets, and so on. Creating a service account, a database or storage bucket, and then linking that into a Kubernetes secret is pretty simple.

4a. I did hit a bug where Pulumi handled poorly a resource which I manually deleted in GCP. I had a Cloud SQL instance (Postgres), a User in that instance and a Database in that instance. (Cloud SQL instances can contain multiple databases). I manually deleted the three of these, and Pulumi had trouble trying to unwind state if I recall. The bug is here: [https://github.com/pulumi/pulumi- gcp/issues/268](https://github.com/pulumi/pulumi-gcp/issues/268)

5\. We aren't a paying customer - our needs around compliance mean we need to run it self hosted, and Pulumi's CLI is OSS so we are using the Pulumi CLI and some really hacky shell scripts to emulate a "server" and prevent reentrancy, effectively treating Pulumi deploys as critical sections. We have no plans to release these scripts. I understand they've recently added a self hosted option, but we haven't had time to evaluate.

</comment></comment></comment><comment><USER29> Since Pulumi extends to the k8s configuration world as well - i wonder what the Pulumi devs think of jsonnet and cue (previous discussion here - [https://news.ycombinator.com/item?id=20362951](https://news.ycombinator.com/item?id=20362951) and [https://news.ycombinator.com/item?id=20847943](https://news.ycombinator.com/item?id=20847943))

<comment><USER4> This post has some thoughts on ksonnet compared to Pulumi (and generally applies to comparison with the variety of other similar tools in that space): [https://www.pulumi.com/blog/if-you-liked-ksonnet-youll- love-...](https://www.pulumi.com/blog/if-you-liked-ksonnet-youll-love-pulumi/)

</comment></comment><comment><USER30> How is the support for AWS ECS? I really like terraform, but it is pretty bad at handling changes made to the task definition outside of it. Most of it is due to the declarative nature of the thing (You cant at the same time fetch the latest resource and create one if it doesn't exist). So the hacks we have to do to make it work with CD are just plain bad. I am considering moving our stack to pulumi (3k lines of terraform).

</comment><comment><USER31> I'm new to this so stupid question ahead.

The thing I don't like about Pulumi (or Terraform) is saving a copy of the state (locally or on a server). This seems finicky. Isn't the current state right there in the cloud, available through APIs? Why keep a "propriotary" copy? It seems like a "what could possibly go wrong" kind of design choice.

<comment><USER32> The Pulumi/Terraform state contains more than a local copy of the last known actual state of your resources. It also contains information about the desired state is, which parts of the last known state were mutated by Pulumi/Terraform itself as opposed to external/unknown changes, etc. They are complementary.

<comment><USER31> Relying on that extra information you talk about sound like a liability more than anything else to me.

Why is there a need for anything else than a) the desired state (in the code) and b) the current state in the cloud?

The need for any extra state beyond that makes me dubious about the approach, fills me with fear and doubt about whether I really understand what the tool is doing, and so on. (I'm sure I can be wrong about this -- I'm just describing where I come from, and what I am seeking an answer to.)

Complexity always comes from state, why does one not try to have as little of it as possible...

<comment><USER32> You are correct that state is hard to manage, and consequently, the less state you have to manage, the better.

The developers of Terraform and Pulumi know this, but chose to make their tools stateful anyway. That's because if they were stateless, while they would certainly be less of a pain to manage, they would also not be as useful.

For example, without state, the tool wouldn't know what resources it has provisioned in the past. Consequently, it also wouldn't know what resources it can safely remove or modify.

Another example is that, without state, the tool cannot detect when a resource needs to be re-created from scratch, and when it simply needs to be renamed because the operator made a typo in the previous run.

In summary, yes state is hard, but sometimes you just need it to get the job done.

</comment></comment></comment></comment><comment><USER33> I really like the idea of Pulumi but I haven't really used it. To be honest, I'm not in an environment where I need to do this. A couple of scripts do the trick just as fast when combined with some clicking through.

Some things that annoyed me about TF and made me look at Pulumi actually were:

\- Doing anything with loops in TF is a nightmare, and especially if you have to do things like sharding. We had a sharded KV store that was sort of optimized for our environment at my previous job and the monstrosity that you have with `count.idx` and whatnot is just ugh.

\- There's a lot of repetition. Often, even with module-use you end up copy- pasting a bunch of code.

</comment><comment><USER34> I like it, but anybody I pitched it to was like: "Ewww, TypeScript for Infra. Thanks, but no thanks!" It's using declarative infrastructure as imperative. I recently found AsCode [0], which is still Terraform, but maybe better. Pulumi for months used deprecated Azure stuff, and they didn't fix it. So, you are always late to the game, unlike when using plain Terraform. Oh, and you also need an account with them.

[0]: [https://ascode.run/](https://ascode.run/)

<comment><USER35> May be too late for you, but you don't need an account and you can use terraform providers for anything that isn't currently supported.

</comment></comment><comment><USER36> I have not used Pulumi yet, but if anyone has, I'd be curious to hear a major thing re declarative/procedural (and I'll preface this with that I'm biased towards declarative for IaaC use-cases):

How does it differ from terraform when it comes to modifications and teardowns?

In terraform, I can target a module or resource for destruction, which will tear down the resources targeted and nothing else - esentially the inverse of the application resulting in creation.

How does this work in pulumi?

<comment><USER19> You can `pulumi destroy --target <urn>` in the same way as you can target a Terraform destroy.

An important thing that is not as well understood about Pulumi as it should be is that it does in fact build a declarative model, but using an imperative language instead of a DSL. Consequently there is not a huge range of difference in what can achieved from the declarative model.

Disclaimer: I was a Terraform maintainer for a long time, and also contribute to Pulumi.

</comment></comment><comment><USER37> I think we reached a full cycle (again), from turning complete configuration languages also known as programming languages to plain text files and everything in between.

</comment><comment><USER38> Pulumi is awesome as a concept. It worked really well when I used it with Python. I wish they supported Ruby and had better docs for their Python client.

</comment><comment><USER39> How does it handle idempotence?

<comment><USER40> Basically by having promises which can resolve to existing resources or new resources.

</comment></comment><comment><USER41> This is awesome, can't wait to try it out. We built a bunch of scripts on the AWS SDK to effectively do this - create new resources while querying for and editing existing ones. It would be nice to see more detailed docs for APIGWv2 and if there is a way to automate setup/management of both HTTP and WS instances of API Gateway - this is the closest we get to configuration nightmare.

</comment><comment><USER42> I used to love Pulumi - the experience of managing infra + k8s resources with Typescript's type system is really nice.

However, I've found their support responsiveness via Slack / GH issues to be poor enough to where I'm strongly considering removing it from our team's internal tooling setup.

<comment><USER4> CTO at Pulumi here. Sorry you didn't get the support you needed! Please do drop me a DM in the Pulumi slack or email me at luke@.

</comment></comment><comment><USER43> Switched from nixops to pulumi, found it much easier to use.

</comment><comment><USER44> This sounds like a compiler! Front-end which is some programming language, and backend targets being Terraform / CloudFormation / etc.

<comment><USER19> It's no accident that many of the original team were compiler or CLR engineers ;-)

</comment></comment><comment><USER45> I'm absolutely in love with pulumi. Recommended it to a CTO I was interviewing with literally an hour ago!

</comment><comment><USER46> It's all still a little abstract to me but it looks promising.

</comment><comment><USER47> I'd really like to try using this from ClojureScript.

</comment><comment><USER45> My current fave - Pulumi + JS + Ramda

</comment><comment><USER48> Really wish they would take reasonml seriously

</comment><comment><USER49> We avoid infrastructure deployment codes that needs to store the state. I know it's easier and faster do that but it feels so unsafe that it has the ability to delete things. We don't grant delete permissions to our automation and do deletions by hand.</comment>


Scary thought: Maybe the Rust Belt is the whole U.S. now?
 - <AUTHOR> http://blogs.law.harvard.edu/philg/2008/03/15/scary-thought-maybe-the-rust-belt-is-the-whole-us-now/

<comment><USER2> Articles of this kind always confuse me. Is the thesis that the US is now an unfavorable destination for money? Putting aside currency and liquidity flows, which also confuse me, how about talking about economic activity as a barter system where paper monies are convenient proxies for a million linked IOUs. We all produce a bit of something and trade with it. Now it seems like the author is likening the US to that guy who washed ashore on an island inhabited by two others who have already captured all sources of food, shelter, and entertainment between them and trade in a perfect harmony. The guy who washed ashore, having nothing to offer, will die. However, comparative advantage suggests that even the entity that is not foremost in any activity can eke out a living by creating/manufacturing the stuff that has the lowest opportunity cost of production? Metaphorically speaking, the US will at the very least get to ask the others if they want fries with their fish sandwiches. And that is in the bleak scenario that the US slips overnight into a sweeping mediocrity in all fields.

This is hardly true. Despite many legitimate concerns, the US is a definitive leader in pharma, entertainment, technology, and education.

"Our college graduates are roughly equivalent in ability to other nations' high school graduates (story) and a lot of our high school graduates could not compete on the world market for any jobs other than manual labor." This statement is misleading, the US happens to send a very large percentage of its population to high schools and colleges. The median student is, of course, not going to be as smart and able as the median student in India where only a really really tiny percentage of the population has set foot in a classroom.

<http://blogs.ft.com/crookblog/files/2008/03/kierkegaard.jpg>

Even the percentage shown in that graph is probably over counting using a very lax definition of college: I say this not as someone speculating on the basis of some internet research, but as a product of the Indian schooling system.

And, this might be a stretch, so what if the average graduate is not as smart and intellectually competent in a narrowly defined sense? We became soft and pudgy after physical prowess stopped determining survival probability and reproductive success in industrial and post-industrial eras, so what if we (on average) do become thicker in the post-information era where we have cognitive aids for almost all functions?

<comment><USER3> I think the college years in the US are partly similar to the senior years of what other countries may call senior high (it is that way in Australia) - generally that would be an exageration though to say that they are equivalent - and its kind of just a terminology thing. College does go further then seniour high though. End result of a university degree would be comparable I would think (for an undergrad) - on average (of course the US has outstanding top end universities which probably don't compare, or if they do they compare to very very few unis around the world).

</comment></comment><comment><USER4> A scary thought is really all this is.

Yes, we have our problems, but India and China do too. We have Iraq, they have Pakistan and Tibet. We have a falling dollar and a mortgage crisis. They have overcrowding issues, a transportation crisis, and environmental problems (to say the least)... I don't know about you, but the emerging middle class in Asia and the Middle East just screams instability to me.

The US on the other hand, will continue to provide a low risk and relatively stable environment for investing, especially if we can figure out a way to strengthen the dollar. (Though we've heard interesting theories on how it could rise naturally as exports become less expensive to foreigners and imports become more expensive to us. Domestic savings would rise, economic growth, etc.)

On a sidenote, I don't understand how Philip can truly believe universities in the US are inferior. I thought everyone was in general agreement that we had the best universities? I even personally hang out with a Saudi student who comes from Middle Eastern oil money. He could afford any school in the world, and he chose little SMU in Dallas... Would Philip consider MIT or Harvard inferior? I wish I could go to MIT or Harvard...

Overall, the article brought an interesting idea to the table. I just have trouble seeing growing economies in India and China as a bad thing for the US. I don't like how some Economist's love to bring India and China into the mix only to instill fear.

<comment><USER5> He didn't say anything about US universities. Here's what he wrote:

 _"Our college graduates are roughly equivalent in ability to other nations' high school graduates, and a lot of our high school graduates could not compete on the world market for any jobs other than manual labor."_

You'll also note that he cites an article to support the premise. That said, having taught a few senior-level courses at a top-tier university, I think he's right. The quality of undergraduate education at most schools is abysmal, especially large public schools.

Top US universities are best known for their _research programs_ , not their teaching. (Thanks to drastic cutbacks at the NIH and NSF, even that lead is threatened, but that's another story....)

<comment><USER4> That makes more sense... and apparently I am living support for that assertion. Reading comprehension FTL.

</comment></comment></comment><comment><USER6> I'm calling FUD. There's a lot of press out there talking about what rough shape the economy is in. It makes for good copy, and it sells ads. But ultimately, I think we're just in a correction.

Iraq: We've got to stop spending money on it period. I agree. It's just silly and artificially inflating oil prices.

Dollar devaluation: It's actually a good thing for the US economy and the US consumer, but it's going to cause the rest of the world to suffer a bit. A weaker dollar means that US goods will be cheaper relative to foreign imports. This will be good for the US tourism and manufacturing sectors. Cheaper US products, mean that more people will buy them over seas. Other countries are going to have a harder time selling to the US, because their products just went up 30% in price because of the exchange rate. The dollar is being devalued on purpose in my opinion. It's the only way to correct the trade deficit.

Expensive Oil: This is going to make us tighten our belts, and it will spur growth in other energy sectors aside from fossil fuels, which in the long run only makes sense from a geo-petro-political perspective and a environmental perspective. I'd love for oil to be at $200 or $300 a barrel. There'd be a lot more economic incentive for electric cars and nuclear power plants. Short term pains, long term gains.

US schools: I don't see tons of US students going to Europe, China or India to study. I still see many students trying to get in to US schools, however. And, it's not so much the quality of education available, it's that pretty much anyone can go to any school (aside from the 20-30 highly selective schools). Education in other countries is heavily subsidized, and it's hard for people to go back to school. In many countries, you're told what schools you can attend, and what majors you are able to take. You don't have the flexibility that we have here. It's one of the essential strengths of the US economy. I've been an ER nurse for 14 years, and I'm going back to school for software engineering. I've attended the University of Maryland online while moving to 2 different states and 4 different cities. I haven't heard of any other country that has that type of educational flexibility. I work with a number of nurses that use to be engineers, or flight attendants, or ministers. The average US worker has 7 different careers in their lifetime. You simply don't have that fluidity in other countries. It's that fluidity of labor markets that gives the US a big part of it's edge in the international market.

Foreign investment: If a US company invests in a manufacturing plant in India, and the Indian manufacturing plant succeeds, where do the profits end up? On the balance sheet of the US company.

Foreign competition from India/China: I have a friend who's job is to ship servers to India/China. The bureaucracy is so convoluted, it takes them 2-6 months to get a server or a SAN through customs. Many other countries aren't used to working on Internet time. I have another friend who worked for Big Internet Co. here in the valley, and he's planning to leave to go back to India in the next 2-3 years. He says that salaries are pretty much at a parity, when you compare the costs of living. In other words: outsourcing is no longer cheap labor, it's just finding available engineers.

US as a bad place to invest: Okay, when you buy a stock, say GOOG. Do you want to buy your shares of GOOG stock when the price is at $800 a share and hold it, or do you want to buy those shares when it was at $87 a share? You want to buy it at $87 a share because then the price will appreciate. The idea is to buy low and sell high. Too many people buy when there's hubris and giddiness in the press (e.g. buy a house in 2006 or Internet stock in 1999) and sell when there's panic (e.g. sell a house today or tech stocks in 2001). Phil is falling in the same mistake. He's encouraging people to sell their US stock when it's low. This is a great time to invest in the US. It's a great time to be here. It's a great time to buy a house, if you can afford it. Why? Because things are going to appreciate after all this FUD dissipates.

Finally: Compare the number of posts on Hacker News and elsewhere that say: "How do I move to India/China/Europe to start my startup" vs "How do I move to the US to start my startup"?

<comment><USER7> > Dollar devaluation: It's actually a good thing for the US economy and the US > consumer

I agree with everything but this claim about the falling dollar as a benefit. The falling dollar is a way to default on international debts. It is also outright theft from those who have saved in dollars.

This idea that a falling currency means boosted exports is empirically challenged. If you measure in terms of the devalued currency, then yes, more money is received. But it's money that is worth less, so the change is essentially meaningless. In terms of actual physical exports, with a couple exceptions, falling currencies have not boosted manufactured exports in industrial economies. The more obvious historical correlation is a trade surplus and a strong currency. A falling dollar will probably boost the share of existing commodity production that is exported more than it will stimulate new manufacturing. That is a bad thing in that it basically means Americans are finding themselves outbid on their own crops. It means people eating less meat because they can't afford it anymore.

<comment><USER6> * The falling dollar is a way to default on international debts. *

Isn't that what third world countries have been doing for decades? :)

I hadn't really thought of the increase in export volumes would essentially be zero sum because of the fall in value. Good point.

I don't know. I've been of the impression that the US dollar has been overvalued for quite some time, however. You can't keep running the trade deficit's that we've been running for decades, and expect the dollar to stay strong.

Essentially, what I think is happening, is that the whole world has been running up the prices on the Dollar for decades by using the Dollar as a benchmark and holding currency. And, now the market is correcting itself, and buying the Euro instead. The Dollar has never really had a decent competitor until the advent of the Euro.

While I certainly don't think that it's going to be good for us in the short term, I do think that it's going to knock some financial sense into us. We've been living on credit cards for far too long as a country, and now we're going to have to pay off the credit card bills. I'm okay with that.

</comment></comment></comment><comment><USER8> Philip was more interesting before he retired. There was some optimism mixed in with the bile.

<comment><USER8> In case I was a little too indirect for you, that was not an ad-hominem attack, it was a criticism of the article disguised as an ad-hominem attack.

And as I said in a comment on Philip's blog, all of the stuff he is talking about is priced into the exchange rate. And since the dollar's value has dropped drastically in the last few years, the US has been a terrible investment for the last few years. Going forward, it might not be so bad, because all the bad news has been priced into the exchange rate (perhaps).

I had lunch with Mr. Greenspun once upon a time. I remarked after, that it was amazing how he managed to insult all seven nationalities at the table in an hour long lunch. But his writings before the Ars-Digita blowup and subsequent settlement were much more enjoyable because they had a "call to action" of sorts. Things were crappy, but you as an individual could make a difference.

Now his writing is basically "the world is screwed, and Americans are morons for not realizing it."

</comment></comment><comment><USER9> This article presumes that the US economy is based entirely on making things -- physical things.</comment>


'The housing bust appears bigger than the boom' even after 7 years of recovery - <AUTHOR> http://www.businessinsider.com/even-after-recovery-the-housing-bust-appears-bigger-than-the-boom-2016-12 <comment><USER2> Ok? At some point, supply and demand have to meet. We've got too much supply of McMansions in suburbs, too little supply of two-bedroom apartments in cities.

If your investment was to buy an existing asset and sit on it collecting rent or capital-gains without putting in improvements or finding a customer, you made a bad investment.</comment>


A Coder, a Programmer, a Hacker, a Developer, and a Computer Scientist - <AUTHOR> http://www.hanselman.com/blog/ACoderAProgrammerAHackerADeveloperAndAComputerScientistWalkIntoAVennDiagram.aspx

<comment><USER2> I don't really agree with the arbitrary world defined in this article, it seems overly simplified and makes a lot of assumptions. I understand this might be just for beginners or people who want to get a simple view of the world but it's totally not how it works.

The "real world" is actually much simpler. A "coder" is somebody who "codes", a "programmer" is somebody who writes "programs" (is this different from coder? Maybe the way we perceive the word is, but deep down it really isn't). A "hacker" is somebody who "hacks", which can mostly mean who engages in playful cleverness[0], it needn't be software or hardware, low or high level. A "developer" is somebody who "develops" software (this might be a step up from a programmer because a developer is usually the creator/architect of that software too, not just a code monkey). A Computer Scientist is somebody who studies Computer Science, which is a branch of math, usually (but not necessarily) with a degree.

Feel free to criticize me, this is my view of this world as opposed to the author's view of his own world which I don't agree with.

[0] [http://stallman.org/articles/on- hacking.html](http://stallman.org/articles/on-hacking.html)

ps: shall we add also sysadmins, IT techs, Software Engineers and Computer Engineers in the mix?

<comment><USER3> I ask because English isn't my first language. Is a scientist really considered someone who studies a field? You might have a degree, but does that make you a scientist? I always thought a scientist usually is at least at PhD level.

<comment><USER2> English isn't my first language either so I apologize if this is incorrect.

I think a scientist is somebody who applies a scientific method or, more broadly, does research in a field. Since "Computer Science" isn't really a science (it's closer to Math) it gets muddier, I'd assume a computer scientist is somebody who does research in the field of computer science. That's as "objective" as it can be in my opinion.

All in all what's important is that these fields needn't be mutually exclusive, one can be a programmer and a computer scientist. (And the original point of my comment was that applying arbitrary definitions to roles is way too simplistic, the best we can do is apply those words as literal value)

</comment></comment></comment><comment><USER4> I understand what the overall article is trying to present, and I agree that there are differences between each of the labels presented.

I think that understanding each label means more about understanding the person using the label than understanding some absolute definition of each term. My understanding of a self-assessed hacker or coder is going to be far different from my understanding of a person that is labelled by others as a hacker or a coder. I think most of these labels are really interchangeable in most circumstances and it comes down to understanding how each is being applied rather than each having their own definition.

</comment><comment><USER5> When I saw the title, I assumed it would have been followed by 'walks into a bar'. And then the twist was that it was only one person.

<comment><USER6> ...'walks into a bar. Then she walks out again.'?

</comment></comment><comment><USER7> They're all equal. Let's not make silly romanticism about the differences between isotonic words.

<comment><USER8> But "coder" is a good signal that they don't know what they're talking about, the term is only used by journalists and politicians.

<comment><USER9> that's not true, its very popular outside of web development in general day to day use as slang.

in my circle we probably use it much more than 'developer', which is a woolly term that encompasses all kinds of artists, designers, producers, teams and whole companies. although the standard term is definitely 'programmer'.

<comment><USER10> I have always seen 'coder' used for someone who essentially transforms designers intent into HTML/CSS/JS (or other GUI code) and does not especially care about backend code. I have seen it used with this meaning even in job postings (mostly web development related).

<comment><USER9> i dont have much contact with that part of the programming world (although i work in a web dev office atm) - every time i've heard it used its to refer to a programmer working on performance critical desktop software or AAA games... that's the opposite end of the spectrum pretty much.

</comment></comment></comment></comment></comment><comment><USER9> > Is Markup Code?

I find this interesting - even though scott says he doesn't think its coding in the traditional sense a lot of people do.

This is something that never comes up in my circles (web programmers aren't 'real' programmers) we all believe it is a way to encode data...

However, there is a common confusion here - code as a word is meant for the sense of encoding data. Program code seems to have swallowed this original meaning so a lot of programmers think of programs and instructions as being 'code' probably because its a short 4 letter word

Even though the conceptual requirements to understand HTML and CSS are far below that for program code, they are very much still a subset of it so I don't think its especially harmful to use the word 'code' in this way.

<comment><USER11> HTML and CSS are each a language by which a person expresses instructions for specific transformations of an input string into computer output. If Kernigan and Ritchie were correct to call "Hello World" a program then HTML and CSS would quack in the right way to be programming languages even if it were not possible to make syntax errors or they did not require f5 to see if the latest attempt at debugging worked.

That they are easy and forgiving, ought to make us consider them as worthy models for our next language not as objects of scorn,

<comment><USER9> There is quite a distinct difference imo.

One certainly could describe html and css as 'declarative' programming languages in that sense, but I think its a pointless definition then because all data fits that same definition - so why not just call it data?

The key thing here is about what is encoded, not what the output is. A C Hello World program encodes a call to printf along with a data string as a piece of executable code in the entry point of some executable format - the fact that printf is a library function is deceptive - because the encoding of that is important too and it describes how to interact with the OS to output text. HTML containing "Hello World" encodes merely the string and gives you no choice of what is done with it - nor can you interact with the OS, the hardware or any of the surrounds without introducing more (e.g. JavaScript).

However, the fact that you edit it directly in a text editor makes it coding. I have no disagreements with that at all... but the fact that HTML and CSS are difficult to use data formats doesn't qualify them to be 'full' programming languages imo.

As for scorn, I have no scorn towards HTML and CSS because of their perception of being code. I do however have plenty due to the design and real world implementations - not because they are 'easy', but in fact they are much harder than they need to be due to a combination of poor design and poor browser implementation. I can qualify that a lot, but its an article of its own I guess... not a comment. :)

Any decent programmer should be able to design a superior alternative to HTML and CSS imo. Its not a difficult task.

<comment><USER11> To push the analogy further, just for the hell of it, the html:

Some fancy text

does in fact transform the data without javascript [or rather it might transform it in combination with appropriate CSS].

Pushing further: How is #include in C much different from  in JavaScript?

I mean hello_world doesn't do anything interesting without calling `printf` and `printf` for all we know might have been written in assembly. To put it another way, without the various libraries, about the only interesting thing a C program can do is crash your computer.

</comment></comment></comment></comment><comment><USER12> Notice that only Pro-Skubs are concerned with taxonomy.

</comment><comment><USER13> One of my definitions for _hacker_ is someone who learns coding, while simultaneously being told by the majority of peers and relations that they are wasting their time and should stick to what they are capable of.

</comment><comment><USER14> Hey, where should we put the 'Gurus' and the 'Ninjas'? There is one more person, the one that is busy 'getting things done'</comment>


Google Stadia 70 Days In - <AUTHOR> https://www.criticalhit.net/gaming/want-an-update-on-stadia-its-still-a-monumental-disappointment/ <comment><USER2> I have a strong feeling that this will be the next "major" product that Google kills.</comment>


Cubans trace roots to remote Sierra Leone village   - <AUTHOR> http://m.bbc.com/news/world-latin-america-25876023#TWEET1107434

<comment><USER2> What an amazing story. Here's the documentary's website: [http://theyarewe.com/](http://theyarewe.com/), which was oddly not linked to by the original article.

</comment><comment><USER3> My screen brightness has broken it's so bright why are my eyes so watery, obviously it's the screen.</comment>


Show HN: Bingewatch tells you when a TV show has ended so you can binge watch it - <AUTHOR> http://www.bingewatchapp.com/ <comment><AUTHOR> If anyone is interested in how it works, it uses the TVDB api to get episode data. [http://thetvdb.com/wiki/index.php?title=Programmers_API](http://thetvdb.com/wiki/index.php?title=Programmers_API)

If the last episode in the series has an "aired date" in the past it's good to watch.

The app is just a simple node/express wrapper around that.

</comment><comment><USER2> Neat idea.

What about a catalog where I can just look around for stuff, instead of having to search for something I know exists? Would be nice to find shows I haven't watched but can bing watch.

I would also like to be able to filter it to only give me shows that I can bing watch on Netflix or HBO.

<comment><AUTHOR> Thanks, they're both good suggestions.

</comment></comment><comment><USER3> Great idea! I thought I was the only one needing this

<comment><AUTHOR> Thanks. I thought I was too :) but it seems a lot of people like to watch tv this way.</comment></comment>


Facebook announces forensic audit of Trump data firm Cambridge Analytica - <AUTHOR> http://money.cnn.com/2018/03/19/technology/cambridge-analytica-audit/index.html <comment><USER2> This seems like a fig leaf, because Facebook has no authority or ability to fully inspect all of Cambridge Analytica's facilities and data throughout the world. There certainly won't be a police raid in London to seize hard drives or anything like that. And short of that kind of intervention by the authorities, we'll never know what Cambridge Analytica has or had.

<comment><USER3> I agree with almost everything you said, minus the raid in London. It won't be FB kicking it off, but the ICO and Electoral Commissions in the UK are already investigating them, as is the EU, and in the USA, the Massachusetts AG.

Raids are possible, but it won't be because Zucky boy and his motley crew did a thing.

</comment></comment><comment><USER4> Is this before or after the UK serves their warrants for the contents of CA's servers?</comment>


[Ask HN] When to pay for an OS? - <AUTHOR>

All,
I am slowing growing my startup. I have about 6 CentOS 5.4 servers.
Recently I have been wondering about when should I pay for an OS?
CentOS has worked great for me and it does everything I ask of it. But what about those companies selling distros?
What do I really gain? just paid support?
Suse Enterprise 11 is $899. CentOS is free. (although I donate every year)
I thought about running Novells Groupwise Server which they prefer that you run SLES for that.
I sort of feel lost in a sea of where do I put my hard earned revenue? <comment><USER2> You use CentOS, you donate to CentOS; I don't see the problem.

You have a slow growing startup, you can't be running out of places to spend money already? YAGNI, and all that.</comment>


Netflix Switch – dim lights, turn on the TV, order food, and silence your phone - <AUTHOR> http://makeit.netflix.com/the-switch <comment><USER2> It's really great to see a company's engineers given the time and resources to do some fun tech project like this. Sometimes it seems like unless a project is about directly increasing revenue, its incredibly difficult to get buy-in from management. These projects are great for culture.

<comment><USER3> Is it really just a fun project? Or is Netflix trying to use this as the nose of the camel to get into the house automation business?

I've always thought house automation was cool, but a lot of trouble and likely to wind up a waste of my time and effort once I stop using it in three years because whatever standard I was using became obsolete. But if Netflix can start automating my house one bit at a time and slowly sneak up on me...

<comment><USER4> I honestly can't attribute any profiteering here. This is pure geek fun. Reminds me of the days of the Netflix Prize. [http://www.netflixprize.com/](http://www.netflixprize.com/)

<comment><USER5> I am sure it was a blast, but it was NOT done "for fun" to amuse the engineering staff. Nor is it an effort at "home automation".

This is part of a marketing campaign not unlike the office depot "easy" button, except they've designed an actual button that sort-of works.

The point is to get people excited about the idea of a Netflix marathon and create some buzz among geeky subscribers. It doesn't matter how many people actually create or use "the button".

<comment><USER4> Well, I'm sure that was an excuse, but seriously. Do you honestly think the kind of geeks that'd do this are really that important to a company like Netflix these days? Maybe at the beginning...

If I had to attribute anything, it's more of a recruiting move. They want clever hacker geeks working for them. Maybe they are moving into home automation and this will be an interview question? I dunno how effective that is, though. I think someone just said, yeah, screw it, let's do it!

</comment></comment></comment></comment></comment><comment><USER6> We're in the golden age of DIY home automation. Wifi-enabled microcontrollers like the particle photon are a game changer; it's never been easier to make a connected device yourself.

Using the Photon I've built a device that connects to my doorbell and sends a push notification to my mobile when someone rings. (Might be useful when you're in the back yard and don't want to miss the delivery guy)

Yes, most of the stuff is still gimmicky. But when you're tinkering, it's not necessary to turn everything into a product that will change the world or earn a billion dollars. We can just have a bit of fun, and enjoy the things we can do.

I think that hackerspaces might be todays equivalent to the homebrew computer clubs where enthusiasts dabbled with early home computers...

<comment><USER7> I agree and disagree with you at the same time. IoT, especially with things like the Photon and ESP8266 are major game changers. However, the idea of a baked-in WiFi stack with little/no way to update protocol bugs is rather scary proposition. And I'm also against giving IoT devices a directly routable IP address, even if they are behind a NAT.

I'm looking more at things like the nRF24L01+ board combined with MySensors, which seems to be rather mature. It is a self-healing mesh network with encryption and signing support. And I can get all the data from the net mesh with a serial gateway (inputs/outputs via USB serial). I can connect that gateway to a Linux machine running Node-red and use the MySensors encoder/decoder.

Hook up a relay and you can toggle electronics on and off, or you can make a manual high voltage switch using a servo and 4 contact switches. I'm also using PIR for occupancy along with temp sensors for zone acquisition. I'm looking at developing my own thermostat as well to see if I have the chops..

</comment></comment><comment><USER8> FYI for the DIYers, there is a little project that I contribute to on the side for fun. I also use it to do things just like the title suggests:

[https://home-assistant.io/](https://home-assistant.io/)

<comment><USER9> Looks cool! One question - Why android switches on an iphone app? Is it just for the screenshot?

<comment><USER8> This isn't a native app, that is a very responsive webapp. It uses nuclearjs and the polymer web frameworks, but the backend is all evented python.

<comment><USER10> You can check out the demo here: [https://home- assistant.io/demo/](https://home-assistant.io/demo/)

</comment></comment></comment></comment><comment><USER11> Speaking of which, do food APIs exist? I've often been tempted to make a generic pizza API that — by limiting options — will deliver a pizza to almost any address via Just-Eat or whatever is local to you.

<comment><USER12> Haven't really seen any food api's. It would be cool if it did exist though.. But I don't think Just-Eat like services will bite since you'll be driving traffic away from their website..

<comment><USER13> What's the problem with the traffic being driven away from the web site? As long as it would be coming through their API (think of centralized API for local food joints), and they get their cut it's all good.

But I see valid reasons for not providing APIs like that. Imagine someone creates a gadget like that and there's a bug, instead of 1 pizza it orders 10 of them. A delivery guy comes with 10, and no one is willing to pay for that many. It wouldn't take long to infuriate enough food joints.

Well, yeah, you could pay with credit card when placing an order... But I never do that, I just avoid using my card on web if I can easily do it :)

</comment></comment></comment><comment><USER14> Gives new meaning to Netflix & Chill.

</comment><comment><USER15> This can already be achieved with Flic: [http://flic.io](http://flic.io) Flic is a Bluetooth button which uses your smartphone to communicate with smart electronics. If you have Philips Hue or LIFX smart lights and a Logitech Harmony Hub (for IR), this would work straight out of the box! (Disclaimer: I am associated with Flic)

<comment><USER16> Does that require a phone nearby at all times?

<comment><USER17> I'd also be interested in this. Would love such a button that could connect via WiFi or generic BT on a Raspberry Pi or something like that, rather than a smartphone with a specific app.

</comment></comment></comment><comment><USER18> > order food, and silence your phone

Really? Around me, delivery drivers have pretty much given up on doorbells. If your phone is silent you may not get your food.

<comment><USER19> Delivery drivers don't use doorbells where you live? What do they do, call you instead? That seems odd to me, even Fedex and UPS ring my doorbell when dropping off a package.

<comment><USER18> To be precise, it's Chicago. Being in the city means most deliveries will be to apartments. The door buzzers are often unlabeled, mislabeled, or just broken. But even if you're in a townhouse with a door facing the street, most drivers are firmly in the habit of calling.

</comment></comment></comment><comment><USER20> Can only be called a Chill Switch.

</comment><comment><USER21> Others have mentioned the Flic and Amazon's Dash buttons. Here's the one I'm most excited about, which should (when they have an IFTTT channel) make things like the Netflix Switch doable for non-nerds: [http://www.dropletlife.com/](http://www.dropletlife.com/)

</comment><comment><USER22> A number of years ago I made a project that let me do this for ESPN using IR (Ken Sherrifs awesome library) and x10 units. Rather than a physical button I just had a shortcut on my phones home screen.

[https://github.com/dandroid88/webmote](https://github.com/dandroid88/webmote)

</comment><comment><USER23> It would be cooler, easier, and would yield better battery life to reprogram an Amazon Dash Button [1] to do this. Most Samsung TVs can be controlled from the network side, as well as with an IR remote.[2]

Of course, the Netflix button just brings up power and puts you at the Netflix menu. At that point, you need another device to tell Netflix what you want. Authorized Netflix-compatible TVs already have a Netflix button.

So the logical thing is to have something listening to the TV's state to dim the lights, close curtains, and such. There are home theater accessories for that.

[1] [http://www.amazon.com/b/?node=10667898011](http://www.amazon.com/b/?node=10667898011) [2] [http://www.gemote.org/](http://www.gemote.org/)

<comment><USER24> This all sounds great -- until, for example, you are trying to eat a snack while also watching TV. Or one of a dozen other things where the automation gets in the way. Or, equally worse -- it's not perfect. Sometimes the lights don't change, sometimes there is a delay (so user presses the button multiple times) and suddenly everything catches up and curtains are closing and opening and closing and opening..

Any of these cause WAF to go to zero, at which point, you rip it all out.

So many times when it comes to home automation, otherwise rational software developers forget what people actually want to do, and skip to what the technology makes possible but doesn't actually make anything easier.

</comment></comment><comment><USER25> Step 15: Spend 2 hours browsing for something to watch

</comment><comment><USER26> Reminds me of something I built: [http://garyroumanis.com/2015/03/15/TVRemote- app/](http://garyroumanis.com/2015/03/15/TVRemote-app/)

</comment><comment><USER27> The silence your phone step[1] is much easier if you use something like Tasker[2].

[1] [http://makeit.netflix.com/the-switch/do-more#silence-your- de...](http://makeit.netflix.com/the-switch/do-more#silence-your-devices) [2] [https://play.google.com/store/apps/details?id=net.dinglisch....](https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm)

</comment><comment><USER28> My guess is that this was the result of an internal hackathon. Makes me think working at Netflix could be fun.

<comment><AUTHOR> Yeah, they've had other hackathons before with good results: [http://thenextweb.com/apps/2015/03/10/a-netflix-hack-day- pro...](http://thenextweb.com/apps/2015/03/10/a-netflix-hack-day-produced- some-amazing-experiments-that-we-want-right-now/)

</comment></comment><comment><USER29> Most likely the initial prototype was done during an hacktaton... I remember many years back someone that came up with a small TV on a toaster so we could say you can watch Netflix on your toaster, later on that toaster made it into a T-Shirt for the next hackaton!

</comment><comment><USER30> Any ideas what they might be using to mill the wooden enclosure? I have a few projects that need enclosures and it's been a few years since I looked but the CNC mills were still thousands of dollars.

<comment><USER31> Why do you believe that wooden enclosure needs a CNC mill?

It requires a few miter cuts and a good chamfer bit.

That's it.

Heck, you could do it with all handtools pretty darn quickly.

(If for some reason, you really want to CNC mill it, and are in the bay area, contact me and i'll mill it on my CNC mill for you)

</comment></comment><comment><USER32> "Get rid of all distractions, to be distracted."

</comment><comment><USER33> Like the Amazon Dash Button, this is a great reminder of how hardware is still useful in the age of touchscreen interfaces.

</comment><comment><USER34> This is fun, I like stuff like this; Not too serious and brings that sense of 'doing it yourself' feeling to it.

</comment><comment><USER35> Damn, this is how you have fun. Both on the tech side and the marketing side. Much respect to Netflix.

</comment><comment><USER36> This is great and I love it but If the Raspberry Pi had a netflix client this would be amazing.

<comment><USER7> You can still do the same thing with OSMC and piratebay.

The only, I repeat, ONLY reason why RasPi doesn't "support" netflix is because of DRM. The media files would easily play. So instead of downloading the file each time you want to watch it (netflix), download it our your HD and watch it from there. It's the comparison between O(n*constant) and O(constant).

When you get OSMC up and running, you can add in hooks for node-red. The flowchart for button->actions should be simple to set up.

</comment></comment><comment><USER37> This makes me think about the swedish startup Flic and thier wireless button.

</comment><comment><USER38> The hardest path to ultimate laziness, this looks like a fun project!

</comment><comment><USER39> If you're into IoT stuff like this, check out www.hackaday.io

</comment><comment><USER40> Maybe Orwell's vision wasn't accurate. The title suggests Huxley got it right.

<comment><USER41> I'm still not convinced that Brave New World was actually a dystopia, relative to either our modern world or the one that Huxley was writing from. It had some stuff that was pretty fucked up, but was it _more_ fucked up than e.g. the way we treat the poor and homeless? BNW at least dramatically reduced the total volume of human misery in the world.

</comment></comment><comment><USER42> The WALL-E future is now, just not evenly distributed.

</comment><comment><USER43> genius

</comment><comment><USER44> Get more netflix to your life !!

</comment><comment><USER45> I couldn't even focus on the product after seeing this ridiculousness:

[http://imgur.com/soIclkv](http://imgur.com/soIclkv)

Why would a phone have both capacitive navigation buttons and onscreen navigation buttons? Are they intentionally trying to be funny?</comment>


Bind broker - <AUTHOR> http://www.tedunangst.com/flak/post/bind-broker <comment><USER2> I think this is a response to this: [http://adamierymenko.com/privileged- ports-are-causing-climat...](http://adamierymenko.com/privileged-ports-are- causing-climate-change/)

See discussion here: [https://news.ycombinator.com/item?id=14712576](https://news.ycombinator.com/item?id=14712576)

<comment><USER3> Also, OP's original comment: [https://lobste.rs/s/kzb2xx/privileged_ports_cause_climate_ch...](https://lobste.rs/s/kzb2xx/privileged_ports_cause_climate_change#c_1bpsyn)

</comment></comment><comment><USER4> Rather than proxying data, why wouldn't you just bind the socket, and then transfer the file descriptor over the UNIX domain socket (using sendmsg/recvmsg)?

Or acept() incoming connections, and _then_ pass the connection's file descriptor.

</comment><comment><USER5> User space proxying for protocols other than http, though, is a bit tricky. If you aren't exposing things like source ip, listen queue depth, buffer sizes, errno from failures, etc...you are potentially limiting how well it works. Plus the read/write overhead. I'm not convinced this is any better than other approaches. Brokered iptables (or pf,etc) port rewrites seems cleaner, though it has issues as well.

<comment><USER6> > _If you aren 't exposing things like source ip, listen queue depth, buffer > sizes, errno from failures, etc...you are potentially limiting how well it > works._

This is a good point.

> _Plus the read /write overhead._

The author's code uses OpenBSD's `SO_SPLICE` for zero-copy socket data transfers.

[http://man.openbsd.org/OpenBSD-5.4/setsockopt.2](http://man.openbsd.org/OpenBSD-5.4/setsockopt.2)

Edit: apparently `SO_SPLICE` can't splice IP sockets onto unix domain sockets yet, so the presented code is kind of wishful thinking. It sounds like this is in the works though.

</comment></comment><comment><USER7> It sounds like you should probably just go the whole hog and give each user their own network namespace and bridge them to the main network. Then they can run DHCP and get their own address and do with it what they like.

Wouldn't really work for Internet accessible IPv4 addresses, but IPv6 would be fine.

</comment><comment><USER8> This is neat. There's a minor race condition at startup because scanhostdir calls scanportdir before watchdir. Reversing the order of calls would close the gap and shouldn't have any adverse effects.

</comment><comment><USER9> For the most common case of lots of users needing ports (web apps), there's the option in nginx and newer Apache versions to proxy to a UNIX socket, so no port is needed for the user app. It's not gonna work for everything but _many_ web app servers are fine with using a socket instead of a port.

There's also [http://cyberelk.net/tim/software/portreserve/](http://cyberelk.net/tim/software/portreserve/) for when ports are really needed (not as elegant as the solution under discussion, though, as it just holds a port by binding to it until the rightful owner/service comes along).

</comment><comment><USER10> I think these days I would approach the problem by creating per-user network namespaces and hack the privileged port limitation away from kernel (is there a sysctl for that/why not?)

<comment><USER5> For Linux, there's:

\- CAP_NET_BIND_SERVICE - Assigned to an executable, doesn't work for scripts, etc.

\- Workarounds like authbind ([https://en.wikipedia.org/wiki/Authbind](https://en.wikipedia.org/wiki/Authbind))

\- Then, as of kernel version 4.11, you can set where the non-privileged ports start, like "sysctl net.ipv4.ip_unprivileged_port_start=0" Somewhat helpful in that you could have them start above things like sshd (22), but below port 80. Still not great for multi-tenant, etc, though.</comment></comment>


Moonlight: Why the Mono Project Will Implement Silverlight for Linux - <AUTHOR> http://www.oreillynet.com/windows/blog/2007/05/moonlight_why_the_mono_project.html <comment><USER2> Mono/Moonlight... what a pointless waste of time. These smart programmers are spending their lives blindly copying MS products. I think this is programmer's hell.

<comment><USER3> Well, they're paid to do it, and it's quite predictable. Suits some people ;-)

<comment><USER4> Fun > Money</comment></comment></comment>


Show HN: Gigs Tracker for the Working Musician - <AUTHOR> https://useadagio.com <comment><AUTHOR> Hope I can help musicians out there by sharing a tool I created.

As a musician a problem I had was that not everyone would pay me on time (or at all?) and it was difficult to keep track of all of the gigs I played. That's why I created Adagio.

Adagio is the CRM for the working musician. You can keep track of gigs, venues, bands and payments.

Here are some features:

Easily add gigs manually or import them from Bandsintown®.

Check how many gigs are still to be paid, just by looking at your dashboard.

 Useful email reminders to remind you of unpaid and upcoming gigs.

A lot of musicians are non-technical. At best, they use a spreadsheet to keep track of their shows, so I really hope this product can help them like it helps me.</comment>


Demo Day St. Louis...Featuring Cobra Commander - <AUTHOR> http://tech.li/2012/04/demo-day-startups-st-louis/

<comment><USER2> Interesting opportunities in STL.</comment>


The Best Ways to Fix College Admissions Are Probably Illegal - <AUTHOR> https://www.theatlantic.com/education/archive/2018/04/college-admissions-antitrust/559088/?single_page=true <comment><USER2> Anyone proposing that a residency match-type system is superior to the current system has not gone through a match.

The Match is a pretty degrading experience, and I say this as someone who got into my #1 choice. Imagine applying to a bunch of jobs and knowing that some third party will decide which _one_ you will attend. You lose all sense of agency. When used for jobs, match systems depress wages because the competition is blunted and limited to the pre-offer period. There is still weird recruitment that happens even though the institution cannot directly offer you a slot. You still apply to a bunch of places because you're still going to rank place #7 in case places #6 and higher don't want you.

For college applicants, there is no reason _a priori_ to think that a match system would reduce the number of colleges they apply to.

Obviously, I don't like being a participant in match-based systems, but maybe some people do.

</comment><comment><USER3> >Although selective schools—those that accept fewer than half of applicants—enroll only about one-fifth of U.S. undergraduates, they account for more than one-third of applications each year.

Given how wide their criterion for selective is, this line alone seems to indicate to me that the constant media focus on ultra-elite schools is just a sign of a bubble of elites.

</comment><comment><USER4> > With a national clearinghouse, students could upload their academic records > and accomplishments during their high-school career and then in their senior > year simply press a button to apply to colleges. The database would be open > to admissions officers at all colleges, so they could see where else > students are applying, bringing a level of openness to the process. Under a > matching system, students and colleges would each submit rank-order lists of > each other and be paired as closely as possible.

This is precisely what we have in France, ans it's run by the government (and is thus prone to the same type of complaints as that Obamacare website).

There's a lot of contention about how well it does or doesn't work, though I'd say it gets the job done. Your results are automatically entered by your high school, and you get your results by "waves" as new spots clear up.

</comment><comment><USER5> What is the logistical problem that setting up a weird university cartel is supposed to solve again? Students having to apply to more than one college?

<comment><USER6> in the whole article, i read only a couple sentences that explicitly talk about how any of these different approaches would actually benefit students, and what little there was was quite vague.

on the other hand, they all seem to directly lower the burden faced by the schools themselves. in particular, knowing what other schools a student has applied to helps the college a lot (are we a reach? a safety? etc) but seems like it could only hurt an individual student.

i vividly remember the stress of college applications, but i can't say it seems unnecessarily brutal to me. it _is_ a very important process that will affect the rest of your life, and there is an inherent level of stress in these sorts of things. at the same time, there are a lot of tradeoffs that can be made depending on your tolerance for risk. i applied early decision to a school that was likely to accept me. i filled out one brief application and received my acceptance letter in early december. if your college admissions process is/was hell it is probably because of the expectations you (or your parents) set for yourself.

</comment></comment><comment><USER7> I always found the US system for college admissions unnecessarily onerous on both the student and the colleges. The Australian system is comparatively simple - your results (generally from your final two years) are collated by the state, some adjustments are made to the score based on criteria supplied by the university (eg. unis might decide to target students with lower socio- economic scores, or from regional areas), and then a ranking is produced. At the same time, students have supplied an ordered list of their uni/course preferences. The two lists are compared, and students are offered the highest course they qualify for. If you don't get your first preference, you can reject the offer and hope that someone else has done the same for a higher preference.

For courses with an interview component or other requirements, those are handled in parallel. Generally Undergraduate-entry Medicine is the primary course with that sort of thing - the extra testing is carried out near the start of the year and interviews once the school year ends.

I wouldn't necessarily say that it's the optimal solution, and nor is it particularly _fun_ , but it works, and it means you're focused on school rather than writing 10-million essays describing why you want to go to your safety college.

<comment><USER8> I'll add to this that each degree at each university has a pre-published entry score. If you achieve this score, you are automatically accepted.

The score is based on the previous year's intake, so the universities must predict demand for each degree in advance to meet their enrolment targets. In practice this means they set the bar a little high and give the remaining spots to students who didn't make the score on a case by case basis.

<comment><USER9> > I'll add to this that each degree at each university has a pre-published > entry score. If you achieve this score, you are automatically accepted.

With the funding cap on commonwealth supported places announced in the MYEFO this will eventually change back to a capped entry system.

</comment></comment></comment><comment><USER10> ex-Stanford affiliate here.

Regarding _grad school,_ one of the simplest ways to get in is to simply get hired as a full-time employee (FTE) of the department and be favored by one/more PI's. It's not strictly assured, but it helps because they'll at least help you make your application better, if not show some unconscious, preselection bias.

For undergrad, don't try too hard too look like an overachiever with a million surface, common extra-circulars... focus on a select number socially-redeeming clever hacks for low-income or third-world countries, and really hustle hard. Start a profitable social venture startup also. Do something badass like donate platelets every week, liver lobe or a kidney. A clever art installation project would help too, especially with pictures.

\- These will kill it. Take every AP test you can to get 5's.

\- Study your a55 off for the ACT / SAT.

\- Do dorm life. It's the best part.

\- Join a greek society.

\- Arrange classes to graduate in the least time possible.

Also out-of-state tuition: charging based on ability to pay or whether a foreign country is picking up the tab, rather than just out-of-state, would be ideal. This way, lower- and middle-class out-of-state students aren't penalized.

<comment><USER11> > donate a kidney to get into college!

I cannot believe you are saying this seriously.</comment></comment>


Is my resume design strange for software engineering internships? (Rejection) [pdf] - <AUTHOR> https://www.stivenmorvan.fr/CV_2018_US_MORVAN_Stiven.pdf <comment><USER2> In all honesty, it's a great design. I think people will be a bit confused as to what position you're applying to. If you were in UX, or Graphic Design it's well and good -almost a requirement to have as such. I'd recommend also creating a bland and boring Time New Roman formatted resume just in case, for everything else.

</comment><comment><USER3> Having "polyvalent" as the first word of your personal statement is going to throw people off. It's a very uncommon word in English (outside of scientific terminology), and it doesn't really mean what you want it to mean.

</comment><comment><AUTHOR> I applied for software engineering internships in major companies (like Amazon, Nvidia ..) and was rejected. I doubt my CV, maybe the design is weird for a software engineering internship or I just do not have the right qualifications?</comment>


So, What about Mac OS X Server? - <AUTHOR> http://duncandavidson.com/blog/2010/11/osxserver-future

<comment><USER2> OS X server will survive. Much of server also exists in client (i.e. they have a common subset of software). It may even be recompiled for other architectures (thus far OS X has been compiled for PPC, x86 and ARM).

</comment><comment><USER3> Interesting and had not thought about OSX server. I agree though that the future of that particular OS may be uncertain at this point.</comment>


Fully Autonomous DIY Surveillance Camera - <AUTHOR> https://code.google.com/p/surveillance-camera/

<comment><AUTHOR> Any comments/suggestions/questions are most welcome.</comment>


Intel shuts down group working on wearables and fitness trackers - happy-go-lucky https://arstechnica.com/gadgets/2017/07/intel-shuts-down-group-working-on-wearables-and-fitness-trackers/ <comment><AUTHOR> The writing has been on the wall for a while. The blogger DCRainmaker has superb coverage of the fitness tracking industry, has covered Intel's moves in this space pretty thoroughly - in the case of Basis we knew this largely a year ago.

[https://www.dcrainmaker.com/2016/08/tech-tidbits-basis- close...](https://www.dcrainmaker.com/2016/08/tech-tidbits-basis-closes-up- shop-strava-announces-live-tracking-platform.html)

I'm curious if this affects the Recon Jet? This was one of the more innovative things Intel's wearable teams were working on, basically Google Glass for sports.

[https://www.reconinstruments.com/products/jet/](https://www.reconinstruments.com/products/jet/)

</comment><comment><USER2> > _The Peak never truly competed with Fitbit devices, and it certainly didn 't > stand up to the Apple Watch when that device debuted in 2015._

I actually really liked my Peak, whose battery lasted nearly a week, and which had a reliable heart rate monitor. After the recall, I tried an Apple Watch (v1) and various other smartwatches. The Apple Watch was, for my purposes, inferior to the Peak in several ways: the battery life was very short, it had no HR monitor, and it was very expensive. In my experience, the Peak even pushed notifications from my iPhone more reliably than the Apple Watch.

To be sure, the Peak wasn't beautiful, but as a V1 it seemed like a product with legs.

disclosure: I received my Peak for free from Intel at their ICAP conference.

<comment><USER3> Similar feelings about my Pebble Time. The Apple Watch throws away the battery life and replaces it with things I don't need. I don't have a heartrate monitor though, and they went out of business before the v2 could add it.

As far as the Apple Watch's heartrate monitoring is concerned, it definitely has one. Not only that, it's significantly more accurate than any other fitness tracker's.

[http://www.mdpi.com/jpm/jpm-07-00003/article_deploy/html/ima...](http://www.mdpi.com/jpm/jpm-07-00003/article_deploy/html/images/jpm-07-00003-g002.png)

[http://www.mdpi.com/2075-4426/7/2/3/htm](http://www.mdpi.com/2075-4426/7/2/3/htm)

<comment><USER2> I actually ended up with the Pebble Time also, and excitedly pre-ordered the Time 2. I would have been willing to pay so much more for it, and I wish they'd just told their backers that either everyone could pay an extra $100 or it was gonna go bust. I imagine I'm not the only one who would pay Apple Watch prices for a Pebble Time 2.

I have no idea what I'll get when my current Pebble bites the dust. I'm not sure which is more likely: that Apple offer a watch with more than a couple days battery life, or that Fitbit actually integrate the Pebble tech (and reliability) into their devices. Sigh.

<comment><USER4> I was in the same boat - I ended up replacing my third Pebble with a Garmin Vivoactive HR. It seems to have fulfilled all of my old requirements (notifications, good battery, custom watch faces, 3rd party apps), and then added a few I didn't know I wanted (GPS fitness tracking, Heart Rate Monitor).

</comment></comment></comment></comment><comment><USER5> I worked for one of the major fitness apps and we partnered with Intel on a couple integrations years back.

I never understood the huge investment in stand alone wearables/tech outside of apple/google. The writing was on the wall (for me at least) from day one. It is/was hard enough for a fitness app to breakthrough without adding complex hardware and supply chain to the mix.

1) Hardware unitaskers at scale (not niche/pro markets) do not seem to ever win, platforms do. Why pay $100 for a "connected" pedometer when I can pay $300 for a do-everything watch from a massive established brand. Platforms have the scale to get better and better while everyone else struggles and falls behind.

2) (Real) Retention on fitness wearables in general is terrrrrrible (relative to other products). After about 30 days, the novelty/initial behavior change wears off unless you have a chronic or serious need to track. People may report using them...but getting value is different from "clipping on". tl;dr fitness is fucking hard.

3) I think fitness/health is the killer app. But its a fully commoditized utility by now. Its "contacts" or "notepad" but for tracking...so its not really blowing anyone's mind, its table stakes. And fitness is a "thing I should do" not a "thing I want to do" for most people -uphill behavioral battle vs. e.g. putting an awesome camera in a phone I just have to click to open.

<comment><USER6> What do you think about Under Armour's strategy of spending close to a billion on I think 3 acquisitions like the MapMyFitness suite of apps, MyFitnessPal, and one other. Sticking to apps/sites vs wearables.

</comment></comment><comment><USER7> Intel's on-the-go and embedded offerings always seemed half-assed. I'm not really clear on why they bothered at all. If they had committed, they might've been able to target similar spaces to Cortex-M processors.

But they didn't commit, and never seemed like they intended to.

</comment><comment><USER8> no big surprise...intel just hasnt been able to match ARM in the low power area.

<comment><USER9> Or, another perspective, all of the Tech Wearables industry is pretty much DOA. Intel is hardly the first company to bow out of the space, and will likely not be the last.

The tech simply isn't there. Smartwatches don't have enough utility compared to the downsides of constant charging, and are much too power hungry for automatic or mobile charging (though wireless charging probably gave these devices a slight bump).

Battery life is very much the chief complaint, followed by weight (which, of course, ties right back to battery life). The smarter you want to make a device, the more power it needs, and the more of a battery it needs. Even your ATmegas are going to struggle - we're simply just not there yet.

I suspect it'll be another case of the Newton - it's cool, way ahead of its time tech. Give it ten years and we'll be way closer to making something truly useful with it.

<comment><USER10> Apple sold $6B worth of Apple Watches in it's first year. Sales increased when they released the version 2 watches. The rest of the market may be hurting but Apple is crushing it with theirs.

</comment></comment></comment><comment><USER11> Has Intel ever made a productive acquisition?

<comment><USER12> Infineon</comment></comment>


Your smartphone and tablet may be making you ADHD-like - <AUTHOR> http://www.kurzweilai.net/your-smartphone-and-tablet-may-be-making-you-adhd-like <comment><USER2> Not even close. The profound impact on working memory and executive function caused by ADHD--which is a misnomer but due to its link to entitlements for disabled individuals, it remains so named--effect people in every way from social to workplace to family life. Its a poor comparison, much like comparing a person who temporarily forgets something to a person with downs syndrome or mental retardation. Stop popularizing this disease as something its not. The inattentive features are just a scratch on the surface of the profound issues associated with this disease. In fact, smartphones and tablets help those with executive functioning disorders, so this would qualify as an ironic article.</comment>