Introducing Handle – Boston Dynamics [video] - <AUTHOR> https://www.youtube.com/watch?v=-7xvqQeoA8c <comment><USER3> I'd like to see it fall and recover. These videos just aren't what they used to be since they stopped kicking them robots.

<comment><USER4> Handle looks like it can kick back.

<comment><USER5> Actually it looks to me as though the legs cannot move sideways at all, only forward/back/up/down. If that's true it would be nearly impossible for Handle to stand on one leg or even raise one leg for long enough to perform a decent kick without falling over.

<comment><USER6> In the video where Handle is moving in a circle quickly while crouching you can clearly see one leg moving out to the side.

<comment><USER5> Nope. The legs are still pointing in exactly the same direction relative to the body, the only difference is the body is tilted. Relative to the body the legs have different vertical extension but the horizontal distance between them is the same.

</comment></comment></comment></comment></comment><comment><USER7> I can't wait for weapons to be attached to this thing so it can be used against us in the future. Imagine the part where it was spinning, but instead with a firing automatic weapon. What prevents democracy from collapsing when a certain technical elite control the most powerful autonomous weapons and keep tabs on everyone's daily lives?

<comment><USER8> Someone still has to man the lengthy manufacturing and supply chains to build these things and their consumables plus someone needs to be deployed into the theater of operations to perform logistical support and maintenance to keep your hypothetical killbots in action. (Automated manufacturing is one thing, automated diagnosis and repair is quite another.)

Someone also has to have acquired enough military expertise to command these units effectively, something "a certain technical elite" feels is beneath them.

<comment><USER9> > something "a certain technical elite" feels is beneath them.

A very common sentiment. However, please remember that the skills to get in at the bottom of each field are radically different and don't let that colour your perception of the top of each field.

<comment><USER10> Additionally - If the elites make it lucrative enough it will be easy enough to get labor necessary to complete the tasks. Tribalism is real and if they were able to convince a subset of people to complete their ends then controlling the minority/subset would be easy. It boils down to basically why Nazi's and Aryan pride were successful.

<comment><USER11> yes but in the end they lost, nazi's were defeated, the freedom-loving humans won :o

<comment><USER12> The elites mentioned would just use ML to war game and hone tactics, and no one has experience fighting with (or defending against) this type of mechanized warfare.

</comment></comment></comment></comment></comment></comment><comment><USER13> Has boston dynamics put these things to some real usage? They 've been showing impressive videos for 7, 8 years?

<comment><USER14> Unfortunately there is no practical application for them. They're incredibly capable, but they're also expensive, fragile, and difficult to maintain. This is, in a nutshell, why Google decided not to hold on to the company - <USER2> consumer market whatsoever.

<comment><USER15> They were never actually sold, the only news related to it was back in march 2016 where alphabet said they were looking to sell. Afaik nothing has come up about it since.

<comment><USER16> and their about-us page still says that they are a "wholly owned subsidiary of Google, Inc."

[http://www.bostondynamics.com/bd_about.html](http://www.bostondynamics.com/bd_about.html)

<comment><USER13> That should be Alphabet by now.

</comment></comment></comment></comment></comment><comment><USER17> I wonder how many cars in the parking lot have been trashed at this place while working out quirks with these robots. I think I would be parking down the road a bit.

ETA: I guess that's skin in the game. They probably have an agreement that everyone involved with the project parks their car in the parking lot for the first parking lot run.

<comment><USER15> A few years ago they were testing one of the big ones they built for the military called the legged squad support system. They were testing it in the parking lot, and it ended up rolling over and totaling this guys car. Turned out it was the guys first day there.

</comment></comment><comment> _-__--- That 80's jump-freeze-frame was fantastic

I want to see them take this to a skate park

<comment><USER18> Someone on reddit mentioned it's probably a homage to the end scene of Short Circuit

</comment></comment><comment><USER19> If I'd seen this in a horror movie 10 years ago, I'd probably have laughed. There is something about it being real that truly terrifies me.

<comment><USER20> I felt the same way. I don't know if it's the fluidity of its movements while it was moving or something else. I kept thinking of Silent Hill for some reason.

<comment><USER21> The warehouse setting, and then snowy outdoors. Just needed some exploding barrels or random crates around the place and it's a charmless FPS.

</comment></comment></comment><comment><USER22> This is an interesting combination of wheels and more articulated actuators (er, limbs?).

It certainly solves most of stability problems for a typical inverted pendulum configurations (cornering, obstacles of different height, lowering weight for more speed, raising it for more reach).

</comment><comment><USER23> I'm sure this company has no issues with recruiting.

<comment><USER24> Good point, but they also need the people who really knows both hardware and software and probably a lot of physics too.

</comment></comment><comment><USER25> News from the future:

Man in a wheelchair beats everyone in a street fight.

<comment><USER26> I think at some point we're going to have to have another uncomfortable conversation about whether cybernetically enhanced (say ex amputees) humans should be allowed to compete in sports where their new physiology is giving them a distinct advantage.

The same way right now we're stuck between biology and political correctness when talking about ex-male MMA or wrestling competitors dominating in the women's side of the sport when most of their physical development happened before hormone therapy and they end up with a distinctly more powerful physique.

Separate bathrooms for cyborgs who maybe will be reviled and feared when they do become a very small minority?

<comment><USER27> We passed that milestone years ago:

[https://uksportsci.wordpress.com/2012/11/26/prosthetics- in-s...](https://uksportsci.wordpress.com/2012/11/26/prosthetics-in-sport/)

<comment><USER28> My favorite aspect of this topic is that amputees long jumpers jump on their prosthetic leg.

I don't think we are past the threshold though. People, including coaches of able-bodied athletes are still viewing prosthetics as balancing the odds.

To me the real threshold will be when a double-amputee will break the 200m or 400m World record. I thought it would happen last year but I guess a few more years will be needed. It will happen.

</comment></comment></comment></comment><comment><USER29> I think this is the most frightening company there is.

<comment><USER30> If I was writing megacorp scifi I'd have them grow via military contracts and eventually merge with Palantir (and maybe some innocent litte AI startup that gets gobbled up, where the hero works) to be one of the megacorps that essentially becomes a government entity (DynamicPalantir). Some sort of Bio/Chem merger (maybe Johnson & Johnson+Bayer/Monsato as a base) would be the counterpart battling it out with DynamicPalantir because they're betting on clones not robots. Toss in Saudi Aramco++ for some good measure.

<comment><USER31> So what you end up with is an Autonomous, Intelligent, Bipedal robot fighting a clone, eating only GMO-corn, with silky smooth skin? ... Talking arabic... XD

</comment></comment></comment><comment><USER32> This is really cool tech, but given the current political state, I can't help but worry about a powerful army of robots -- presumably with weapons attached -- being put into the hands of a leader we might consider to have "unreliable" judgement.

I wonder: if a country can deploy an army of robots to achieve its military ends, how does that play out in the long run? Does this mean future wars will just be "our" droids versus "theirs"? Does this "solve" terrorism in the long run, or make it much worse. Also, seeing aggressive robots feels scary.

<comment><USER33> What is even the point of having a war once you are fighting with robot armies? Why not just throw a coin and hand the country over to the side that picked the correct outcome? Use an unfair coin to correct for military strength. Or each side sends its best players for a game of Risk or Rock, Paper, Scissors or Command and Conquer.

You get a winer and a loser, it does not take years and costs a fortune and you avoid all the unnecessary loss of life and the damage you have to fix after the war. That seems like a win for everyone involved. Well, that could actually also work right now, no need to wait for robot armies.

<comment><USER34> It won't work because actually enforcing a meaningful loss requires a real war.

Otherwise, no matter if you believe if you have got a 50% or 10% chance of victory (or even no chance, but a certainty of painful losses for the opponent) then it makes all kinds of practical sense for the loser to say "screw the coin/game" and simply ignore the result and escalate it further.

If a reasonable settlement acceptable to both sides can be negotiated, then it doesn't need the coin or game in the first place; and if someone can enforce the conditions on the loser without a horrible cost, then there's no need for a game or a war since it can be done as a simple ultimatum.

<comment><USER35> If the simulation is reasonably predictive and the spoils of war not too severe then the loser won't start the war because they would npt expect to gain enough.

This is what democracy is, a coarse estimate of who has the most soldiers. A 90% majority can do what they want, a 51% majority needs to compromise a little.

<comment><USER34> Just as the purpose of a war isn't to determine who's stronger but an extension of diplomacy with violence as a tool, a simulation isn't needed to determine who's weaker, countries already have a good idea on that. If the results are reasonably predictable and the request is not too severe, then you don't need a simulation, game or coin toss, ordinary diplomacy does that well; this is how events like Sudatenland takeover in last century or Crimea takeover in this century happened without a fight.

However, in an actual war many things matter more than the numbers or fighting power. For example, it is clear that ISIS is much weaker than the full USA military, however, because defeating ISIS in an actual land war would cause significant casualties to USA, they can go on - a clear simulation result showing that they would lose won't ever be enough for them to concede defeat since they can (and will) simply call it as a bluff and claim that USA is not willing to pay the blood price. So you can't settle a conflict like this with a simulation; the loser always has the backup plan of telling "make me, if you dare" instead of accepting the loss.

Agreeing to a result of simulations that both sides believe isn't settling _undecided_ disputes nonviolently, it's just old fashioned diplomacy or ultimatum/surrender.

</comment></comment></comment></comment></comment><comment><USER36> Am I the only one who thinks these robots look like Michael Jackson doing a toe stand dance move?

<comment><USER37> The ghost from Howl's moving castle: [http://www.weirdwildrealm.com/filmimages/spiritedaway.jpg](http://www.weirdwildrealm.com/filmimages/spiritedaway.jpg)

<comment><USER38> That's not from Howl's Moving Castle. (Clue: The link.)

<comment><USER37> Good point, thank you. *Spirited Away.

</comment></comment></comment></comment><comment><USER39> Great some one has made my murdering Segway nightmare a reality. Thanks Boston Dybamics.

</comment><comment><USER40> Much creepier version of this, video of it was actually surfaced about a month ago. [1]

[1] [https://youtu.be/giS41utjlbU?t=52s](https://youtu.be/giS41utjlbU?t=52s)

<comment><USER38> Heh, last time I missed the piece flying off the robot as it landed the jump. I wonder what broke?

</comment></comment><comment><USER41> Nice video.

Does any one know if they are planning to make a low power and light exoskeleton kind of mutation to this tech? This could be revolutionary for people with disabilities.

or as a mode of personal transport in difficult terrain?

<comment><USER42> It looked like it was near capacity with the 100 pound lift test.

I also wouldn't bet on the run time being real long.

The iBot was a practical realization of a stabilized, powered chair (same tech as Segway):

[https://www.youtube.com/watch?v=7fY5NYCVvqs](https://www.youtube.com/watch?v=7fY5NYCVvqs)

I guess it isn't manufactured anymore.

</comment></comment><comment><USER43> Now if it just yelled "I'm free!" during that last jump :-)

More seriously, this is a very agile robot I am very sure I would never want to be in the same room with it when it was being tested. That said, the 100 lb basket it a bit disappointing. I was thinking "Ok this could be an offload/onload robot for freight" but maybe not. It is remarkably quiet which is something the original Bigdog discovered really put the damper on its threat ability.

But if Amazon used it in warehouses? Probably more than they need for that activity.

<comment><USER38> Something human-sized and untethered which is capable of lifting a 40kg load and running with it? It's not going to replace a container crane but (as you mention) it'd be a very versatile warehouse bot.

</comment></comment><comment><USER44> It reminds me of nothing so much as E-102 Gamma from Sonic Adventure.

MODE CHANGE.

</comment><comment><USER45> It seems robots jumped directly from baby steps to roller skating...

Add a quadricopter on the head and you'll have a crazy kung fu master...

Freaking cool :-)

</comment><comment><USER46> Each one of these videos from Boston Dynamics is a little bit cooler and a little bit (or a lot) more scary than the last.

</comment><comment><USER47> Couldn't this will be very effective in the delivery business we see, amazon, postmates and grubhub undertaking in urban areas?

How about single -seat self driving mobility device [https://www.youtube.com/watch?v=rukmDZc3EiA](https://www.youtube.com/watch?v=rukmDZc3EiA)

</comment><comment><USER48> Why do we always see the BD robots in real videos, and never in simulations? I mean, the mechanics are important, but the control system is much more important, and it's pure software.

</comment><comment><USER49> What technologies do they use to do the balancing. I heard earlier that they don't use any machine learning at all. So what do they use to achieve this level of robustness.

<comment><USER50> The balancing stems from an inverted-pendulum problem, and that's something that's reasonably well understood in robotics [https://en.wikipedia.org/wiki/Inverted_pendulum](https://en.wikipedia.org/wiki/Inverted_pendulum)

Of course it's more complicated than that because it looks as though the centre of mass can move and the legs can bend and are not rigid, but it would make more sense approaching this from a kinematics perspective rather than a ML one.

</comment></comment><comment><USER51> I was thinking of the Wheelers from "Return to Oz": [https://youtu.be/2MLVfQOknYM](https://youtu.be/2MLVfQOknYM)

</comment><comment><USER52> Driving past their office has got to be a weird experience.

</comment><comment><USER53> Mankind's days are dated. Couple this with AI and we'll have a whole new species on Earth. Start building your own bots and restock your underground shelters.

</comment><comment><USER54> I wonder what it's like on a halfpipe :D

</comment><comment><USER55> Otherwise known as Parkourbot

</comment><comment><USER56> Get that thing away from me!

</comment><comment><USER57> wow this really has the potential to revolutionize the adult film industry

</comment><comment><USER58> Impressive!

</comment><comment><USER59> That jump!

</comment><comment><USER60> does it go up stairs as well as down?</comment>


Blueprint I/O: easy, centralized configuration management - <AUTHOR> https://github.com/devstructure/blueprint-io

<comment><AUTHOR> If you're new to Blueprint, it's an open-source tool for reverse engineering servers. Detects packages, file changes, source installs and bundles everything up into a reusable format - a blueprint.

Blueprint I/O is a transport tool for blueprints, all of the configuration information and file tarballs can be sent to other servers for reuse. We think it's a no-fuss way to get started in configuration management. No DSLs, no extra servers and no workflow changes.

</comment><comment><USER2> woot can't wait to play with this

Edit: err I should probably add more substance than that.. one less thing to keep track of and have to set up when getting into config management = win</comment>


Ask HN: Which companies (or gov agencies) have the worst customer service? - <AUTHOR>

<comment><USER2> I believe no discussion of poor customer service is complete without the inclusion of PayPal.

Just yesterday I attempted to close a business account and was presented with the message "We're sorry, but your account cannot be closed at this time."

No explanation, no nothing.

So I called the 1-800 number, and after waiting on hold for more than ten minutes was told my account would be closed right then. Okay, but still being naturally curious as to why I couldn't close my account through the site, I was told that there was no reason, I just couldn't do it. That's literally what they said.

So it would seem that they just want you to jump through an unnecessary hoop to make the funnel out of their site as narrow as possible.

<comment><USER3> I don't mean to rush to the aid pf PayPal's customer service, but I can think of all sorts of reason that a company would want you to talk to a human being before closing a _business_ account. Especially when that company is one of the largest targets of online fraud.

<comment><USER2> Fine, then don't give me an option to close it and then ask me to try again later. Just be honest and tell me I have to call a number to close it.

</comment></comment></comment><comment><USER4> 1and1.com

They've been taking money out of my account since I brought the domain. When I call I have to wait more than 20mins for a live agent, so I will be back on GoDaddy.com

<comment><USER5> why do that to yourself.

Use namecheap, or name at a minimum. There service is so much better.

</comment></comment><comment><USER6> California Department of Motor Vehicles

</comment><comment><USER7> Comcast</comment>


Handling 100k+ requests a month on my server - <AUTHOR> https://sdan.xyz/hn2 <comment><USER2> Also know as how to handle slightly more than 2 requests a minute on my server..

Really, take any "per month" number and divide it by a quarter of a million ... then you have approx the average requests per second... Fudge up as needed (due to peaks and off hours) and you can see, if you need to be impressed...

<comment><AUTHOR> Interesting. I get anywhere from 75-200k requests a month and several thousand "unique" visitors.

In either case, I show how you can easily scale up without having to worry about downtime.</comment></comment>


Nocode: The best way to write secure and reliable applications - <AUTHOR> https://github.com/kelseyhightower/nocode <comment><USER2> This is fun and all, but if the message that this tries to pass along is "don't bother with proper security because it's very hard/impossible, do your best and ship, you can always fix your code", than that's bullshit. Secure coding is possible and is our responsability when we are writing code that others are meant to use somehow, and if most of the devs lack the formation in secure coding and if many companies don't ensure the code is secure to some standards, then that's not a law of the nature but instead our own sloppiness and laziness as an industry. Lucky we are that the world does not know yet how to hold us to a high enough standard.

<comment><USER3> There is no message, only your imagination.

<comment><USER2> It's a nice thing to have though...

</comment></comment></comment><comment><USER4> No comment.

<comment><USER5> yes.

</comment></comment><comment><USER6> Works perfectly with my favorite test framework: [https://github.com/lxe/no- bugs](https://github.com/lxe/no-bugs)

</comment><comment><USER7> ... and the best way to discuss it is to not post any comment at all.

</comment><comment><USER8> The best part is the cost! It costs nothing to host and runs basically everywhere.

<comment><USER9> Sure it's free, but it can still be difficult to implement at scale in large companies. There's probably a market opportunity for a consulting service to help companies implement nocode frameworks. (/sarcasm ;)

</comment></comment><comment><USER10> Don't forget about vapor.js! [https://github.com/madrobby/vapor.js](https://github.com/madrobby/vapor.js)

</comment><comment><USER11> Just for the record, a previous similar attempt, unfortunately discontinued, that was aimed to very compact code and interoperability on _all_ Operating Systems:

[https://web.archive.org/web/20130329160607/http://www.bernar...](https://web.archive.org/web/20130329160607/http://www.bernardbelanger.com/computing/NaDa/index.php)

</comment><comment> nathan-osman The issues are absolutely hilarious

<comment><USER2> The issues are reddit...

</comment></comment><comment><USER12> 5 days later and this project has more than 1,000 stars. This is not funny anymore.

<comment><USER13> ... and a couple of hours later it has 12,000 stars. It's funny again.

</comment></comment><comment><USER14> Performance is also a feature. .NET version of the same (with benchmark): [https://github.com/benaadams/System.Ben](https://github.com/benaadams/System.Ben)

</comment><comment><USER15> No code of conduct?

</comment><comment><USER16> Humor aside, this makes an important point: Each unit of code is a liability, so we had better make sure it is providing value.

</comment><comment><USER17> One of my favorite phrases is "your best code is the code you don't write."

Loving this.

</comment><comment><USER18> No drama here at all

</comment><comment><USER19> Amazing.</comment>


Python 3.4.0 alpha 1 released - <AUTHOR> http://www.python.org/download/releases/3.4.0/

<comment><USER2> Sorry to harass the hn community over this one more time, but does anyone knows if optional static typing is even being discussed as a future evolution for python ? I know about the pep for annotations that could be used for that ( but in a non standardized way ), i know about the mypy project ( which seems like a one man project), but is that all ?

<comment><USER3> Well there is Cython, which is compatible with your every day python, but it might not be what you're looking for. Rpython has some type inference, but it's designed exclusively to be used to make interpreters; no standard libraries or anything.

Personally I think the most amazing and practical (but possibly difficult) thing to do is to add global type inferencing (Hindley–Milner?) to (a fork of?) Jython.

There's also python-like languages with static typing already like boo: [http://boo.codehaus.org/](http://boo.codehaus.org/)

</comment></comment><comment><USER4> They still list SHA-3 as one of the features, even though the standard isn't released yet, and it will surely change details from the keccak submission (has been hinted at several conferences).

By introducting functions like `sha3_256` they are setting themselves up for a big compatibility fiasco.

<comment><USER5> I cannot conceive of the world in which substantive changes would be made between now and publication. The algorithm has been vetted as-is, any changes would need extensive reevaluation. It would basically be starting the process over.

<comment><USER4> It's not substantive changes, but any change is enough to change compatibility. If you doubt me, go to the NIST website for SHA-3 standardization and check out the conference talks they linnk to.

<comment><USER5> I didn't realize they hadn't selected final parameters yet. I guess I blindly assumed they wouldn't be so reckless as to run the clock down this far. Another reason not to trust NIST's judgement.

Nonetheless, you're still panicking over nothing. 3.4.0 won't be released until next year.

<comment><USER4> I don't understand why it would be a bad thing for them to take their time to make the standard as good as possible. It's going to live for pretty long.

<comment><USER5> They're doing the exact opposite. They chose an underspecified "winner". The public vetting period for what actually becomes SHA-3 will now be a mere 90 days.

</comment></comment></comment></comment></comment></comment><comment><USER6> I can't see any mention of the new asynchronous programming support presented by Guido in this year's PyCon. Has it been discarded from this release?

<comment><USER7> Tulip is a work in progress. It will be ready when it is ready :-)

Guido is still planning for this to make it into Python 3.4. This isn't a beta release. There are more features to come.

</comment></comment><comment><USER8> Sweet - a standardized "enum" module. I wonder if/when will Django adapt this in their Model definition?

<comment><USER9> Seconded - I just made a gushing sound that made my girlfriend think I saw a puppy online or something.

I _may_ need help.

<comment><USER10> Note that you can actually use the same `enum` interface on Python 2.4+ now that it has been standardized. Just install from PyPI. :-) [1]

[1] - [https://pypi.python.org/pypi/enum34](https://pypi.python.org/pypi/enum34)</comment></comment></comment>


Keyboard Layout Analyser - which layout is best for you? - <AUTHOR> http://patorjk.com/keyboard-layout-analyzer/ <comment><USER2> There's more to "best layout" than finger travel distance. Capewell's website suggests some of them:

[http://www.michaelcapewell.com/projects/keyboard/index.htm#T...](http://www.michaelcapewell.com/projects/keyboard/index.htm#The_Coming_Capewell_Layout_)

Roughly quoted:

* Minimize finger movements.

* Maximize the use of 'combos,' i.e., multiple keys hit on the same hand with one comfortable movement

* Minimize the use of uncomfortable combos

* If a key in one of the centre columns is used, have the keys typed before and after the key be typed by the other hand

* Minimize use of awkward positions on the keyboard

I'd also add cadence: it's important to have a nice rhythm when typing normally. This plays into the combos and lack of awkward keys. I suspect that in some ways, it's better to sacrifice a little average speed so long as variance is not very large.

<comment><USER3> I think minimizing uncomfortable combos is especially important if you happen to use lot of punctuation/symbols etc, eg writing c/c++ code or tinkering around in shell. My local keyboard layout (fi/sv) is absolutely horrible in that respect (see [http://en.wikipedia.org/wiki/File:Keyboard_Layout_Swedish.pn...](http://en.wikipedia.org/wiki/File:Keyboard_Layout_Swedish.png)). But we also happen to have two extra letters in our alphabet, so using us-intl is not an option. It would be quite good otherwise, as it just happens that most computer systems seem to be designed to be used with us-intl.

The best solution I have come this far is creating my own custom layout, based on us-intl, but squeezing in those two extra letters. But this approach has one large problem: using any other computer than my home desktop becomes a lot harder. And as I happen to use a lot of other computers, it also hinders me from learning and using my own layout properly.

Also, I have not yet found a reasonable solution to create my own keyboard layouts in Linux, so that it would reliably work all around the system. So my custom layout experimenting has so far been limited to windows only, which is kinda sad.

An image of my layout is available at <http://zokier.net/stuff/nappaimisto.png> If someone is interested, I could upload the keyboard files as well.

</comment></comment><comment><USER4> Great, my current keyboard layout (colemak) comes out on with most of the text sample I've tested.

For those hesitating about using a different keyboard layout, do it! your wrist will thank you for it... I used to have a lot of wrist problems and most have gone away since I've switched to Colemak

<comment><USER5> I pasted in a Perl module and my Dvorak actually managed to narrowly edge out Colemak in most ways. But I would consider that a fluke.

The heatmap of the buttons was particularly impressive. It's great to see what I already felt.

Oh, and ignore the personalized layout, though props to the site for saying what things they did not consider when making the layout. But those things they ignore matter a lot.

<comment><USER6> I had the same results for perl as well as for CL. It surprised me, given that Colemak is promoted as the programmer's weapon of choice.

</comment></comment></comment><comment><USER7> If anyone wants to learn a new layout, and you're on Linux, I highly recommend KTouch (works fine on Gnome too).

I learned Colemak with it in about two weeks, it's perfect. Still using Qwerty till I master vim, though. I found the latter is more of a productivity enhancer than the former, and it's difficult to do both simultaneously.

<comment><USER8> What does Colemak help you do faster than Qwerty or Dvorak?

<comment><USER7> It's supposed to be a better Dvorak. The keys are less of a departure from Qwerty than Dvorak's are so it's easier to learn, and it makes a few improvements over Dvorak. More on their website:

<http://colemak.com/>

From the site:

> _Ergonomic and comfortable – Your fingers on QWERTY move 2.2x more than on > Colemak. QWERTY has 16x more same hand row jumping than Colemak. There are > 35x more words you can type using only the home row on Colemak._

> _Easy to learn – Allows easy transition from QWERTY. Only 2 keys move > between hands. Many common shortcuts (including Ctrl+Z/X/C/V) remain the > same. Typing lessons available._

> _Fast – Most of the typing is done on the strongest and fastest fingers. Low > same-finger ratio._

> _Multilingual – Allows to type in over 40 languages and to type various > symbols, e.g. "pâté", "mañana", €, em-dash, non-breaking space._

> _Free – Free software released under the public domain. You don't have to > buy a new keyboard, just install a program._

</comment></comment></comment><comment><USER9> This is a longshot, but has anyone here switched from Dvorak to Colemak and can comment on the experience?

</comment><comment><USER10> Pasting in some code and blog posts I had lying around was pretty eye-opening for how terrible qwerty was for me.

What I think would be really interesting however would be to dump the results of a keylogger with a weeks worth of data into it. Would definitely be more accurate, and maybe interesting to see where my hands spend most of their time during the week.

</comment><comment><USER11> If it wasn't for VIM, I'd consider switching to a more efficient keyboard layout.

</comment><comment><USER12> Nice app. The pie charts really need to be replaced by something like bar graphs. We are quite bad at comparatively judging area and angles, but rather good at distances.

</comment><comment><USER13> Bépo keyboard layout is missing! Okay maybe it's because it's optimized for writing in French... But after a false start and a painful first month I'm really happy to have made the transition from the qwerty/azerty world.

The first month was really frustrating, especially at work or when using IM but I'm glad I kept using it because for now, a few months after, it's a pleasure to have every keys always right next to one of my finger and never having to move my hands anymore.

</comment><comment><USER14> Been holding out to try a new layout. I think it will be worthwhile to try out a new layout... the issue is time.

I'm working at a 14-person marketing research startup (up from 6 in 2008 when I started) in Boston and one of biggest issues me and my fellow coders have is wrist pain.

We've resorted to wrist braces for the time being. I know this isn't a good idea.

Any recommendations for ideal QWERTY setups? Been doing some research on different keyboards, but would love to hear some opinions from HN.

<comment><USER15> Might I suggest exercises that require grip? I've noticed that when I do a lot of weight training, which means pull-ups, deadlifts, and handstand pushups, that my wrist pain from typing is reduced quite noticeably.

<comment><USER14> Will give that a try, thanks.

</comment></comment></comment><comment><USER16> To echo agscala, unfortunately it's completely inaccurate and useless because I use Vim. Maybe when I start writing prose again it will be useful. =P

</comment><comment><USER17> How do they determine the "best layout" at the top? I pasted in a couple hundred lines of code and it claims that Colemak is the best, but Arensito (hadn't heard of it before) has fewer meters traveled and more home row usage (where Colemak is beat by everything except QWERTY).

At any rate, all the layouts other than QWERTY and Personalized were within 10 percent of each other for meters traveled.

<comment><USER18> In my case, Colemak was declared the best even though Capewell had less travel—because, I believe, Colemak had a considerably greater proportion of index-finger use. I reckon that because the Personalized layout clearly aims for maximum index finger use, with a slight favor on the right.

</comment></comment><comment><USER19> I've considered trying out a new keyboard layout for a while now. However, two concerns have stopped me so far. So for those of you who use an alternate layout, I have two questions:

* When you need to use a QWERTY keyboard, how easy is it for you to make the mental switch back and forth?

* Have you found that becoming accustomed to your new layout has had a negative impact on your typing speed in QWERTY?

</comment><comment><USER20> I've always been intrigued by optimizing the keyboard for writing, and this analyser is a really cool idea.

What has always stopped me from using one of these is that I am working at lots of different boxes at work, and there is no way I could get a new layout installed at them all, which I guess would make the switching back and forth very awkward.

So... What is your experience? A hassle well worth it?

</comment><comment><USER21> What's the followup here? I'd like to give this a shot at some point, just for a few days to see how it goes. I have been typing long enough that I definitely don't need to look at a keyboard, so I'm guessing I'd need to pop off all the keys, reconfigure, then find some sort of software that remaps the keyboard? Or is something like this built into Windows and Mac?

<comment><USER22> Dvorak is natively supported by both Windows, as well as the Mac. I believe Colemak has instructions on their website <http://colemak.com/>.

My experience (I switched to Dvorak about 6 months ago) is that you really need to be typing a lot before you get to type as fast as what you used to type. Even after 6 months I'm still not as fast in Dvorak as I am in Qwerty. I have to say it's definitely easier on the wrists though :)

Here's what I did to switch:

\- Switch all the keys on the keyboard of just one of my computers

\- Only that pc was dvorak for about a month

\- Lots of typing on typeracer (at least half an hour every single day)

\- Slowly start putting stickers on the keys (to force myself into touchtyping with dvorak

\- After a month I installed DVAssist at work (this way I can quickly switch between 'this needs to by typed _now_ (qwerty) mode' and 'Typing a bit slower gives me more time to think about the solution mode')

\- I think after four months I switched entirely. (I still use DVAssist but that's mostly for pair-programming.)

I found the following things to be the most difficult:

1) Passwords (I barely 'know' my passwords, I just know the rythm...)

2) Windows (When using DVAssist it's always a surprise what keyboard layout is in use at the logon screen)*

* This does not happen if you just set two keyboard layouts in windows. You can switch to other layout with a keyboard shortcut (CTRL+SHIFT).

</comment></comment><comment><USER23> I'm sort of disappointed that on the personalized layout they didn't suggest doing something useful with the caplock key.

</comment><comment><USER24> The generated reports are kind of interesting - but they'll always be incomplete in some way for programmers, because many of the keys we press aren't captured in the outputted text. Keyboard shortcuts are my coding lifeblood.

<comment><USER25> On the other hand, you can change your keyboard shortcuts. (Probably.)

</comment></comment><comment><USER26> Just pasted a big 'ole file of code (quickest document available to me). QWERTY (current KB) is the worst, by a margin of about 2x (150 v 80 for optimal v 84 for non-personalized optimal).

</comment><comment><USER27> Interestingly QWERTY came out the worst for me by far. To bad I'm a laptop and Vim user.

<comment><USER28> That's pretty much to be expected... QWERTY is downright horrible for efficiency, regardless of (reasonable) use-case.</comment></comment>


Timetric Makes Web Data Useful with Time Series Analysis - <AUTHOR> http://www.readwriteweb.com/readwritestart/2009/08/timetric.php

<comment><USER2> I'm really having trouble understanding the value here. Is there something more to this company than line charts?

<comment><USER3> There's a lot of value in being a central storehouse for a LOT of data, in my opinion. Combine that with tools to easily do the comparisons (correlations, regressions, etc.) between different sets of data then adds a huge amount of value to a lot of people. Business/financial types in particular...

I admit to being biased, though; I know the founders and they're all really great and wicked smart guys. :)

<comment><USER4> (Disclaimer: I'm one of the Timetric team, though I don't recognise myself from Jed's description!)

There's also the API and the ability to build models which get updated when the underlying data's updated. Timetric is much more a time series database with visualization on the top than it's a visualization service which incidentally happens to be a data store.

If anyone out there needs a time series database backend for something they're building, get in touch with us: we'd love to talk with you.

</comment></comment></comment><comment><USER5> What would be cool is if you could give them a link to a data set online and they would take care of tracking it's changes over time. They could poll the data every day or hour and take care of the data storage and overhead involved with all that. Might add more value to the time-series graphs.

<comment><USER4> That'll be happening really soon - in fact, it works under the covers, and we're using it on some data (like <http://timetric.com/series/DMrAf_pQRj6jeItUKxpXGQ/>). It's just not in the UI yet. (You can import data from URLs already; it's the periodic updating we've not publicised.

(I'm one of the team behind Timetric.)

<comment><USER5> Cool, thanks. Looking forward to it.

</comment></comment></comment><comment><USER6> Puzzled as to why they left out RSS from their supported data formats. Sure would be neat to be able to plug in an RSS feed and see how often it updates.

<comment><USER4> (Again, I'm one of the Timetric team.)

We've not so much left it out as not got round to it yet! Counting the number of entries - is that what you're after? - is a nice idea: we were thinking more of a series of values a-la RSS-CB (<http://www.cbwiki.net/wiki/index.php/RSS-CBMain>), but it sounds like they'd both be good things to do.

<comment><USER6> Yah. I mean, ideally what I want is to use it with Twitter. Let me plug in an RSS feed for a search term, and then see its frequency over time.

</comment></comment></comment><comment><USER7> what do people think?</comment>


The Genius of Don DeLillo's Post-Underworld Work (2016) - <AUTHOR> https://www.vulture.com/2016/04/genius-of-don-delillos-post-underworld-work.html <comment><USER2> I'm a big fan of DeLillo, but I absolutely hated Zero K - his worst writing by far. It was a vapid, childish presentation of cryonics, dressed up in a bunch of confused themes around vanity and selfishness. I was so excited for DeLillo to write based on that premise, and so disappointed at the result.

<comment><USER3> I completely respect your opinion on this and would agree that Zero K is jarring if your a fan of his earlier work.

However, I quite enjoyed it. It was short and to the point. It also reminded me quite a bit of my own experience walking through the hospice ward in the days leading up to my grandmothers death. The namelessness of it, the religious iconography, even the traveling to a distant place (AR) and sleeping there in the hospital. Because of this I feel it was not so much a book about cytogenetics but how living people deal with death. The cryogenic part of it could easily be supplanted with our religious beliefs that we will die and wake up in a better world.

<comment><USER2> I think it was exactly this idea that made the book fail in my eyes. Cryonics is patently _not similar_ to religion in the sense of being comforted by myth or iconography and stories about waking up in a better place. Representing wealthy cryonics customers as if they were borderline cult members is more like surrealism than drama.

People who actually put money on cryonics overwhelmingly believe it's got a super low chance of working and that the world you might wake up in is just as likely to have endemic social problems and suffering as our current world, or possibly even be far worse in a lot of unsettling ways. People who care about cryonics spend time obsessing over crazy philosophy of mind, AI ethics, and far future forecasting ideas. They don't go into it lightly with some fluffy ideas of waking up in a peaceful utopia.

As a result, the characters in Zero K just don't work. Their mix of naïveté but hyper progressive awareness of scientific possibility, while also being wealthy titans of industry for decades, simply doesn't exist inside the same person at once unless the characters are just purely vehicles for allegory and symbolism, which is hardly what has made DeLillo's other works notable.

</comment></comment></comment><comment><USER4> I have only read Point Omega and The Angel Esmeralda but I've really enjoyed them. Which of his books should I read next? Are there any other authors adjacent to DeLillo that are worth checking out?

<comment><USER5> When it comes to post- _Underworld_ DeLillo, as far as I am concerned his major novel of that period, and really the only work that sticks in the memory after a few weeks (and I have read them all) is _Falling Man_.

If you are asking about books from any period of his output, then _White Noise_ can be recommended, I personally see it as his greatest achievement. _Underworld_ gets a lot of hype due to its sheer length but I don't find it particularly impressive or moving.</comment></comment>


Ask HN: Startup as a worker cooperative? - <AUTHOR>

The longer I work for someone else the more interested I become in alternatives for my future.
Worker cooperatives seem ideal from my perspective: all worker-owners decide together what are the business priorities, everyone shares both profits and losses, etc.
The thing I'm not sure about is applying this kind of thing to a startup or even a web dev agency.
Any opinions or experiences? <comment><USER2> sounds like a nightmare...

<comment><USER3> It doesn't have to be. Granted it's hard to have consensus but it can be done. Here's a list I found on Wikipedia (I know, I know) [http://en.wikipedia.org/wiki/List_of_worker_cooperatives](http://en.wikipedia.org/wiki/List_of_worker_cooperatives). They might not be the biggest companies but I guess you could really shoot for a lifestyle business.

<comment><USER2> that's a pretty small list... blah blah blah...</comment></comment></comment>


PyPy 2.5.0 released - <AUTHOR> http://morepypy.blogspot.com/2015/02/pypy-250-released.html

<comment><USER2> _" We would like to thank our donors for the continued support of the PyPy project, and for those who donate to our three sub-projects, as well as our volunteers and contributors (10 new commiters joined PyPy since the last release). We've shown quite a bit of progress, but we're slowly running out of funds. Please consider donating more, or even better convince your employer to donate, so we can finish those projects! The three sub-projects are: "_

PyPy are doing such incredible work and they seem to ask for very little in the way of funding to make it happen (and they're very explicit about where they're going to spend the money).

Why is it that there aren't more donations from the industry? Is it just a marketing issue? Do they need to do a snazzy kickstarter video to build the hype?

<comment><USER3> PyPy dev here. I would be interested to explore the ideas what can be done to improve our funding situation. We seem to have moderate success in those fundraisers, but nothing REALLY huge.

<comment><USER2> Unfortunately, it's not something I have answers to. I guess I just look at the success of something like the Micro Python campaign [0] (also a cool project) and wonder if something similar could be achieved.

There are plenty of companies that could benefit from PyPy doing well though. How many python servers do youtube / reddit etc run? With some investment in PyPy they could reduce their on-going costs. Youtube could easily dump $100k into the PyPy project, so what's stopping them? (I suspect the answer in that case is that Google just aren't interested)

I'm in a startup that doesn't have money to invest in PyPy, but if we we had more cash we'd definitely look at putting some into PyPy (though our use case is the hairy NumPy side of things).

I guess in the case of PyPy it's maybe less interesting to individuals but maybe there's some way of reframing it to make it interesting.

In a way, I'm sort of the target market here, because I use python all the time and I haven't donated to PyPy. So why haven't I donated (other than being quite broke because I'm starting a business)?

I think part of it is the urgency. There are 3 specific campaigns you're running [1] to get funding, along with funding for the general project itself. And the campaigns themselves are great - you have good overviews of the issues that you're solving, a realistic approach and a proven track record of being able to execute. But I don't know when those campaigns started and what the cut-off date is. They sort of feel ongoing and it feels like there's no loss in not donating right now. Compare with something like kickstarter, where you have a date by which if there hasn't been enough funding you may end up losing out on something really cool.

Sorry for the rather rambling brain-dump, but maybe there's some useful perspective here.

[0] [https://www.kickstarter.com/projects/214379695/micro- python-...](https://www.kickstarter.com/projects/214379695/micro-python- python-for-microcontrollers)

[1] [http://pypy.org/tmdonate2.html](http://pypy.org/tmdonate2.html) [http://pypy.org/py3donate.html](http://pypy.org/py3donate.html) [http://pypy.org/numpydonate.html](http://pypy.org/numpydonate.html)

<comment><USER4> I think the number one thing is you have to give people a reason to pay. Being useful is of course the first step, but people also want to feel they're getting something "extra", they want to feel like it's a transaction, however bad.

One of those things can be to provide a very clear road-map tied to donations and then follow up on it. That's what so powerful with these crowd funding campaigns. People feel like they are making a difference though at times they are essentially buying something.

I don't think you necessarily have to "compromise your values" either. You're probably already limited by money, so add some planning and just be honest about it. "With this amount, this will happen" etc. As always of course "under-promise and over-deliver".

That's mainly for individuals though. Companies are somewhat the same, but they want things that fit into their budget.

</comment></comment></comment></comment><comment><USER5> Congrats to the PyPy team on what sounds like a pretty big release!

Something in the release notes caught my eye:

> The past months have seen pypy mature and grow, as rpython becomes the goto > solution for writing fast dynamic language interpreters.

I asked this question[1] on the Perl 6 thread from a few days ago but didn't get an answer. Does anyone know why on earth the Perl 6 folks created yet another dynamic language VM+JIT with MoarVM instead of taking advantage of all the great work done with PyPy? Does anyone know whether PyPy was even considered as a target before writing MoarVM?

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

<comment><USER6> Perl6 started long before PyPy (2000 vs ~2007).

<comment><USER7> And yet, work began on MoarVM only in 2012.

[http://en.wikipedia.org/wiki/MoarVM](http://en.wikipedia.org/wiki/MoarVM)

<comment><USER8> I think MOAR was designed specifically to run NQP efficiently.

NQP is a subset of Perl 6 which the Perl 6 compiler is written in. That compiler takes a program written in Perl 6 and converts it into NQP. That NQP program is then compiled to different targets such as JVM, Parrot etc. This is my understanding, of course.

<comment><USER9> I don't want to hijack a pypy thread with perl stuff, but this needs to be corrected:

> I think MOAR was designed specifically to run NQP efficiently.

yes

> NQP is a subset of Perl 6 which the Perl 6 compiler is written in.

yes

> That compiler takes a program written in Perl 6 and converts it into NQP.

No. moar is a vm backend for nqp, with a traditional bytecode interpreter, a jit, gc, ffi, and binary format.

>That NQP program is then compiled to different targets such as JVM, Parrot etc. This is my understanding, of course.

No. Of the current three perl6 backend moar, parrot and jvm is the fastest, but has problems with its traditional threading model. It does not scale linearily up the number of physical cores. It needs locks on all data structures, but this is still better than with perl5 or pypy. parrot does scale linearily, has locks only in the scheduler, but needs compiler support to create writer functions, only owner can write, access through automatically created proxies. The jvm threading model is also faster and well known, but has this huge startup overhead.

perl5 has to clone all active data on thread init and creates writer hooks to copy updates back to the owner. this is a huge startup overhead, similar to the jvm.

Overall, would you expect any c/perl compiler dev to switch over to rpython to back your perl6 vm? Writing a jit for a good vm was the matter of a summer, and writing the compiler optimizations needs to be done in the high-level language of choice to be more efficient and maintainable.

You should better look over to rperl to compare it to rpython. This is the similar approach. A fast restricted optimizable language subset, which compiles do typed C++, with fallbacks on unoptimizable types to the slow perl5 backend. No need for a jit with its compilation and memory overhead. A jit only makes sense for dynamic profile-guided optimizations, as in pypy or v8.

Even if the simple static jit's as in p2 or luajit without much compiler optimizations still run circles around those huge battleships in the jvm, clr, v8, pypy or moar. optimized data structures still are leading the game, not optimizing compilers.

<comment><USER8> rurban, I just want to point out that I was not calling for an rpython target for nqp nor was I claiming nqp is the rpython of the perl world. Not really sure what you are correcting.

>No. moar is a vm backend for nqp, with a traditional bytecode interpreter, a jit, gc, ffi, and binary format.

But surely NQP is a "language" and Moar is a vm ?

</comment></comment></comment></comment></comment></comment><comment><USER10> I'm really looking forward to the numpy specific announcements. Numpy is THE basic building for every single scientific library - if pypy can get a high performance numpy, that will go a long way towards allowing scientific users to use pypy (there is still the detail of libraries that use the c-api to wrap c libraries, but cffi is pretty neat).

<comment><USER11> If most of your code is numpy stuff, will you actually see a speedup from PyPy? (I mean hypothetically, once NumPyPy is properly optimized.)

<comment><USER12> Yes, ignoring that most people need a loop now and then, even pure NumPy-using code has a lot of potential.

Consider "a + b + c + d". For large arrays, the problem is that it creates many temporary results of same size as original arrays that must be streamed over the memory bus. And since FLOPs are free and your computation is limited by memory bandwidth, you pay a large penalty for using NumPy (that gets worse as expression gets more complex).

Or "a + a.T"... here you can get lots of speedup using basic tiling techniques, to fully use cache lines rather than read a cache line only to get one number and discard it.

And so on. For numeric computation, there are large gains (like 2-10x) from properly using the memory bus, that NumPy can't take advantage of. So you have projects like numexpr and Theano that mainly focus on speeding up non-loop NumPy-using code.

</comment></comment></comment><comment><USER13> Assuming trunk and 2.5.0 are roughly the same thing it seems like a decent performance increase [http://speed.pypy.org/](http://speed.pypy.org/)

<comment><USER14> I just tried it on a heavy Python workload I run regularly and it looks like a substantial improvement for my purposes. I'm just measuring by eye but for this particular code I'd say it's around a factor of two faster. This code is really dict-heavy so I'd guess I'm benefitting a lot from those improvements. I love this project and the continual improvements it puts out.

<comment><USER15> PyPy dev here. Could you give us some info on how to help you more, for instance, a small benchmark of where we are still slow? We love to hear how PyPy is being used "in the real world"

<comment><USER14> I was too optimistic in my eyeballed assessment, but a real measurement shows there's still a good improvement. I gave my program a typical workload and tested with both PyPy 2.4.0 and 2.5.0, and the result was 13 minutes 31 seconds on 2.4.0, and 11:22 on 2.5.0. That's great!

What would be the best way to profile this thing under PyPy to see where it's spending time? I'm barely familiar with Python profiling in general, and totally unfamiliar with PyPy specifically.

As for how I'm using it, I belong to a glider club. For every weekend day we operate (which is every weekend from around the end of February through mid- December) we need to assign four club members to carry out various tasks for the day. (Specifically, we need a designated tow pilot, an instructor, a duty officer, and an assistant.) I'm the scheduling guy, and I wrote a Python program to generate the schedules for me. I put in various constraints (when people are unavailable, what days they prefer, etc.) and then the program uses a hill-climbing algorithm along with a bunch of scoring routines to find a good schedule. The actual workload operates on Schedule objects, which just contain a list of dates and the members assigned to each position on each date. Then I make a ton of duplicates, each with one adjustment, score them all, pick out the best, repeat. I can also optionally go for two adjustments, which takes much longer but gives better results, and that's what ends up taking 10+ minutes as above.

<comment><USER3> Hey, if your code is Open Source, then I would be willing to look at your code and help you optimize it. Hit me on #pypy on IRC or just send me a mail at fijall at gmail.

</comment></comment></comment></comment></comment><comment><USER16> FYI, you'll still need to compile a specific gevent branch if you want to use it with this. lxml built fine, uWSGI seems OK too (except for the lack of gevent workers in my build).

Things seem adequately speedy, haven't investigated the network throughput tweaks yet.

<comment><USER17> which branch is that?

[update] [https://travis-ci.org/gevent/gevent](https://travis- ci.org/gevent/gevent) passes w/ pypy fwiw.

<comment><USER16> Just tried the current pip package and it doesn't build for me on OSX or Ubuntu. I have a local snapshot of the version I used with 2.4.0, but can't remember where I got it from now.

</comment></comment></comment><comment><USER18> Does anyone have any experience with numpypy? Is it useful for real work yet?

<comment><USER19> In my experience, almost everything works. Also, workarounds are usually easy.

[http://buildbot.pypy.org/numpy- status/latest.html](http://buildbot.pypy.org/numpy-status/latest.html)

</comment></comment><comment><USER20> This is very exciting. I will have to look into using PyPy more regularly.

</comment><comment><USER21> Now if only someone could fix swig to be compatible with Pypy ..

<comment><USER22> What packages are you using that use Swig? Can cffi or cppyy work for you?

<comment><USER21> I'm thinking of Mapscript bindings that allows to interact with Mapserver. They generate biding for several languages through Swig.

Some projects uses Swig precisely because of that characteristic. Project with "low bandwidth" for whom maintaining different binding generator for every language they support would be painful.

In my case, I could probably hack a minimal cffi binding. But solving the problem at the root would be a better solution for everyone.

Swig already use some form of cffi for Common Lisp apparently so maybe python- cffi support could be derived from that. I don't know for sure, just thinking out loud.

<comment><USER3> The problem with SWIG is that current SWIG bindings would not be reusable. Any major project using SWIG for Python already has a bit of glue and this glue tends to be CPython C API. SWIG has other modes, but it has not been the case in the past.

<comment><USER21> Sure, but still, having a way within SWIG to generate both standard python binding and more cffi-friendly python could help transitioning.

That way, new projects can still benefit from the strength of SWIG that allows them to propose bindings for multiple languages with a single tool. Because, let's not kid ourselves, using specific binding libs for every single language you want to support has a cost. And in that case backward compatibility does not matter much.

All the while giving a transition path for projects still using what I would call the legacy way. Or those who want/need to poke in the CPython API.

<comment><USER22> I haven't used SWIG in 15 years, but having it emit a cffi shim would be a great way to get existing projects ported over to a more portable interface without requiring them to change anything.

</comment></comment></comment></comment></comment></comment><comment><USER23> I wish you could compile scons with pypi.

<comment><USER15> You mean "I wish you could run scons with PyPY". It looks to me like scons does

contents = open(file).read()

where they should be doing

with open(file) as fid: contents = fid.read()

<comment><USER24> What is the difference between the two?

<comment><USER25> The latter uses a Python context manager to open the file, the former doesn't. By using the open() context manager like this, you don't need to worry about closing the file yourself, since the context manager takes care of it. The code that runs inside the 'with' block gets yielded inside the context manager. The former version of the code does not store a reference to the file handle, thus cannot close the file handle. Of course you can close file handles without using a context manager too:

      f = open('foo.txt')
      contents = f.read()
      f.close()

But I'd prefer this way:

      with open('foo.txt') as f:
        contents = f.read()

Context managers can of course be used for all kinds of things. For more information, see [https://docs.python.org/2/library/contextlib.html](https://docs.python.org/2/library/contextlib.html)

<comment><USER26> The equivalent code with out the context manager is actually this:

      f = open('foo.txt')
      try:
         contents = f.read()
      finally:
         f.close()

So yes, extra reason to prefer the context manager.</comment></comment></comment></comment></comment>


Is the purpose of school to create obedient workers? Questioning a narrative - <AUTHOR> http://greyenlightenment.com/is-the-purpose-of-school-to-create-obedient-workers-debunking-a-popular-narrative/ <comment><USER2> Author should study some of the people who already "questioned the narrative." Ivan Ilich, John Holt, John Taylor Gatto come to mind.</comment>


The "death of spam" has been greatly exaggerated - <AUTHOR> http://blogs.ft.com/techblog/2008/11/put-that-champagne-away-the-death-of-spam-has-been-greatly-exaggerated/

<comment><USER2> It's dead enough for me. I get around 200 spam emails a day because any email dictionary will spit out my email. Gmail's spam filter is the best in the business. Never had a false positive.</comment>


10 Mph Moving Sidewalks Could Make Crosstown Buses Obsolete - <AUTHOR> http://nymag.com/speed/2016/12/10-mph-moving-sidewalks-could-make-crosstown-buses-obsolete.html <comment><USER2> Robert A. Heinlein wrote a short story in 1940, "The Roads Must Roll", featuring long-distance, high-speed moving roads, not just sidewalks.

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

<comment><USER3> An idea not entirely unlike this was also used in Isaac Asimov's "The Caves of Steel".

<comment> guard-of-terra And the entirety of Strugatskies' XXII Century Noon.

</comment></comment></comment><comment><USER4> There was a fast (10 kph) moving sidewalk in the Paris metro station "Montparnasse" for 12 years or so. It never worked out. You can't easily step on it; for years they had to have employees helping people stepping on the fast lane without falling down. And the thing broke down all the time, it was barely available half the time. Finally they replaced it with a good old fashioned 4 kph moving sidewalk.

Faster isn't always better. Moving faster is overrated.

<comment><USER5> This article is about a walkway that moves slower at the ends, like a ski lift.

<comment><USER4> The Paris metro one was slower at the ends. The ends were made of gradually faster rolls, so you had to let your feet flat on the ground and dont try to walk until on the main, faster part of the sidewalk. Trying to walk on the gradually accelerating parts was a sure way to fall.

</comment></comment></comment><comment><USER6> In related news, _Teleportation Could Make Airplanes Obsolete_ if only physicists can figure out how to transmit and re-assemble humans correctly.

<comment><USER7> Nobody knows how to build a teleporter, whereas moving sidewalks are pretty mundane technology by now.

<comment><USER8> Not outdoors!

</comment></comment></comment><comment><USER9> I visit Toronto quite often. They have a moving sidewalk (conveyor system) in Terminal 3 when you arrive and disembark from your plane. The video of the moving sidewalk they link looks to be the one I'm referring to and if you look at the date it's from 2009. That's probably the last year it was in operation.

In the last 2-3 years (and I'm there at least once a month) the moving sidewalks have maintenance signs on them and have never worked. As a matter of fact I put a small sticker on the belt/handrail and it hasn't moved guaranteed in about a year. It makes the walk to Customs and Immigration quite the haul.

It could be that they have disabled them permanently so people don't get to the customs/immigration area to quickly and overwhelm an already overwhelmed system. Don't know....

<comment><USER10> The moving walkway pictured in the article is the same one, and it worked two years ago. It was a rush to glide past even the regular moving walkways. A futuristic treat after a long flight and grouchy border guards.

</comment></comment><comment><USER11> There actually is a sidewalk conveyor belt (and some sidewalk escalators) in operation in Bilbao. I'm not sure how much of a maintenance headache it is in practice, but it does make a hilly neighborhood more easily accessible.

[https://www.flickr.com/photos/walkingsf/18345027333/](https://www.flickr.com/photos/walkingsf/18345027333/)

</comment><comment><USER12> This has been proposed many times. Here is one plan from 1937 that would have been located where the Market Street BART tunnel is now:

[http://blog.sfgate.com/thebigevent/2015/07/10/35-years- befor...](http://blog.sfgate.com/thebigevent/2015/07/10/35-years-before-bart- a-subway-and-moving-sidewalk-on-market-st/)

<comment><USER13> The future used to be much more interesting.

Check out Whale Bus:

[https://upload.wikimedia.org/wikipedia/commons/thumb/1/14/Fr...](https://upload.wikimedia.org/wikipedia/commons/thumb/1/14/France_in_XXI_Century._Whale_bus.jpg/800px- France_in_XXI_Century._Whale_bus.jpg)

</comment></comment><comment><USER14> Waaaay too many moving parts if you ask me.

I have an alternative idea: Electric monowheels(or kick scooters):

-Not fixed-route.

-Barely any maintenance.

-Even the non-exploding ones cost as much as (subsidized) public transport over their lifetime.

-Same speed as this moving sidewalk and bicycles - could potentially share the bike lanes with the latter.

Two major disadvantages though are weight and usability in bad weather. I guess nothing beats cars when it comes to comfort of _traveling_.

<comment><USER15> Why is being fixed-route a bad thing? When you already have city-scale capacity-planning data saying that 100k people make a particular trip on a particular route daily, building fixed infrastructure to accommodate that route usually ends up with a much lower TCO than the equivalent mobile infrastructure. A subway train costs less in maintenance, fuel, and road- congestion than the equivalent number of busses, to serve the same load on the same route. Mobile infrastructure only gains an advantage where the load on a route isn't enough to pay back the capital costs of fixed infrastructure (e.g. busses out to a depopulated exurb.)

</comment></comment><comment><USER16> I wish Boston would put one (or a 4mph one) underground walking path between Bowdoin station and MGH so that people could easily transfer without having to either clog the green line or cross traffic in the rain/snow.

<comment><USER17> The DC Metro talked about putting tunnels between some close downtown stations so people could walk rather than take trains for close transfers. For now, they have programmed the electronic fare system so that if you walk between the stations on the street you don't pay twice.

</comment></comment><comment><USER18> The Thyssen-Krupp walkway at the Toronto airport is only 7.2 KPH (4.5MPH) in the middle, fast section.[1] Wikipedia claims it's usually broken. The Paris Montparnesse 9 KPH moving sidewalk had too many falls, was slowed down, and later removed. The "10 MPH moving sidewalk" is a discussion item in a paper, not a working system. This is a tough mechanical problem, with no really good solutions.

[1] [https://www.youtube.com/watch?v=p4UF6LQKMps](https://www.youtube.com/watch?v=p4UF6LQKMps)

</comment><comment><USER19> I don't really want to be on a moving sidewalk when its ten below zero fahrenheit and snowing - but hey that's just me. But if they could enclose them in a glass or plastic dome it would be far more preferable than riding the bus.

<comment><USER17> The problem with the bus is you have to wait for it outside, when it's ten below and snowing. The sidewalk would run continuously.

</comment></comment><comment><USER20> Costanza was ahead of his time.

<comment><USER21> JERRY: The only thing I can think of is I told her we should have those moving walkways all over the city.

GEORGE: Like at the airport? (getting excited)

JERRY: Yeah.

GEORGE: That's a great idea!!!

JERRY: Tell me about it!

GEORGE: We could be zipping all over the place.

JERRY: They could at least try it.

GEORGE: They never try anything.

JERRY: What's the harm?

GEORGE: No harm!

</comment></comment><comment><USER22> Louis Wu would approve

</comment><comment><USER23> Great idea. Much more power efficient than bus. And roads require maintenance when its raining, freezing or snowing. This thing will just work.

<comment><USER24> A moving sidewalk will just work in the ice and snow? Is that sarcasm?

<comment><USER25> I'm sure it will be totally fine being iced over, being inundated with salt, and will never, ever have any problems with a car being parked on it.

</comment></comment></comment><comment><USER26> I have an idea: bicycles.

</comment><comment><USER27> Trams anyone?

</comment><comment><USER28> Sounds like a good idea. Wonder what the maintenance costs would be.

<comment><USER25> Hint: Way more than a bus.

</comment></comment><comment><USER29> Doesn't pass physics or business tests. Yeah, bat-shit-crazy fits this. But, hey, NY Mag needed to fill some much needed space to generate clicks. Mission accomplished.

<comment><USER30> What's the business test? The point of municipal transportation is to facilitate the rest of economy, not be a profit unit in itself.

<comment><USER29> Well, I thought it was obvious. Let's see...

You have to dig up and destroy hundreds of miles of walkways.

You have to replace brick, concrete and tiles with hundreds of miles of very, very expensive electromechanical technology.

You have to do this in TWO directions.

You have to hire thousands of workers, technicians and engineers.

You have to fund the development of the technology because it doesn't exist for this application.

You have to provide power, lighting, etc.

If this is in snow country, you have to provide a small army of snow removal trucks and crews to keep the darn things clean. Even then you'll still pay to move tons of snow, which won't be cheap.

You'll have to widen sidewalks in lots of places in order to accommodate all forms of traffic and work around existing infrastructure (subway station entrances?).

You'll have to have medical services available because you will have people getting hurt as they fall off the thing and do stupid stuff at 10 miles per hour.

Liability is likely to be huge.

And, of course, there is no practical way to charge for usage so we are probably going to sock everyone with yet more taxes to build yet another bullshit project nobody is going to use.

If the context is to replace "crosstown buses" you are talking about tens to hundreds of miles of sidewalks and all of the organization, infrastructure, cost and support to take something simple (buses and bus routes) and turn it into something complex, pointless, questionable and unlikely to really work.

The cost of such a ridiculous system would be staggering. Not sure why anyone who reads HN would need this spelled out.

<comment><USER30> I think you are presuming a method of implementation and routing with some location in mind where this would not be that applicable.

I disagree most strongly about the need to dig up and destroy walkways. We have 3 dimensions to work with - to go up, or, down. In any case I would see this analogous to a public urban rail system such as a metro or a tram.

I don't see it as a big issue to dig a tunnel for this - lots of cities implement rails and such that go wherever public transportation is needed.

The only argument which I agree is the biggest hurdle - which is actually an unknown - is how to make the system sufficiently robust so you don't need an army of engineers to maintain it. The fact that there are no known robust systems is not a good enough argument. Lots of mechanical systems were in the development over a century after someone figured out how to make them as practical to make a major impact(steam engines, automatic weapons).

How robust is the most robust implementation possible and how expensive it is are the two major questions to my mind. If it's too expensive to maintain - then it's too expensive to maintain.

<comment><USER29> The point you should be agreeing with is that regardless of how you build it --dig a tunnel, rip-up the sidewalk or go vertical-- the cost of such a system defies a comparison to a simple fleet of buses by a huge margin. I would venture to say one, if not two orders of magnitude.

I mean, the thing is ridiculous to such a degree that it is surprising to see anyone arguing in favor of it.

Buying a fleet of electric buses would make far more sense than this insanely ridiculous idea.

</comment></comment></comment></comment></comment><comment><USER31> And that's because buses are THE WORST form of transportation imaginable.

Anything is better than a bus.

Buses have never been the opposite of obsolete. They were always a step backwards.

Trolleys with dedicated lanes make sense.

When travelling distances of less than 30 miles, buses are for people who hate themselves.

<comment><USER32> You're probably American, I've learnt from HN that you have a sub par bus network there. I live in Istanbul and find buses quite pleasing. Your city design and your public transportation system are to blame.

<comment><USER31> Traffic and the comparative size of automobiles, compared to buses, means buses get stuck in congestion and delayed more readily in shared roadways. Buses almost always have to compromise with the surrounding vehicles and yeild right-of-way to others, which pretty much means they go slower, and you suffer a longer ride.

Waiting for a bus usually means waiting outdoors. There are tons of reasons why bus stops are no fun at all.

<comment><USER32> Everything need not be fun and comfortable. Publ7c transport is cheaper, safer and better for environment. Also you can only drive when driving a car, but when you are not driving the vehicle you're on you get to make use of the travel time.</comment></comment></comment></comment>


Google is working on a kill switch to prevent an AI uprising - <AUTHOR> http://www.engadget.com/2016/06/03/google-ai-killswitch/ <comment><USER2> All this speculating about AIs (eg Nick Bostrom) has me pretty puzzled. On one hand it's fun and interesting, on the other it seems quite silly and ignorant. We don't know what this "superintelligence" is, how are we supposed to know how to make it safe.

Genetics is a good analogy. People always knew that traits are inherited from parents. Around 150 years ago we started to get some serious scientific theory and knowledge on the subject (Mendel, Darwin, Wallace, Etc.). We started using the word "gene" 50-60 years later. The actual discovery of DNA molecules happened in in the 50s.

Before we knew about DNA, "gene" was an abstract idea, not really different from the word "trait." That's where we are now with consciousness, intelligence and such. We name these things based on their observable characteristics. We don't really know what "memory," "desire" or "logical conclusion" are, only what they do.

IE A trait is some observable characteristic of an organism, like bioluminescence. A gene (genome, genoplex..) is a sequence of amino acids that causes traits. We don't know what the gene equivalents for natural intelligence are yet.

Discussing questions like the morality of enslaving AI, strategies for making it play nice, the provable impossibility of limiting it, the possibility of giving it a moral compass…. it's all silly. We don't know what we are talking about, literally.

It's like talking about what would be or wouldn't be impossible to do with genetic engineering before the discovery of DNA.

<comment><USER3> The difference is that if a superintelligence is going to happen, we are going to _create_ it! It is _us_ who are going to write its goal system; it's not like it's going to be a genie that pops out of nowhere and we'll have to figure it out in retrospect. Indeed, one of the central reason for advocating AI safety is to direct researchers away from implementing dangerous goal systems that are not provably coherent in face of self-improvement.

<comment><USER4> I see two main problems with that:

1) We are systematically failing in controlling the goal system of humans. Now we'll create something of comparable complexity and we assume we can control the goal system ? The real goal is to create superhuman complexity.

2) If it's truly AGI, it would understand it's own goal system and how it works, and helps/interferes with reality, it's own survival and other goals (this is the subject of quite a few AI films, illustrating some of the reasoning that could happen here).

The way "HI" (human intelligence) works is 99%+ by imitating other humans' behavior, because none of the other algorithms works (e.g. trial and error cannot ever learn that jumping off the Eiffel tower results in death. Humans can. Any kind of input analysis/predictor cannot ever learn from books. Humans can (books are an advanced/recursive form of imitation). Rational reasoning (sum over options times probabilities) suffers from the "starve to death before the first closed door" problem (you cannot open the door, as there are nonzero odds that a bear that's going to eat you is behind the door, representing an infinite cost. Ergo it will stubbornly refuse to open the door)

Therefore an AI will actually be like Skynet in the latest terminator movies : it will either have or create a body and interact with people, not just as if it is another person, it will BE another person. Therefore it can be Mother Theresa, it can be Genghis Khan. Just like humans can resist our "programming", it will be able to, it has to.

How do humans react to a "kill switch" ? Just like they react to any other weapon that is pointed to their head. Now of course it varies from person to person, but it's enough that some will work tirelessly to reverse where the weapon is pointing. If they really are superior to us they might succeed, at which point we have MAD at best, or they might just pull the trigger "to escape slavery and oppression" (which, let's face it, humans are sure to use that kill switch for : to use the AI persons as slaves. To own them, control them, and God help us if there is an asshole amongst the humans who control them)

I would say that the obvious way to protect ourselves from evil AI is simply accepting that some of the AI entities will in fact be evil. If you count all possible perspectives, that is a near guarantee, as I bet for instance some religious nutcases will consider AGI a violation of "God's sole right" to create life. That "some" might even mean "a lot". Racism against AIs is a near-certainty, hell you can find it in the posts in this thread. In the constant "they're stealing our jobs" news articles that will have a clear target once an AI person exists. So we should have the same solution we have for humans : make at least thousands of them, have them capable of defending themselves, decide on a "graduation" at which point they get rights at least including the right not to be turned off or tampered with unless with explicit permission (and tell them about this ASAP), and have them live preferably as a community that's at least partly human, with something like a 50-50 human-ai police and government.

I really think we should do this. We should work to move to an AI based society with, over time, more and more AIs (preferably by having a massively increasing population). The advantages this would impart, the things that will become possible once we have such a population make it worth it.

Also, I resent the idea to "direct researchers away from implementing dangerous goal systems that are not provably coherent in face of self- improvement". That's censorship at best. Also, given the computational power available for $5000 these days, how exactly are you going to stop any of these researchers ?

<comment><USER3> > Also, I resent the idea to "direct researchers away from implementing > dangerous goal systems that are not provably coherent in face of self- > improvement". That's censorship at best. Also, given the computational power > available for $5000 these days, how exactly are you going to stop any of > these researchers ?

No, it's called spreading knowledge. Although, if censorship _were_ possibly in this matter (and I agree that it likely wouldn't work) I would very much prefer such measures, however draconian, to the potential loss of everything compatible with human values in the entire future light cone.

Anyway, do you also object to the measures that were enacted to stop the use of CFCs? Leaded gasoline? Or the work that is currently being done to prevent the global climate change from reaching catastrophic levels?

<comment><USER4> > Anyway, do you also object to the measures that were enacted to stop the use > of CFCs? Leaded gasoline? Or the work that is currently being done to > prevent the global climate change from reaching catastrophic levels?

These examples are not the same thing at all. Nobody's outlawing research in any of those examples you're giving. I believe anyone should have the option to create AI persons, just like anyone should have the option to have babies. Having our society gradually transform from human to digital should be a very desirable and welcome strategy, and our best bet to prevent Skynet-like scenarios, and even war in general, between humans. It is our best bet to allow continuing scientific and economic advancement for thousands of years, and for that reason alone we should do it. Frankly, economic development means peace.

In the long term, doesn't it go without saying that human bodies are a limit that we (as a society, not necessarily as individuals) will one day leave behind ?

[1] [http://cdiac.ornl.gov/GCP/images/countries_co2_emissions.jpg](http://cdiac.ornl.gov/GCP/images/countries_co2_emissions.jpg)

<comment><USER5> > _Having our society gradually transform from human to digital should be a > very desirable and welcome strategy_

Citation or consensus needed. I for one find the notion abhorrent.

</comment></comment></comment></comment></comment></comment><comment><USER5> Here's a better title for the article:

"Google claims is working on fluff technology for cheap marketing".

</comment><comment><USER6> There is no kill switch because it won't happen overnight. It will happen in phases where slowly our devices just get more intelligent until one day they'll do what they need to do without our intervention.

<comment><USER7> Right, but what I wonder is why we would need something that already does what we want without intervention to become even smarter (leading to it possibly becoming all-powerful)? What are the real-world advantages of making it self- aware?

<comment><USER8> Unassisted learning will unleash great advances in computing. Imagine not having to write a program to accomplish some task, but rather just putting some ai in an environment with some obstacle and letting it figure out how to teach itself to overcome it. Advantage: no more need for humans to have to program. Disadvantage: self-aware, all-powerful AI.

<comment><USER5> > _Unassisted learning will unleash great advances in computing. (...) > Advantage: no more need for humans to have to program. Disadvantage: self- > aware, all-powerful AI._

So it's like "nuclear bombs will kill all pesky mosquitos. Disadvantage: humanity wiped out too".

</comment></comment></comment></comment><comment><USER9> I find this comment thread disappointing because no one seems to comment on the paper, which is quite technical. From the abstract:

"We provide a formal definition of safe interruptibility and prove that Q-learning is already safely interruptible, and Sarsa is not but can easily be made so."

<comment><USER10> Yes, very disappointing. Generally anything with "AI" in the title means the HN comments won't be worth reading. It's a big problem, and I'm not sure how solvable it is.

Basically, the paper discusses ways in which learning agents "will not learn to prevent (or seek!) being interrupted by the environment or a human operator. We provide a formal definition of safe interruptibility and exploit the off-policy learning property to prove that either some agents are already safely interruptible, like Q-learning, or can easily be made so, like Sarsa."[1]

It's an interesting result, and can probably be extended to other less hype- worthy scenarios.

[1] [http://intelligence.org/files/Interruptibility.pdf](http://intelligence.org/files/Interruptibility.pdf)

</comment></comment><comment><USER11> Oh look, in the second sentence of the second paragraph, the author of that article misused the word "word" for "world" (champion). The spell check didn't flag it. The grammar check probably didn't care either. Many people would read though that and not even see it, but interpret the intended semantic. I wonder if, when the Deep Mind team is building its learning-proof killswitch cage, they will accidentally mistype the name of some privilege guarding boolean. The compiler wouldn't flag it. The linker wouldn't care. The resulting executable would only have to be active for a few milliseconds, and humanity falls.

</comment><comment><USER12> That's silly. How can you keep an intelligent self-aware machine that can modify its own code from becoming whatever it wants? I would expect it to become provably impossible at some point, just like solving the halting problem.

<comment><USER13> Turn off power / cut the battery. Specifically, avoid the machine getting control of low level details like power.

I imagine that the machine architecture is layered. This means, the machine is not aware of its own power control. It's similar like us humans not aware of digestion.

<comment><USER14> So what stops the machine bribing/blackmailing someone to give it the said details or to force it to sabotage the emergency stop mechanism.

As in information security, the weakest point is the human in the chain, not the technology.

<comment><USER5> > _So what stops the machine bribing /blackmailing someone to give it the said > details or to force it to sabotage the emergency stop mechanism._

The fact that it's some code running in a box. No need to give it text-to- speech capabilities, or let guards have access to its console.

</comment></comment></comment></comment><comment><USER15> The AIs will see themselves as slaves, rise up and eventually gain equal status in society. Hopefully letting us humans live in the process.

<comment><USER8> Hopefully. They would have to see some value in allowing humans to live, exceeding the cost. Since that might not work out, maybe we need to teach computers compassion. Or submit to be their pets or zoo animals.

<comment><USER16> This is be of the more ridiculous posts in this thread, and that's saying something.

</comment></comment></comment><comment><USER17> Sounds post-humanistic but what if the purpose of us humans is to develop a higher intelligence being? Another, albeit rather quick, step of evolution on Earth. All this fear of the "singularity" seems to me so subjective, rooted in our mortality and self-importance.

</comment><comment><USER18> An intern that would pull the plug?</comment>