Quantum Entanglement Holds DNA Together, Say Physicists - <AUTHOR> http://www.technologyreview.com/blog/arxiv/25375/?ref=rss <comment><USER2> Wow a biophysics related article on HN. I can finally be an interesting commenter!

First and foremost, no one is writing off quantum mechanics. There are a lot of physical mechanisms that can't be well described by classical models: charge transport, some examples in protein folding, optical interactions, etc.

The issue is that current computational resources are limited. We can't even give a full MM (classical) simulation of a small virus without months of distributed computing efforts and thats with algorithms that scale like O(n^3).

Even DFT models that are pretty far from the theory we're looking at O(n^5). It'll be farther into the future before we can do more.

That said QM/MM simulations of macromolecules (DNA in particular) are extremely common though the goals may be quite different so I'm not entirely certain where the basis for the claim that CV entanglement is needed for stability at a physical level. They do such a simulation with 2 different factors for the VDW interaction and note that shrinking it by a factor 10 leads to stability issues. (Rather obvious claim in context)

The authors recognize entirely that this model is not going to be accurate. The question is, how inaccurate can you be before your results don't mean anything?

To me their work kinda straddles the line. Issues with their simple model I see: Lack of rotational degrees of freedom of the base-pairs, Lack of a polarizing solution (water) !!! (Critical since the entire basis of this was the non-trivial mechanics of non-permanent dipole moments)

And of course the very obvious issues that arise from modeling DNA as just a plane of positive charge with a single electron orbital.

All they end up saying is that for that scaling factor at the very small value you don't get as much of an energy increase in the molecule that leads to instability in a "normal" QM/MM simulation. I'm certainly not convinced that this energy difference can be directly said to be because of entanglement and not just flaws in their model and certainly not willing to say that this small value represents anything physical.

There were a few more confusing things in the analysis but I admit I'm only glancing over the paper but I think the most we can take away from this is that there may be non-trivial effects of CV entanglement. Maybe that's all they really wanted.

<comment><USER3> O(n __3) for classical MM? Electrostatics is O(n __2) and with multipole methods it's less than that. What's O(n __3) about MM?

<comment><USER2> One of many typos unfortunately.

Keeping track of everything explicitly its n^2.

Also it really, really depends on the level of theory for the scaling of quantum regions/algorithms. To say at minimum O(n^5) is incorrect.

</comment></comment></comment><comment><USER4> I'm reminded every time I hear about QM being "weird", of Eliezer Yudkowsky's Quantum Physics sequence.

"I am not going to tell you that quantum mechanics is weird, bizarre, confusing, or alien. QM is counterintuitive, but that is a problem with your intuitions, not a problem with quantum mechanics. Quantum mechanics has been around for billions of years before the Sun coalesced from interstellar hydrogen. Quantum mechanics was here before you were, and if you have a problem with that, you are the one who needs to change. QM sure won't. There are no surprising facts, only models that are surprised by facts; and if a model is surprised by the facts, it is no credit to that model."

<http://lesswrong.com/lw/r5/the_quantum_physics_sequence/>

</comment><comment><USER5> As a physicist, one can't even think about 'chemistry' without starting with the Schrödinger equation..

<comment><USER6> as a physics major who went back for med school pre-reqs several years later, including orgo, this is so true. I spent a huge amount of the class trying to ignore the screaming oversimplifications.

</comment></comment><comment><USER7> It's disappointing to see the comments section of the arxiv blog being used for spam.</comment>


Lies Google and Facebook Spouted About Privacy Before Congress - <AUTHOR> https://gizmodo.com/the-three-biggest-lies-google-and-facebook-spouted-abou-1844557693 <comment><USER2> Headline is a bit inflammatory, no?

Headline: "Google and Facebook are lying about privacy!" Content: "Ok, _technically_ they weren't lying"

<comment><USER3> Exactly. If the author admits that those weren't actually lies, then the headline itself is a lie.

<comment><USER4> There's a distinction between technical truth and being candid. It's like saying that Hitler was a war hero who managed to kill a key nazi leader - technically true, but deliberately misleading.

</comment></comment></comment><comment><USER5> "Piss-poor reputation", "did jack shit"?

This isn't journalism. This is article written by an angry 14 year old, purely just for clicks.

<comment><USER2> +1, it felt a lot like angry venting suited to a reddit thread more than an article posted on HN.

</comment></comment><comment><USER6> The "right to be forgotten" seems at odds with the more fundamental right to remember things.

</comment><comment><USER7> Going on and on about the privacy implications is a distraction from the more real and more fundamental problem of corporate censorship. Nobody is harmed by ad targeting. We are all harmed by censorship.

<comment><USER8> You don't need to either/or these 2 concepts. Societies always have some amount of negative and positive freedoms. In Germany it's illegal to do the Nazi salute in public, which is a form of ideological censorship, but there's a valid, widely accepted reason for that. On the other hand, privacy is a Human Right, so there's also wide consensus as to its value. Violating the privacy of the masses, in order to sell more products, is not exactly something that is very defensible because we collectively seem to find it unethical.

<comment><USER7> The question-begging in your comment is astounding. _Who decides_ that a certain level of public control over individual behavior is acceptable? _Who decides_ what counts as privacy? I don't really care what Germany does. I'm not German and I didn't vote for the EU's GDPR or Germany's speech laws. And there sure as hell isn't a broad consensus in the US that tech censorship is okay despite activists trying to pretend that there is.</comment></comment></comment>


How Savvy Startups Use Unique Data to Go Viral - <AUTHOR> https://www.techinasia.com/talk/how-savvy-startups-use-unique-data-to-go-viral/

<comment><USER2> > This survey about how people use their phones while on the toilet only had > ten questions,

The problem with surveys asking about _behaviors_ is that it gathers unreliable data.

That's why you get contradictions where men/women say they want features x,y,z in a partner but they end up being attracted to something else.

Or you survey people about 2 food menu choices and the respondents answer with the "healthier" choice but the real data from point-of-sale system shows they ordered the unhealthier option.

Or they say they look at X 1st and then Y 2nd on websites but eye-tracking software doesn't agree.

It's not that people are dishonest; it's that people are terrible at self- reporting how they actually behave. The counter-intuitive results need to come from hidden cameras, point-of-sale data, functional MRI scans, etc instead of questionnaires.

If the survey is asking about _nouns_ (what they have) instead of _verbs_ (what they think they do), it's more reliable. For example, a survey asking _" what's your shoe size?"_ or _" how many children do you have?"_ doesn't cause people to give contradictory answers.

I'm also skeptical of websites using "focus groups" asking people " _would you pay for X if it had Y?_ " type of questions. You may get better answers by just trying different things and parsing server logs to measure actual user engagement. People don't know what they want, or they'll tell you what you want to hear. When it comes time to actually make a decision about spending money, their actions contradict the survey answers.

<comment><USER3> > The problem with surveys asking about behaviors is that it gathers > unreliable data.

But the point of doing the surveys is not to gather reliable data -- it's to generate clickbait headlines that will go viral. Even if the sample size is 10 and p is hacked to bits, people are going to share your "Android Users 3 Times More Likely to Drop Their Phone in Toilet" blog post.</comment></comment>


Stop Me Before I "Innovate" Again - <AUTHOR> http://blogs.hbr.org/2013/12/stop-me-before-i-innovate-again

<comment><USER2> I thought the key learning was the average exec gives their organization a 7 out of 10 on innovation. We're all above average in our own minds.

</comment><comment><USER3> Hackernews "editors" or whateverthefuck you call yourselves, hang your heads in shame for letting this absolute drivel even make it on the site.

<comment><USER4> It's better than reading about why some crap start-up founder telling us why they're using Meteor and why you should too.</comment></comment>


The Marine's Secret Weapon: Coffee - <AUTHOR> http://atwar.blogs.nytimes.com/2013/08/16/the-marines-secret-weapon-coffee/?hp

<comment><USER2> Great stories in the blog comments.</comment>


Ask HN: How to handle gender transition as tech lead? - <AUTHOR> Hi all. Sorry if HN isn't the right place for this. Posting from a throwaway account as my main account is tied to my online identity and I'd like to keep this information private for now.
So, I've been the lead software developer for a startup for quite some time now. I love my job and the people I work with, and I'm happy to see the business growing at a faster rate than ever before. As part of my job, I spend a lot of time planning and meeting with other people (department heads, B2B partners and of course members of my own team). I'm basically the company's "point person" on all things tech / software related.
That leads me to my current dilemma which is that I've decided that I can no longer ignore an issue that I've dealt with for as long as I can remember: gender dysphoria. I'm so exhausted. My entire life has become work because I've "checked out" in my personal life due to the pain of having to pretend to be someone I'm not. I can barely look at a mirror anymore and I'm pretty much living my life day-by-day despite being successful in my career and everyone being so "proud" of me. I want to live a real life and not one where I'm pretending to be someone who appears to have their life together.
All that said, I'm worried about what will happen with my job. I'll definitely be "stealth" for quite some time but I expect there will be a point where the people I work with will find out. My coworkers are people that have been part of my life (or several years in some cases and none of them have any idea about this. I'm afraid they'll figure out what's going on and honestly I can't continue to avoid dealing with this myself.
So I guess my questions are:
1. Has anyone else been through this and how did you deal with it? 2. How will my team and other managers perceive me as a lead if they find out? 3. Should I stay where I am and open up to my coworkers or just cut ties with everyone and find another job where I'm starting new?
Thanks in advance. <comment><USER2> So I will give you my perspective as a team member whose team lead transition a couple years ago.

The initial announcement was awkward but the company supported her. She must have been in talks with them for a while. At the announcement meeting, she told us she would come back as a female after a short vacation period. HR attended the meeting. They followed up with a clear statement they support her transition and wouldn't tolerate any harassment.

For me, the hardest part was keeping the pronouns correct when talking about them in the 3rd person. Most people respected her after the transition and leadership do not treat her any differently. Some of the people didn't accept her after the transition but HR did not tolerate any harassment. I think she lost some work "friends" but overall she is a lot happier. I think it was totaly worth it. She eventually changed jobs and her new reports don't treat her differently.

<comment><USER3> There are different types of respect. Most people knew to keep their mouths shut. They have mortgages to pay and kids to feed, so they dare not freely speak their minds.

Even HR is in that same boat, but worse. HR has to act supportive. Don't believe for a moment that HR is free of people with contrary opinions.

</comment></comment><comment><USER4> If my team lead had a sex change it would definitely make things a bit strange. Not saying there would be discrimination right, but it would 100% change things. I can't imagine it not affecting day to day.

I would suggest stay in your current job until you decide to change, then switch it up for your own sanity. Fresh you fresh job fresh day to day, you know.</comment>


How To Make Any 3rd Grader Love Math - <AUTHOR> http://mobilelearningblog.com/2010/10/14/how-to-make-any-3rd-grader-love-math/

<comment><USER2> Ugh! This sounds exactly like pseudo-context as described by Dan Meyer (<http://blog.mrmeyer.com/?p=8002>). There are so many awesome things to inspire someone in math, and slapping a popular movie character on rote drills seems like a misguided approach to motivating the challenge. I mean, on the one hand, good for you if you can find some trappings to make doing drills more fun. But while you're getting them to exercise skills, you're really missing out on the deep and fulfilling motivations that exist for math!

<comment><USER3> That's what I thought of immediately as well, but I'm not sure it's even pseudo-context. Pseudo-context would be "if Hermione cast 5 spells yesterday, and two today, how many in total did she cast?" This is just math drills (another 'technique' that has its supporters and opponents) with a coat of shiny paint, hoping that the paint is pretty enough that a kid will pay attention to it in spite of the math.

</comment></comment><comment><USER4> I think this approach is self-defeating. You could use it to teach your daughter (or son) to take math quizzes well, but you will never use it to inspire them to appreciate the beauty of math.

In my experience, most of these "make-learning-fun" tools are really about making learning independent enough that parents don't have to participate.

If you want any third grader to love math, have her mom and dad cajole and joke and help and love her while she is learning it.

I learned my multiplication tables because my father would teach me bits of algebra, but only after I could get the flash cards right. He wasn't distracting me, he was rooting for me, showing me the underlying beauty of math, while also demanding I get the basic memorization right.

<comment><USER5> I don't think he spent time making a custom iPad app for his daughter so he could make learning independent enough to not participate. He was merely trying to apply one of his strengths (programming), his background (a startup designing educational games), and background knowledge (knowing his daughter loved Harry Potter) to try to create a better learning experience for his daughter, which is something I think every good educator, whether it's a teacher, parent, or peer, should do. You have to teach people to your strengths and their strengths - if he was an author and chose to teach math to his daughter in the context of elaborate stories and fairy tales, would you call that self-defeating as well?

This reminded me of Randy Pausch's last lecture (if you haven't had a chance to watch it, I highly recommend it - <http://www.youtube.com/watch?v=ji5_MqicxSo>). Teaching kids is all about headfakes* - you are't encouraging them to play soccer so they can go and play in the World Cup, but rather so they have a fun context to learn about things like hard work, practice, and teamwork. Analogously, I think this personalized Harry Potter app just teaches his daughter that learning doesn't always have to feel like work, not specifically that she should spend all day trying to get praises from Hermoine and British men answering math problems.

* Disclaimer: I don't have kids and know little to nothing about raising or educating kids.

<comment><USER6> >you are't encouraging them to play soccer so they can go and play in the World Cup, but rather so they have a fun context to learn about things like hard work, practice, and teamwork

I'm sure many people (parents|teachers|other educators)see things like sports in this way. Personally I'm teaching my kids football because I enjoy kicking a football around and playing the game - it's not a direct proxy for learning something else, that is not the motivation.

The reason I'm teaching my eldest about maths is because I find it interesting, stimulating and often fun; not because I see it as a gateway to being an accountant or whatever.

Having said that I see nothing novel educationally in the article except the very specific combination of movie franchise + ipad + maths. Remember Britney Spears being used to teach physics a few years ago?

Slightly OT: I don't think his reasons as stated indemnify him from a successful claim of copyright infringement. He chose the specific franchise as a promotional tool both for his blog and for, it seems, KnowPro Apps. This was apparently a decision rooted in the profitable promotion of business entities. The fact that the app he mention itself was created for sole personal use is immaterial. If there is a KnowPro paid for this app in any way then I'd expect a successful suit could follow. IANA©L

<comment><USER7> Thanks for your feedback.

I think the novelty comes in exactly what you state, and I think that the educational system relies too heavily on the status quo. There would be nothing wrong with a classroom posting pictures of Harry Potter and couching a lesson in the Harry Potter clothes in order to drive more student involvement. It's no different than when Jeopardy was popular 10 years ago and Jeopardy- like student challenges spread across schools.

With respect to the copyright infringement aspect, I hope that is not the case. I believe that many people are visual learners and seeing an example can have a much more powerful result than a mere description. It was with that intention that I posted the video. I do not plan to distribute the app as that would clearly be in copyright violation.

</comment></comment></comment></comment><comment><USER8> So I actually did spend some time to create IPad apps for my kids to help them learn math (Beginning Math and Times Table Helper -- for sale on the app store now :).

Couple of things I don't like here: 1\. First thing I see is time math quizzes. Timed math tests are flat out evil. I'm thinking of the 60 problems in 60 seconds variety I had as a 3rd graders (and failed). Don't do this to your kids. Let them go at their own pace.

2\. That is a lot of distractions. If you have ever dealt with dyslexic kids (prone to mentally wander off -- and I am dyslexic as well), this is not helpful.

Not all electronic learning software needs to be game oriented.

</comment><comment><USER9> Harry Potter aside, any child whose parents are this involved will be a smashing success.

</comment><comment><USER10> Leap Frog is already one step ahead of him with that one: <http://www.leapfrog.com/gaming/didj/>

You can plug it in to the computer and personalize the learning content, i.e. enter your kid's spelling words for that week, or a specific set of math problems, etc. Doing good in the games unlocks points they can redeem to earn custom game backgrounds, characters, and so on. There are a handful of games for the system, Spongebob, LEGO, Star Wars, maybe even a Harry Potter.

It's kind of a neat system (but a bit buggy). I don't think it works particularly well for teaching, but for doing drills on the stuff that just has to be memorized, like basic math facts and spelling, I think it serves its purpose.

What made my 3rd grader love math (it's her favorite subject) was understanding the hows and whys behind it and seeing some practical application of it. The more complicated it is, the more she likes it, and so she memorized the basic facts in order to get to the good bits. I'm not entirely convinced, though, that this is typical 8yr old behavior.

</comment><comment><USER11> In general I don't like this approach to learning. I feel like it's counter to the rule that you shouldn't reward kids for things they should be expected to do.

That being said, he says clearly that this is about learning math facts. The are the one rote part left in the early math curriculum. It's going to be painful for most kids. I know this from very recent experience. Anything you can do to help I think is advantageous.

He should not have titled his post as he did. It should have been titled "How to get any 3rd grader to learn their math facts more efficiently". I think that's what he meant to say anyway.

<comment><USER7> My wife and I agree that we should not reward our children for things we consider a requirement of being a part of our family: education, chores, charity, manners, etc.

That being said, I think there's no reason why kids can't have more fun while they're learning. And if it helps them study/practice longer, what's the harm?

I agree that your title is more exacting. :)

</comment></comment><comment><USER12> The problem isn't any individual 3rd grader, the problem is the nearly society-wide acceptance of innumeracy, sometimes even approval of innumeracy. I think this will be one of the factors limiting (economic) growth in the future.

</comment><comment><USER13> I love the idea of personalized education.

My daughters, who LOVE Harry Potter, would kill to have that app too! :)

</comment><comment><USER14> This would be a bit more fun with word problems involving the time turner, potions, etc.

"Fluffy has three heads, and each head can eat two bowls in a sitting...how many bowls should Hermione fill to satisfy him?"

<comment><USER7> That's a great idea! I may try to incorporate some word problems into the app to tie together reading comprehension with basic math skills.

</comment></comment><comment><USER15> In the video, is the guy saying "brilliant!" a sample from a Guinness commercial? Well played.

</comment><comment><USER16> From [http://mobilelearningblog.com/2010/10/14/how-to-make- any-3rd...](http://mobilelearningblog.com/2010/10/14/how-to-make-any-3rd- grader-love-math/#copyright):

 _The Hermione Granger math app that was created was purely for individual use. This app will not be distributed, sold, shared or otherwise provided publicly. We respect the rights of copyright holders._

That just makes me sad.

<comment><USER17> Having worked, tangentially, on a Harry Potter Video game I can tell you that if the Harry Potter machine thought it could make money from such a title it would be in every app store on the planet.</comment></comment>


SproutBox Incubator Provides Services Instead of Cash - <AUTHOR> http://www.centernetworks.com/sproutbox-incubator

<comment><USER2> This is an interesting approach. Not sure why the title says "like YC" other than as link bait. The only similarities are that they are both helping to start startups.

In any case, this is an interesting approach. They are essentially hired guns who take 20-40% of your company in exchange for "200-250K" of services to help you build it and enough money for living not to be a distraction. Can't be that expensive in Bloomington, IN. Maybe this is the answer to the age old "I'm an MBA and have this great idea, but I my coding skills start at logging into my laptop and end at adding cells in Excel" problem.

While not appealing to me, this could churn out some pretty interesting companies as they are very focused on revenue ... something that many others just aren't. I'm eager to see what they can do.

</comment><comment><USER3> Disclaimer: I'm based in Bloomington, IN and met the sproutbox founders a few times.

In the first dotcom crash, I worked for an incubator that had a similar approach: providing talents and services to 'idea people' while running our own project. It was a complete failure and closed in less than a year. Our own project failed to bring any revenue, and the other projects we started lacked any sort of commitment from the 'idea people'. We also had a short runway and an oversized team which prevented us from adapting to changing circumstances.

There are a couple things that makes me much more optimistic about Sproutbox chances. First, their team is much more talented that ours ever was. They could (and did) just build their own apps and be very successful.

Secondly, they focus on revenue-generating businesses. They may not start the next twitter or youtube, but that makes them much more likely to be around long enough to get your idea off to a good start.

</comment><comment><USER4> I've met a couple of the SproutBox founders at Indianapolis' Startup Weekend last year. I can't speak to their business savvy, but they were nice, and enthusiastic about their business. In my opinion, they would be a lot of fun with which to work. Indiana University is in Bloomington. IU has a top 20 business school (undergrad and grad, according to BusinessWeek: <http://www.businessweek.com/bschools/rankings/>). SproutBox intend to take advantage of (in a good way) the dreamers in the business program and the low cost of living. Indianapolis is only 1 - 1.5 hours to the north.

Incidentally, another top 20 business program resides in northern Indiana at Notre Dame.

Also worth mentioning, before taking any applications, SproutBox developed a couple apps for themselves (<http://sproutbox.com/sprouts>).</comment>


AngularJS Screencasts - <AUTHOR> http://www.egghead.io/ <comment><USER2> I was recently at an AngularJS meetup at Google. One exciting (and drool- worthy) advancement the devs are making when it comes to Angular's documentation: a fully interactive Codecademy-style 5-step tutorial. You can see a rough demo here: [http://184.108.40.206/](http://126.96.36.199/). They said they'd finish it in the coming weeks.

<comment><USER3> Fantastic! I did hear there were some big documentation updates coming, hopefully this is the first of many. Thanks for sharing.

</comment></comment><comment><USER4> My problem with the Angular docs is that they're written by people who are steeped in Angular. It's the oldest problem in technical writing. How do you convey something that you grok? These videos have helped me, but when I actually sat down to cut code, I felt like I had to start all over again. I was still lost.

Lately I've been trying to use Anki to improve my recall of technical facts. Forensically deconstructing the docs has helped because I have to focus, _really focus_ , to pick out the important things.

And it's still hard to parse anyway. Especially when there are restatements of previous restatements that are sufficiently incompatible that you wonder which is correct. I've popped the hood several times to read the damn code, which IMO sorta kinda defeats the purpose of documentation (and the fondness for large compound boolean statements gives me the heebie-jeebies).

And don't get me _started_ on the idiocy of using sigils to configure behaviour.

I will stick with it, but I can see that I am going to be reading and re- reading and re-re-re-reading the docs and code for a few weeks yet.

edit: "The problem" to "My problem".

<comment><USER5> I disagree. I found the tutorial for beginners really well done and when followed by the conceptual model it was solid.

We're thinking of integrating them into our course at [http://www.thinkful.com/](http://www.thinkful.com/) – though we provide more structure than just the docs, they're pretty solid on their own.

Those resources are \- [http://docs.angularjs.org/tutorial/step_00](http://docs.angularjs.org/tutorial/step_00) \- [http://docs.angularjs.org/guide/concepts](http://docs.angularjs.org/guide/concepts)

<comment> at-fates-hands Agreed.

I actually started with Backbone and found the documentation sketchy. Nearly every tutorial had a different configuration than the last one. Backbone and Rails, Backbone, Ember and Mongo, Backbone and Coffeescript.

Nearly every one of the Angular tutorials was concise, took the same approach and used the entire framework, without any other dependencies. This made it easy to learn dig in and get going. In the few weeks I've been learning Angular, I've already built two CRUD apps and a pretty sophisticated navigation with it.

It just feels like a full fledged framework, as opposed to just a useful library.

</comment></comment></comment><comment><USER6> These screencasts by John Lindquist, available for many months with new ones appearing frequently, are awesome. The youtube channel is [http://www.youtube.com/user/johnlindquist](http://www.youtube.com/user/johnlindquist).

John provides very quick yet potent explanations of most features in AngularJS. All those videos can be played at 1.5X speed using YouTube's HTML5 mode. Takes roughly 2 hours to complete them.

<comment><USER7> looking at "whois egghead.io", it's John's site.

</comment></comment><comment><USER8> FYI - the source code isn't published with the videos, but @mattfriz created a github repo with all of the code used in each tutorial: [https://github.com/msfrisbie/egghead- angularjs](https://github.com/msfrisbie/egghead-angularjs)

<comment><USER9> thank you! i was looking everywhere for this!

</comment></comment><comment><USER10> I've built some real time front end stuff with knockout (due to starting off with backbone and still wanting to use the models and collections via knockback) so I'm not a complete beginner. I'm struggling with which reactive UI library to go with, but I think I'm basically down to ember and angular. Here's how I want to build my next app:

Haskell on the backend. Probably with data in postgres, but using an event sourcing kind of pattern for the bits of state which are edited.

Communication between the browser, other systems and the back end should allow separation of query and command (so updates are pushed to the backend state via one channel and pubslished back out via another). However it should be essentially realtime - websockets.

Operational transform for edits to the state. I'm on the fence with this one as I'm not sure what the overlap is between event sourcing and OT. Anyone who's implemented either care to comment? This seems to equate to using sharejs on the front end to marshal changes in the model to the back end and vice versa?

I'd consider using one of the haskell -> js libraries, but I'd also go with coffeescript here happily. I've played with Fay a bit and sunroof looks good too. Anyone using these?

The stuff above has been percolating for a while based on my experiences building the infrastructure for a hedge fund recently, and the gradual evolution from a mostly traditional restful app to a much more realtime system. Does anyone have any thoughts (not necessarily just on the specific technology mentioned but on how it all might fit together)?

</comment><comment><USER11> I also found [https://news.ycombinator.com/item?id=5839553](https://news.ycombinator.com/item?id=5839553) to be super useful for actually getting started with AngularJS with no experience.

Then moving onto egghead.io tutorials.

<comment><USER12> In addition to the first three tutorials I just put out another cast on tuesday, here's the full updated list:

* Part 1: Intro to Angular JS (50 minutes) [1]

* Part 2: End to End with Angular JS (52 minutes) [2]

* Part 3: Security with Angular JS (30 minutes) [3]

* Part 4: Frontend Workflows with Grunt and Angular JS (~60 minutes) [4]

[1] - [http://www.youtube.com/watch?v=8ILQOFAgaXE](http://www.youtube.com/watch?v=8ILQOFAgaXE)

[2] - [http://www.youtube.com/watch?v=hqAyiqUs93c](http://www.youtube.com/watch?v=hqAyiqUs93c)

[3] - [http://www.youtube.com/watch?v=18ifoT- Id54](http://www.youtube.com/watch?v=18ifoT-Id54)

[4] - [http://www.youtube.com/watch?v=fSAgFxjFSqY](http://www.youtube.com/watch?v=fSAgFxjFSqY)

<comment><USER13> These are amazing, have you considered authoring for something like Lynda.com ? Or make a site with lots of screencast, as a beginner I would pay to have good Angular JS video tutorials from an expert.

<comment><USER12> I'm just going to keep putting out casts for free, some will be Angular JS related in the future but my general idea is to focus on screencasts that will benefit web developers in general. Thanks for watching! :)

</comment></comment></comment></comment><comment><USER14> All the introductory stuff for AngularJS I've seen so far is "client-side" \- auto-updating bindings, the ToDo list etc.

Is there a similarly pitched tutorial about how to persist this back to a server, or how to write an API service that interacts best with the AngularJS model? Nothing in the list of video titles suggests that kind of help.

<comment><USER15> Angular is agnostic of the back-end. Just use the $http service to read/write async from the server. The angular model is whatever your model is - there are no restrictions

<comment><USER14> I understand that, but an application isn't an island; presumably a server that speaks JSON is easiest to deal with, and there are probably a number of gotchas on "how best to build a backend that works the way AngularJS works well". I've not found anything like that yet and I'd love someone to point me to it.

<comment><USER15> OK I get you. The angular-app [1] is a full stack app with angular front-end, node back-end. It's not a walkthrough but you could certainly read through the code

[1] [https://github.com/angular-app/angular-app](https://github.com/angular- app/angular-app)

</comment></comment></comment></comment><comment><USER16> Two things I love about these videos:

1) They're far simpler and easier to follow than anything I've found in the official Angular docs 2) He includes a brief section on testing. I'm a self- taught developer and work exclusively on my own projects. And I rely pretty heavily on tutorials. It's so rare to find a tutorial that spends any time at all on testing.

</comment><comment><USER17> I am pleasantly surprised with AngularJS's prowess. I've thrown some really dynamic and tricky stuff at it, and it has never failed. In the foreseeable future, I think I can take out jQuery from my app altogether.

I'm a self-taught developer, and the learning curve was steep. The to-do app, and Lindquist's videos made it significantly easy, though.

</comment><comment><USER18> Nice post! This is the kind of stuff I love finding on HN.

</comment><comment><USER19> Everyone keeps saying I should use Restangular instead of ngResource but so far I haven't seen any good reasons to. Anyone care to enlighten me?

<comment><USER20> Heh.. I still don't know yet.

I'm building a fairly big Django/Angular project with ngResource and have been trying to replace it with Restangular, which has a nice API. But both have pros and cons:

What I like about ngResource is that returned data is automagically filled in as soon as the AJAX request completes. I can do this:

      function controller(Resource) {
        $scope.thing = Resource.get(); // here $scope.thing is an empty object, will be filled in as soon as data arrives

        $scope.do = function() { alert ($scope.thing.name); }
      }

Restangular returns promises instead, so to replicate the above code I'll have to do

      function controller(Restangular) {
        $scope.thing = Restangular.one('thing', 1).get();
        // $scope.thing is a promise, I can't directly access its members in the controller, but since angular templating has native support of promises, I can use {{thing.name}} there.

        $scope.do = function() {
          $scope.thing.then(function(thing) {
            alert(thing.name);
          }
        }
      }

\-- or --

      function controller(Restangular) {
        // I think that's ugly
        Restangular.one('thing', 1).get().then(function(thing) {
          $scope.thing = thing;
        }

        // $scope.do will be the same as in the ngResource example
      }

Conclusion: Restangular has a nice API - but magically filling list/object is ngResource major selling point.

What I'd like from both is a nice getOrCreate method for elements, where it POSTs if the object doesn't have an ID set, otherwise sends a PUT. In CRUD forms I try to use the same controller for both "new" and "edit" actions, and I don't want to check the presence of ID and call the appropriate method every time.

Also, if Angular could handle REST data with a higher level library inspired by Ember.Data, I could die a happy programmer.

</comment></comment><comment><USER21> I am just getting started with Angular on an app this week, thanks for sharing this! Looking forward to digging in.

<comment><USER22> He has videos on his youtube channel he hasn't posted to Egghead.io

</comment></comment><comment><USER23> This is nowhere near being new, but invaluable for anyone trying to get past the terrible AngularJS docs.

<comment><USER24> i believe there is an improve doc button. If you find AngularJS valuable , dont hesitate ;)

<comment><USER25> If the person can't understand how to use the thing, how would that person improve the documentation?

<comment><USER24> > but invaluable for anyone trying to get past...

he got past the do and "understood how to use the thing"

</comment></comment></comment></comment><comment><USER26> These were an amazing resource when I was ramping up on AngularJS as we were implementing at my work!

</comment><comment><USER27> I take it he's using Jetbrains Webstorm for his IDE? It looks pretty nice.

<comment><USER3> Yes, he is an evangelist for WebStorm and is involved in the new Android IDE.

</comment></comment><comment><USER28> Short, sweet, and to the point. Thanks!

</comment><comment><USER29> I'm so conflicted. Just as I'd decided to move on from Angular to Polymers, there seems to have been an explosion in interest and resources for Angular.</comment>


Bryan Cantrill: Discussion of servers, hyperscale, and Oxide Computer [video] - <AUTHOR> https://www.youtube.com/watch?v=vvZA9n3e5pc <comment><USER2> Okay - I have to say this is really cool.

<comment><USER3> I'm a little disappointed this didn't get more play. Only found it because I was curious what details Oxide had leaked out over the last couple months.</comment></comment>


Chemists find a way to unboil eggs - <AUTHOR> http://phys.org/news/2015-01-chemists-unboil-eggs.html <comment><USER3> To clarify: chemical processes that "unboil eggs" have been around for a long time [1]. The invention here is a technique that does it faster with applications in the pharma industry.

[1] [http://www.mhhe.com/biosci/genbio/raven6b/graphics/raven06b/...](http://www.mhhe.com/biosci/genbio/raven6b/graphics/raven06b/howscientiststhink/01-lab.pdf)

<comment><USER4> Somewhat off topic: you know, in the comments section of almost every science article I read there is a disclaimer similar to yours. For example, I was reading about scientists lengthening telomeres and several people had to step in to say "no this has been done several times but this is slightly cheaper." I guess that's the nature of research, but it's a bizarre feeling when it seems you never hear about the origination of some technology and yet every time you read about it it's still years away from practical application.

</comment></comment><comment><USER5> The likely application for this technology is to enable mass production of specific engineered proteins to become cheaper.

When you have a method to rapidly untangle misfolded or otherwise undesirable proteins from a tangled mass of denatured protein, that enables you to use vats of monocellular organisms to create your desired end-product, crack the cell wall or cell membrane in a manner that would denature the proteins, then use the described process to un-denature and separate the proteins. Then it re-folds.

Using such a process, you might be able to produce spider silk using modified yeast instead of modified goat milk--or actual spiders.

<comment><USER6> Don't get your hopes up, the procedure is patented.

<comment><USER7> So? Why is it bad that the procedure is patented? That's not automatically a bad thing. People invest money and time into R&D and the patent allows them to protect the invention while they make a return on that investment.

Patent trolls (organizations that patent something inane, never make the product and pray on businesses who can't afford to fight you) are the problems. I don't see an indication that these guys are trolls.

</comment></comment></comment><comment><USER8> Reminds me of that old headline, "Percy Spencer finds a way to melt a candy bar in his pocket."

Seriously, people, this discovery is not really about being able to unboil eggs. It's about a way to quickly and efficiently restore common proteins that have been misformed through heat or other processes.

<comment><USER9> I think I'm lacking context - what's the non-literal meaning behind that headline?

<comment><USER10> He walked in front of a radar system with a chocolate bar in his pocket, it melted, and the microwave was born.

</comment></comment></comment><comment><USER11> The first half of this sounds like it would make an excellent kitchen cleaner, too. My wife's bread experiments--while a freaking delicious treat--are also a freaking bear to clean up. The stretched and kneaded dough gets everywhere and refuses to budge from any slightly-porous surface it may contact.

<comment><USER12> My wife made bread last night, and while I sympathize - the parchment paper we baked it on stuck to the bottom of the bread - we didn't have any other porous surfaces anywhere near the dough.

<comment><USER11> I'm specifically thinking of the wooden spoon used to mix the dough.

<comment><USER13> not sure of your exact circumstances but I find it important to not let anything sit in the sink. If you can get your spoons and bowls washed as soon as you are done using them, then the dough remnants won't dry out become a cleaning issue.

<comment><USER11> Yes, that is absolutely a factor. But apparently my wife doesn't believe in cleaning up after herself. Only after me.

</comment></comment></comment></comment></comment><comment><USER14> But can he help us when we burn eggs to the bottom of the pan?

<comment><USER15> Cook with more fat and/or more heat. Don't put anything into a cold pan.

<comment><USER16> The best way I've found to make fried eggs is to put them over a thin layer of vegetable oil over a cold teflon pan, and turn the heat on medium-low.

</comment></comment></comment><comment><USER17> > make cancer treatments more affordable

Cute that this article believes the price of biologics for cancer treatment is in any way related to the price of manufacture.

<comment><USER18> Not the price of manufacture, the cost of research is what this will reduce.

And the research cost is definitely correlated with the final price.

<comment><USER17> From the article:

> For example, pharmaceutical companies currently create cancer antibodies in > expensive hamster ovary cells that do not often misfold proteins. The > ability to quickly and cheaply re-form common proteins from yeast or E. coli > bacteria could potentially streamline protein manufacturing and make cancer > treatments more affordable.

That is not saying research. That is quite explicitly claiming lower price of manufacture will result in cheaper cancer treatments.

<comment><USER19> It will result in cancer treatments that are cheaper to produce.

This does not mean the treatments will be more widely available, not that they will be cheaper.

Remember that drugs useful for cancer treatment in the USA are already orders of magnitude more expensive than non-US products simply because they can be.

</comment></comment></comment></comment><comment><USER20> What would this do for the storage of eggs if it could be made into a easy at home process some day? For example, my brother has chickens, which he gives the eggs out to the family. However, they lay more eggs than the family needs. He doesn't want to sell these eggs, but just wants them to be available for a much longer time. Would this process allow for the eggs to be stored for a much longer amount of time?

<comment><USER21> Besides, refrigerated eggs keep for months. And you instantly recognize a bad egg from the pugnant smell - if you have doubts the egg is fine and edible.

<comment><USER18> Unrefrigerated eggs also keep for months it's not necessary to refrigerate eggs.

<comment><USER22> _Be careful doing this._

Eggs don't need to be refrigerated BUT only if they have _never been refrigerated._ So, if you take an egg straight from the nest, for example, you don't need to refrigerate it, and it will keep for a long time – definitely weeks, maybe even months, I don't know.

However, once an egg has been refrigerated, their natural protective coating, the cuticle, starts drying out. Also, most commercial egg processors wash eggs, mostly to make them look cleaner but also, in theory, to remove salmonella. So, between the washing and the dry refrigerator environment, that cuticle is mostly gone by the time it gets to the supermarket. When you take a cold egg and leave it out at room temperature, it begins to sweat, which facilitates the growth of bacteria that could contaminate the egg.

In summary, yes, fresh from the farm eggs, can be left out at room temperature. Refrigerated supermarket eggs should be kept in the fridge or used the same day they are taken out of the fridge – ideally within 2 hours.

<comment><USER18> I've been doing this for years and had absolutely no problems. I buy eggs and leave them out with no problem at all. In one case I bought a case and left it out for a full month - not a single spoiled egg.

<comment><USER23> What country are you in? Eggs are handled differently in the EU and US meaning safe handling at home is different.

Eggs last maybe 5 weeks after sell by date. It's great that you haven't had any problems, but don't forget that salmonella will be more severe for children or old people. Salmonella can, rarely, kill vulnerable people. "salmonellosis continues to be an important cause of preventable death [...]" [http://www.ncbi.nlm.nih.gov/m/pubmed/20617938/](http://www.ncbi.nlm.nih.gov/m/pubmed/20617938/)

CDC estimated in 2005 that there were maybe 1.4m to 4m infections in the US, with about 500 to 600 deaths.

[http://www.cfsph.iastate.edu/Factsheets/pdfs/nontyphoidal_sa...](http://www.cfsph.iastate.edu/Factsheets/pdfs/nontyphoidal_salmonellosis.pdf)

<comment><USER18> US.

> Eggs are handled differently in the EU and US meaning safe handling at home > is different.

Not exactly. The _chickens_ are handled differently. In the EU they immunize them from salmonella. (But in most other countries in the world they don't, and they don't refrigerate either.)

The whole washing the egg part is a red herring in a very nice article - <USER2> it actually makes no difference.

To deal with salmonella just cook the eggs. And I would not use a raw egg even if it was refrigerated. If I wanted raw egg for a dish I would get pasteurized eggs.

> Eggs last maybe 5 weeks after sell by date.

No, they last for several months. As in they don't spoil. The egg is lower quality though, but that only matter for some dishes.

<comment><USER24> My understanding is that it's both -- the egg laying hen population in the US has some amount of salmonella infection, plus washing the cuticle off does something to promote salmonella growth in the egg (contamination from the feces on the shell able to get into the egg?). I don't have citations for this, though, and would be curious to learn more, if anyone has a good authoritative source.

USDA statistics from 1996 on salmonella in eggs put it at 1:10,000 to 1:20,000 chance of an egg being infected. It's a case of odds, and how you cook the eggs. If you're taking a dozen eggs and making mayo from scratch, then making 100 sandwiches in a cafeteria, the odds are sufficiently high that once a year you're going to make everyone sick. If you're making sunny-side up eggs, the yolk won't get heated enough to pasteurize it, but the impact is at least greatly reduced. If you're properly scrambling the eggs, then yes, they get hot enough to reduce the pathogen count to be a non-issue.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER25> In case you accidentally boiled some eggs.. Science give us hope.

<comment><USER26> If only there was further information available that shows how important this process could be in a variety of areas including the production of cancer treatments.

Why, we could even see if we can set things up so when you click on the words in the title you're taking to this "Additional Relevant Templated Information Containing Lists of Examples" or "ARTICLE" for short.

<comment><USER27> Interesting idea. Then if someone didn't understand that they had to click the words, you could describe this Relevant Templating From Archives, or "RTFA" for short.

</comment></comment></comment><comment><USER28> "To re-create a clear protein known as lysozyme once an egg has been boiled, he and his colleagues add a urea substance that chews away at the whites, liquefying the solid material."

Another interesting use for human waste however I'm not sure I would like to eat an egg that was treated with urea.

<comment><USER23> Urea is used as a food additive:

[http://www.ncbi.nlm.nih.gov/m/pubmed/16422263/](http://www.ncbi.nlm.nih.gov/m/pubmed/16422263/)

> Urea is generally recognized as safe by FDA for the following uses: side- > seam cements for food contact; an inhibitor or stabilizer in pesticide > formulations and formulations applied to animals; internal sizing for paper > and paperboard and surface sizing and coating of paper and paper board that > contact water-in-oil dairy emulsions, low-moisture fats and oils, moist > bakery products, dry solids with surface containing no free fats or oil, and > dry solids with the surface of fat or oil; and to facilitate fermentation of > wine.

It's a natural component of food:

[http://www.fda.gov/Food/IngredientsPackagingLabeling/GRAS/SC...](http://www.fda.gov/Food/IngredientsPackagingLabeling/GRAS/SCOGS/ucm261338.htm)

It can be a synthetic compound.

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

Carbamide (another name for urea) is used in some chewing gums.</comment></comment>


Is Net Zero Emissions an Impossible Goal? - <AUTHOR> http://nautil.us/issue/78/atmospheres/is-net-zero-emissions-an-impossible-goal <comment><USER2> It had better not be, or else civilization will collapse when fossil fuels eventually run out (if not before).</comment>


There's a New Language Server and Code Formatter for Erlang - <AUTHOR> https://notamonadtutorial.com/erlang-tooling-in-2020-b9606596353a <comment><USER2> > Knowing that it will be very very hard to convince every Erlang developer in > the world to format their code in the same way, we aimed at a more humble > goal: To convince every Erlang developer in the world to format their code > with the same tool.

I work at a primarily C# shop. One day we decided that our coding standards needed updating. So off went my team mate/architect and spent a whole month on that fucking nonsense. Nobody was completely happy at the end of that process.

Knobs and settings for code formatters are antifeatures that lead to talented people solving (and arguing about) antiproblems. Manually formatting code is probably a more worthwhile task than arguing about how formatting should be done. If there's an Erlang developer who doesn't care for the "one true way," I say let them manually format and nit PRs.

I'm doing `cargo fmt --all` right now and it sometimes does this thing where it removes a blank line between methods. I've really stopped caring, I let it do that slightly inferior formatting. My code is idiomatic, anyone can approach it (not just my team), problem solved, I get to work on real problems.

</comment><comment><USER3> Interestingly, this seems to be a different code formatter than the one recently shown off at Code BEAM SF a few weeks ago: [https://youtu.be/TC2F2HBNRuA](https://youtu.be/TC2F2HBNRuA)

</comment><comment><USER4> here's my git pre-commit hook to apply rebar3 format,

      #!/bin/sh

      FILES=$(git diff --cached --name-only --diff-filter=ACM |   sed 's| |\\ |g')

      echo $FILES | xargs -n 1 rebar3 format --files

      echo $FILES | xargs git add

      exit 0</comment>


Could a ban on plastic bags be fatal? - <AUTHOR> http://www.sfgate.com/default/article/Could-a-ban-on-plastic-bags-be-fatal-4266802.php <comment><USER2> As typical for science reporting, there's no link to the paper and the issue of it not being peer-reviewed is buried in a quote halfway through.

<comment><USER3> I would go even farther than you. It's not science reportin because it's a report by two law professors, working for the Wharton School of Economics. One of them, Klick, regularly writes for the Cato Institute on privatization, Austrian school economics, and so forth. It initially sounds like a scientific report, but one just has to consider the source.

</comment></comment><comment><USER4> Wash the bag.

We threw out plastic bags (and found them convenient in doing so) precisely because they were presumed contaminated.

</comment><comment> jack-r-abbit I don't mind so much the ban on plastic but I really hate that it was shackled to a requirement that the stores charge for the paper. The two are completely unrelated.

</comment><comment><USER5> Unfortunately I cannot track down the exact PR Agency, or any details really, so take this with a grain of salt... One of my former classmates worked a while for a PR Agency hired by "Big Plastic" to prevent plastic bag bans like the one in SF from spreading...

The conspiracy theorist in me would love to find a connection between these Wharton profs and that PR Agency.

</comment><comment><USER6> What about the negative effects of washing those bags?

1\. Extra drinking water usage in a state with known water supply issues. 2\. More detergent residue in the ground and oceans. 3\. Electricity usage to run the washer.

I'd suggest these come close to outweighing the plastic bag negatives.

</comment><comment><USER7> Looks like we need to go grab 5.4 Darwin awards for the people who couldn't figure out how to wash a bag.

</comment><comment><USER8> Sloppy all around. With a difference in annual deaths of 5.4 -- no thousand, no million, just 5.4 -- we're looking at a natural margin of error that cannot be accounted for without a lot more rigorous study. As this article points out, most grocers switched from plastic to paper bags, which makes the original study authors' statement of it being an immediate and visible effect on infection rate suspicious. Then the author of this "article" says the bag ban should be repealed because people won't wash their reusable bags… then she calls the bag ban a movement of the nanny state… because nanny states never protect people from their basic lack of sanitary practices? What a confused, badly reported, mess.

<comment><USER9> > _"then she calls the bag ban a movement of the nanny state"_

There are a few (helpful) signals that people send, when they've made an emotional decision and are merely trying to justify it after-the-fact. Using emotionally-charged cliches and strawmen ("nanny state") is a large flashing sign of that type.

You really shouldn't expect such a position to have any logical or philosophical consistency. Nor should you expect it to be receptive to data. If one of their pet justifications is refuted, the conclusion will remain iron-clad; they'll simply fish around for a new justification.

<comment><USER8> Agreed. I didn't expect anything, merely warning other people not to waste their time.</comment></comment></comment>


Ask YC: Why is emacs a great editor? - <AUTHOR> I recently installed emacs since a lot of people (yes - yc users) seem to think it is the best code editor around. I read that it has a steep learning curve, but that it would be worth the effort. I accepted that and started using it as my primary editor to get my hands dirty. After 2 weeks of use I'm still not productive in it. I can think of the following reasons for this:<p>- I use my mouse a lot, and it seems that emacs is made primarily for keyboard input. I don't use keyboard shortcuts much.<p>- A nice looking GUI and well designed intuitive interfaces matter to me. Emacs is extremely lacking in this respect.<p>- I simply haven't spent enough time with it - the learning curve is steeper than initially expected.<p>What do you think? Am I missing something obvious, should I carry on in the belief that this is a divine tool that just takes time to master, or is emacs simply not for me? <comment><USER2> Have you read O'Reilly's _Learning Emacs_? I strongly recommend it. It's a useful tour guide.

Failing that, have you read the tutorial?

Have you read Steve Yegge's "Effective Emacs"?

If none of that can help or inspire you then I probably don't have much chance. But I'll offer you some coaching anyway. Imagine Vince Lombardi reading this to you:

Stop using the mouse. If you're using emacs and you're touching the mouse, you're doing it wrong.

Stop fretting about the GUI. Why does your editor need a GUI? Emacs is a _text editor_ , a program that is all about _text_. It's _text_ all the way down. If it had more chrome, that would be wasting pixels that _could be devoted to text_. (Seriously: As Yegge will tell you, the true emacs user turns _off_ the pull-down menus to make more room for text.)

Stop worrying about "intuitive". Yes, until you get to know the moves, emacs is nonintuitive, kind of like the piano. No matter how expensive and well- designed a piano I buy, I won't be able to just sit down and play some Chopin. (Well, technically you can buy player pianos that will do just that, but what would a concert pianist call such an instrument? _A toy_.) You're learning an open-source text editor that's quite possibly older than you. You will live with this software for months, years, or decades. You don't need features that make it easy to learn emacs in five minutes. You need the features that make it worthwhile to use emacs after thirty years.

And, yes, you haven't spent enough time. In particular, it's not just a matter of plugging away in emacs for weeks or months; it's unlike any other software you've ever used, and until you're oriented you won't find it easy to pick up things just by playing with it. You have to study it a little. Try some of the references. Try the Emacs Wiki.

<comment><AUTHOR> I just read Steve Yegge's "Effective Emacs", thanks for the link. It was very enlightening on many levels and told me several things that were written between the lines, namely:

\- Initial user experience is (very) secondary to long-term efficiency

\- if you aren't in this for the long term don't bother - the article actually suggestes swapping the caps lock key and the ctrl key to have it better positioned for emacs use...

\- unplug your mouse, the keyboard is faster once you learn how to do it well.

It seems to me that Emacs is a friend for life, but only if you have the patience for a year or two of courting and learning its tweaks and quirks.

I'll buy O'Reillys book and see how it goes.

<comment><USER3> Many are a fan of using the Caps Lock key as Control. While better than the insane standard positioning, it's still not optimal: it's not symmetrical between your hands (you're not going to remap Return as another Control) and it still makes for a lot of awkward pinky use. (Imagine playing a piano piece all with your 3rd, 4th and 5th fingers.)

The optimal solution I've come up with is to use the two keys adjacent to the space bar (typically Alt, but actually Command on the Apple keyboard I generally use) as Control, since that's easily the most important modifier key, so it should be the easiest to access. This makes C-w, C-s, C-r, C-a, C-e, C-p, C-o, C-j, C-l and so on very, very comfortable compared to the corner positioning. As far as I know, this is the way many keyboards were before the extended IBM PC keyboard came up with its insane control key positioning. (My comfort with these keys may also be linked to my use of Macs and ubiquitous command-key shortcuts before I switched to Ubuntu. Ironically, Emacs is much more comfortable now in Ubuntu than it ever was on my Mac, because I can use the most readily accessible modifier key as God intended, rather than the third-tier relegated modifier that Control is on the Mac.)

The two keys adjacent to the new Control keys (ie. 2 away from the spacebar) then become the Alt keys. Whatever is left over (the original ctrl keys, plus Caps Lock and any silly Windows keys left over) can be bound to Super, which is useful for window manager shortcuts so that they don't clobber emacs/bash/screen bindings.

These changes are trivially easy to put in a simple .Xmodmap file to load whenever you log in, and copy to all the other computers you have to use regularly. If you're using Windows, I guess you may have to fiddle with the registry, but it would be worth it.

<comment><USER4> Another solution is to keep the Ctrl keys where they are (note the plural), but hit them with the side of your hands: you just need to roll you hand a little bit to the outside. It takes a little practice to do this reliably, but it cures pinky pain (at least for me).

Use the hand that is not hitting the key: for C-s use your right hand for the Ctrl, and left for s. C-n the other way round. For Meta, make sure that both alt keys work, and use your thumbs: M-x right thumb and left fourth finger.

\- You can't do this for C-M combinations, but they are few and far between.

\- You have to have a keyboard where the keys "stick out" a little. So it does not work on laptops.

The only real issue I had was that moving around is a little slow and awkward: When going back and forth from C-f/b to C-p/n your hands are moving a lot. So I remapped C-f to C-; and C-b to C-j (and similarly for M-f & M-b) and now I can press Ctrl/Meta with my left hand and move around with my right one: bliss.

<comment><USER3> I can see that this might work with some keyboards, but I think the Apple one is too low-profile.

Also, if you're not using C-M-... shortcuts, you're missing out:

C-M-{s,r} isearch-{forward/backward}-regexp (indispensable)

C-M-% query-replace-regexp (indispensable)

C-M-\ indent-region (indispensable for when M-q would mess up your line breaks)

C-M-x eval-defun (for running changes to your .emacs without restarting)

C-M-q indent-pp-sexp (pretty-print and reindent sexp at point)

C-M-{f,b,u,d,a,e,k,t} forward/back/up/down/beginning/end/kill/transpose sexps

C-M-{n,p} {forward/backward}-list

C-M-v scroll-other-window

And so on. C-h k (describe-key) is your friend.

</comment></comment></comment></comment></comment><comment><USER5> YOU know what would be really useful?

To have an expert Emacs user do a screencast of himself doing standard programming stuff.

I think that would make it really obvious how these types of editors are.

<comment><USER6> Well, you'd need to have some way to do quick keyboard tracking with the screencast. Just seeing all of the text get highlighted and re-indented wouldn't do a lot. I'm not sure how much more it would help if you could see that "[ctrl-x], [ctrl-h], [esc], x, indent-region" was typed...

<comment><USER7> There's actually an extension by Michael Weber that might be helpfull for recording screecasts:

<http://www.foldr.org/~michaelw/emacs/>

</comment></comment></comment><comment><USER8> I spent a couple hours every day doing the basics (first learning buffers, then file stuff, then on and on...) within a week I had decided to switch from VIM. (I used only emacs while on vacation for any editing I needed to do)

My suggestion - stop reading all the tutorials and just do it.

Keep a list next to your computer with 5 things you need to know how to do - with the key strokes next to them.

Once you become comfortable create a new list that is what you need to learn now. Don't over extend (ooh, git integration, org-mode, ...) - you'll get there (and probably within a few weeks) - but focus on the basics first. Once those become muscle memory you can figure out the advanced stuff.

<comment><USER9> Also, first things first, Control-H followed by t brings up a tutorial. Work through that, it covers all the basics.

<comment><USER9> And after than (as jrockway noted elsewhere), press Control-H i to get to the Info pages menu, which is the hypertext documentation inside Emacs. What you're looking for is almost certainly in the main Emacs section or the Emacs FAQ.

Info has its own manual, but most of what you need to know to start is that Enter visits a hyperlink (which are probably purple and/or bold), 'u' goes up one level, 'n' and 'p' go forward/backwards one node, and 's' searches. (To get a more detailed keyboard shortcut list, type "Control-h m" inside of the _info_ buffer.)

</comment></comment></comment><comment><USER10> > A nice looking GUI and

You're editing text. What "graphical"s are you expecting? (You should be seeing syntax and selection highlighting.)

> well designed intuitive interfaces matter to me.

What's the difference between "intuitive" and "familiar"?

Yes, the keyboard commands are not what you're used to. If you want the keyboard commands that you're used to, you can program them. That's generally a bad idea, but emacs is full of rope.

<comment><USER2> _If you want the keyboard commands that you're used to, you can program them. That's generally a bad idea..._

Let me underline this sentence. Some people (particularly the ones who think that _copy_ and _paste_ were invented by God on the eighth day of creation) get it into their heads that they should redesign the emacs interface on their first day. This is particularly tempting because the ability to remap keys all over the place is one of emacs' best features.

Resist the temptation to do this at first. The emacs ecosystem actually makes a great deal of sense once you settle into its way of thinking. It's sometimes hard to believe, but very smart programmers have spent decades working out where to put things in emacs. If you insist on ignoring their efforts, and instead try to pretend that emacs is a lot like the Mac OS, you will never even learn the basics, like the glories of the kill ring and the mark ring, or the important distinctions between a file and a buffer.

<comment><USER9> A couple reasons to not try to immediately make the keyboard shortcuts match the editor you're used to:

* You'll probably overwrite some other really useful keyboard shortcuts unintentionally. C-v (Paste, on Windows) is page-down in Emacs. C-c is the prefix for mode-specific commands; C-c C-c sends email, compiles the function under the cursor, etc., depending on what file / buffer type you're working in.

* Emacs has its own ways to do some of those operations. Copying and pasting under Emacs is fundamentally different because of the "kill ring". Instead of having a clipboard, it has a stack (which loops once you hit the end, hence, "ring").

<comment><USER11> > C-v (Paste, on Windows) is page-down in Emacs

I've tried to start using Emacs a few times now, and I just can't get this. My keyboard already has page up/down and arrow keys that are accessible _without_ using a modifier. Why would I want to use a two key combo when a single key will suffice? Page jumping especially is something that you're not going to be in a rush to insert text afterwards.

The other thing I don't get is the ridiculous hand-mangling you've got to do for the M-combos. (I'd already remapped caps lock to control)

I understand that many of its standard key combinations precede the keycaps and de-facto standards of today, but I'd hardly consider it a loss for the bindings to fit in better with the rest of a modern system.

I'm about to try Emacs for the third time. Are there any common sets of alternative bindings?

<comment><USER9> I find Emacs much easier to use with the Dvorak keyboard layout, but that's its own big argument waiting to happen.

Under Qwerty, most of the common prefix keys (e.g. C-x, C-c, M-x) are scrunched together on the left hand. If you're also using your left hand to press Ctrl (whether on CapsLock or at the bottom left of the keyboard), you're mangling your hand. That's why there's also a right Ctrl key.

FWIW, I sometimes use Page Up/Down and the arrow keys while just reading, but tend to use the Emacs-style navigation shortcuts while actively editing. C-v never made sense to me, either; I'm guessing it's just historical.

</comment></comment></comment></comment></comment><comment><USER12> The learning curve is no joke. 2 weeks is nothing.

Don't get ambitious and treat it like your favorite editor just yet. Decide on a small task with complexity (and hence requires you to jump back and forth and rename stuff), like a 20-line script. Make plenty of use of the basic keystrokes (C-f forward, C-b backward, C-p prev line, C-n next line, C-s search, C-r reverse search). That's 6 combinations, and it's enough to witness the kind of speed you have in navigating the text.

Then use it for a real editing job. Shouldn't take long before it becomes second nature. Then, it shouldn't take long before you wished that every text entry window used the same keystrokes.

Oh yeah, type return to complete the search.

</comment><comment><USER6> All of the things that you list here are what Emacs is not. Above all, Emacs is an investment -- not a two week investment, but one that you'll need a year before it's really an extension of the way you code.

Here are some other additional notes:

\- You can get it on every platform. I personally use XEmacs (though I'd recommend GNU Emacs for people starting now) and it's exactly the same on Mac, Windows and Linux.

\- Many of the old Emacs die-hards learned Emacs in a time when Emacs had just as good a GUI as anything else. So a lot of our rhetoric comes from an era when _everything_ was driven by keyboard shortcuts. I do, however, believe that learning how to use your editor from the keyboard alone does improve long-term efficiency.

</comment><comment><USER13> In a word, emacs is responsive -- you realize this as you slowly become familiar with the basic components: buffers and files, the point and region, keymaps, ediff, ffap, running shells inside emacs, tramp, etc. and then, yes, finally emacs lisp. Using these basic tools, you can mix, match and customize until it does what you need for today's project, no matter what language or OS,however many files, script languages, build tools, etc.

At some point it becomes clear that emacs is actually a programming environment for text editing with emacs lisp in the position of universal configuration, scripting and compute language. If you can think of something you want to do with text,files or code (albeit limited to an ascii interface) you can either find it in the extension community or you can quickly bend emacs to do what you want.

My learning curve was approximately two years to feel very competent, five or so to feel like a power user, and then 8 or so to feel make it do most anything.

</comment><comment><USER14> I think you are looking for an editor which feels modern but has the power of emacs,vim or textmate. If you are on Windows, you can try <http://www.e-texteditor.com/>. If on OSX, <http://macromates.com/> Even i used to go round this question. I tried emacs, then vim , then textmate, then e-texteditor. Finally i felt Vim to be comfortable for me. You need to try all of those before settling on one.

</comment><comment><USER15> I remember when, having coded in emacs for a few years, I used it for the first time to do a 3-way merge on thousands of lines of code. The amount of time and effort I saved astounded me. The point here is twofold:

1) emacs is very well integrated with extremely powerful tools (in this case diff, merge)

2) emacs is deep; even as an advanced user you can keep improving your efficiency (albeit at a lower rate)

Having said that, I have a question: once I had become fairly comfortable with emacs I switched back to vi. I felt there was a positive correlation between learning new keystrokes/tricks while coding and the quality of code I produce. Has anyone else observed that? If yes, why do you think this is so?

<comment><USER16> I am no coder, I use Emacs as my 'DTP package. But I can relate something rom graphic design. Why a graphician should be able to draw stuff with pen and paper rather than only work at the computer? Because the connection between thought and hand is faster with pen and paper. Hence, broadband output and feedback loop. Not just faster but enhaced quality: so fast that feedback loop becomes subconscious, direct, flow. Maybe in programming with vi /emacs the same thing occurs.

<comment><USER9> Yes, particularly with good development modes (e.g. SLIME for common lisp, Tuareg for OCaml), the feedback loop between the language runtime and the editor is immediate.

</comment></comment></comment><comment><USER17> At this point I've spent about ten years learning Emacs. I'm sure there's still plenty I could learn that would make me even more productive - Emacs is _big_.

When I was in my early twenties, I decided enough of my heroes at the time raved about Emacs that I should just trust them and not care how long it took to learn or how hard it was. This turned out to be a good decision.

<comment><AUTHOR> This is pretty much the reason I decided to give it more than the normal five minutes of attention that shareware gets before a decision is made. A great number of people that are way smarter than me think it's the best thing since sliced bread. And by definition they can't be all that stupid :-)

</comment></comment><comment><USER18> I am a die hard vim user who has been learning Clojure recently and I have learned a little Emacs along the way because everyone in the Lisp community bangs on about it.

The funny thing is, every time I go to write some Clojure code - I want to open a Vim session, but I am always strangely drawn to Emacs for some reason.

Recently, I decided to figure out what it was about Emacs that made me want to use it so much over Vim. I soon realised it was all about being able to load a REPL process in a window and interact with it on the fly.

I can run Emacs, open a Clojure source file, write a function then hit C-M-x to send the function to the REPL to be evaluated. Also relevant is that Clojure support in Emacs was available shortly after Clojure's release to the public late in 200.

This is a very specific case (lisp-style interactive development) but it's why I personally think Emacs is great and for me it has nothing to do with Emacs text editing features! I will always prefer Vim for pure text editing power.

<comment><USER19> I installed Emacs to install SLIME so I could play around with Lisp. The REPL- in-a-buffer is so phenomenally powerful that I immediately missed it in TextMate when coding in Ruby. Thus began my descent into Emacs madness, and my new favorite function, ruby-send-region-and-go

I was a vi guy for a _very_ long time, and I mocked the Emacs guys for "eight megs and constantly swapping" and "Emacs claw" ... until I switched to TextMate on the Mac, and realized how Emacs-inspired it is. It was actually very easy to go from TextMate to Emacs.

Along the way, I got more productive in my shell. Did you know that M-left moves back a word on the command line? I didn't, and I've been using bash for 10 years. Oh, and it works in all readline-enabled apps.

<comment><USER20> Did you know you can run a shell inside Emacs?

I get frustrated when running a shell in a regular terminal. They all implement some subset of emacs editing keystrokes, but never all of them, and the subsets are different. It's wonderful having all editing, searching, etc. functionality of emacs available when typing in your shell.

I wrote some Emacs Lisp to jump to the line of a javac syntax error, or stack trace line with a single keystroke. Combining that with the ability to run a shell and browse log files comes in very handy. I also have a macro that searches for the Java symbol under the cursor. It misses a bunch of edge cases, but still very useful. All of this in just 55 lines of elisp. How many lines does it take to write "Hello, World!" as an Eclipse plug in?

</comment></comment></comment><comment><USER21> I would say that someone who is effective at Emacs works just the opposite way:

\- No mouse; \- No GUI; most people hide even the menu bar; \- They have spent and do continue to spend a lot of time in Emacs.

Someone suggested a video recording of an Emacs session. That sounds like a good idea!

</comment><comment><USER22> If you are trying to program in lisp, then Emacs is probably the best option, since it follows the lisp way of doing things. For normal editing tasks, however, I prefer vim.

</comment><comment><USER23> I don't think emacs has a steep learning curve for being a really efficient editor, the way (say) vi does. If you can get through the day in emacs without touching the mouse, you're basically there, and the rest is just discovering all the features and ways to customize it.

Force yourself to move the insertion point with the arrow keys, for starters. Then learn a few shortcuts so you don't go insane. C-a for beginning of line, C-e for end. M-f and M-b for forward/backwards by a whole word. C-v and M-v will scroll you up and down through the document and move the insertion point so that it stays on the screen.

Emacs doesn't need a lot of UI. It isn't an IDE, for one thing (though it can be used as one). Customization is done by putting incantations in your .emacs file. Managing buffers and panes only requires a handful of commands; learn the keys for them, or re-assign them if they're awkward.

</comment><comment><USER9> If you prefer to use the mouse, rather than keyboard shortcuts, you might be happier with something like Acme/Wily (<http://www.cse.yorku.ca/~oz/wily/>). It's not available for all platforms, though.

Emacs is intrinsically a keyboard-driven editor, and mostly just tries to keep the GUI out of the way. Your experience is more meaningful than anybody's dogma about whether keyboard-centric or mouse-centric development is more productive _for you_ , but mostly using the mouse will make it hard to take advantage of what makes Emacs special.

(If you, or other readers, want to really learn Emacs, you should probably give it at least a month. Once you're comfortable with the basics, gradually learning elisp will greatly increase how useful it is for you.)

</comment><comment><USER24> I've been using for months. It took a while, and the O'Reilly book, Yegge's post, and EmacsWiki were all extremely helpful (in that chronological order). You might also consider just reading the manual too (although you might want to hold off until you have more experience).

Another resource that will be really helpful somewhere in there is to just type C-h C-h. You'll see a listing of various kinds of help. I use these a lot, especially to explore something new:

C-h k (type any keyboard shortcut) "what does this shortcut do?"

C-h b "list all keyboard shortcuts from all modes in the current buffer"

C-h f (type a function name) "what does this function/command do?"

C-h v (type a variable name) "what does this variable do, and what is its value?"

C-h a (type a regexp) "list all commands matching the regexp"

M-x apropos (type a regexp) "list commands, functions, variables, etc. matching the regexp"

</comment><comment><USER25> As a followup question, what is the best resource to most efficiently learn the basics of Emacs?

<comment><USER9> In Emacs, press Control-h, let go of Control, and press t. That starts the tutorial, which will probably take about half an hour.

After working through that, some combination of reading the Emacs Wiki (<http://www.emacswiki.org/cgi-bin/wiki>) and a recent edition of _Learning Gnu Emacs_ will get you off to a good start.

Getting really effective with Emacs takes a while (probably at least a month), but it is very deliberately designed to be _keep growing with you_. If you come to prefer it for editing, you can bundle together your config files and extensions and run Emacs on all the major OSs. It becomes its own extensible environment, much like Firefox with its extensions. (This is why the time spent learning it pays off.)

<comment><USER26> _In Emacs, press Control-h, let go of Control, and press t. That starts the tutorial, which will probably take about half an hour._

IMHO, the tutorial is useless. It spends too much time on C-p and C-n and not enough time on anything useful.

I recommend reading the Info documentation. It is very well written and very complete. You should also read the Elisp reference manual; having an understanding of the internals is helpful even if you don't intend to program emacs.

<comment><USER9> I definitely agree about the Info documentation (I forgot to include that), but I think the tutorial is still worth doing: it covers the extreme basics _using Emacs's terminology_. It's hard to figure out how to do some things in Emacs via the info pages (or apropos, emacswiki, etc.) without knowing that, for example, each pane inside the Emacs window is called a "window" (Emacs calls the main window(s) "frames").

Also, it covers some conceptual things upfront, like how C-f is forward-char but M-f is forward-word, and that M-somekey is often a more abstract version of C-somekey. (Also, how to read the "C-x M-c butterfly" style keyboard shortcuts in the first place.) A lot of the things it covers ("C-x C-s is save") are pretty basic, but it tries to introduce some of Emacs's cultural/design quirks, which are probably what really trip up a lot of people.

</comment></comment></comment></comment><comment><USER27> I'd recommend reading "Writing Gnus Emacs Extensions" why is it the best, obviously because it's one if not the most extensible piece of software ever made. And it chose one of the best languages to implement it's extensibility.

</comment><comment><USER28> How about Easymacs? I dislike the standard shortcuts not because they are difficult to remember, but because they cause me pain in my hands and I've never had anything of this sort before. I've tried remapping the caps lock key, but it didn't help much. Now I find that using Emacs is much more enjoyable. I don't think torturing yourself is justified. I can spot only one drawback: you have to take your fingers of the home row (learn touch typing, my rodent-using friends) a bit more.

</comment><comment><USER29> > Why is emacs a great editor?

It isn't--don't believe the hype. On the other hand, I couldn't write a line of code without IntelliSense.

Does anybody know anything about Emacs.Net that Microsoft is working on?

[http://www.knowing.net/PermaLink,guid,31fdc849-db2a-4f7d-bf9...](http://www.knowing.net/PermaLink,guid,31fdc849-db2a-4f7d-bf96-44df005a06b4.aspx)

<comment><USER24> In Emacs, etags plus dabbrev-expand plus tags-apropos equals Intellisense (or close enough for shooting). A lot of Emacs' power comes from this Unixy ability to string together tools to create something unexpected...

</comment></comment><comment><USER30> I'd suggest using your mouse less - you can increase your speed more with the keyboard than you can with the mouse.

There are a number of looks that emacs can have, from emacs -nw (runs in your terminal emulator) to emacs with GTK. And there are colour themes within each. M-x color-theme-select

</comment><comment><USER31> People love emacs because you can customize it to your liking. That's why it's touted as such a divine tool, and that's why it's worth it to keep trying to learn it.

</comment><comment><USER32> When I saw the light: <http://news.ycombinator.com/item?id=233172>

</comment><comment><USER16> Emacs has an intuitive interface - the keyboard shortcuts. Discover them.</comment>