Introducing the new dotCloud dashboard - <AUTHOR> http://blog.dotcloud.com/introducing-the-new-dotcloud-dashboard

<comment><USER2> I've been playing with the new dashboard beta for a while and it's really nice. It'll be nice to see some basic CLI functions (resizing/mem management) make their way into the dashboard too.

One thing I'd really like to see with DotCloud is a way to more accurately replicate their environment locally for development. If I'm setting up a new site, I want my local environment to match the live one as much as possible, so a local VM that matches DotCloud's service settings would be pretty killer. Since each service is independent, that may be tricky, but it would be awesome if it could be done.

<comment><USER3> Thanks for the feedback!

On adding CLI functions to the dashboard: this is the most common request, and as we hinted in the announcement: "going forward, you will see more command- line features making their way to the web dashboard, and vice-versa. It also means the CLI and dashboard experience will converge over time and feel more consistent"

On local dev environment: you are definitely not the only one asking for this. We're not quite ready to communicate on the topic, but you should definitely keep an eye out for future progress.

Feel free to hang out on freenode/#dotcloud, we'd love to get more feedback from you!

<comment><USER2> Thanks for the reply! Glad to hear these are on your radar :)

</comment></comment></comment><comment><USER4> Have you considered using docopt[1] for your CLI? I find it to be incredibly difficult to make sense of what commands are available, even with 0.9.

[1]: <https://github.com/docopt/docopt>

<comment><USER5> This seems like a terrible idea. I would rather have my help text generated programmatically - and fix the generated output to be more helpful when it is not - then have something attempt to parse things that may seem non- deterministic because I flubbed a character.

</comment></comment><comment><USER6> I am genuinely curious how you guys come up with pricing for the stacks. I understand the convenience premium with the webhost/scaling services like heroku and dotcloud, I buy into that too. But I fall off where say a 1Gb mongodb comes out to $134 monthly, especially considering its almost effortless to set such a db up (fire up ec2 instance, download, ./mongod).

Essentially I am asking: If you were trying to sell me your product how would you justify the $132 for 1Gb mongodb when I can get a 1.7Gb instance at amazon for a fraction of the price ($46, on demand).

<comment><USER7> The thing with PaaS vs EC2 is that you're hiring a whole 24/7 Ops team and have a whole layer of software on top of the infrastructure you would have used to ease scalability, failover, load balancing, etc. All these things go into keeping your application live. Sure it's not a _nightmare_ to figure out how to setup your own mongo on a VPS, but as you grow and need that high availability and uptime, your sleep will decrease dramatically (nightly alerts at 2, 3, and 4am? Yeah they hurt..) or need to hire sysadmin(s) to take care of that for you, you realize the difference in monthly cost versus the $100k+ engineers becomes much, much sweeter.

<comment><USER6> Yeah but none of this is really advertised on the main site. The only thing mentioned in the docs thats different from just ./mongod is the easy scaling: <http://docs.dotcloud.com/0.9/services/mongodb/>

As I said I totally understand the whole sysadminless thing, and I definitely see it's usefulness. However, none of what you're saying is even advertised/mentioned by them (at least based on my quick search)...

<comment><USER8> From the dotcloud.com home page:

 _We keep your app running 24/7 with built-in load-balancing, monitoring and failover. Scale in seconds to handle surges in traffic - and only pay for what you need._

It is admittedly below the fold, and they should probably replace its position on the page with their customer success stories, but they at least do try to tell you what they do.

</comment></comment></comment></comment><comment><USER9> Can anyone give me some advantages of dotcloud over Heroku? Having trouble specifics from just the homepage. Thanks!

<comment><USER4> I find their availability to be incredibly irregular, but the ease of setting up a project on their platform can't be beat.

Well short of a one-click installation, of course. :)

A novice could probably set up a GitHub project on dotCloud, whereas there is no chance in hell said person could do it on Heroku, last I checked their guide.

Their support team is also pretty great. Of course, the ideal scenario is never having to deal with support. ;)

<comment><USER10> Really?! I've used heroku and dotcloud for a while, I'd say that heroku wins on ease of setup. Dotcloud on the other hand allows you far greater flexibility in your setup. I'm aware that heroku's usability has decreased a smidge since they moved to the cedar stack but I'm curious to know what you would find difficult about getting set up on heroku?

<comment><USER4> I just haven't found Heroku to compare favourably to dotCloud's deployment:

        1. Sign up, install CLI, enter username/password
        2. git clone foo
        3. cd foo
        4. dotcloud create bar
        5. dotcloud push -A bar --git

And from a developer perspective we're just talking about setting up the DB, wsgi, postinstall, and dotcloud.yml.

I didn't manage to find something in Heroku's guide that made it sound as easy for setting up Django on their PaaS. If I did, I'd probably have some services set up on Heroku at the moment. Maybe someone else just needs to write a better guide for them.

<comment><USER10> Hmm, I started using heroku a long time ago so I'm not sure what their on ramp is like now. Their docs have definitely become more complicated than they used to be though. Looking at your dotcloud steps though, heroku would be.

        1. Sign up, install CLI, enter username/password
        2. git clone foo
        3. cd foo
        4. heroku create bar
        5. git push heroku master

So basically the same. Worth noting that this sets up a database for you as well, your project is configured to use it when you push. From memory you have to set up the DB yourself with dotcloud, it's been a while though.

<comment><USER4> Cool. I'll give Heroku's guides another look this weekend. Thanks for the write-up.

</comment></comment></comment></comment></comment></comment><comment><USER11> Just moved our app live on dotCloud, dashboard made things super easy to manage. Its nice that the CLI and the Dashboard share an API, sometimes it good to be able to get things done via the command line, and sometimes better to visualize graphs and sort through logs via the web. Keep up the good work!

</comment><comment><USER3> As usual, several dotCloud team members are lurking here, so please throw criticism, questions and suggestions our way!

<comment><USER12> How do you recommend that people estimate running costs for an app hosted with dotCloud before they've launched an app with you?

I can see that your new dashboard would be useful for scaling up and down once an app's running on dotCloud, but I'd prefer to be able to estimate running costs before committing to your platform.

Do you have any guidelines to estimate RAM/instance requirements? I'm new to PaaS-style hosting, so forgive me if this is simple stuff, but if I was running a basic Sinatra app with MongoDB and static file hosting, for example, how could I gauge my approximate running costs under dotCloud?

<comment><AUTHOR> One way would be to actually set all of that up on a free sandbox application and put it under a similar load to what you expect to start with. Then you can use the same graphs to see your memory usage and calculate the monthly cost from there.

</comment></comment></comment><comment><USER13> I read what doctloud does. So who uses them.

Went here <https://www.dotcloud.com/pricing.html> Selected mysql and php its $17.28. That's costly, with a little more one could take a linode server.

<comment><USER3> Hi there, we like to say that dotCloud is cheaper than regular hosting _at equivalent level of best practice_.

For example, compared to AWS (pulled from <http://news.ycombinator.com/item?id=4694689>):

* For a clean architecture you want to isolate each Mongo and node process in its own system. So you need 6 instances, not 3.

* You'll need load-balancers in front of these node instances. That costs extra on AWS, and is included on dotCloud.

* Did you include the cost of bandwidth and disk IO in your estimate? Those are extra on AWS, but included on dotCloud.

* Monitoring is extra on AWS. It's included on dotCloud.

* I love to have a sandbox version of my entire stack, with the exact same setup but separate from production. That's an extra 2 instances on AWS (+io +bandwidth +load-balancing +monitoring). It's free on dotCloud, and I can create unlimited numbers of sandboxes which is killer for team development: 1 sandbox per developer!

* We only charge for ram usable by your application and database. AWS charges for server memory - including the overhead of the system and the various daemons you'll need to run.

* For small apps specifically, you can allocate memory in much smaller increments on dotCloud, which means you can start at a lower price-point: the smallest increment is 32MB.

I didn't even get into the real value-add of dotCloud: all the work you won't have to do, including security upgrades, centralized log collection, waking up at 4am to check on broken EBS volumes, dealing with AWS support (which is truly the most horrible support in the World, and we pay them a lot of money).

\+ Our support team is awesome and might even fix a bug in your own code if you're lucky :)</comment></comment>


Beat This Level, Get A Programming Job - <AUTHOR> http://blog.codecombat.com/beat-this-level-get-a-programming-job <comment><USER2> Since there's just a single instance, you can find the optimal solution manually and write a 29-line program that specifies the 29 rectangles in the optimal solution.

The general version of this problem can be termed "the minimum dissection of a rectilinear region" and can be solved optimally using a sweep-line and computing the maximal independent set in a bipartite graph as described in section 7.1 of [1].

Now if you'll excuse me, I'm gonna have some fun implementing this result in JavaScript.

[1] Hiroshi Imai, Takao Asano: Efficient algorithms for geometric graph search problems (1986) [https://dl.acm.org/citation.cfm?id=14098](https://dl.acm.org/citation.cfm?id=14098) [http://epubs.siam.org/doi/pdf/10.1137/0215033](http://epubs.siam.org/doi/pdf/10.1137/0215033)

<comment><USER3> Having found the same algorithm in a (different) review paper I almost implemented this for fun.

Sadly, JavaScript.

<comment><AUTHOR> Would you have played if you could choose Python or CoffeeScript, or would we have to be epic and write a Haskell -> JavaScript transpiler to pass go?

<comment><USER4> > write a Haskell -> JavaScript transpiler

There are at least three of them already - UHC's JS backend, Haste and Fay.

<comment><AUTHOR> Oh cool, I'll check those out tonight (and a bunch of Python parsers people have pointed me at). CodeCombat's challenge is to transform other languages into a Mozilla AST so that we can apply our crazy transpilation stuff to it. So anything that makes that easier brings us closer to supporting those languages in our levels.

</comment></comment></comment></comment></comment><comment><USER5> CodeCombat is just acting like a recruiter here. Do they have any advantage over traditional recruiters that may be more highly connected?

Beat this level, and we'll send your resume to some companies that are hiring. And those companies will pay us a hefty commission.

<comment><AUTHOR> This is a good point. Traditional recruiters have different ways of knowing how good you are at programming (often they don't). By starting with your Gridmancer competency, we can potentially find and qualify you for opportunities that traditional credentials couldn't. (And we're not going to send candidates who aren't good enough to higher-skill positions.)

One weakness is that we don't have a good way of measuring how much software development (as opposed to core programming skill) you have. In this sense, we don't yet have an advantage over traditional recruiters.

Traditional recruiters do have better connections, for now, but we are going really high-hustle for this initial batch of players, so it's not like we're just sending off resumes.

<comment><USER6> Is the general consensus now that core programming skills and being good at math are the same thing? Because after taking a look at this challenge it appears to be a math problem that requires mathematical knowledge and barely any programming knowledge.

<comment><USER7> Glad I'm not the only one who thought this. Exercises like these have a very poor accuracy if it is used it to test for developers.

<comment><USER8> See above. Could be testing for problem solving ability and willingness to try.

</comment></comment></comment></comment></comment><comment><USER9> Only the very darkest realm would deprive its wizards of the mighty printf spell! To what Silicon demon legion did you pledge fealty to summon this coding abomination upon an unsuspecting land? Winter is truly coming at last.

(Otherwise pretty neat)

<comment><AUTHOR> I know, I know. Try this.say() for a poor man's replacement.

We haven't improved it much because we are going to make an awesome timeless debugger, where you just hover over the variables to see their values at any point in time as well as scrubbing forward and backward through your entire program's execution (like jsdares does), all without any breakpoints, but haven't quite got it yet.

<comment><USER10> Honestly, it's almost impossible to make a good solution to this without console.log. We need some way to inspect the undocumented grids and rectangles you've given us.

<comment><USER11> Why? All you need to know is the grid width\height, and whether a grid coord is empty. All of which is shown in the example.

<comment><USER12> My solution required marking each coord as non-empty when I dropped a rect on it. I was able to hack something that worked (non-zero-len string stuffed into the structure), but I'd much rather know what the structure was instead of guessing.

p.s. 29 ha ha

</comment></comment></comment></comment></comment><comment><AUTHOR> To those playing: if you want to be able to find your code again later, go to the CodeCombat home page and sign up for a free account! Sorry, we derped out and didn't put any signup form accessible from the Gridmancer level.

Also, we're sorry that we left you without good debugging tools: [https://news.ycombinator.com/item?id=6976883](https://news.ycombinator.com/item?id=6976883) \-- this is the #1 problem uncovered today. We will retreat in tearful shame to our code lairs until we can blow your minds with our timeless debugger.

You are amazing players--so many good solutions here. Thanks for playing! To those who sent in solutions and are looking for dev opportunities, we'll be in touch this weekend to see what we can do and learn about what you're looking for.

<comment><USER13> Submit the solution using the contact button at the bottom (didn't signed up)?

<comment><AUTHOR> That's fine, too--we'll have your code, but you may not (after you change browser sessions). Well, until we reply to your email.

</comment></comment></comment><comment><USER14> I can't play using Safari 7.0.1 on OS X 10.9.1. (And by "can't play", I mean I see the "CodeCombat requires a modern browser to play" screen.)

User agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/7.0.1 Safari/537.73.11

<comment><AUTHOR> Sorry about that. The fix is deploying right now.

</comment></comment><comment><USER15> > there aren't enough programmers to meet the demand.

There aren't enough good programmers to meet the demand for low paid programmers.

</comment><comment><USER16> This seems pretty incredible that CodeCombat has already reached the point where they're placing people into jobs. It's supposed to be Codecademy's goal [1] to do that eventually but they've been around much longer.

1\. [http://bits.blogs.nytimes.com/2011/09/14/codecademy- offers-f...](http://bits.blogs.nytimes.com/2011/09/14/codecademy-offers-free- coding-classes-for-aspiring-entrepreneurs/)

<comment><USER17> There's a pretty big difference in audience in these two examples. Codecademy is targeting people who have no, or nearly no, experience programming and trying to turn them into programmers. CodeCombat's normal stuff appears to be in the same vein, but this specific challenge is something only a fairly experienced programmer is likely to solve. It's easy to place great programmers. Not so easy to take someone, make them a good programmer, and then get them a job.

</comment></comment><comment><USER18> SOLVED.

-29 rectangles

-O(N) worst-case complexity

-Under 200 lines

[https://gist.github.com/foxly/8168624](https://gist.github.com/foxly/8168624) [http://imgur.com/PXcUEHz](http://imgur.com/PXcUEHz)

</comment><comment><USER19> Shoutout to the gents at codecombat -- this is what hustle looks like.

<comment><USER20> These guys have been busting tail ever since the initial DDOS; I'm really rooting for them to make it big.

<comment><AUTHOR> Thanks guys! Happily serving more concurrents right now at 10% CPU than during that first big traffic spike that took us down.

</comment></comment></comment><comment><USER21> A better way to look at the object's structure/values would help a lot. Seems like the first step would be to generate a list of vertices from the 2d array of tiles.

</comment><comment><USER22> Just curious - would anyone here currently hiring consider the winning candidates any more than they would from a (reputable) recruiter?

I'm not trying to be a cynic - I really hope this works and solves a real problem. This is honest feedback from someone has and will continue to evaluate talent for technical teams - proof of algorithmic ability is only one tick mark of the dozens needed.

<comment><USER23> We're not sure ourselves; we're testing the waters with this level to find out exactly that. And if it looks like this monetization strategy has legs, we'll aim to expand what we can provide to companies so we can be more compelling.

We'll be interested to hear what others think about this too!

</comment></comment><comment><USER24> The blog post talks about minimizing count(rects) but the in-game comment only mentions having better than one rect per floor tile.

This second requirement is much simpler. One only needs to merge a single two rects into one rect to fulfil it. I assume this is a bug?

Edit: Sorry I didn't read the original post well enough the first time. It gives the more practical goal of 40 rects or less.

<comment><AUTHOR> I'll change the default code comments. We were much less ambitious before our playtesters blew my algorithm out of the water.

</comment></comment><comment><USER25> It covers all of the little coins!

      this.addRect(0, 0, 200, 200);

<comment><AUTHOR> Clever! In an ideal world, we'd have logic to prevent incorrect configurations so rectangles couldn't touch walls. There would also be ogres dying and explosions and battle music and such related to the efficiency of your algorithm--you know, actual gameplay mechanics, like our other levels. Didn't have time to get those in yet, though.

</comment></comment><comment><USER26> It would be very nice to have a console.log/dir style function that would let you inspect objects/arrays. (Makes debugging significantly easier).

Also, any chances of expanding beyond California?

<comment><AUTHOR> You are so right, I am ashamed. See also this comment: [https://news.ycombinator.com/item?id=6976883](https://news.ycombinator.com/item?id=6976883)

We could try doing placements outside of California later, but for now we don't have much of a network outside of the SF Bay Area. (We're quite young as a startup.)

<comment><USER26> One question, why does this.addRect use the center of a rectangle to define it rather than a vertex? It makes attempting dealing with "native" rectangles rather awkward.

<comment><AUTHOR> That's how all the CodeCombat game engine works (things are positioned by their center points), so because this challenge was taken from an algorithm used in two places in the engine, it maintains that. I know it makes it a bit more complicated to write the code, but it's a lot easier for us to then snatch the winning solution to make CodeCombat faster!

</comment></comment></comment></comment><comment><USER27> Hi. I took this challenge, asked for help in finding a job, and heard nothing back.

I could really use help as my resume is mostly Flash/Actionscript related work, which is not in demand, and it's difficult to convince the "filtering" HR reps that my skills are applicable to other languages. So if this proves that I can code, then I should be able to get a job?

</comment><comment><USER28> 'this' is quirky when you make your own functions. also Starcraft II runs more smoothly on my computer, no joke

</comment><comment><USER29> This was a great way for me to get back into programming after the holiday break. Your optimal number seems off, though; I ended up with a solution in 27 rects:

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

<comment><USER30> try it again without overlapping the rects.

</comment></comment><comment><USER31> It was all fun and games until chrome crashed and lost the code I was writing.

</comment><comment><USER32> Why do you need 20+ screenshots of the game screen within less than a second?

<comment><AUTHOR> We, uh, don't! That sounds like a bug that I would love to slay. Can you give me some more info?

<comment><USER32> [nothing wrong, except my brain]

<comment><USER32> > "But it should only take one screenshot every 30 seconds"

The bug is in my reporting tool I just realized. Yes, it reports only each time the screen change. Sorry about that. About multiplayer, understood, make sense.

<comment><AUTHOR> Oh, okay. I thought I had a performance improvement at hand, so I was excited! Thanks for digging into that.

</comment></comment></comment></comment></comment><comment><USER33> 40? That doesn't even seem to be a challenge. Are you sure you want to recommend people that can't get the optimal solution?

</comment><comment><USER34> Why can't someone make a test account first, and then replay the best answer much more quickly with their real account?</comment>


Aussie Government goes to war with Google over net censorship (poll at bottom) - <AUTHOR> http://www.smh.com.au/technology/technology-news/government-goes-to-war-with-google-over-net-censorship-20100330-r9bp.html#poll

<comment><USER2> Duplicated here:

<http://news.ycombinator.com/item?id=1228347></comment>


The 'Face Book Fad' Is More Than a Century Old - <AUTHOR> http://bits.blogs.nytimes.com/2009/05/01/the-face-book-fad-is-more-than-a-century-old/ <comment><USER2> Sounds like that game was about a century ahead of its time! Just imagine if they had waited to share their idea with the world, they'd have billions right now!

</comment><comment><USER3> naming coincidences aren't very interesting. I thought this was going to be about some public bulletin board where people could leave each other notes before the invention of the telephone or something.</comment>


Unix Keyboard Shortcuts  - <AUTHOR> http://unix-kb.cat-v.org/

<comment><USER2> Trying to make all your programs go by those 5 commands?

<http://tuxtraining.com/2008/10/27/tip-bash-shortcuts> [http://linuxhelp.blogspot.com/2005/08/bash-shell- shortcuts.h...](http://linuxhelp.blogspot.com/2005/08/bash-shell- shortcuts.html) I don't I can function without</comment>


Show HN: Virtual File System in PHP - <AUTHOR> https://github.com/adlawson/vfs.php

<comment><AUTHOR> I know PHP isn't the "coolest" of languages around, but I thought I'd just show my project I started a few years ago and never really got around to finishing.

It's been used before as part of a mustache template runtime evaluator and in test suites.

Current issues:

\- Test coverage is okay but could definitely be improved (currently ~60%)

\- Symlinks

\- Proper support for perms/ACL

If anyone's got any feedback or wants to contribute, go ahead.

<comment><USER2> Hm, I wonder if I can marry this with Flysystem ([https://github.com/thephpleague/flysystem](https://github.com/thephpleague/flysystem)) so I can use PHP builtin functions rather than being tied to their API.

Maybe I'll give it shot!

<comment><USER3> You _can_ use PHP built-in functions. Check out the readme. The API is shown alongside using functions like file_put_contents and require.

<comment><USER2> I know, I'm referring to using those built-in functions in place of Flysystem's API. Basically a proxy.

</comment></comment></comment></comment><comment><USER4> I don't much care for PHP, always using perl in the old days when given the choice, but I sure do wish the PHP I've had to work with over the years looked like this.

I don't even care how it works yet, just looking at how well its laid out makes me feel like I can figure it out without much trouble. The comments and variable names alone start to draw me into the "story" as soon as I pop open a file.

We don't say it enough to each other. Well done.

<comment><AUTHOR> Thanks very much :)

</comment></comment><comment><USER5> How does this compare to vfsStream[1]? I've used that in the past for mocking in unit tests. Does this offer anything more than vfsStream?

[1]: [https://github.com/mikey179/vfsStream](https://github.com/mikey179/vfsStream)

<comment><AUTHOR> On the surface of it, there is no real difference. You can use them both with your usual `fopen` and `file_get_contents` builtins.

I believe that the implementation is truer to the behaviour of how these builtin functions behave with a unix FS. Amongst some other subtleties, here's some examples:

\- vfsStream simply ignores handle modifiers (except for +)[1]

\- some effort has gone into showing where errors were triggered in userland code[2]

\- node types are represented as `fstat` would see them[3] rather than using simple types[4]

vfsStream works perfectly fine, but if you want to use it more with testing file system operations; the closer you are to a true environment the better. Obviously this project isn't quite there yet, but it should be once a few issues have been ironed out.

[1]: [https://github.com/mikey179/vfsStream/blob/master/src/main/p...](https://github.com/mikey179/vfsStream/blob/master/src/main/php/org/bovigo/vfs/vfsStreamWrapper.php#L253-L254)

[2]: [https://github.com/adlawson/vfs.php/blob/master/src/Logger/P...](https://github.com/adlawson/vfs.php/blob/master/src/Logger/PhpErrorLogger.php#L53)

[3]: [https://github.com/adlawson/vfs.php/blob/master/src/Node/Sta...](https://github.com/adlawson/vfs.php/blob/master/src/Node/StatInterface.php#L17-L29)

[4]: [https://github.com/mikey179/vfsStream/blob/master/src/main/p...](https://github.com/mikey179/vfsStream/blob/master/src/main/php/org/bovigo/vfs/vfsStreamContent.php#L21-L27)

</comment></comment><comment><USER6> I'm curious if this would be performant enough to use in something like Heroku. For example a big challenge to running Wordpress on Heroku is that some plugins write out some files, etc

<comment><AUTHOR> I don't see why not. It only loads a few objects into memory so the footprint would be tiny, especially when you compare it to running WP.

If you can configure the paths these plugins write to, then you can use VFS. Unless the plugin explicitly uses `file://` or they strip the scheme, but I doubt they would.

</comment></comment><comment><USER7> PHP may be an ugly language, but these kind of projects are fascinating even if i doubt that i would ever need such a thing. And +1 for that gif.

</comment><comment><USER8> I made one some time ago too

[https://github.com/thornag/php-vfs](https://github.com/thornag/php-vfs)

Similarly, I've been trying to make it behave just like the native functions under unix environment. Think the basic assumptions are the same.

</comment><comment><USER9> I am curious, what is the point of using something like this?

<comment><USER10> [https://github.com/adlawson/vfs.php#example-use- cases](https://github.com/adlawson/vfs.php#example-use-cases)

<comment><USER11> How exactly do you perform runtime php evaluation using this?

<comment><AUTHOR> You write your php to a file in the vfs, then you `require` it back out. There's an example of it in the documentation[1] but a simple example could be:

```

<?php

FileSystem::factory('vfs://');

file_put_contents('vfs://foo.php', '<?php echo "Hello, World!";');

require 'vfs://foo.php'; // Hello, World!

```

[1]: [https://github.com/adlawson/vfs.php#documentation](https://github.com/adlawson/vfs.php#documentation)

</comment></comment></comment></comment><comment><USER12> What is that gif from?

<comment><AUTHOR> [https://github.com/adlawson/vfs.php/issues/7](https://github.com/adlawson/vfs.php/issues/7)

</comment></comment><comment><USER13> That animated GIF is awesome.

<comment><USER14> I am tempted to see similar GIFs in other repos, but then it would be so mainstream.</comment></comment>


Quantifying Basketball's Intangibles, With Some Help From Computers - <AUTHOR> http://www.nytimes.com/2009/06/15/sports/basketball/15tech.html

<comment><USER2> The article exaggerates slightly to make a point. Players and coaches do pay attention to many of these intangibles already, using film, for example. This will make it a lot easier, though.</comment>


Postgres full-text search is Good Enough (2015) - <AUTHOR> http://rachbelaid.com/postgres-full-text-search-is-good-enough/ <comment><USER2> I've done two large search projects in the last year. One with Postgres search and one with elastic search. The elastic search version was trivial to configure, and was embarrassingly superior to the point where I wish I had never considered Postgres.

<comment><USER3> It's not that simple.

If you're using a secondary data store like Elasticsearch presumably you're combining it with a traditional relational database like Postgres or MySQL. And in most use cases, you're going to require additional constraints on top of full text, like restricting to a specific customer or topic, etc. This means data duplication. Any experienced developer should be breaking out in hives at this point because this means (1) keeping two data stores in sync; (2) adding another service to the deployment process; (3) adding another service to development environments; (4) adding another service to debug when problems crop up; (5) large scale schema changes and migrations are complicated because of two data stores; (6) operational overhead from maintaining Elasticsearch like separate backup scripts and deployment scripts and sharding config (across production, qa, and dev); (7) queries are potentially complicated because you may have to aggregate information from two data stores (pagination and delayed updates makes this even more hellish); (8) if your company is anal about devs accessing production data then ES just introduces another layer of requesting permissions and every time the schema changes you have to ask again.

And maybe the advantages of Elasticsearch far outweigh these negatives, but this is a conversation you're going to have with your devs because the cost of using ES is not zero. There are tradeoffs, and maybe just using Postgres full text search is adequate for your use case given sufficient additional constraints.

<comment><USER4> Data duplication virtually _always_ happens as the organization gets larger. Even if you stick to RDBMS-only, you're going to get it once you setup master/slave replication, batch jobs, data science, tape backups, etc.

It's not a serious problem as long as you designate one data source as primary and every other data source as derived. That way, if you ever get data corruption issues, you can re-create the derived data and blow away the old copy. You also don't face complex data-sync issues, because all data-transfer is unidirectional. You write into Postgres or your other source-of-truth, and then you write from Postgres to ElasticSearch. If there's a difference between them, the Postgres version is authoritative, so copy its data over ElasticSearch.

Most of your other points are common to adding any new major feature, and you should always weigh the user benefits against the maintenance costs of a large new dependency. Presumably, if you're looking at ElasticSearch, it's because full-text search in your RDBMS is _not_ good enough (which won't always be the case, but has been my experience and apparently the experience of several other people here).

</comment></comment></comment><comment><USER5> Plus it's in your database, which means it is trivial to limit the search results by any JOINable criteria, i.e. permissions, roles, groups, users, organisations or anything that you have in your database.

<comment><USER6> Also because it's your authoritative datastore you don't need to worry about keeping your secondary indexing system (solr/elasticsearch etc) in-sync.

Using Postgres for search just from a simplicity point of view can save many engineering hours especially if you don't have an expert in Solr/Elasticsearch available. This is even more true these days with SolrCloud needing a Zookeeper ensemble as well.

<comment><USER7> It's not that hard to keep your secondary indexes up to date with Postgres. You can set up external triggers with LISTEN/NOTIFY; i.e. every time a row is updated, Postgres will inform the index refreshing service that an update is needed.

[https://www.chrisstucchio.com/blog/2013/postgres_external_tr...](https://www.chrisstucchio.com/blog/2013/postgres_external_triggers.html)

<comment><USER8> And how do you get back in sync if the client that did the LISTEN, crashes and has to be restarted?

<comment><USER9> Using NOTIFY puts the data into a message queue, so messages will just hold there until your client listens again. Eventually it the channel queue will be filled up (8GB by default), at which point the NOTIFY will fail.

[https://www.postgresql.org/docs/9.0/static/sql- notify.html](https://www.postgresql.org/docs/9.0/static/sql-notify.html)

<comment><USER8> I don't think it will? When the client restarts, it will create a new session with the postgres server. This new session will not receive messages that are queued for the old session.

<comment><USER9> Ah, yes, I think you're right. I suppose you would want to represent a message queue using a table and have your daemon process remove things from the table as it adds things to elastic search. That way if the daemon crashes the events will just continue to buffer.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> It's a little sad that people seem to forget that Sphinx Search exists. For quick full-text search implementation Sphinx is much easier than trying to spin up and understand Solr or ElasticSearch.

For a large number of sites search could be improved greatly by simple setting up Sphinx with an SQL query for slurping up data from you backend database.

<comment><USER11> Yes, but how do you make sure your Sphinx index is always synchronized with your SQL database, within a short window (a few seconds), and without to much pressure on the database?

<comment><USER12> > within a short window (a few seconds),

Why is that necessary? One of the things which makes maintaining a search index easier is that typically your search datastore has much weaker consistency and durability requirements than your primary one.

<comment><USER11> Because in our application, users can add new documents, and will be confused if the document they just added is missing in the search result (which by default show the most recent documents). Considering that Elasticsearch website and documentation emphasize "real-time" features, I think it's not a weird requirement :-)

</comment></comment></comment></comment><comment><USER13> This comes up over and over.

For basic utility stuff or simple backend apps it's pretty useful. For anything serious or consumer facing it's crap.

<comment><USER4> TBH if you're looking to do something serious & consumer facing you may want to look into paying for Google's Custom Search API, or if your data set differs dramatically in shape from webpages, hiring a _really good_ data scientist and rolling your own:

[https://developers.google.com/custom- search/](https://developers.google.com/custom-search/)

I'm an ex-Googler who's now working fairly extensively with ElasticSearch. While I've been impressed at how easy it is to get started, _all_ the published academic ranking algorithms are utter crap compared to what Google has. Okapi BM25 is mentioned as the state-of-the-art up-thread; it was developed in the 80s, long before Google was born, and most of the advances in search since the 90s have happened behind closed corporate doors inside Google, Yahoo, and Bing.

<comment><USER14> This is solid advice. At my last company we had SOLR. I think we would have even qualified for what most people would call a "fair" use case of a search stack. Millions of items in the catalog, and millions of users to go along with it. Lucene is light years faster than a SQL engine with such requirements for search.

What is it not better at though? Pretty much everything else. GIS, Cross joins, parent child indexing, etc. Postgres can do it all too with a little digging.

The thing neither of them has? Semantic search. If I ever hit that scale again at another company, the jump won't be from SQL to Lucene, but from SQL to Google.

<comment><USER15> You can do semantic search with Solr and ES, it just isn't built-in. But it has support for stemming and synonyms which are the building blocks. You have create the synonyms file yourself with word2vec or a similar algorithm.

</comment></comment></comment></comment><comment><USER16> Saying postgres is "good enough" acknowledges that elastic search is "better" but based on minimum viable product requirements may not be necessary. It's a fair point that is mostly valid when approaching a deadline on a fixed bid contract.

Given enough sprints, the search engine will eventually be run by an external service. +1 for the Google Custom Search suggestion. If SEO matters to the problem domain, might as well leverage those carefully indexed documents.

</comment><comment><AUTHOR> Previous discussions:

[https://news.ycombinator.com/item?id=8714477](https://news.ycombinator.com/item?id=8714477) (~2 years ago, 58 comments)

[https://news.ycombinator.com/item?id=8381748](https://news.ycombinator.com/item?id=8381748) (~2 years ago, 95 comments)

<comment><USER11> And this one a few days ago:

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

And this new index type for PostgreSQL:

[https://github.com/postgrespro/rum](https://github.com/postgrespro/rum)

</comment></comment><comment><USER17> I usually choose in favor of using Postgres for RDMS and search, but I like to write a thin abstraction layer in case I later need to change my mind. The overhead (coding wise) for doing this is fairly small and this approach can save having to change a lot of application code later.

</comment><comment><USER18> It really needs TF-IDF or BM25

<comment><USER19> I was going to post the same thing. As far as I can tell, there are no term or document frequencies in postgres. Then again, I have seen several Lucene implementations with either or both are disabled. Can you even get an explain back from postgres? The main difference between a database and a search engine (a subtype) is the ability to score and rank. Take away the ability to score effectively diminishes the value.

BM25 is simply TFIDF with a couple of tunable parameters. These parameters will help with precisely the issues which force people to disable TF (saturating the value early, ...). From what I can see, Elasticsearch is mainly used as an analytics/logging engine and not search. Many NLP heavy organizations are using Solr (or straight Lucene).

<comment><USER18> there is the smlar extension (written by one of the guys that wrote fts) but I'd prefer native

You'd think it wouldn't be that hard seeing as SQLite has lots of working code, and it's reasonably similar to pg.

</comment></comment></comment><comment><USER20> Everything is good enough at low-to-moderate scale.

</comment><comment><USER21> Good. We need more competition in search.</comment>


Why plastic items in a dishwasher take longer to dry than metal,glass or ceramic - <AUTHOR> https://www.nytimes.com/2018/03/02/science/plastics-dishwasher.html?mabReward=CBMG1&recid=11IEV7gX8LH4kcBab24hP2V8nTh&recp=4&action=click&pgtype=Homepage&region=CColumn&module=Recommendation&src=rechp&WT.nav=RecEngine <comment><USER2> I pop open the dishwasher as soon as it's "done" and take plastic items out so they can air-dry in the regular drying rack next to the sink. This robot doesn't actually have a drying cycle; just circulating air and venting should be sufficient, no heating element needed.

Found a good explanation here: [http://dishwashers.reviewed.com/features/why- doesnt-my-dishw...](http://dishwashers.reviewed.com/features/why-doesnt-my- dishwasher-dry-dishes)

<comment><USER3> I wish there was some way to vent the hot, humid air to the outside in the summer (like a dryer duct) and open the door in the winter.

For my dryer, I have a valve that redirects the hot, humid exhaust back into the house during winter.

I love opening the dishwasher and that "whoosh" of steam coming off the racks in the winter.

</comment></comment><comment><USER4> Even though it's not needed when you have all-in-one tablets, filling the rinse aid compartment does wonders for drying. It's a tip I picked up recently, and it really improves the drying of plastics and things like wine glasses.

<comment><USER5> Yep. This is because rinse aid contain surfactants that lower the surface tension of the water. The point is so instead of forming droplets, the water tends to sheet off.

Another thing that helps is getting a dishwasher with a stainless steel interior. The interior then retains a higher temperature which aids the drying process (more complete dry, and faster dry).

Last, as mentioned in the article, is to ditch the plastic where possible. For storage containers, switch to glass (preferably stackable ones) so the nuisance no longer remains. As someone else mentioned, for any plastic that remains, get thicker pieces that are designed without ridges, divots or depressions that can trap water inside them.

\-----

I got a Bosch Benchmark series dishwasher and had it installed in my apartment when I moved, since I knew the one already installed was going to be a huge disappointment. Additionally it uses a filter instead of a disposal, so it runs nearly silent, which is good when you work out of your living room. No issue save for the plastics, which I replaced with glassware. Never a drop on anything anymore, even without using the hidden heating element the Bosch has (a step-up feature in the Benchmark Series). Worth every cent for the 15 years I'll likely use it before replacing it.

<comment><USER6> The surfactants are also xenoestrogens and probably not good for you..

<comment><USER7> Also disgusting. I tried a rinse aid on a new washer without a heating element, and instead of simply covered in water they were now also slick to the touch. They also stank with a headache inducing chemical smell. I'd end up having to hand rinse them.

In the end I figured out I needed to move my dishwasher a half inch forward to make steam ventilation easier. I also try to remember to prop open the door when the cycle's over to vent even more steam to get top shelf plastic items dryer than my previous dishwasher with a heating element.

</comment></comment></comment></comment><comment><USER8> Buried deep in the comments from a Wirecutter review:

Before turning on your dishwasher, run your kitchen sink's hot water until its hot.

Obviously lots of pros and cons, but for me, it's a great tip.

Cons: Takes time. May be completely unnecessary

Pros: Hot water is "free" for me, electricity is not. Cleaner dishes. Shorter wash cycles.

<comment> cup-of-tea What? Does your dishwasher have a hot water feed?

<comment><USER9> In the United States, dishwashers are typically hooked to the hot water line. It is common that our water is heated with natural gas, which is significantly cheaper than the electric heater in the dish washer.

As dishwashers reduced their water consumption, (old ones might be 12 gallons, new ones are about 4 gallons), the amount of fill water which is "cold, before the water gets hot" increases. A dishwasher probably adds water at least twice, so that is two cold flushes in that 4 gallons.

</comment></comment></comment><comment><USER10> tl;dr:

\- plastic is less dense than ceramic or steel, and thus when brought to a certain temperature it holds less heath. This is true even if plastic's specific heath (kJ/Kg K) is higher.

\- plastic is hydrophobic, so water does not spread over the surface as a thin film, but collects in larger drops. These drops have a lower surface/volume ratio, and so take longer to evaporate

</comment><comment><USER11> Manufacturers can also help by modifying pan lids, handles and some utensils so than water drains off or out of them more easily.

</comment><comment><USER12> .... or you can just toss the still-wet plastic in a drying rack and forget the entire problem?

Interesting, but not really a problem that needs solving in daily life.

</comment><comment><USER13> Is there any way to hide links from walled garden news site like nytimes and others from HN list? It's kind of spam if you think about, because I can't read without paying.

<comment><USER14> The NYT has a 10 free articles a month.

If the article is good, the discussion on HN can be worth reading. In fact, it can be more valuable than the story.

<comment><USER15> Delete their cookies and there's no limit.

<comment><USER16> You can even automate deleting their cookies on Firefox (at least) with the "Cookie AutoDelete" extension:

[https://addons.mozilla.org/en-US/firefox/addon/cookie- autode...](https://addons.mozilla.org/en-US/firefox/addon/cookie-autodelete)</comment></comment></comment></comment>


Managed NAT (Network Address Translation) Gateway for AWS - <AUTHOR> https://aws.amazon.com/blogs/aws/new-managed-nat-network-address-translation-gateway-for-aws/ <comment><USER2> It's about time they did something about this. It's been a paint maintaining own set of HA pair with self made scripts while at same time on premise the Cisco and Juniper hardware routers do this automatically.

<comment><USER3> Yeah under NDA they kept telling customers they are working on it but no ETA. This is a ball drop!

The HA script they provide doesn't work very well. Sometimes one of my NAT ends in a stopped state for no reason, and our thought was with the script.

</comment></comment><comment><USER4> This is great! I wish AWS put a little bit more focus on things like this (they also just added Gzip support to CloudFront, also good).

While AWS is great, there are many little (and big) things that would add a lot of value if solved. IPv6 is another one.

</comment><comment><USER5> This bumps already expensive network by $0.045/Gb. It's not clear but may also add that to ingress traffic as well which otherwise would be free.</comment>


What are the biggest difference between XPS 13 and Macbook Pro? - <AUTHOR> Other than the specs listed on websites. Some are non obvious differences in experience. What according to you are biggest pro or con of one of these laptop for developers? <comment><USER2> I use both (with the XPS 13 just for Linux).

The XPS just feels a bit smaller, but perhaps that's because the bezel on the display is tiny in comparison.

Build quality on both machines is generally excellent (notwithstanding MBP keyboard problems that have troubled some). I don't think the display on the XPS is that far behind in use (I have the FHD display, rather than the fancier one). Having done lots of tweaking in X, I think mine looks great with Arch running i3.

As others have mentioned, the smaller trackpad on the XPS isn't quite as good.

Goes without saying I suppose, but a big consideration might be whether you have buy-in on or would have interest in various OSX companion apps that are useful as a developer (Alfred, Kapeli Dash, etc). Also, if you have any intention to develop iOS or dual-platform apps then the Mac's XCode and iOS simulator would require you to go in that direction.

One thing I would mention is that if you're going ultralight with the XPS to develop on the move, then the higher capacity Power Companion is really useful piece of gear to keep you going [1]

Much lighter and slimmer than the Hyperjuice brick I used to hike around with for the Mac.

[1] [https://www.amazon.com/Dell-Power- Companion-18000-WCKF2/dp/B...](https://www.amazon.com/Dell-Power- Companion-18000-WCKF2/dp/B00PC9HG0Q)

</comment><comment><USER3> The keyboard: the latest macbook has a terrible keyboard for development, not only it feels awkward to press but it is prone to breaking very often than you would imagine with keys getting stuck and costing hundreds of dollars to get fixed.

They touchbar, if you opt for one, is pretty much useless other than to unlock the macbook. Fiddling with the volume and the bright switch is a pain.

The track pad is superior in the macbook.

The screen resolution, is superior on the macbook, unless you go for a 4k display xps at the cost of battery life.

</comment><comment><USER4> Well one runs Windows and the other macOS, for a start. Otherwise, most apps already work on Windows that you're familiar with, thanks to the prominence of Electron. If you need Sketch, which is not on Windows, thankfully there's tools like Figma now that support 1:1 SKetch import and work better anyway.</comment>


Android 2.1's Best Features in Screenshots - <AUTHOR> http://lifehacker.com/5443156/android-21s-best-features-in-screenshots

<comment><USER2> We have come full circle.

First, we got the telephone and started talking. Then, we got instant messaging and started typing text messages. And now we say our messages, but they get translated into text messages?

<comment><USER3> And then we take screenshots of them and post them on our blogs.

</comment></comment><comment><USER4> The multi-touch keyboard in 2.1 is a big improvement over the previous generation, I type much more quickly with it.

I'm a little surprised this hasn't gotten more attention.

<comment><USER5> Wait, where's this multi-touch? I have the Nexus One and if I hold down one key, I can't type another. In fact, if I start typing too quickly, I will often miss letters because I'm not lifting my thumbs up enough.

<comment><USER4> You can start typing the second key, when you remove your finger from the first key the second gets activated.

this behavior is new to 2.1

</comment></comment></comment><comment><USER6> I hate to be 'that guy' who's always putting down Andriod, but there are a few 'features' listed here that make me think Google just doesn't get how customers actually use their phones. The cube menu interface seems really impractical, and given how poorly existing Android phones perform at simple scrolling, I doubt the Nexus One will provide a smooth and fluid experience. And as for the speech-to-text, hardly anyone will use that. Who's going to be sitting on the train or in their cubicle with the phone up to their mouths speaking their message into the phone, most probably multiple times until the phone produces something that requires minimal editing, when they can fire off their text in writing and spare themselves the potential embarrassment and hassle?

<comment><USER7> I totally agree on the voice stuff.

Being a new Nexus owner I wanted to clarify that the scrolling app menu is only for the app menu. Android has a 'home screen' just like the iPhone (well five of them that you can swipe between) and you can install the app icons you use the most there. The scrolling menu is basically the 'everything' bucket, which I like.

It is also buttery smooth, unlike every other Android device I've touched.

I've been an iPhone user for many years and think the iPhone has always been the bar to measure everything with. Android is catching up with this phone though, it is REALLY good, especially if you are the type who is willing to live with a few warts here and there.

</comment></comment><comment><USER8> I'm disappointed in 2.x so far. Google is making some good refinements but they seem to be ignoring two of the biggest usability issues in my opinion:

We need a real multi-tasking UI. If the OS is going to multi-task apps we should have a way to intuitively interact with this functionality. Installing third party utilities such as task managers shouldn't be required to use a major feature of the OS. The "alt-tab" feature and the inclusion of multi- tasking elements in the pull down menu doesn't cut it for me.

Copy & paste is a mess. It either just doesn't work right or I'm an idiot. I can't manage to make it select accurate text regions. Usually I just can't get the copy & paste mode to kick in _at all_

<comment><USER9> I'm curious: What exactly are you expecting to be able to do with multitasking that Android doesn't already do?

<comment><USER8> It's just a GUI issue for me. I want a way to easily see which applications are running and more consistency in how applications terminate or stay running in the background. Right now I'd say it's 50/50 -- some apps quit when you hit the home button, some remain running. There's no taskbar, dock or expose style feature to quickly see what's running or switch between applications. The drop down menu is hit and miss. A few apps will put up a notification that say they are still running but most don't. I also think there should be someway to ensure the core applications don't suffer from background tasks. If I leave some apps running in the background sometimes my dialpad in the phone app becomes very laggy to the point of being unusable so I have to get into the habit of pausing my music before I made a phone call and restarting it afterwards instead of letting the phone pause it for me.

<comment><USER10> As an iPhone user I'm shocked if that is actually the state of things in Android. The iPhone automatically fades out music for calls.

And these multitasking interfaces: [http://www.cultofmac.com/kirikae- jailbreak-app-switcher-for-...](http://www.cultofmac.com/kirikae-jailbreak- app-switcher-for-iphone-ipod-touch/16471) <http://www.multifl0w.com/>

<comment><USER8> Sorry if I made it sound worse than it is. Android does fade out the music it just doesn't do so well handling multiple things at once. I feel like certain apps (phone of course) should always work more or less perfectly no matter what else the device is doing. The lack of a good multi-tasking UI just aggravates the situation because I'll often have 3 or 4 background apps running that I had _no clue_ about until I notice a performance drag. I'm not going to run a task manager every few minutes to make sure my device can operate properly. That's just unacceptable.

</comment></comment></comment></comment></comment><comment><USER11> I have to admit I have a real thing for aesthetics. Maybe one reason I'm partial to apple products.

But I keep waiting for the Android UI to look nicer. I'd love to see a top end design firm take a shot at cleaning up the icons etc.

Even that wallpaper is pretty atrocious.

<comment><USER12> That specific wallpaper is animated. I don't know about atrocious, but I do find it a little hard to see the icons because the colors are so bright on it.

But complaints about wallpapers are kind of dumb: you can change them, or even set it to your own picture that is non-atrocious. It's like complaining that the default twitter avatar icon is ugly. No duh: then change it.

</comment></comment><comment><USER13> It looks like a smartphone OS designed by Tetsuya Mizuguchi.

That's kind of awesome.

</comment><comment><USER14> It would sure be nice to also include text-to-speech. Then you could actually use it without having to get too hands on.

<comment><USER15> Even Android 1.6 has built-in text-to-speech.

<comment><USER14> Hah, I've clearly asked the wrong Android user if it had text-to-speech. Thanks for clarifying.</comment></comment></comment>


Bash scripting quirks and safety tips - <AUTHOR> http://jvns.ca/blog/2017/03/26/bash-quirks/ <comment><USER2> Any idea why my corporate security policy would be blocking this site?</comment>


Don't use IP geolocation to lock out users - <AUTHOR> http://rusek.org/stefan/default.aspx/2008/09/24/dont-use-ip-geolocation-to-lock-out-users/65/ <comment><USER2> As someone who lives and works in more than one country I can only underline the points being made in this article.

I am an Anglophone but I can cope in French but when I am in France I do not want a website I am using to restrict what it offers me (content, products etc.) based on my current location.

I can see that using IP location might be an effective tool for offering a default language and (perhaps) selection of content. This would OK if it was always backed up by a clear and simple option for changing that default.</comment>


Someone created a tech job board for people over 30 - <AUTHOR> http://qz.com/784118/someone-created-a-tech-job-board-for-people-over-30/ <comment><AUTHOR> Hi everybody - I'm the author of the website [https://OldGeekJobs.com](https://OldGeekJobs.com). The writer who wrote that story for QZ in a haste got the facts wrong. 30 isn't old, and it's somewhat an insult to people having a hard time getting jobs.

She somehow got the idea that the person who tweeted this is me:

[https://twitter.com/OpinionatedGeek/status/77650940367565209...](https://twitter.com/OpinionatedGeek/status/776509403675652096)

She used it as a quote in the article, but, that's not me. I sent her an email to change it, and never heard back.

I'm 37, which is a little older than 30, and yes, jobs with startups are actually getting harder to be had when you're interviewing with 20 year olds in Silicon Valley. That's why I created OldGeekJobs.com. It's a place for employers to post jobs under the impression older people will apply thus making applicants feel safer. It's open to all age groups though.

-Thanks</comment>


Startup Ideas We'd Like to Fund (2008) - <AUTHOR> http://old.ycombinator.com/ideas.html <comment><AUTHOR> I find 17 (New payment methods) interesting. This was just before bitcoin was created.</comment>


Introduction to Object-Oriented JavaScript - MDC Docs - <AUTHOR> https://developer.mozilla.org/en/Introduction_to_Object-Oriented_JavaScript <comment><USER2> Under the section "The Property (object attribute)" the code segment has two curious lines. I expect the first cancels out the latter, making the latter useless.

         // in Person function
         this.gender = gender;
         // outer scope (gender will never be this value because it is overridden by the person constructor argument)
         Person.prototype.gender = 'Person Gender';

Am I correct, or does the prototype.gender line have some other purpose than instantiating gender to a value that is immediately overridden by the passed in value (or undefined if no value is passed)?

<comment><USER3> It's ensuring a default value basically. If you instantiate a person without an argument and try to reference this.gender later, you'll throw a script error. This is just avoiding that.

A way I'd prefer might look like this:

      function Person = function(gender) {
          this.gender = gender || 'neuter' //the sauce that defines a fallback
      }

<comment><USER2> This is not the case, because in the constructor person is being set to the argument. If the argument is not supplied (undefined), calling the instantiated object's gender property will result in undefined. [tested and confirmed]

</comment></comment></comment><comment><USER4> Might want to check the Joose object system (<http://joose.it/> #joose on irc.freenode.net), highly inspired in the awesome thing that Moose (<http://search.cpan.org/dist/Moose/>) is to Perl. There's even a port of KiokuDB as KiokuJS!(<http://joose.it/blog/2011/01/13/introducing-kiokujs/>) :)

</comment><comment><USER5> It's good to know this stuff, but in my real-world usage of JavaScript, I've become a big fan of Backbone.js to help structure code intelligently, etc.

</comment><comment><USER6> > Inheritance A Class can inherit characteristics from another Class.

Somebody should tell Mozilla, that there are no classes in JavaScript....

<comment><USER7> The guide says that immediately after the terminology paragraph

<comment><USER8> But comes back to it at the Custom Objects part(1). And everywhere. They don't use "class" as a keyword, though, but more in a CS way which can be problematic because other keywords like "prototype", "array" or "object" mean pretty much the same thing in both contexts.

An interesting ressource, anyway.

(1) [https://developer.mozilla.org/en/Introduction_to_Object- Orie...](https://developer.mozilla.org/en/Introduction_to_Object- Oriented_JavaScript#Custom_Objects)

</comment></comment></comment><comment><USER9> I really like Mozilla's docs. I read this one recently actually.</comment>


Ask HN: Help me validate a business idea - <AUTHOR>

If you're an HN regular, you've probably heard of the growth vs. fixed mindset idea. Here's an article, just in case:
http://www.brainpickings.org/2014/01/29/carol-dweck-mindset/
During my last job search, I noticed that the vast majority of companies approach recruiting with the fixed mindset – they need someone to do X, so they look for someone who has done X before. That works well enough most of the time, but I'd like to start a business that matches up companies and individuals who have growth mindsets.
HN has a lot of smart people, so here's a few questions I'm trying to answer:
-Would you use this to find good companies to work for? To find talented individuals?
-How would you filter out teams or applicants who just pay lip service to this idea?
-How would you structure this business? A website, recruiting firm, consulting firm that helps shape the interview process? <comment><USER2> While the idea on the surface is great, it would be good for you to map out all the stakeholders that are involved in the recruiting process. Figure out who will be the one paying for your service. Is it the company? The talented individuals? Recruiting firms?

Companies approach recruiting with the fixed mindset because there is a job that needs to be completed and they want to minimize their risk/cost so they hire someone who has done it before.

As JSeymourATL mentioned, you're going to have to educate a lot of folks on why the growth mindset is a better alternative than the fixed mindset. In theory it's great but you'll need proof that it's better for the company and by better, either it saves them money or makes them more money. I would start with working with companies who aren't doing great and are willing to experiment.

For structuring the business, that's your job to validate what works. This was essentially the same question that I asked a few months back while starting my company and our customer development process is helping us to figure out where we should play. Build multiple models and test to see which fits. You could even become a training company to help people along that mindset. You'll have to find out what is the real problem and who is going to pay you to solve that problem.

Hope that helps! Best of luck!

</comment><comment><USER3> > How would you filter out teams or applicants who just pay lip service to > this idea?

What you're describing is the elusive "Match.com" for job-seekers and employers. There are several players out there working on this idea now.

You might think one could determine a solid match based on shared personality profiles of both job-seekers & employers. But that gets impossibly complicated when dealing with large global matrix organizations. The company profile is based on the combined make-up of multiple personalities and influencers. Worse still, any growth-mind set platform is ruined once touched by HR flunkies with limited clue as to what you do or what the hiring executive needs.

The best filter remains 1:1 dialogue, a conversation between the job-seeker and the hiring executive. Each party probing for how the other thinks. Do they share the learn-and-help-others-learn framework? What are their goals, how do they stay on track? Can you help one another up your game?

</comment><comment><USER4> I think this is a great idea from the job seeker standpoint, but how did you validate that some companies want this?</comment>


USA pulls out of Paris climate deal - <AUTHOR> http://www.bbc.com/news/world-us-canada-40108659 <comment> k-mcgrady Current post title is: "USA pulls out of Paris climate deal".

Article title is: "Trump 'poised to quit Paris climate deal".

More than likely it's going to happen in the next few hours but until then the title is inaccurate.

<comment><USER2> Not hours. Trump tweeted earlier today he'll make the announcement "over the next few days". [https://twitter.com/realDonaldTrump/status/86990345951191859...](https://twitter.com/realDonaldTrump/status/869903459511918592)

So the title is purely speculation.

<comment><USER3> It's not official but many news outlets have sources telling them the decision has been made. Although given how quickly Trump has changed his mind on some issues in the past, it's probably better to wait for the official announcement indeed...

</comment></comment></comment><comment><USER3> As a non-american that was my main worry about the Trump presidency. Well here we are. I wonder how much more time well waste not actively fighting climate change because of this.

At least I hope that the rest of the world will stay true to its word, but if america gains an unfair economical advantage by not following the rules I can't really imagine how it could work out. Could Europe and China impose sanctions on the USA for pulling out of the deal? Seems very doubtful.

<comment><USER4> Is China following the rules? Eastern Europe? Genuinely curious- here's your chance to convince a USian that this is more than trying to drag the US down to everyone else's level.

<comment> k-mcgrady 1\. I don't believe there is a monitoring system. If you sign up you agree to certain things and everybody hopes you stick to your word essentially.

2\. Why does it matter what China or 'Eastern Europe' (which specific states are you referring to?) do? Adults shouldn't need to have it explained to them that just because somebody else does something, doesn't mean they should also do that.

Finally regarding "dragging the US down to everyone else's level" \- what level is this? I'm not sure the best way to look at the figures but, per capita at least, the US is one of the worst C02 polluters coming in at 8th whereas China is down at 55th.

<comment><USER4> So China emits twice as much CO2 as the US, but because they have a bunch of subsistence farmers it's ok? Sounds like the US is on the right track by increasing income inequality...

<comment><USER4> You need to reduce overall emissions to affect the climate, not per capita. Australia is worse per capita, but they could produce 0 CO2 and it wouldn't matter if your goal is to affect climate change.

<comment> k-mcgrady With your talk about 'dragging the US down' though surely reducing emissions so that all countries are on an equal level per capita is the fairest solution? Also by reducing per capita emissions you are reducing overall emissions.

</comment></comment></comment></comment></comment></comment><comment><USER5> More details from the NYT, in which it was noted that things are not final, as President Trump is set to meet with Secretary of State Rex Tillerson this afternoon. Tillerson has been advocating on behalf of sticking to the deal:

[https://www.nytimes.com/2017/05/31/climate/trump-quits- paris...](https://www.nytimes.com/2017/05/31/climate/trump-quits-paris- climate-accord.html)

> _And Mr. Trump has proved himself willing to shift direction up until the > moment of a public announcement. He is set to meet Wednesday afternoon with > Secretary of State Rex Tillerson, who has advocated that the United States > remain a part of the Paris accords and could continue to lobby the president > to change his mind._

</comment><comment><USER6> Regardless of the deal itself, pulling out of this is a huge move as far as foreign policy and the U.S. relation to the rest of the world is concerned.

This most certainly sets the U.S. in a new light/new orientation on the global economic scale, and reiterates the sense of growing detachment Merkel recently espoused.

</comment><comment><USER7> The actual headline is "Trump 'poised to quit Paris climate deal'"

</comment><comment><USER8> Do you think the Paris climate deal was/is potentially an effective way to limit emissions?

<comment><USER9> It was better than nothing. It's better to have less progress than necessary than regression.

<comment><USER10> [https://en.wikipedia.org/wiki/Politician%27s_syllogism](https://en.wikipedia.org/wiki/Politician%27s_syllogism)

<comment><USER8> I don't think that's logically the same thing.

<comment><USER10> It's not exactly the same, but still similar:

1\. This is something

2\. Something is better than nothing (is it?)

</comment></comment></comment></comment></comment><comment><USER11> America first! Planet Earth second.

</comment><comment><USER12> Can they actually even pull out ? Deal was signed, US can easily choose not to apply but pull out I'm surprised.

<comment><USER13> Sure, the US isn't even in the agreement currently, it hasn't been ratified by the Senate.

Independent of which, international treatises are treated by US law as part of regular domestic legislation, meaning any treaty the US enters can be exited by any act of congress that supersedes it, just like any regular domestic US law. This, as an aside, is why it's been constitutional for the US to break all the treatises written with native American tribes.

<comment><USER14> Treaties and agreements like this one also usually specify an orderly withdrawal procedure.

</comment></comment></comment><comment><USER15> Telling 199 other countries that you can't commit to something is just generally a bad move on its own.

</comment><comment><USER16> So this is how America becomes great again... Wow, I'm impressed.</comment>


A Google employee is suing the company for being too confidential - <AUTHOR> http://www.theverge.com/2016/12/20/14033044/google-lawsuit-confidentiality-practices-spying-program <comment><USER2> > _The suit alleges a Google co-founder — it does not name either Larry Page > or Sergey Brin — reiterated at a company all-hands meeting that anyone who > leaks confidential info would be terminated._

Truly, it's shocking that Google would terminate an employee for leaking confidential data. I've never heard something so absurd. Next you'll tell me that they'll fire you for punching the CEO.

<comment><USER3> _I 've never heard something so absurd. Next you'll tell me that they'll fire you for punching the CEO._

Great sarcasm but the problem lies here:

 _The lawsuit says that Google's Code of Conduct classifies confidential information as "everything at Google."_

So potentially if I disclosed today's menu at Charlie's cafe to an outsider, I could be terminated.

<comment><USER4> Very true, and there probably should be some case law on what truly constitutes confidential information in the employment law sense. So while, the lunch menu may be non-public information it does not constitute confidential information whose release could lead to employment termination.

Those familiar with the law put all sorts of unenforceable stuff in contracts in the hopes that the less informed will comply with stuff they really don't need to comply with.

</comment></comment></comment><comment><USER5> That sounds horrible. If it's true. Either way, once companies know this employees name the employee is probably never going to be able to work at a big company in the industry again.

</comment><comment><USER6> Extensive discussion yesterday: [https://news.ycombinator.com/item?id=13226525](https://news.ycombinator.com/item?id=13226525)</comment>


The Rise and Fall of America's Awful Beer Glass - <AUTHOR> http://www.citylab.com/design/2014/09/so-long-shaker-pint-we-hardly-knew-ye/380440/

<comment><USER2> I'm always so disappointed when a bar with a great beer list serves in these glasses.

"It was cheap, durable, steady, and stacked easily. A server needed to worry less about splashing or spilling than with a dainty flute, or about smashing that fancier glass on the way back to the bar. And for managers, using the shaker for draft meant you needed fewer kinds of glasses in your bar, saving money and precious shelf space."

Makes sense, but it's certainly not user centered.

<comment><AUTHOR> surprisingly, at least in my observation, very little in the service industry is user-centered.</comment></comment>


Reserve your place at the MathsJam - <AUTHOR> http://www.mathsjam.com/MathsJamNews.html <comment><AUTHOR> This is the event that I ran last November. It was successful enough that people have insisted I run it again.

So I am.

There's nothing interesting about the technology in the web site, or anything else like that. I'm announcing it here because a few people have expressed an interest, and some of you might enjoy it.</comment>


Software Is Eating the Job Market - <AUTHOR> http://techcrunch.com/2015/06/09/software-is-eating-the-job-market/ <comment><USER2> The non-fundamental shift about software is not that it's creating quality jobs at the cost of medium-quality jobs. It's also not that we are creating robots that will replace low-quality human workers. Because we still believe that as low-quality jobs go, higher-quality jobs will somehow appear. (you may not agree with this, even I am personally sceptical, but that's not the point I'm about to argue)

But to get to the higher-quality jobs, you generally need experience. Not many employers are willing to hire someone and put him in a responsible position based off their _potential_ alone. It follows, then, that we need substantial number of entry level positions to, so to speak, _open the door_ for future potent workers.

But those doors are closing at an alarming rate.

Consider law firms. Discovery work(going through past records to find cases of relevance, law clauses of relevance) that used to be the "first year" work, is almost exclusively done by software. It's cheaper and more accurate. We may still need more quality lawyers, but as we remove the uses for inexperienced lawyers, we are decreasing the number of future experienced lawyers.

Translation used to be a very non-trivial work. Not just for heavy-publishing prose or fiction, but even for simple phrases, if the need was great enough, we would hire an entry level translator. Now we would generally use Google translate for a phrase or two because it was "good enough" at a marginal price.

The problem for prospect high-earning society isn't that software is eating jobs. As long as we are vain and greedy to aspire for higher quality, we will have those sophisticated jobs. The problem is that we are eating _entry-level_ jobs, and in turn, creating an artificial scarce supply of "experienced" workers.

And those "experienced" workers, now that they have put their foot into the door, and with the huge demand for work to be done, will enjoy the job market(aren't we all, as developers?), but what of those that are left, for no fault of their own?

<comment><USER3> The ultimate winners here would be the software employees in my opinion. The money flows from investors/public to the geeks. Dont know how the economy is going to work out with that though.

<comment><USER4> The software employers are probably accumulating capital at a higher rate than the software employees.

<comment><USER5> Probably, but an increasing number of software employees are striking out to become software employers as well. Software is interesting in that virtually all capital is human capital, and that small changes in the environment (a shift from web to mobile, for example) can invalidate large swaths of accumulated domain knowledge.

</comment></comment></comment></comment><comment> vezzy-fnord This article is written in such a pompous style that I can't immediately tell if it isn't tied to some form of public relations press release.

 _The shortage of software developers is well-documented and increasingly discussed._

It's certainly discussed, though its ostensible documentation is a subject of dispute [1]. The role of poor hiring practices is also often omitted.

 _Far more than just a fad or buzzword, references to analytical and data- oriented skills appeared in 4 million postings over the last year – and data analysis is one of the most demanded skills by U.S. employers, according to Burning Glass data._

That it is commonly cited as a term doesn't necessarily contradict that it's a buzzword.

 _The aforementioned in-demand skills areas represent more of a structural shift than an issue du jour or passing trend. It is precisely the rapid, near daily change in software- and technology-related skills needs that necessitates new approaches to human capital development. While traditional long-term programs such as college degrees remain meaningful, new software platforms, languages, apps and tools rise annually._

This is the classic equivocation of tools and techniques in action. New platforms and tools indeed do arise annually, but our techniques have remained in stasis, and are only being painfully reinvented in a rat race. See David A. Wheeler's essay "The Most Important Software Innovations" [2], and perhaps mentally add in CRDTs, I suppose.

 _Who in the mainstream a few years ago had heard of Hadoop or Ruby?_

Many.

Finally, it's curious to note given the assertion of software eating the job market or world, that many of the examples listed are media companies or companies whose business models are augmented by software (often via data entry, really), rather than engulfed by it. Fintech's an exception. But I didn't find any examples of technical infrastructure or CS and software research.

[1] [http://spectrum.ieee.org/at-work/education/the-stem- crisis-i...](http://spectrum.ieee.org/at-work/education/the-stem-crisis-is-a- myth)

[2] [http://www.dwheeler.com/innovation/innovation.html](http://www.dwheeler.com/innovation/innovation.html)

<comment><USER6> I think I have to quibble with Wheeler's attribution of the invention of the computer virus. Credit should go to John Brunner in his 1975 novel, "The Shockwave Rider". He invented the term worm for a sophisticated virus that could propagate through a network.

</comment></comment><comment><USER7> So, when we came up with agriculture some millenia ago, all those jobless people, those hunters/explorers/etc., did not stay jobless, did they? What about when we came up with machines in the 19th century? All those people in agriculture would still be jobless, but they are not, are they?

Point is, every technological innovation will be absorbed in the long term. It's been historically this way for millennia, at least. People are very good at reinventing themselves as long as they have an incentive (food, money) to do so.

<comment><USER8> A past trend being unbroken is a good heuristic for it to continue, but it is not proof that it will do so. The coming issue is that our software is getting better at replacing jobs faster than new jobs can be created. Not only is manual labor jobs being replaced, but so are knowledge jobs and creative jobs.

<comment><USER7> > The coming issue is that our software is getting better at replacing jobs > faster than new jobs can be created

That is a pretty big assumption right there. There is no absolute amount of jobs being created, right? I mean, wouldn't you pay $1 per hour to have your shirts ironed? Then is it a problem of jobs count or jobs pay? It's pay, isn't it? If it's pay, then you are asking the wrong question. The question would be: is software making jobs cheaper? That is a very tough question. Implications are not that clear: from one end you cut jobs, from the other you are improving the productivity of your economy. With more productivity you get... you guessed it: more wealth. Then what's the problem? It's a problem of wealth distribution isn't it? It's wealth concentration in few segments of the population. That is a completely different problem then what you just said. Wealth distribution has nothing to do with value created and it's a topic in its own way.

Bottom line: it's not about how many jobs you have, but how spread is the wealth your economy is creating and how spread it's going to be in the future.

<comment><USER8> My 'jobs are being replaced faster than created' has an implied 'and our economic model doesn't otherwise change' to it when I state that it is a problem.

Now you can disagree with the notion that jobs are being replaced faster than created and even take the stance that such a thing will never happen. But assuming you don't disagree that this will eventually happen (eventually here meaning in our lifetime or maybe our children's; not counting thousands of years down the road), then it is going to be a problem. Yes, it is only a problem because of how our economic situation is set up, but all of that isn't the bit that changed that created our problem. And yes, changing the economic set up can resolve the problem. But the problem itself remains the same (unless you disagree with it ever happening).

</comment></comment></comment></comment><comment><USER9> Ironically, in the software job market for companies of say over 100 people, the desire to hire H1Bs is overwhelming due to the cheaper cost + lock-in.

<comment><USER10> Yeah, I don't see any indication there's a _shortage_ of software developers. There are a lot of 50+ year old software developers out of work, and a whole lot of companies refuse to hire people without a degree.

</comment></comment><comment><USER3> Nothing new.. If i can replace a security guard of my office for a cheaper more efficient, less error prone, robot/software instead of a human for half the price, WHY NOT! The exact same philosophy goes into "software is eating the world".

<comment><USER11> It works until you run out of consumers with cash, at which point it no longer works.

<comment><USER12> Universal Basic Income is the best post-labor system I've read of.

Everything is still based on the same capitalism we have now, and the ~20% of people who work will still be able to make income (meaning there will still be incentive for enterprise).

<comment><USER13> Except you'll have increasing encroachment on motivation of the productive.

When Ronald Reagan was a top-billed Hollywood actor, he faced a ~90% tax bracket. Rather than work hard only to see most of his earnings confiscated, he'd make just a few movies and then enjoy those profits instead of spending time on diminishing returns. Same for plenty of us motivated ones: if 80% are living off the 20%, that will require taking so much from the 20% that most of those will opt for doing something interesting and untaxable. The "seriously productive" ones you're expecting to leech off MUST have lots of less-but- still-productive people working for them - and you're tearing out the incentive to do so. Raise my taxes enough (only to "redistribute" to those opting to not work) and I'll switch to untaxable yet satisfying "off the grid" living.

<comment><USER6> I understand this issue of maintaining motivation under conditions of artificial full employment was a problem under the Soviet system, but I'm not sure it is necessarily a problem in a post-scarcity economy. For one thing employment can be increased by reducing the work week. After all we went from 60 hour work weeks to 40 hour, even less in Europe where there are longer vacations than in the US. Education over the past century has gone from mostly primary only to mostly college, absorbing excess labor capacity.

I think the idea of 80% leeches living off the 20% productive is just wrong headed. What we will see is the general quality of life improved for everyone. Sure there will some that need to be entirely supported by the rest of us: the homeless, the mentally ill, the infirm, the elderly. The real danger is that the increases in productivity are being siphoned off by the rich and not being equitably distributed. Capitalism is inherently an unstable system tending towards monopoly and the destruction of the commons (pollution and the like) and must be reasonably constrained.

<comment><USER14> > I understand this issue of maintaining motivation under conditions of > artificial full employment was a problem under the Soviet system, but I'm > not sure it is necessarily a problem in a post-scarcity economy.

Post-scarcity economy is a contradiction in terms, and if post-scarcity conditions existed, one wouldn't have any need to worry about economy -- which is, after all, nothing but _the system by which scarce resources are allocated_.

But we're not really discussing post-scarcity conditions, we're talking about managing conditions where the rewards from production are increasingly concentrated in the holders of capital and the returns to labor are mostly extremely low with a (proportionally) very small set of high-value labor positions available.

</comment></comment></comment></comment></comment></comment><comment><USER3> But again, there is no shortage of engineers as the article says. The only problem is the quality. Atleast from what i saw in India people just take computer science as a degree because it pays more, not because they love to code.. There is a problem with this kind of people. People who LOVE what they do always over take people who dont.

<comment><USER15> Well, the distinction between those that love what they do and those that don't isn't the only way to slice things. You don't have to _love_ what you do to want to conduct yourself in a professional manner. Even if you aren't _passionate_ about your work, so long as you take pride in it you won't be producing "crap code."

</comment></comment><comment><USER16> I think we need this to happen. We need McDonald's to move to an entirely robotic store. We need every store to mechanize every thing they possibly can.

That way we can increase our efficiency as a country by multitudes and get on with the nasty part of Universal Base Income.

It has to happen. And for America, as a competitive nation, the sooner the better.

<comment><USER17> Seriously? You honestly think that the political landscape is anywhere closer to accepting that kind of socialism? I'm gonna tell you right now that it's not. And even if that automation happens, it's not going to change anything regarding UBI.

Here's the problem: If the automation happens before UBI gets into place, you are condemning those people to incredibly poor lives, and possibly homelessness and starvation.

<comment><USER16> >Seriously? You honestly think that the political landscape is anywhere closer to accepting that kind of socialism?

If businesses start automating everything, unemployment skyrockets, they're going to be pushed there. They won't have a choice. What do you predict? Half the country is unemployed, poverty is rampant, chaos in the streets, the fatcats in Washington and 1% just sit back and do nothing?

>And even if that automation happens, it's not going to change anything regarding UBI.

It has to.

>Here's the problem: If the automation happens before UBI gets into place, you are condemning those people to incredibly poor lives, and possibly homelessness and starvation.

Here's the problem: UBI won't get into place without automation. If it were up to me, I'd have it right now. But it's going to take motivation by _SELF- INTEREST_ for people to realize that it HAS to happen. That self-interest? The generally deplorable state of their country.

I just want society to progress, that's all. If we were running this country effectively many of the inventions we are only seeing come to market today would have been here long ago. Greed holds us back, greed drives us forward. So let's stop letting it hold us back, let's push for automation, and then watch the chips fall from there.

If you don't think automation will change anything, how do you think it will change without automation? Isn't that what you're proposing?

</comment></comment></comment><comment><USER18> America has the most job openings in 15 years - [http://money.cnn.com/2015/06/09/news/economy/us-job- opening-...](http://money.cnn.com/2015/06/09/news/economy/us-job-opening- highest-in-15-years/index.html)

<comment><USER19> Not per capita it doesn't. Come on, that's a novice error.

<comment><USER12> Every election since 2000: "More people voted for {Bush, Obama} than any President in history." There's more total voters, so...

<comment><USER20> Every blockbuster movie released ever: "This movie made X millions of dollars!" Ticket prices keep going up, so...

</comment></comment></comment></comment><comment><USER21> Last year I was working on trying to fix this - the constantly changing skill gap, specially in Software. My idea was that users could choose what they want to do, what they already know. And algorithmically show them what exactly they need to do. Stopped working on it for personal reaons. Would love feedback - FillSkills.com. While still lots to do on the backend, the UI is represntative of what I wanted to do.

</comment><comment><USER22> I have noticed that people LOVE to make the distinction between a programmer and a " software engineer", in every and any context/article. I am just waiting on one of those comments..

<comment><USER2> my favorite distinction of the kind is "software developer" and "coder".

</comment></comment><comment><USER23> Still, if you have brains, it is much easier and less risky to make a decent living by becoming a doctor, or a lawyer.

<comment><USER24> Isn't the lawyer profession way over-saturated right now?

<comment><USER25> In one sense, yes. On the other hand, many people take law degrees without any intention of working directly as lawyers, so "it's complicated"

Really, it doesn't make any sense to lump the two careers together (at least in the US), anymore.

</comment></comment></comment><comment><USER26> I for one welcome our robot overlords. As a member of the technical class, I can be helpful in rounding up others to toil in their underground sugar caves.

But seriously, the Luddite argument has been debunked many times. There's no reason to think this time it's any different. (for example: [http://www.economicshelp.org/blog/6717/economics/the- luddite...](http://www.economicshelp.org/blog/6717/economics/the-luddite- fallacy/))

That doesn't mean there aren't real issues:

1\. The inflexibility of the labor market makes it harder for those who have lost their jobs to find new ones. Further, if a company does not have the option to fire someone relatively easily (and cheaply), they will be less willing to take a chance on someone who may not exactly fit all of their criteria.

2\. A monolithic, Prussian-inspired state educational system has not responded well to imparting new skills to people (or even basic competency, in some cases). Math and science curricula are notoriously weak in the U.S., yet that is where the growth and the high-paying jobs are. There are also opportunities in the trades, but these have been cut from most schools.</comment>


One in four Germans wants microchip in body - <AUTHOR> http://www.news.com.au/technology/one-in-four-germans-wants-microchip-in-body/story-e6frfro0-1225835910243 <comment><USER2> I don't see enough benefit in passive chip implantation, like RFID: just another authentication protocol that ultimately can get hacked. While an active chip would generate heat and potentially become carcinogenic. I suppose that can be overcome.

<comment><USER3> I think the benefit of the passive chip is that you can use it for ID. I can definitely see a scenario where a chip with a medical ID is used by emergency teams to do things like give blood and medicine by referencing a database for your bio-medical information. This would be a lot easier to do in the military and would make a lot of sense with more and more automation in that process.

</comment></comment><comment><USER4> I have a hard time to see reality in this survey and as the physics professors said, if did not create the statistics you can't believe it. German society is in general skeptical on advanced technology when it comes to bio-science.

</comment><comment><USER5> >The survey, conducted by German IT industry lobby group BITKOM.

<comment><USER6> Also:

> 23 per cent of around 1000 respondents in the survey said they would be > prepared to have a chip inserted under their skin "for certain benefits".

The title is simply wrong. These sentences do not have the same meaning. Flagged the article :(</comment></comment>


Boeing X-20 Dyna-Soar Spaceplane - <AUTHOR> https://en.wikipedia.org/wiki/Boeing_X-20_Dyna-Soar <comment><AUTHOR> New (2015) book on the Dyna-Soar: "The Other Space Race: Eisenhower and the Quest for Aerospace Security" by Professor Nicholas Michael Sambaluk

John Batchelor interview (October 2016) with the author:

[https://audioboom.com/posts/5197534-the-other-space-race- eis...](https://audioboom.com/posts/5197534-the-other-space-race-eisenhower- and-the-quest-for-aerospace-security-by-nicholas-michael-sambaluk)</comment>