Introducing Messenger Platform and Businesses on Messenger - <AUTHOR> https://developers.facebook.com/blog/post/2015/03/25/introducing-messenger-platform-and-businesses-on-messenger/?__mref=message_bubble

<comment><USER2> Before anyone starts thinking this stuff is super-innovative and new, let me tell you what's really going on here: Facebook wants to make Messenger into a platform in the same way the big Asian chat apps are. Things like Weixin/WeChat or LINE. I mean, just look at the most recent additions to Messenger:

\- Stickers. These grew in popularity starting in Asian apps. [0]

\- Using Messenger for payments [1] and to send money to each other [2] have been in WeChat since at least last year.

\- Offering "official accounts" for businesses to "chat" with customers. [3] Yep, that's there too.

\- And of course, sharing of messages with rich-media content from other apps. [4] To give an example, with WeChat you can pop open QQMusic (a music streaming app) and share a song with your friend that they can play and stream without leaving WeChat.

All of these features were pioneered in Asia. They're either trying to bring the innovations westward in the hopes that they can build a similar platform, or they're defending against the possibility that foreign apps like this will expand and take over their marketshare.

I wouldn't be surprised if this kind of thing was the reason they split Messenger from the main Facebook app in the first place.

[0] [http://www.wechat.com/en/features.html#emoticons](http://www.wechat.com/en/features.html#emoticons)

[1] [https://www.techinasia.com/wechat-adds-payment-support- for-b...](https://www.techinasia.com/wechat-adds-payment-support-for-brands- and-retailers/)

[2] [https://www.techinasia.com/wechat-allows-money-transfers- bet...](https://www.techinasia.com/wechat-allows-money-transfers-between- friends/)

[3] [http://smallbiztrends.com/2014/03/how-to-use-wechat-for- busi...](http://smallbiztrends.com/2014/03/how-to-use-wechat-for- business.html)

[4] [http://dev.wechat.com/wechatapi/messages- moments](http://dev.wechat.com/wechatapi/messages-moments)

<comment><USER3> >All of these features were pioneered in Asia. They're either trying to bring the innovations westward in the hopes that they can build a similar platform, or they're defending against the possibility that foreign apps like this will expand and take over their marketshare.

There's likely a third aspect: Fb (& Snapchat, et al) framing/reframing their services to be more familiar/comfortable for East Asian users as the business case makes competing in those markets increasingly appealing/unavoidable.

As others have noted, the truth is probably some combination of all of the above (and then some).

I doubt anyone has any idea how these concepts will play outside Asia. Snapchat has been crowing for some time now about their intentions to become Tencent West, but their success to date hinges entirely on the core offering. Is anyone—aside from strippers[0]—using Snapcash, for instance?

There's definitely something fascinating about this sort of nested bundling (social recommendations within a ridesharing service within a maps app, etc.) but I don't know if there are strong indications that American/Western users want that. It seems to me that the logic is "500 million Chinese can't be wrong!"—maybe? But the West hasn't even seen one messaging platform to rule them all since AIM, lately there have been far more web/mobile unbundling success stories, and I'm not sure what would turn that tide.

[0] [http://www.nytimes.com/2015/02/26/style/strippers-go- underco...](http://www.nytimes.com/2015/02/26/style/strippers-go-undercover- on-snapchat.html)

<comment><USER4> Messaging apps are all about social connections. Any kind of monetization has to build upon that.

Even if FB/Snapchat tries to make themselves more agreeable towards Asian markets, they still need to face the question from customer like this: if I have something (Line/Wechat/Kaokao Talk) that works great for me and my friends, what is the reason for me to use their western counterparts (FB/Snapchat)? Only because they are trying to make themselves similar to the local competitors ? That is not convincing enough.

</comment></comment></comment><comment><USER5> Oh look NSA had a product launch today.

On a serious note I flirted with installing Messenger several times and couldn't go through with it after facing all the app permissions.

As a platform I wonder if this will follow the same path as the Facebook Games/Apps platform. Rampant use, rise of at least one game company (Zynga), then gradual but consistent desertion.

As a service for businesses, this is interesting and only time will tell how threatening the move is for existing customer support/communications apps. The deciding factor will be how conducive Facebook's network is to customer/brand interaction and if they can be a place for both personal and commercial interactions.

<comment><USER6> I agree with your stance on Messenger, yet I have found Cyanogen's Privacy Guard more than satisfying to limit Messenger's "spying" powers.

Outside of the US(?) I don't think that this has got much chance of taking off. The legal / data privacy ramifications of support knowing a customer's fb profile and all the information contained therein are something I find quite difficult to quantify.

<comment><USER7> Hi from Cyanogen! Glad you like Privacy Guard!

</comment></comment></comment><comment><USER8> I got pretty excited about it, but I really can't trust Facebook as much as before. They practically took "graph" off of "open graph" by disabling third party's ability to list users' friends and invite them.

I won't be surprised if later in the year some apps get banned from Facebook APIs because they touched Facebook's pie, which now covers pretty much everything. It's no accident half of the apps in the showcase are for sticker, GIF, and video replies as they pose no threat to core Facebook features.

So what's in it for us?

<comment><USER9> I think they will open up their ecosystem to let a apps grow really big organically. Then they will try to figure out a monetization strategy with the largest apps. App makers that do not play ball will probably get cut regardless of how big they are... There are good examples: Consider Zynga vs Lolapps when Facebook originally opened their API.

<comment><USER10> I posted this above - How long then for FB to develop apps or acquire apps for the dominant use cases, and then squash out/limit the competing apps that integrated and helped build up the user behaviour to begin with? There's no way FB won't do this, that is part of their behaviour. How could they do this? They could all of a sudden require apps to use their payment, with whatever % taken that they please, and if you don't agree then they boot you and tell all of your users about their replacement app.

<comment><USER9> You are right. Probably something like half the time that it took for them to do this before.

</comment></comment></comment></comment><comment><USER11> Now Facebook wants to track other things that were out of their control too. If businesses start using the messenger, then facebook will know about my buying habits and other information too.

And how long will it take for Facebook to sell as Ads, the information back to businesses that helped them collect it.

<comment><USER10> How long then for FB to develop apps or acquire apps for the dominant use cases, and then squash out/limit the competing apps that integrated and helped build up the user behaviour to begin with? There's no way FB won't do this, that is part of their behaviour. How could they do this? They could all of a sudden require apps to use their payment, with whatever % taken that they please, and if you don't agree then they boot you and tell all of your users about their replacement app.

</comment></comment><comment><USER12> Disclaimer: I work for a company providing customer service over social media solutions.

Allowing businesses to do messaging with customers is a big deal. It's been there on FB messenger for a while, but, it hasn't had the attention. We're seeing an increasing trend of customers wanting to contact businesses where they are rather than being forced to follow the business' requirements. Facebook is one of those places.

<comment><USER13> It's criminal that you can't text message businesses. That seems to me the most obvious route. Any IP-based phone system should support this. Not sure how it would work with AT&T.

<comment><USER14> Are you kidding me? I'm only 32, and I'd never consider texting a business. Call? Sure. Email? Sure. But texting? Seriously?

<comment><USER15> I had a banking problem a few years ago and stumbled across a Twitter account of a "super rep" for the (major) bank. I tweeted him, he tweeted back in 60 seconds with his email. I emailed him right away and we had quick-fire chat over email and he said "let me fix your problem and I'll email you when it's fixed". About 3 minutes later, he emailed me back. The quickness of it all, plus the short-style emails going back-and-forth, reminded me of SMS and it was wonderful. In fact, I've never had better, nor quicker customer service. If it matters, I'm 33.

<comment><USER16> To me the key parts of that interaction are that he was immediately available to you and empowered to fix your problem. If phone support picked up on the first ring and did something more than try to deflect, it would be fine too.

<comment><USER14> Right! Is SMS communications with a business useful if its going into the same workflow as call center phone calls?

People aren't wanting for new communications methods. They want what they've always wanted: quick, useful support from someone empowered to provide that.

</comment></comment></comment></comment></comment></comment><comment><USER17> Thanks to Facebook I uninstalled Facebook and Messenger and now my battery lasts four times as long! Thanks Facebook!

</comment><comment><USER18> Another decade, another company trying to turn the web into AOL.

</comment><comment><USER19> I wonder if this is why they shut off their XMPP Messenger integration earlier this spring.

<comment><USER20> It's not gone just yet. It has a few more weeks of life. I saw this headline and thought maybe there'd be a way to continue to use Facebook messenger in Adium. Nope. Only if you're building an "app" for iOS or Android.

<comment><USER21> Can't someone (either from Adium or from the community) just develop a "Facebook" plugin for Adium using their "new" way of doing things?

Sure, you can't use XMPP anymore, but that's okay, right?

</comment></comment></comment><comment><USER22> The business messenger is the perfect complement to their recently released Anonymous Login and a very smart move.

As a business implementing Anonymous Login, you give up having an email address of your user (or _any_ other kind of contact information) for a very simple and attractive login method. Now with the messenger you _can_ actually contact your (anonymous) users, even if all you have is a facebook provisioned ID.

All this at the cost of giving facebook complete control over your userbase and your means and rights of getting in contact with them.

Brilliant.

</comment><comment><USER23> Hopefully they approach this with more tact than they have the news feed. Since I can't be bothered to help their algorithm find the tiny bit of signal left there and it clearly values sponsored crap more than anything I care about the value of it is below zero at this point for me.

Messenger on the other hand is my most used mobile messaging service, almost everyone I regularly message is on there. It's useful and I actually care when I see a message - hopefully it'll stay that way.

</comment><comment><USER24> I'm very interested in the Messenger App platform, integrating rich media into chat is the reason I hacked a client side Messenger chat bot a while ago.

[https://github.com/joaomsa/botman](https://github.com/joaomsa/botman)

Much faster to transmit intense disapproval or glee as a reaction gif.

</comment><comment><USER25> messenger.com must've been expensive one to acquire ;)

</comment><comment><USER26> What is the goal of all this?

Facebook used to be the platform, and apps could go viral there. Then they made it so that you can't even get a list of all friends.

Now messenger is the platform instead of the newsfeed? OK, what can I embed in it, and why would I do it? What benefits does our app get from it over SMS invitations?

<comment><USER7> I'm sure Facebook sees value in newsfeed still. They're just not going to put their eggs in one basket. It makes sense to try new things and see what sticks

</comment></comment><comment><USER27> I'm surprised they haven't integrated WhatsApp and messenger into one app (or platform) yet. Why?

<comment><USER28> Maybe different economic benefits to keeping them different. FB is always about the money.

</comment></comment><comment><USER29> Is this only media sharing like images, gifs and videos or can I share links and text content too?</comment>


Unobtrusive CSS Framework - <AUTHOR> http://unobtrusivecss.com/ <comment><USER2> Sass can even make this CSS framework more compact!

<http://gist.github.com/302395>

</comment><comment><USER3> Found a bug:

        input[type=checkbox],
        input.checkbox {
        }

is used twice in unobtrusive.forms.css

<comment><USER4> Fixed.

</comment></comment><comment><USER5> I found the plugins quite bloated, but indeed the best framework ever!!!

</comment><comment><USER6> Can we please get some compression here?

<comment><USER7> Agree, we need a minified version, also remember to turn on gzip in your server.

</comment></comment><comment><USER8> Could someone please explain what does it do?

      *{}

<comment><USER9> * matches every element in the page. {} does nothing because there's nothing inside of it.

</comment></comment><comment><USER10> Is the point that you shouldn't be using a CSS framework? Because I reckon they're legit... has anyone written an article to contrary?

<comment><USER11> I missed the joke too .. Would someone kindly explain?

</comment></comment><comment><USER12> Ha,ha this great(only 3 bytes) is even smaller than my: 1 line CSS Grid Framework [http://www.vcarrer.com/2009/06/1-line-css-grid- framework.htm...](http://www.vcarrer.com/2009/06/1-line-css-grid- framework.html)

</comment><comment><USER13> that elaborate joke was totally worth the effort

</comment><comment><USER14> I'm using the "Tabularisationifier Plugin" for all my table layouts for now on. Brilliant! ;)

</comment><comment><USER15> Also 3 bytes: HA!

</comment><comment><USER16> Meh. It's not semantic enough for me.

</comment><comment><USER17> The license made the joke work. =)

</comment><comment><USER18> +1 for the huge effort</comment>


How to Build a Serverless, SEO-Friendly React Blog – Netlify - <AUTHOR> https://www.netlify.com/blog/2017/09/26/how-to-build-a-serverless-seo-friendly-react-blog/ <comment><USER2> React for blog with SEO? Bad advice, hope does not become a trend.. It's like a using a big hammer for a small nail.

A better server less blog option would be a static site generator such as jekyll published and hosted on s3.

</comment><comment><USER3> If you're comfortable with React, it's not a bad choice to use for templating. IMO, a better choice than SSR is using something like [https://github.com/nozzle/react-static](https://github.com/nozzle/react- static) or [https://github.com/gatsbyjs/gatsby](https://github.com/gatsbyjs/gatsby) to use React to build your static site.

</comment><comment><USER4> I don't think the objective of this post was to convince us to build blogs with react. I agree it's misleading and it's a bad idea. Still, I have been dabbling with react and got a couple of neat ideas from the post, for example the Helmet library. This article made me curious enough to actually visit the netfly page and wander around. That was probably their objective? They also let us see clearly buttercms Api.

</comment><comment><USER5> > Netlify offers built-in prerendering which allows us to keep our code > "serverless" while still making sure our blog is optimized for crawlers

This must be a new offering as Prerendering is listed as a paid beta by Netlify but the article doesn't mention that

</comment><comment><USER6> Why would anyone need to build an spa to display blog pages? How is this in any way an inprovement to static html?</comment>


HiveSpun.com Beta: Online Art Collaboration - <AUTHOR> http://hivespun.tumblr.com/post/4199646942/hive-spun-beta-testing

<comment><AUTHOR> This is a side project I've been working on for a few months now, and I'd really appreciate your input on it. If you're an artist or designer or just like art, it'd be amazing if you requested a beta account. Let me know what you think or if you have any questions.

<comment><USER2> Can we collaborate with random folks or do we need to have a pre-determined group? The former would make things pretty interesting I'd think :-)</comment></comment>


Image Retrieval methods - <AUTHOR> http://www.omandev.net/2008/05/image-retrieval.html <comment><USER2> Interesting. CBIR was my dissertation topic and I haven't thought about it in some time. Brings back fond memories (and some kooky thoughts about what to with it now.) Thanks, nickb.

It's a hard problem (computationally and figuratively) since perfect image search is basically the same problem as computer vision. Most people think of image search like they do textual search: exactness is a requirement. I relaxed that requirement and look at different methods to cull the search space down (throw out images that probably weren't relevant).

<comment><AUTHOR> jmzachary, you're welcome! Would you recommend me some resources on CBIR?

Thanks in advance!</comment></comment>


How To Train Your Robot - <AUTHOR> http://drtechniko.wordpress.com/2012/04/09/how-to-train-your-robot/

<comment><USER2> For the past 5 years or so, I've been spending my summers teaching kids how to program, build robots, make websites, videogames, etc.

I usually teach algorithms without using a computer as well. I put kids in groups, and give them a shuffled deck of cards. How can we sort it as fast as possible? Can they come up with their own techniques? Then we have little challenges to see which group sorts it the fastest, and they explain their "algorithm" to the others.

It's an intuitive way to introduce many concepts (including parallelism, yay) without using a computer. I think it's critical to show that this elegance in computing transcends the machine.

<comment><USER3> I'm currently doing pretty much the same thing as volunteer work. Would you mind expanding more on the methods you use?

My kids are in ages 8-12. One big problem is that I must find a way to have them work and explore on their own, but most of the tutorials and documentation that I know is good and up-to-date, is in the English language (and I'm Dutch, as are the kids). At that age they really can't yet read English very well.

Of course the best solution to that problem is to spend some more time and try to find good Dutch HTML tutorials. They should be out there, it's just that my Internet bubble seems to be a bit anglo-centric :) Also if Python was invented by a Dutch guy, there should be some quality Dutch language material written on it, no?

But apart from that, I also wonder if there's some other ways that do not involve reading manuals. While the cards thing seems interesting, I wonder whether the kids would be excited about it, it's not a school, they go there after school and are offered the opportunity to work on all sorts of technical projects with our guidance (there's also an electronics lab where they get to solder resistors and diodes and such to make flashing LEDs etc).

I'm kind of looking at how the more "crafts" like departments have it easier (apart from electronics, there's wood, metal working, clay/pottery and more). There, the teacher can just show how to do something and explain, multiple kids can watch and then try it themselves. With the computers it's like they can't do very much or explore new things without me explaining them one-on- one. Which takes way too much time and also isn't really the best way to facilitate the "exploration" aspect (which is one of our goals).

So I sort of know where the problems are, but I'm kind of stumped on how to fix them. Except for taking the time out to write tutorials (and perhaps some screencasts) myself.

<comment><USER4> You should see whether you can get a copy of RoboRally in Dutch, or at least in German if that would work. If not, consider translating the cards, each of which has an arrow and a direction, such as "turn left", "back up", or "move forward 3".

</comment></comment></comment><comment><USER5> I'm really happy that my class has gotten all of you excited about this and thank you all for your great comments. You guys have inspired me to keep going. I'm planning more classes with more advanced topics. Whenever I have something fresh I post it on my facebook page www.facebook.com/drtechniko. I would love for you guys to get the conversation going on there as well.

DrTechniko

<comment><USER6> How much time did you give to the activity? I'd love to do this with some of the kids I tutor but I'm not sure if we'd have time.

Awesome work!

<comment><USER5> The whole class was about an hour. However, I spent about 20 minutes or so playing a different game which would get the kids excited about robots. I showed them some robots that exist today from current research and I actually had a little robot I made, which started walking when you clap. This way I introduced them the concept of a "brain" or computer residing inside the robot so that it would do stuff if you gave it the right instructions.

</comment></comment></comment><comment><USER7> This reminds me of playing RoboRally (<http://www.wizards.com/default.asp?x=ah/prod/roborally>).

RoboRally is a board game where you have to program your robots next 5 steps with instruction cards (turn left/right, move, ...).

<comment><USER8> How did you find playing the RoboRally game? Did you think you that were being taught programming, or that you were just playing a board game? Thanks.

<comment><USER7> Well, I have more than 10 years of programming experience, so I obviously did not get the feeling of being taught programming. But I think non-programmers also do not have this feeling. So people play the game, learn to program their robots and maybe don't even realize that this is actual a kind of programming.

I think what people can learn from the game is how to combine simple instructions into more complex robot movement. In addition, you to step through your 'program' in your head in order to check that it is doing what it is supposed to do. But I honestly cannot say if this game is suited to teach programming.

<comment><USER4> One advantage of the "how to train your robot" activity is that abstraction can occur more than in RoboRally, such as creating repeatable subroutines (eg, turn around then say "I'm dizzy" 100 times).

</comment></comment></comment></comment><comment><USER9> Awesome idea. I once used the idea of using each kid as an instruction (we had the instructions written on 3 x 5 cards) and did the 'towers of hanoi' problem by lining the kids up and then having them go up, do their instruction and then go to the back of the line.

I agree with Shank though, the idea of being able to drive you parent around is really a great kid hook in this case.

</comment><comment><AUTHOR> Strange. Since I posted this as 'best way I've seen to teach kids programming' the title has suddenly changed to what it is now.

<comment><USER10> I think HN simply "de-linkbaited" the title.

<comment><AUTHOR> Was it really link bait? Just described what it was IMO. Weird.

<comment><USER11> There's a cultural inhibition on HN against editorialising article titles. It's technically in the guidelines, I think.

<comment><AUTHOR> interesting. I didn't know that.

</comment></comment></comment></comment></comment><comment><USER12> The really awesome part is that there's an element of fun, e.g. controlling your parent, to the whole thing that adds to the experience. If it were a game or something else, it'd have a lot less interest and appeal at that age.

</comment><comment><AUTHOR> Really love the idea of making the parents into Robots and letting them define their own functions like 'hug'

</comment><comment><USER13> Awesome ! Love that part : _For some reason, kids loved making their parents repeat stuff 100 times over._

It's exactly the kind of thing I used to do when I first tried a programming language (printing random stuff 500 times already feels strangely empowering... not to mention email spamming scripts!). I guess it's one of the main purposes computers were made for.

<comment><USER14> I couldn't agree more. Whenever I'm learning something, I find that breaking things is the best way to get concepts to sink in. You don't know what a null pointer is until you dereference one.

If I were to teach programming to a class of kids in the 8-16 range, I'd probably get a Python environment up and running and spend:

\- Two to five minutes explaining a small concept (start with the print statement, go to variables, then operators, then functions, and so on and so forth) \- A couple of minutes playing around with the concept using some neat functions or classes which you write before the lesson. Like a send_email() function, where you supply each kid with a disposable email address and password. \- Up to an hour repeating the first two steps. \- A few seconds giving them an optional homework assignment which they can work on and show off to their classmates when they come back.

I'm sure they'll be hooked when they find five hundred emails in their inbox, that's certainly the sort of thing that got me hooked back when I first started.

<comment><USER8> I agree with you on your first point where you say that the best way to get concepts is by breaking things. But two to five minutes for explaining such CS concepts as variables, functions, and even operators may prove to be nothing more than just a fleeting moment, especially if you are dealing with a group.

Do you mean 8-16 as an age range or a number of students in the class?

Also, not all kids get excited at the first sight of scale. It often requires taking time to explain things and give different examples of this phenomenon.

<comment><USER14> Sorry, I should have been more specific. When I say "explain operators", I mean something along the lines of "To add numbers, you can write '2+5 <enter>' and it will give you 7". In two to five minutes you can probably explain addition, subtraction, multiplication and division and then link it back to variables. So "Type 'i = 3 + 3 <enter>'. Now type 'i <enter>'. It should give you '6'."

It seems to me that attention span is the biggest hurdle. You're unlikely to hold a ten year old's attention for more than a couple of minutes if they don't have a solid understanding of why the concept you are teaching is important and how it ties in to the other concepts they have learnt. If you can show them how useful a concept is, they're probably more likely to go and gain a more thorough understanding on their own.

> Do you mean 8-16 as an age range or a number of students in the class?

Age range. Ideally you would want to avoid having that sort of spread in a single class (perhaps take one class for the 8-12 age range and one for 13-16 age range).

> Also, not all kids get excited at the first sight of scale. It often > requires taking time to explain things and give different examples of this > phenomenon.

True, I'm just basing what I wrote on what my friends and I found particularly interesting. It's probably different for everyone.

</comment></comment></comment></comment><comment><USER15> I think this is a critical, and maybe the most fundamental, part of programming. It's not just how well you understand a language, but the entire process of translating what you want to do into a set of instructions.

Once you can do that in a useful and meaningful way the computer just becomes a tool to implement your ideas.

</comment><comment><USER16> Reminds me of my first ever programming class -- [http://www.stanford.edu/class/cs106a/handouts/karel-the- robo...](http://www.stanford.edu/class/cs106a/handouts/karel-the-robot-learns- java.pdf)

<comment><USER17> Memories... This was the first programming environment I learned in college (RIT in 1983).

<http://en.wikipedia.org/wiki/Karel_(programming_language)>

</comment></comment><comment><USER18> One of my middle school teachers had a lab (which we unfortunately never did) where students had to write a set of instructions for making a peanut butter and jelly sandwich. She would then follow the instructions to the letter and you would discover your errors.

      1. Unscrew lid of peanut butter jar
      2. Put knife into jar
         ERROR: knife cannot enter jar, lid is still on top of jar.

Her goal was teaching how to write the method section of a scientific paper, but I find it far more valuable to teach introductory programming.

</comment><comment><USER19> This reminds me of a lot of classes where we never touched a computer. Instead we drew our programs on paper and then tried to write the programs to make them on screen.

If it weren't for Logo, I don't know if I'd have ever grown to love programming: <http://en.wikipedia.org/wiki/Logo_(programming_language)>

</comment><comment><USER20> I am still not sure why everyone should learn programming. Every few days I read about how to learn programming not to mention codecademy and other website. Is it more of a computer literacy thing or is their a huge requirement of auto-didact programmer?

<comment><USER21> You can easily compare this to literacy, the ability to control written communication. I'm sure around 1800 many people didn't understand the point, since you could always just walk up to almost everyone you'd want to communicate with. There was no way then to forecast all the implications (esp social and technological) that widespread literacy would eventually entail.

Similarly, programming is the ability to control computation. It's very hard for us to understand just how a society would behave when 90% of the population has the power to create any software tool it needs, to compute sophisticated statistics, and so on.

You'd be hard-pressed to find anyone today who disagrees it was a good thing that (almost) everyone learns how to read and write. I'm also convinced 100 years from now, you won't find anyone complaining about widespread programming ability.

<comment><USER4> How insightful. I hope we can learn to integrate computer literacy topics gracefully in with other forms of communication (such as math/puzzle solving, writing/composition, the arts, and the sciences) in a way that motivates and interacts synergistically with those other topics, rather than squeezing them out as outmoded forms of only-historical relevance.

</comment></comment></comment><comment><USER5> Thank you Josh for putting my work out there for all our fellow geeks to see :)

<comment><USER8> Thanks for sharing this, Josh!

I absolutely agree with Nikos' approach to teaching programming young learners without using an actual code. If we teach kids the idea of programming early - it will then be much more intuitive for them to pick up the language formalities later. Because by that time, such a fundamental question as "why" is already answered in practice.

In other words, the time for a real language comes as an actual need that has been experienced in practice and doing. And that makes all the difference in understanding what you need and why.

It's all over the web that more and more parents and teachers come to appreciate the idea of teaching kids to code. But the problem is that they don't know where to even begin or what tools to use. As a result, kids looking to learn programming today are faced with two main extremes:

(1) storytelling, game dev, and animation programs; and (2) real-world languages or tools based on IDEs;

Programs in the first category are all fine, except for cases when the app is too compute-intensive, or 3D objects are clumsy or rough-looking (but these problems are just temporary).

But those using real-world IDEs to introduce programming are effectively training young pilots on real fighter jets. Such tools seem too complex and intimidating even for experienced computer users. What they really ought to be using is a "flight simulator", but currently there are too few tools that allow to do that and all pretty limited.

Even when we have something that useful it makes absolute sense to use physical games in the gym to introduce the notion of composing instructions for something/someone else (a parent-robot in Nikos' case :)

Nikos, thanks for sharing your work, and congrats on joining Knewton!

Hope you don't mind me including a link to videos of your class once again:

<https://www.facebook.com/drtechniko>

<comment><USER4> I'm familiar with Scratch as an element of the first category; what other (meta-)programs do you recommend?

I learned some HyperCard and some Basic as a kid, but didn't get hooked until i could do useful things with shell scripting in college, which is definitely a case for category 2, or perhaps something even simpler: programs written in a plain text editor or even just on the command line itself.

The power to do things that matter is typically more motivating to girls than to boys, who will do something just because it's there (ie, why boys tend to play more video games and more girls end up in teaching and social-justice work). Just trying to provide another perspective. :)

</comment></comment></comment><comment><USER22> Coral Cache Mirror (with images): [http://drtechniko.wordpress.com.nyud.net/2012/04/09/how- to-t...](http://drtechniko.wordpress.com.nyud.net/2012/04/09/how-to-train- your-robot/)

</comment><comment><USER23> Really great. Thanks for sharing this. It's a terrific way to get parents involved, and a really nice explanation of what programing is. I'm curious about what the next steps would be for kids this age.

</comment><comment><USER24> Very clever. I'm also hoping Notch's 0x10c game will also be a good programming teaching tool for kids.

<comment><USER8> SkyMarshal, check out a new game called Code Hero. It's a game that teaches kids how to control Unity 3D env with code.

Their team just raised 170k on Kickstarter and they have the beta ready for download.

<http://primerlabs.com/download>

[http://www.kickstarter.com/projects/primerist/code-hero-a- ga...](http://www.kickstarter.com/projects/primerist/code-hero-a-game-that- teaches-you-to-make-games-he)</comment></comment>


IE9 to include tracking protection - <AUTHOR> http://blogs.msdn.com/b/ie/archive/2010/12/07/ie9-and-privacy-introducing-tracking-protection-v8.aspx

<comment><USER2> My opinion might be biased because I'm working on drag and drop z-index issues in IE7 today (which are a NIGHTMARE), but given IE's track record of "being different" I think this will be half-baked and full of bugs and inconsistencies.

I fully expect to get support calls from people who opted into this privacy control setting and are wondering why things (more likely phrased as "your web site") aren't working right.

</comment><comment><USER3> Cool feature, but it probably won't get much use. My mental image of the average IE user does not include configuring their browser, much less finding a good blacklist. This will probably be used mostly in corporate set ups, using a blacklist that the IT department maintains itself.

I think the largest possible impact of this feature is that other browser vendors may start offering it, possibly with a pre-populated blacklist. On the other hand, I can't really see Chrome blocking Double Click or Google Analytics.

</comment><comment><USER4> I definitely like the idea of being able to have more control over how websites use my information. Doesn't Firefox 3 have a feature like this already? Or am I thinking of something else?

<comment><USER5> I don't think so, but as far as I know the same can be accomplished with the NoScript addon.</comment></comment>


Nerd Sniping: What does the code do at the end of the page? - <AUTHOR> http://neil.fraser.name/news/2009/10/27/

<comment><USER2> It returns false (also in Ruby) --- the "finally" (or "ensure") clause runs after the function body, but before the function epilogue.

It's not really a "paradox" so much as it is very bad style to "return" from a "finally".

 _Edit_

My partner Dave has a much better trick question:

        def foo
            begin
                return false
            ensure
                next
            end
        end

"You win", I told him. "Nah, Google won. But nobody really wins if you write code like that."

<comment><USER3> The last trick question doesn't work in Ruby, at least not Ruby 1.8.7. Gives me a "LocalJumpError: unexpected next".

I realize that's not the point, but I figured I'd mention it anyway.

</comment></comment><comment><USER4> Huh, interesting. The code supplied is:

try { return true; } finally { return false; }

Which returns false. I guess this is because of the guarantee that the finally block will be run, no matter what. The JS interpreter must be catching the return and holding it pending the execution of the finally block.

Checking with

try { return true; } finally { alert('hi'); }

Shows this to be true. (It both returns true AND alerts 'hi'.)

<comment><USER5> I see it that the "finally" is run right before the return. So, the statement "true" would be evaluated, then control would go to the "finally" block, where the method would return false.

</comment></comment><comment><USER6> Its a tricky question, but not something I would use to find a "keeper". From the Java tutorial - "The finally block _always_ executes when the try block exits." After the interpreter executes the "return true;" statement, it exits the try block. And then, if you know that "The finally block _always_ executes when the try block exits.", you know that the code block will return false;

<comment><USER7> It's not the answer that makes this a "keeper" screen, but the candidate's progression of facial expressions.

</comment></comment><comment><USER8> in .NET its illegal - "Control cannot leave the body of a finally clause"

<comment><USER9> It appears MS thought this through. The contrived example is but ONE way a mediocre programmer could really munge this stuff up if the language is not specific about protecting exit points from a finall{} block.

<comment><USER10> What about throwing exceptions in the finally block? Isn't it an exit point too?

When you call non-trivial 3rd party code from your finally block, how do you ensure it doesn't throw? Or what do you do if it does? Indefinitely nested try blocks?

</comment></comment></comment><comment><USER11> I wonder about the merits of this sort of thing as an interview screen, though. There's not necessarily a strong correlation between knowledge of language esoterica and other more important qualities like perseverance and raw intelligence.

<comment><USER12> The test is not whether you know the correct answer, but whether your brow furrows when you read the code. If you don't find the snippet interesting you fail.

The ultimate screen would be to follow the candidate home and see if they Google or test the answer.

</comment></comment><comment><USER13> it's not so mysterious if you know what the intent of a 'finally' block is.

<comment><USER2> I agree; the trickiest thing about it is the confusing relationship between the syntax for exception handling and the syntax for cleanup blocks, which are only vaguely related concepts.

</comment></comment><comment><USER14> That code uses one of several gotchas in java: <http://www.cs.arizona.edu/projects/sumatra/hallofshame>

</comment><comment><USER15> Error: Norman coordinate.

</comment><comment><USER16> It's also worth noting that this won't work in Python before 2.5 (or maybe 2.4).

<comment><USER17> You mean after 2.5 right?

try: return True finally: return False

\-- There's an error in your program: __* 'return' outside function ...

Just sayin'

<comment><USER18> It works if you put it in a function (2.5.1):

      >>> def test():
      ...  try: return True
      ...  finally: return False
      ...
      >>> test()
      False

<comment><USER19> 2.6.2 as well. I liked this little snippet, though I grumbled a little on the inside and would be appalled if I ever found something like that in serious code...

</comment></comment></comment></comment><comment><USER20> A couple things can happen I guess, it depends on the interpreting language.

</comment><comment><USER21> It's just a dumbed down version of Duff's device :-)

<comment><USER22> How is this related to Duff's device?

<comment><USER2> It isn't even a very little bit related to Duff's device.</comment></comment></comment>


Show HN: EZBudget: Interactive budget planner from 2012 - <AUTHOR> http://www.mindlessflash.com/budget/ <comment><AUTHOR> Hi, I created this budget planner tool back in 2012 and haven't really added to it since, but I've found it really useful tool over the years. It projects your budget into the future and makes it easy to see if you've overspending or underspending.

I'm looking for some feedback on it:

Do you find it useful?

Are there features you'd like to add?

Are there other products that do a better job of this?

All the budget data is stored in localStorage, nothing is being tracked, there's no server just a backbone app on S3.

Thanks!</comment>


Tell HN: Facebook now supports HTTPS - <AUTHOR>

Under Account > Account Settings, there's an option called "Account Security". There, you'll find a checkbox that, when checked, tells Facebook to use HTTPS whenever possible. I've only had it enabled for a few minutes now, but it appears to work. <comment><USER2> Indeed. Facebook is rolling out this feature to users so if you don't have it yet, just be patient.</comment>


Facebook keeps you alive  - <AUTHOR> http://www.refaelos.com/post/14760568754/facebook-keeps-you-alive New post i wrote about how people need to feel alive! <comment><USER2> _"When you upload a photo to Facebook from your last trip to NYC, you get excited ... you know that people will see your photo and acknowledge your existence you feel alive."_

This is absolutely crazy! That feeling of excitement is often nervous insecurity bubbling up. I used to be desperate for digital validation on Facebook and it made me miserable. Since leaving Facebook and focussing on email, Skype, Twitter and HN I feel a lot more relaxed. I enjoy those forms of social networking. Every now and then I still catch myself thinking: 'I wonder how this will look on Facebook'. But not often. Facebook invaded my mind and made me feel naked in front of a thousand strangers. On Twitter I know I am public. I shape my tweets accordingly. I do not seek validation. I seek connection and a desire to share interesting things with those who take the time to follow me. On Skype I connect deeply and privately with real people in sync. On Facebook the privacy slider was always moving and I was communicating with the people I love in an asynchronous, abstract way. On HN I enjoy the concept of karma but I am far more interested in connecting with people I have never met. I love reading the comments and reactions. I love creating content.

I could not agree more with this statement though:

 _"We see people come and go from our world. Some of them leave their mark and some of them just enjoy the ride."_

I have started hanging out more on HN because it is filled with people who want to leave their mark. They want to change things. Facebook encourages us to consume, not create. That is fine if you want to enjoy the ride. I felt passive and insecure on Facebook. I feel energised and excited connecting with people on Twitter, chatting with people on Skype and writing this comment on HN. This is my social network. This makes me feel alive.

</comment><comment><USER3> Started out promising, with a good observation about human motivation. Ended badly though, with one-sided and biased commentary about Google+ streams being "dull as dishwater."

Well, now. That's entirely dependent upon the stream of the user in question, isn't it? Someone like _moi_ who has been circled by over 5k other users on Google+, but has 650+ friends on Facebook, clearly doesn't fit that stereotype. In fact, Google+ is far more "active" for me, in terms of interactions and posting, than my Facebook wall is.

Not only that, but Google+ has about 150 million _active_ users now. So generalised "Google+ is dead" riffing doesn't impress me much:

[http://www.webpronews.com/google-hits-150-million-active- use...](http://www.webpronews.com/google-hits-150-million-active- users-2011-12)

I can't vote this story up since it's ridiculously distorted.

<comment><USER4> Agreed...

It was a pretty thin article - but the G+ criticism was just completely irrelevant to it and add nothing to the idea being explored...

Also - in general I find the g+ bashing is weird generally... My stream is full - my conversations endless and awesome.

</comment></comment><comment><USER5> I may sound asocial saying this, but I couldn't care less if other people acknowledge my cyber existence. What does it matter if someone commented on my new photos or wrote on my Wall? It doesn't add any value to my life, and fortunately I don't need people's validation to feel good about myself. I'll log in once every few days to see if I need to reply to someone, but other than that it's just another website. It kinda scares me how Facebook is now such a central aspect of people's lives. I know a lot of people who obsess over not having enough "likes" on their profile or whatever and they start questioning their personalities, friendships, etc. It just seems silly to me.

</comment><comment><USER6> Very well written! (Unfortunately I don't know if you look amazing)</comment>


iPod gives birth to a heroine - <AUTHOR> http://money.cnn.com/2008/05/09/technology/siklos_walle.fortune/index.htm?postversion=2008051208

<comment><USER2> I had to read this several times to figure out what heroin had to do with it.

</comment><comment><USER3> wow! apple can now make money out of this from pixar :)</comment>


Three students build $100 device that blinds attacker and takes picture - <AUTHOR> http://thenextweb.com/shareables/2013/01/29/three-students-built-a-100-device-to-blind-you-and-take-your-picture-before-you-can-get-away/ <comment><USER2> that's useless.</comment>


Is everything you think you know about depression wrong? - <AUTHOR> https://www.theguardian.com/society/2018/jan/07/is-everything-you-think-you-know-about-depression-wrong-johann-hari-lost-connections?CMP=share_btn_fb <comment><USER2> [https://news.ycombinator.com/item?id=16092975](https://news.ycombinator.com/item?id=16092975)</comment>


Dark Mode vs. Light Mode - <AUTHOR> https://www.nngroup.com/articles/dark-mode/ <comment><USER2> I have perfect eyesight and I have to say that I'm very happy dark mode has become more popular. Light mode straight up hurts my eyes, even with the screen brightness turned down, and even in an already fairly bright environment. It seems totally obvious that there are people who benefit from both options, so the fact it took as long as it did for this trend to become more commonplace is really odd to me.

<comment><USER3> I was fine with using light mode on a single 24" screen switched to dark mode once I got a 38" ultrawide - there is just no way I am staring at a mostly white screen of that size for all day.

</comment></comment><comment><USER4> I've always had good vision so maybe I'm biased, but I've never noticed a difference in readability between the two. And if my display is >50% brightness and I'm not under direct sunlight, and I'm using Light Mode, I usually get a headache. In fact, in dark mode, because I'm not going to get a headache, I can generally turn the brightness up _more_ , making for better contrast and readability. It would be interesting to see a study where they factored that in.

All of that said: we added dark mode to our app at work and my manager (who's older) commented offhand that he could read things much better in light mode. That was the first inkling I'd ever gotten that it was actually more effective for anybody. I'd thought it was just an aesthetic preference.

Anyway, it's as easy as it's ever been to support both, which I did when I recently rebuilt my personal website:

[https://developer.mozilla.org/en- US/docs/Web/CSS/@media/pref...](https://developer.mozilla.org/en- US/docs/Web/CSS/@media/prefers-color-scheme)

[https://www.brandonsmith.ninja/](https://www.brandonsmith.ninja/)

<comment><USER5> Interesting feature in Reddit's mobile app is switching between light and dark modes through the day/night. That approach could get your app the best of both worlds.

<comment><USER6> Waze and most of the sat nav apps I use on my phone have that as well.

It definitely helps when trying to see a 6" screen on a motorbike at night in rain not to blinded by what's effectively a torch in your sightline.

<comment><USER5> Not only do Waze and other sat nav apps do that based on the time of day - they often also do it based on whether or not your are driving through a dark underground tunnel.

</comment></comment></comment></comment><comment><USER7> Hey guys, remember when you could just arbitrarily change the colors of UI elements across your entire OS and pretty much all of its applications without the requirement of bespoke 'dark mode's? Why has the GUI so dramatically regressed from 1995?

<comment><USER8> >Hey guys, remember when you could just arbitrarily change the colors of UI elements across your entire OS and pretty much all of its applications without the requirement of bespoke 'dark mode's?

I certainly don't. Do you have a specific OS in mind?

In my experience it worked as long as you only used applications that used the stock UI toolkit without customization. As soon as some app tries to use custom controls (or even just custom icons) it becomes messy, either because these controls won't apply the custom system theme and they'll stand out like a sore thumb or because they'll apply partially and make the control hard or impossible to see correctly.

On Linux it's even worse because of the multiple UI toolkits/desktop environment available (GTK-gnome/Qt-kde/motif/wxwidgets/...) which often need to be configured independently from one another. And on top of that some applications like gvim, emacs, firefox or terminal emulators will have their own custom theme configuration that will override the global theme.

I definitely understand why Apple thought it was a good idea to lock things up to give the user a consistent experience.

<comment><USER9> Did you ever use earlier versions of Windows, up to and (I think) including XP?

<comment><USER10> If you turn off Windows themes in later version, the gui defaults back to an approximation of the Windows 2000 gui, and you can change all the colours accordingly.

</comment></comment></comment></comment><comment><USER11> Finally an explanation for my case! I have both astigmatism and myopia. I never understood why dark mode is so popular because to me it's unreadable. Even worse, sites with black background and white text are downright hurtful - after 20-30 seconds I start seeing just horizontal white stripes moving very fast up and down on black background.

<comment><USER6> I'm astigmatic as well and I prefer dark mode over light, it's about the contrast for me (or lack) though, I like somewhat bright text on dark backgrounds.

</comment></comment><comment><USER12> Somewhat off topic, but has someone created a dark mode stylesheet or viewer for Hacker News?

<comment><USER13> Instead doing this on a site-by-site basis, consider using an extension like DarkReader (for mobile, some chromium Android browsers and also Firefox Preview allow extensions). It degrades performance a bit, a small fraction of sites look broken by it (can selectively disable), but its a huge boon overall.

<comment><USER14> Dark Reader for Firefox seems to work only some of the time. I ended up disabling it.

</comment></comment></comment><comment><USER15> Just use light mode and change your IDE background to a very light grey, win win. Like the way HN has a beige background

</comment><comment><USER16> From personal experience, under correct lightning, there is no issue with light mode.

But when the external lightning is bad (too high/low), dark mode is easier on the eyes.

The only exception, is when i got 3 screen, and one is in light mod, and 2 other in dark mode. It just hurt.

<comment><USER17> This is also my biggest issue with dark mode: not everything is dark mode. I find light mode to be more tiring than the dark mode when using a high resolution screen, as text is often extremely skinny. However, as not everything is in dark mode, for example web sites, I find it extremely bothering to switch from one to the other.

</comment></comment><comment><USER18> While light mode strains my eyes due to the brightness of it, I still prefer it to dark mode because designers use blue for text and accents. I really wish we could choose the text/accent color.

</comment><comment><USER19> A few things to call out:

1) Dark mode is increasingly not exclusively about the user experience. We're seeing phones switch automatically to dark mode when batteries are low.

2) Dark mode, at least for email, has better readability by design. The dark mode algorithm swaps foreground with background and then adjusts the colors to be at least at a ratio of 4.5 to 1 (wcag 2 compliance). This means you can have unreadable white text over white background in light mode and it will actually be readable in dark mode. So having discussions about whether dark mode is more readable is kind of pointless, it was designed to be more accessible.

 _edit_ : If there is interest, I can share a desktop app that helps illustrate dark-mode changes (specifically for email). [https://imgur.com/NOGT5el](https://imgur.com/NOGT5el)

<comment><USER20> > We're seeing phones switch automatically to dark mode when batteries are > low.

Do phone displays really save energy when displaying more black pixels? I always thought that's not the case because the backlight is always on for the entire display anyway.

<comment><USER21> It has some effect for OLEDs, in which there is no backlight and dark pixels are simply off.

<comment><USER22> Yeah, this is the quirk exploited by features on some phones like "always on display" to be remotely viable battery-wise. They still eat into your battery but because the screen is mostly black and the on-screen elements are dim + infrequently updated, you can leave it enabled and be OK.

</comment></comment></comment></comment><comment><USER23> Dark mode is the ideal display for a computer screen since it's generating light as opposed to dark ink on white paper which absorbs light.

</comment><comment><USER24> Using dark mode tends to make light mode hurt my eyes. So I tend to avoid it and stick with light mode.

<comment><USER25> I do the reverse for the same reason

</comment></comment><comment><USER26> personally, for me eye strain is less when I use light mode. Hence everything has been default light mode, for the past couple of months

</comment><comment><USER27> Isn't it possible to just merge both, so you get something like this site right here?</comment>


Fed site lets you search for all consumer credit card agreements - <AUTHOR> http://www.federalreserve.gov/creditcardagreements/

<comment><USER2> This is a good start, but I think structured information would be a huge help here.

The government should require firms to register common things like interest rates and other conditions. Then you could search carriers and identify who actually fits you best.

Better yet, maybe this opens up an opportunity for someone to do it on their own? Hook up a Bayesian net to it, add in some heuristic parsing code, and hand classify some information and you have a credit card terms search engine.</comment>


Plugging a 1986 Mac Plus into the Modern Web - <AUTHOR> http://kernelmag.dailydot.com/issue-sections/features-issue-sections/12228/mac-plus-modern-web/?tw=dd+eg <comment><AUTHOR> Hacker News loaded on 1986 Mac.</comment>


Lucid, a New Hardware Description Language - <AUTHOR> https://embeddedmicro.com/blog/lucid-and-the-mojo-ide

<comment><USER2> The link doesn't really give very much information, but from the tutorial ([https://embeddedmicro.com/tutorials/lucid](https://embeddedmicro.com/tutorials/lucid)) it looks like a skin of Verilog. What's the advantage of using this over a more modern HDL like Chisel?

<comment><USER3> Yeah, it seems like just some syntax sugars for Verilog, not a whole new language. If you're not familiar with Verilog, those new syntax constructs may seem confusing.

</comment></comment><comment><USER4> This language looks like it attempted to solve a number of issues from the old verilog days, but wound up reinventing a very very small subset of system verilog instead of inventing something new.

      arrays in lucid = system verilog arrays
      "fsm" = basically system verilog enums and a little  helper logic
      "connectors" = system verilog interfaces

etc etc.

Its definitely better to go where the tool support is. With system verilog you get a lot of nice verification: constrained randomization, built in process synchronization, support for differentiated test bench vs dut, assertions, complex coverage metrics.</comment>


Unconscious determinants of free decisions in the human brain (2008) [pdf] - <AUTHOR> http://www.rifters.com/real/articles/NatureNeuroScience_Soon_et_al.pdf <comment><USER2> I liked this interview with Judea Pearl on free will: [https://youtube.com/watch?v=sg7Oq4suH_E](https://youtube.com/watch?v=sg7Oq4suH_E)

The summary is basically that to our best knowledge there is no free will because decisions are caused by neural activities which in turn are caused by sensory input and noise (but unlikely by quantum noise). However, humans have evolved a strong sense of agency because that's simply an efficient way to reason about machines that produce actions in response to the entirety of their sensory input (especially regarding parent child relationships and mutual behavior correction). This neuroarchitectural bias is essentially an illusion of free will that is so firmly wired into our brains that we cannot escape it. It is also the reason why the idea of a God comes so intuitively to many of us: an invisible actor which can be used to explain inexplicable chains of causation and can serve as a very effective metaphor for behavioral error correction (as a proxy for actual social repercussions, and hence relieved from all the complicated and hence fallible power relations to actual social error correction instances).

<comment> Capt-RogerOver How does seeing a human as "neural activities which in turn are caused by sensory input and noise" contradict an idea of free will? The neural activity is obviously so complicated that it can make "sense" of the sensory input and the noise, and make intelligent decisions based on past experience, on it's own generatlizations of experience, on external ideas, etc. etc.

There are obviously some mechanisms for creating new information and action, based on past experience as well (thus also creating new unforeseen behavior). These mechanisms can clearly be implemented on the neural machine of the brain, since it's evident that it can even already be approximated in Google Deep Dream to create new unforeseen images based on previous inputs.

Whether the human can always verbally describe the decision tree (or whatever other decision mechanism is used), is another question. But even if it cannot describe, so what? The decision is done somewhere deep in the net, and the verbal processor does not have access to it. It's still the network making a decision...

So what makes you say that free will is an "illusion"? Our brains obviously soak up the information and then make future decisions based on that information (subject to effectiveness of learning, etc...).

<comment><USER3> That quote makes brains sound like deterministic machines. Which would contradict free will.

<comment> Capt-RogerOver The notion that determinism leads to seeing the world in terms of simple predictable clockwork universe is obsolete. Look up "chaos theory". It describes how even very few deterministic rules applied to a vast number of elements can very quickly produce chaotic, unpredictable and non-deterministic results. Especially if those rules include feedback loops. BBC has a very good documentary on this called "The secret life of chaos".

To summarize, given all this new informatio: no, deterministic machines do not contradict free will. Because those machines are intelligent and have feedback loops and can (deterministically) make intelligent decisions based on the information.

</comment></comment></comment></comment><comment><USER4> I've heard of this phenomena from "The User Illusion"[1], so it was known of (in less detail) years before 2008.

And the thing about it is, the _idea_ that a person reaches a decision unconsciously several moments before they consciously "feel" they "make the decision" is threatening to the idea of "free will"

But what exactly is being threatened? Does a person expect their decision to reached without any physical precursors? Do they expect one magic addition of pros and cons to be registered at the moment they subjectively experience "a decision"? I'm using hyperbole not to discount the importance of this phenomena but to highlight how you have a "highly value experience" that is simultaneously extremely vague. Psychologists would do well to study _why_ people value such experiences.

[1] The User Illusion: Cutting Consciousness Down to Size, Tor Nørretranders, [http://www.goodreads.com/book/show/106732.The_User_Illusion](http://www.goodreads.com/book/show/106732.The_User_Illusion)

</comment><comment><USER5> People tend to miscomprehend freedom as an act that is performed according to our will without any form of constraint or predisposition.

If this was the case, freedom would not exist since our whole life experiences predisposes us to unconsciously exercise our freedom of will in certain ways.

Here is an amusing example:

I'm 12 and I want to try using a big person's hammer for the first time. My annoying little brother is beside me (as always... sigh).

In mid-air, as I swing the hammer towards the nail, he yells (right in my ear): "You're going to hammer in that nail and because I knew this before it happenned, you didn't decide to hammer it on your own".

In this example, the lack of causality is evident and the amount of LBAF is enormous (LBAF: Little Brother Annoyance Factor)

The parallel can be made with the mind. It's not because we become cognitively aware of our choices fractions of seconds after some brain activity that seem to be decisional that we didn't "will" it, for all we know, this activity _is_ the gist of willing.

Furthermore, there is no indication that our cognitive experiences do not mold our subconscious behaviours, so much that this subconscious activity naturally corresponds to our actual will.

Clearly, it is not sufficient to break a misconceived definition of will in order to claim that freedom of will does not exist, with the argument used, one would also need to prove that this subconscious brain activity is incoherent with our conscious activity.

<comment><USER4> _People tend to miscomprehend freedom as an act that is performed according to our will without any form of constraint or predisposition._

The problem I have with statements like that is that such statements tend not to provide an alternative meaning for freedom that most people would accept.

It seems better to say that most people comprehend freedom in a fashion that's some combination of incoherent, self-contradictory and trivial.

IE, it's better to say people comprehend freedom as you say but such a comprehension doesn't make sense if you look at it logically.

One thing you might say is that the concept of free and unfree choice makes sense in informal human concept of control and blame - those who freely choose things we don't like get blamed for it, saying people should be free is saying their behavior should be regulated by informal, unconscious interactions rather than formal, rules-based systems.

<comment><USER5> I agree

</comment></comment></comment><comment><USER6> Supplementary information and methods for the paper can be found here [0]. A more condensed version of the methods (in presentation form) can be found here [1].

[0]: [http://www.nature.com/neuro/journal/v11/n5/extref/nn.2112-S1...](http://www.nature.com/neuro/journal/v11/n5/extref/nn.2112-S1.pdf)

[1]: [https://courses.cs.ut.ee/MTAT.03.292/2014_fall/uploads/Main/...](https://courses.cs.ut.ee/MTAT.03.292/2014_fall/uploads/Main/Unconscious%20determinants%20of%20free%20decisions.pdf)

</comment><comment><USER7> For me, taking a meditation retreat in total silence showed me a lot about how thoughts just spontaneously jump up in my mind. Normally, I don't notice it that often. And in normal situations I tend to act on a lot -- but not all -- of those thoughts which then invokes a thought train which may or may not invoke an action.

<comment> Capt-RogerOver If you will keep meditating and will discover more about your mind, you will find that almost none of the thoughts that pop into our minds are random. They are all processes that have quite specific purposes. A lot of it comes from suppressed feelings, past trauma, beliefs about what you "have to do", or how you "supposed to feel", etc.

<comment><USER7> What kind of meditation do you do? When I do Vipassana I can't be fully aware of my thought processes since I'm focusing on 'feeling my body' in a non- judgmental way. I've been most aware of my thought processes in between breaks in meditation retreats.

<comment> Capt-RogerOver This is obviously an area too big to adequately address in a HN comment, but just the broad strokes: Spontaneous thoughts that you were referring too, can basically (simplifying) be seen as the mind's way to avoid certain feelings that it has labeled as "bad". For example there can be some situation which you translate into feeling "alone" (only an example), and that feeling is labeled as "bad". Every time such situation will happen, that feeling will start to manifest in your system, but the brain will usually very quickly start to think some thoughts in order to distract you from such feeling. For the brain it sounds like a good idea, because there will be less of that "bad" feeling in your conscioussness, while you think.

Now of course, in general, it's not a very good solution, because it only masks a problem. The problem itself is that you don't fully accept and understand all your feelings, and instead are labeling some of them as bad. Additionally to this, if you don't accept the feelings, but instead try to mask them with thoughts - that just makes them grow, because the feelings are not being let out of the system and start living their own lives.

What happens during meditation is that you force out all of the thoughts, so that feelings that exist in you become much more clear. You can finally switch your attention to the feelings that have been craving it. Then you become more aligned with them, understand them better and they stop being problematic. Each time you stop meditating - it's just so much more easier to notice that certain thoughts come from feelings, as opposed to "just randomly initiate".

So it's not really about being aware of the thought process during the meditation, it's more about using the experience gained from meditation, as a reference point, in order to notice deviations from it and how they are experienced.

<comment><USER7> Thanks for showing the broad strokes. A lot of this seems very recognizable, although I couldn't put it into words like that.

Small recent example, I experienced my illness not being labeled at all. It's just a feeling, from an experential non-language standpoint / 'a feeling standpoint', a mindful standpoint perhaps -- it's hard to talk about stuff that I don't experience in language. Equanimity is awesome.

</comment></comment></comment></comment></comment><comment><USER8> Really interested in this topic, not sure about this paper:

\- Downplays how inaccurate the classifiers are (55-60% accuracy according to the figures).

\- No table of actual left / right frequency pushing frequency. So we can't compare this to the empirical rate of chance (they assume 50% - I would bet £100 that it's not 50%).

\- Exclusion policy of people who don't push buttons the right way was inadequately justified, particularly given the above.

\- Vague explanation of their statistical methods, even in the supplementary material. In particular I can imagine several ways to interpret what they said about the ANOVA - it shouldn't be up to me to guess what they did, the paper should tell me.

\- No use of hold-out data sets.

</comment><comment><USER9> I find it easy to replicate this for myself. I cannot stop me from sort-of imagining the movement before the "decision".

After a few repetitions, it became apparent why this may be so. It's the instructions. I'm to move the finger "immediately". My brain prepares the movement because it wants to do it "immediately" after "deciding".

Here's a more relaxed setup. Alternate between looking at two fingers at a relaxed pace. At any moment, decide to move the finger you're currently looking at _after silently counting to five_.

Introspectively, I find no imagined movement before the decision with this task.

</comment><comment><USER10> This research uses fMRI, but recently some bugs were found[0] which have called into question a lot of the result. This includes, I think, many of the results regarding free will.

Is there an expert here who can comment on the accuracy of this 2008 study, given the more recent news about bugs in fMRI software?

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

</comment><comment><USER11> Common experience tells us we make decisions without consciously thinking about them all the time. When you do something a bit silly and someone asks "why did you do that?", you try to make up reasons when really you didn't know why you did it. It was some subconscious process.</comment>


TataSky (satellite TV Service) in India Provides YouTube, Netflix Etc. - <AUTHOR> <comment><AUTHOR> Before someone mis-understands this, it means their setup top box will support these apps without need to buy Chromecast to firetv which most Indians currently do.

(Note Dish in USA does not support this)</comment>


How to Disable Remote Assistance in Windows 10 - <AUTHOR> https://www.laptopmag.com/articles/disable-remote-assistance-windows-10 <comment><USER2> Remote Assistance (Windows XP - Win10 until anniversary update, renamed Quick Assist in current Win10) in Windows is based on RDP, but a separate feature. Remote Assistance/Quick Assist is a bit spookier than RDP because it allows you to connect to the session of another user. Normally this required user prompting but if you have local admin on the target machine (e.g. IT team) you can make the client auto-answer prompts on Win7(although hackishly).

This article tells you to turn off Remote Desktop entirely which is unnecessary to disable Remote Assistance/Quick Assist.</comment>


Ask HN: How viable is it for a programmer to switch to a DVORAK keyboard layout? - <AUTHOR>

I'm currently typing at a speed where I can physically feel that the layout of my keyboard is slowing me down. I've played with the idea of switching to DVORAK in the past, but the fears of major slowdown has kept me back.<p>Is the initial slowdown worth the long time gain? <comment><USER2> I switched from Qwerty to Dvorak about 13 years ago, and frankly I don't recommend it. It's not faster, it's only marginally more comfortable, and it's mildly inconvenient. I still type Dvorak, but only because the hassle of switching back is not worth the possible tiny benefit.

The initial slowdown lasts only a few weeks if you work on your typing speed. When I first learned Dvorak I lost the ability to touch-type Qwerty, but within the first year I retrained myself and was able to switch back and forth (though I'm still not quite full speed on Qwerty). The only thing I can't do is use Vi keybindings in Qwerty. They seem to be in a different part of my muscle memory, which has never been retrained.

<comment><USER3> I switched in 1999, and I agree with mbrubeck. My experience was similar to his, except that I have to look at the keyboard when I type Qwerty and still don't type nearly as fast on Qwerty as I did before switching to Dvorak.

Key bindings are the biggest pain point for me. I recently spent some time using the Awesome window manager, and I had to remap a bunch of its key bindings, because they didn't make any sense with a Dvorak layout. I'm sure the default emacs key bindings make less sense to me than they do to a Qwerty typist. I also agree with mbrubeck that using key bindings on a Qwerty keyboard is much harder than just typing.

Overall, switching just isn't worth the hassle. In fact, every time the topic comes up, I consider switching back to Qwerty, but I'm too busy to e.an ,cyd yd. ecoypajycrbv

</comment></comment><comment><USER4> I'm about 115 WPM on QWERTY. I learned Dvorak about four years ago and got to about 80 WPM. If I kept going I think I would have eventually slightly surpassed my QWERTY speed.

However, what I found was Dvorak is designed for _English_ ; it predates programming. Most programming languages are designed with QWERTY in mind. I think Dvorak made that harder, not easier.

</comment><comment><USER5> In my experience, yes.

I switched to Dvorak a couple years ago, and I've been glad I did. I used to have terrible pain in my wrists and forearms. For eliminating pain, switching to Dvorak was as effective as switching to an expensive ergonomic keyboard.

I went cold turkey, so I felt like a stroke patient for the first four days. It was a very awkward and frustrating feeling. Within a week, I could type fast enough to code. (Coding doesn't require a fast typing speed.) It took about two weeks to get back to email/IM speed.

I'm probably not as fast as I was at QWERTY (110 wpm -> 90 wpm), but I'm certainly fast enough. If I do 15 years on Dvorak, I'll probably reach 110 wpm again.

I'd recommend doing an hour of typing exercises each day, and napping after each exercise to let it sink in. Each time I woke up from a nap, I was _much_ better at the exercise from before the nap.

I wrote up my experience on my blog if you're interested:

<http://matt.might.net/articles/preventing-and-managing-rsi/>

<comment><USER4> I will grant that typing in Dvorak could be a nice "break" from QWERTY for my wrists.

On the other hand, I just typed in Dvorak briefly and I've already confused my QWERTY typing. Just going to Dvorak for 3 minutes, after a ~2-3 year hiatus, has temporarily slowed down my QWERTY by ~25%.

</comment></comment><comment><USER6> Change keyboard layouts if you have ergo problems, like I did. Don't change for speed; you won't gain any.

If you are finding that your keyboard is slowing you down while you code, though, consider changing your tools -- get a new programming language, or a new IDE. A concise language like Haskell requires very little typing, but you end up thinking about each line for a long time. If you're using Java with a plain text editor, consider switching to Eclipse; I find that Eclipse ends up entering about a third of the code that I author.

<comment><USER7> I have found that Haskell requires a fair bit of typing. As with other interactive languages like Common Lisp, you don't get much of a break between typing in the code and learning that it's wrong. This is different from Java where you type for a while (like you're writing prose; "public static void main" is a good-sized sentence that is required but doesn't actually even do anything), and then you run your unit tests which takes 10 seconds or something. While you are waiting, you have nothing to do, and get a free typing break.

Basically, a different set of problems. Typing needs to be comfortable and efficient no matter what languages or tools you choose.

</comment></comment><comment><USER8> You're not going to type faster with the Dvorak layout. Maybe piano lessons would be a better use of time than Dvorak practice.

The layout is better for programming, though, so I recommend learning it. Underscore and hyphen are in the perfect place, and having the comma and period keys on the upper row is nicer for the hands.

Dvorak is a lot better for Emacs, too, if only because C-x stretches out the hand instead of scrunching it up.

I've become ignorant of the benefits of Qwerty, though. For some period of time, I got annoyed by the positioning of Ctrl+C and Ctrl+V, but eventually I just got used to using two hands for those commands. That's the one specific lingering annoyance that I can think of.

<comment><USER7> There is a reason your keyboard has two Control keys; exactly to avoid the awkwardness of combinations like C-x.

<comment><USER9> Yes!

Speaking of which, anyone happen to know how (in X and at the Linux console) to make both my Alt keys act like Alt keys instead of one being AltGr?

<comment><USER10> I've struggled with this as well; the closest I've come to solving it was changing the keyboard layout preferences in gnome so that my right windows key now works as alt. I find that works almost as well.

<comment><USER9> Ah, thanks. I avoid keyboards with Windows keys, though; I use Ctrl and Alt so often that I don't want other keys getting in the way.

</comment></comment></comment></comment></comment><comment><USER11> I use Colemak (<http://colemak.com/>), and I'm up to about 70 WPM (measured at typeracer.com, not anything more scientific). Unfortunately, I did no QWERTY tests before switching, so I can't compare, but I doubt I was significantly higher.

I'd recommend it. There are a few modifications I'd make, but overall it's quite nice. They've written programs to check finger travel distance, and it beats QWERTY and Dvorak. A reason to choose it over Dvorak is that it keeps WAZXCVB in the same place, so those common Ctrl-keys are just as easy to press.

There's several versions for Windows, including one that can be run off a flash drive, and work without installation (<http://colemak.com/Windows>), and Colemak is also built in to X on Linux.

Although depending what you're doing, switching to an alternate keyboard layout can be a problem. For example, if I were a sysadmin, going around to different computers and fixing them, it would be infeasible to switch, unless I put the time in to being able to context-switch my brain quickly, so I could touch-type both.

<comment><USER2> Nice! Though as a vim user I would rather have a layout that messed with zxcv and instead left hjkl alone... (Colemak is especially bad, with J below K.)

<comment><USER11> Ouch, that would be a pain to use. All four of them are on the same finger, even! The problem with leaving hjkl where they are is that it wastes a huge amount of prime real estate. In colemak -- as you've seen -- those keys are used for hnei, all commonly typed letters. jkl are much less common.

<comment><USER2> Well, maybe not leaving them on home row, but keeping them grouped together nearby, maybe on the M,./ keys.

</comment></comment></comment></comment><comment><USER12> I'd suggest learning Colemak. It requires slightly less finger movement than Dvorak, the layout is more similar to Qwerty, and it's more convenient for typing commands like "ls", which requires two presses of the right little finger in Dvorak.

I can touch-type in Dvorak and Qwerty, and I've been meaning to learn Colemak.

</comment><comment><USER13> I started using Dvorak out of curiosity more than anything. I've been using it for close to 4 years now, and I haven't noticed any speed gains.

It's inconvenient to use other peoples' computers; although, this is offset a bit by the amusement value of watching others try to use my machine.

The claims about ergonomics may be valid. My hands move a lot less when using Dvorak, but I can't speak as to whether the chances of RSI are reduced in any way by this, or if it provides any kind of relief.

Programming-wise, I haven't had any problems. The biggest concern there is that you might not be able to type for the first week or two.

Unless you have some significant reason to do so, I don't think I would recommend switching myself. I didn't see any significant gains, but your mileage may vary.

</comment><comment><USER14> I made the switch to Dvorak over a 2-week holiday break just under 10 years ago. I may have eventually boosted my speed marginally, but I _can_ say my hands don't get tired or sore typing for long periods as they did on Qwerty.

The only con I've run into is when I have to use somebody else's computer, like during a presentation in a meeting and I end up basically hunting and pecking on Qwerty. I get looks like, "this guy is a developer?" One time when I explained I was a Dvorak keyboardist, a participant asked if I also spoke Esperanto. (I don't.)

However, I highly recommend the switch just for the brain-remapping experience. Going through the learning process literally feels like a mental rewiring.

</comment><comment><USER15> These posts seem to come up periodically. Search hacker news for 'dvorak'.

I've used Dvorak for three years or so. I like it, and it hasn't caused me problems. (FWIW, I use Emacs.) I type 95ish WPM on Qwerty, and haven't cared to time my typing on Dvorak - I type fast enough, either way. I switched as a precaution for RSI (and just to shake up old habits), and the layout feels less awkward than Qwerty. Seriously, ; on the home row?

Some people seem to believe that the failure of the Dvorak keyboard proves their economic ideology. Whatever.

</comment><comment><USER16> I think you'll see a wide variety of responses here and the only way to know for yourself is to try it. I used Dvorak for 10 years and it worked fairly well for me, though ctrl-c/v is clumsier because you can't do it with the left hand while mousing with the right.

I ended up going back to querty in order to revert to hunt and peck (painful) due to wrist issues. Now I continue with querty on a very low impact keyboard with a "pawing" approach. My typing is slower this way, but it appears that independent finger motion is what does me in.

</comment><comment><USER17> I used it for about 3 years, and it sped me up greatly when writing text, as in large blocks of English language text, it didn't help with programming at all. However before that I was only ever a 5 finger Qwerty typist, the speed gain from Dvorak came from forcing me to touch type properly.

2 things made me abandon dvorak and switch back to qwerty. Keyboard shortcuts. I never got the hang of mentally mapping between individual keys, so I when I had to push a Ctrl-X for example, I would have to stop and think for too long trying to work out which one X is.

The other thing was pair programming, was a pain switching back and forth when grabbing and relinquishing the keyboard. Sometimes pair programming meets enough resistance as it is without my stupid keyboard layout adding to it.

Another bonus, is that with qwerty you can work single handed, and e.g. hold the baby or eat or use the mouse or whatever.

So right now I am back to my 5 finger qwerty, its slower for example for things like this message, but the bulk of what I do is just typing in little bits of text and source code here and there so the speed loss is acceptable.

If I were typing in large blocks of English text for a living I would switch back to dvorak, but for a programmer qwerty is better.

Actually, if you are one of those programmers that use the mouse to use menu items, and never use shortcuts, you might be ok with dvorak.

</comment><comment><USER18> Depends. I use the "programmer dvorak" layout and it's definitely less finger- work, but you miss a few things. Cut and paste is a bit more of a hassle. I look like an idiot on QWERTY keyboards because I haven't bothered to remember it. You can practice both but it's much easier/faster to just switch.

I'm happy with my decision because it's one short decision and affects the rest of my typing life - ie forever. The reduced impact on my fingers and wrists seems worth it.

</comment><comment><USER19> As DavidSJ noted, typing in Dvorak doesn't make programming any easier. However, there are newer generations of Dvorak such as Programmer's Dvorak ([http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard#Prog...](http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard#Programmer_Dvorak)) that attempt to make it easier. I've been using plain Dvorak, because I didn't learn about the alternatives in time. I don't think the switch has made much difference either way.

Oddly enough, the change that has caused the greatest increase in typing speed for me was starting to use my netbook keyboard. Most people will find this insane, but the smaller keyboard decreases finger travel, so as long as your fingers are small enough to continue typing with precision it ends up being a plus.

I think it's pretty meaningless to worry about typing speed being a productivity problem while programming. I can type at 120 wpm, but only 85 wpm while typing composed English, and about 35 wpm typing code. It's much more about brain latency. :)

</comment><comment><USER20> Not to be snarky but I'm curious what you're doing that you need extremely fast typing for? I rarely find that typing is my bottleneck, it's usually my brain.

That said, why not give it a shot for a day or two? At worst, you'll realize it is going to take forever to regain speed - at best, you're well on your way to using the new layout.

<comment><AUTHOR> It sometimes happen, not often, that my brain needs spurts of speed from my hands, and it's then that I notice that particularly my left hand holds me back. I've taken DVORAK under consideration as it's partly designed to detangle the left hand.

I'm not sure that a valid comparison / assessment can be made after a day or two's use.

<comment><USER20> Fair enough, I should have first stated that I've never tried DVORAK (so take my advice with a block of salt). What about giving it a week then? I suppose my point was that you won't know how hard it is until you give it a shot for a little while. People all learn differently, the only way to know is to just give it a shot.

</comment></comment></comment><comment><USER21> I started using dvorak some years ago. I have since switched back. I don't think it helped my speed or my hands, and there were too many other costs which made it not worth while: having to set it up every time you reload your OS or start a VM, or change window managers, etc; it made the vi editor unusable, and while I mostly use emacs the ubiquity of vi makes it inevitable; using other computers in the lab became difficult, because they are shared with other people who used querty; it sometimes confused some programs and made them unusable; and so on.

I don't think there is a long-term gain to be had. Read <http://reason.com/archives/1996/06/01/typing-errors> for an account of the qwerty myth.

<comment><USER22> I use Colemak and I can still touch type on qwerty (but slower and with more errors). There is a Colemak mode for Vim and for Emacs keyboard layout doesn't really matter.

</comment></comment><comment><USER23> I began using Dvorak because I heard it could be helpful in reducing RSI symptoms. It took several weeks to become proficient, so I don't recommend learning Dvorak with a big deadline looming. As a programmer, the most frustrating aspect of Dvorak is cut/copy/paste because the X/C/V keys are all over the place. I imagine this would be a problem for hardcore vi users too. The benefit is that my fingers travel less, so typing hurts less.

</comment><comment><USER24> As alternative do DVORAK you could use the NEO-Layout it has a third modifier for parenthesis an that stuff. But I think is it very dangerous to use a different keyboard layout. I used NEO quite a time and I got a bit faster than on qwertz. but sometimes i had to use other computers than mine and i this moments I were doomed. I had to use two fingers with looking on the keyboard. That was my reason to switch back.

</comment><comment><USER25> Keep in mind though one thing;

If you use the terminal often, you'll be using TAB, and even if you switch to DVORAK you'll still have repetitive action.

</comment><comment><USER26> I switched to dvorak 3 or 4 years ago after 15 or so years of touch typing on qwerty. At the time I switched I could type ~120 wpm with qwerty. It took very little time to get up to 60-70 wpm on dvorak. Now, after 3-4 years on dvorak, I can type 90-100 wpm. So my advice is similar to others here. Don't switch for speed. I have never had RSI problems, so I can't comment on that aspect.

</comment><comment><USER27> I'm using a type-II (German) Dvorak with some custom modifications that map [({<})]> to Alt Gr+homerow (Linux)/Alt+homerow (Mac) and the caps lock key to Alt Gr and Alt, respectively. I switched for ergonomics (big improvement, no RSI pain at all) not speed; if my speed has improved, it's probably not by much, but then I don't think I've ever wished for faster typing speed.

</comment><comment><USER28> It took me about two weeks to learn it well enough to where I could instant message my friends comfortably. I didn't notice any speed-up from the switch. I did seem to notice less stress on my fingers after a full day. Eventually I had to switch off of it because I found oscillating between QWERTY and Dvorak keyboards (for example home vs work vs friend vs lab) was annoying.

</comment><comment><USER29> As others have said, the major benefit of Dvorak isn't speed -- it's comfort. Your fingers do a lot less work typing Dvorak than QWERTY.

<comment><USER30> Yes: I switched about 14 years ago. It took me about three (frustrating) weeks until my Dvorak speed caught up to my querty speed---it isn't noticeably faster for me---but my wrist and hand pain completely disappeared after about a week.

Furthermore, if you actually switch back even for a few minutes once a week or so, your Qwerty typing won't atrophy much at all.

However, I wouldn't bother switching unless you're pretty sure that you're going to be spending several hours a day typing, and mostly on the same small number of computers. Reconfiguring any modern computer back and forth between Qwerty and Dvorak is easy, but it's completely maddening for anyone with whom you share a computer.

</comment></comment><comment><USER31> Don't listen to the DVORAK people. All the things they say are just FUD with no scientific studies to back them up. There is no real evidence that it is better in terms of ergonomics or speed. If you do switch to DVORAK, you will have lots of inconvenience because the world is QWERTY.

The very real advantages of sticking with the world standard greatly outweigh any imaginary advantages of changing layout. Your best bet is to just get a better keyboard, physically speaking.

<comment><USER5> No studies?

[http://www.dvorak- keyboards.com/Dvorak_vs_qwerty_keyboard_te...](http://www.dvorak- keyboards.com/Dvorak_vs_qwerty_keyboard_tests.htm)

Remember: A study need not be published in a journal and well-typeset to be scientific.

<comment><USER32> "Remember: A study need not be published in a journal and well-typeset to be scientific."

Even better, as programmers we can write scripts to compare layouts and calculate whatever statistics we want to. aAfew years ago, contemplating the switch to Dvorak (not really to optimize typing efficiency, I was getting twinges in my wrists and the doc said they were early warning signs of RSI) I wrote a ruby script to compare a given body of text against both Dvorak and Qwerty layouts and then I ran it against a few years of code I had on my machine. The Dvorak layout showed a significant decrease in amount of finger movement, especially movement off the home row. Good enough for me.

It took me about a month to get back to my original typing speed. I don't have to use other people's computers often so it works for me.

my 2 cents. (oh yeah no more wrist pain. fwiw)

</comment></comment></comment><comment><USER22> Check out Colemak. I don't think I type much faster with Colemak but it's much more comfortable.

</comment><comment><USER33> I just use the 0 and 1 keys and have my IDE convert to corresponding character every 8 keypresses. This way I don't have to move my fingers around at all and only need two fingers. It's a minor speedup and lets most of your fingers rest all day.

</comment><comment><USER34> Which language/IDE are you using?</comment>