Braid is undecidable (2014) [pdf] - <AUTHOR> http://arxiv.org/pdf/1412.0784.pdf <comment><USER4> A note -- if you're linking to arXiv, it's better to link to the abstract ([http://arxiv.org/abs/1412.0784](http://arxiv.org/abs/1412.0784)) rather than directly to the PDF. From the abstract, one can easily click through to the PDF; not so the reverse. And the abstract allows one to do things like see different versions of the paper, search for other things by the same authors, etc. Thank you!

</comment><comment><USER5> I felt sad when I finally completed Braid. It's still one of the best games I've ever played and I knew I was never going to find something like that again. This paper brought me back to that sense of wonder that I had the first time I played Braid.

<comment><USER6> Yes it is. Hopefully Blow's the Witness will as awesome.

Also consider playing the following if you have thirst for puzzle games

        - The Swapper
        - <USER2>
        - <USER3>
        - Starseed Pilgrim (this one I haven't played but Blow recommended it, iirc)

<comment><USER7> Currently playing Snakebird and it is driving me _nuts_.

Also check out The Talos Principle [0], it resembles The Witness (based on little clips I've seen of it), and feels like Portal with a dash of Isaac Asimov and a sprinkle of Religion.

Beautiful audio, beautiful scenery, clever puzzles. One of the best games I've ever played.

[0]: [http://store.steampowered.com/app/257510/](http://store.steampowered.com/app/257510/)

</comment></comment></comment><comment><USER8> What an excellently well written paper! It does all the basics right - describes it's objective, the domain of the problem, a quick example (Rush hour) to nudge some intuition toward the reader, before going on to prove undecidability. It even tackles the decidability of another "should-obviously- work" (Bounded braid) idea that the author had (turns out to be decidable).

Also, I wonder if most programmers have unknowingly built a ton of Braid intuition because of the way the time reversal tree matches the way we model the undo tree in $EDITOR.

</comment><comment><USER9> It is rather easy to build behaviors in systems that are Turing-complete (thus undecidable). What is more complicated is building nontrivial models (i.e. showing complex behavior) that are still decidable or even decidable in polynomial time.

<comment><USER10> I'm a bit of a math novice, but is the term "decidable" analogous with satisfiability (SAT), or is this a completely different set of modelling?

<comment><USER11> Nope, decidable is a much higher level. A problem is decidable if it can ever be solved by any computer, given as much time as it wants.

The classic undecidable problem is "the halting problem". In short, given a computer program (and some input for it), decide if that program will ever stop, or continue forever. It turns out there is NO WAY to write a program which will, for any input program, check if it will halt in finite time.

This stuff is a little mind-blowing at first -- the wikipedia article isn't bad.

EDIT: Fixed typo from wolfgke

<comment><USER12> A simple summary is: a problem domain is decidable if there exists an algorithm that will always be able to tell you true or false if any problem in that domain is solvable.

Some examples of this are propositional logic and linear logic are decidable, whereas the halting problem and nonlinear logic are not.

For instance, the halting problem isn't decidable because although you can answer true or false for some specific programs, there exists programs where you do not know if they halt or not. Arbitrary mathematical problems in general are undecidable (see Gödel's incompleteness theorems) but we can still carve out domains within this that are decidable.

<comment><USER13> To be pedantic: the Halting Problem for Turing Machines is undecidable. There are simpler computing models for which we can decide halting.

</comment></comment></comment></comment></comment><comment><USER14> Jonathan Blow, creator of Braid, is coming out with a new game called "The Witness" pretty Soon™.

[http://the-witness.net/news/](http://the-witness.net/news/)

<comment><USER15> Yes, it's set to be released in mid-2014.

<comment><USER16> It was delayed, as games often are. The latest progress report was on May 5, 2015.

</comment></comment></comment><comment><USER17> I could use some guidance, as I seem to have gotten lost.

The implementation of the counter is IO (the levers that Tim pulls), ADD, SUB (branch if 0), M1 (the counter).. and then M2.

M2 is the counter that holds the monsters as they are subtracted from M1. It is also used as IO for the branch part of SUB (if I understood the article correctly).

Therefore, if I call SUB with M2 = 0, then the counter will malfunction.

I think that the consequence of this is that the given function has a decided halting point.(Branching was taken out). I have no idea how to say this in a better way, sadly my computer science education is tragically lacking.

<comment><USER18> Not sure exactly what you're referring to (didn't find "m1" or "m2" anywhere in the paper), but ...

When a monstar leaves the counter (due to a SUB lever emitting a bunny), the monstar has to proceed to the area under the ladder, where Tim has to kill it in order to proceed.

If Tim pulls a SUB lever when the counter equals zero (no monstars), then the bunny will die on the ceiling spikes and be removed. Tim will not be able to reach the ladder and will have to exit the branch point and proceed to the next spot.

<comment><USER17> > To perform the "Branch if 0" part of the operation, we would like to guide > this monstar into the appropriate Branch gadget. To do this, build a room > that catches all monstars leaving the counter. This room should consist of a > flat floor for the monstar to walk back and forth across, along with many > platforms forming trap doors in the floor. Next, force Tim through a second > Lever Pull Gadget, whose lever opens one of these trap doors. Build a path > below this trap door, leading the monstar to the appropriate Branch gadget.

Alright, M1 the first memory "thing", the counter where the result of ADD is stored. M2 is the second memory "thing", the room mentioned in the part quoted. However, you have made me feel rather silly for not realising the very obvious solution to the problem.

Thanks.</comment></comment></comment>


Google Employee's Anti-Diversity Memo Prompts Company Rebuke - <AUTHOR> http://www.huffingtonpost.com/entry/google-employees-anti-diversity-memo-prompts-company-rebuke_us_5987d53ee4b041356ec08f63 <comment> francis-io I think people confuse equality of opportunity with equality of outcome. I think it's totally normal to expect some types of people to favour working in some jobs. I'd expect more younger people to work for startups, for example. Gender is just another grouping of people with different strengths, likely influenced by evolution. Since men were unable to give birth, it made more sense for them to go and hunt. Competition between people is a good way of increasing skill, so in my eyes, an increase in competitive attitude, along with a desire to reach the top of any hierarchy is just an extension of these original motivations.

</comment><comment><USER2> One thing is certain. Google continues to overwhelmingly pay more male employees than female.

If Google were half-and-half, then the words of their corporate apologists would carry weight. As it stands, it seems they are trying to frighten anyone who might speak further.</comment>


Small city in Upstate NY passes first Bitcoin mining ban in U.S - <AUTHOR> http://www.newyorkupstate.com/northern-ny/2018/03/plattsburgh_passes_first_bitcoin_mining_ban_in_us.html <comment><USER2> This debate is also taking place nearly 100 miles to the west, in Massena, NY.

 _Town Councilman Samuel Carbone said he wants to see any code changes address people running home mining facilities out of seaboxes, large cargo containers used in shipping.

"I've seen some pictures where they have these seaboxes planted out in a field and doing their own mining," he said. "They put racks in the seaboxes, load them up with computers, put a fan on the end."

"I think we need to look at codes that deal with seaboxes."_

[http://northcountrynow.com/news/massena-delays- cryptocurrenc...](http://northcountrynow.com/news/massena-delays- cryptocurrency-meeting-discuss-code-changes-0230298)

Another dynamic to power costs are the numerous wind farms which popped up all over Franklin County about 7 or 8 years ago: [http://www.noblepower.com/our- windparks/north-country-new-yo...](http://www.noblepower.com/our- windparks/north-country-new-york/noble-chateaugay-windpark/)

Regardless, having additional economic activity north of the Adirondacks is really important. These communities have suffered for decades, with the main industry in many communities being prisons. There are a dwindling number of family farms (the exception being an influx of Amish) and most industrial operations are scaling down or closing outright, such as GM and Alcoa in Massena.

</comment><comment><USER3> This is interesting. I'm sure the power plant was built from tax money, shouldn't everyone be able to use its services?

I'm from Europe, if any of this works significantly differently in the US, please let me know.

(Let's not talk about miners potentionally not paying taxes)</comment>


Please Learn to Code - <AUTHOR> http://sachagreif.com/please-learn-to-code/ <comment><USER2> I'm actually kind of tired of hearing, "there's no other field that lets you create something from nothing" vis a vis programming. Look: I LOVE coding. I LOVE programming. I think it's fun and challenging, etc. etc. But it's not the only creative outlet that has ever existed.

Have you considered a pencil and a paper? Crayons? Markers? Paints and a canvas? A hammer, some wood and some nails?

"Ah, but that requires something to create something!" Yeah? So does programming. It requires a computer (or access to one). It requires programs to run your code - free or otherwise. In fact, I'd argue the barrier for entry into programming is SIGNIFICANTLY HIGHER than MANY other creative outlets.

<comment><USER3> > It requires a computer (or access to one). It requires programs to run your > code - free or otherwise.

I know what you're saying, but I'd like to point out that you don't _need_ a computer to _write_ programs. I started writing programs with pen and paper back in middle school (before my family owned a computer), and still often do that. Nowadays, most of them do end up being digitized and executed, though.

Alonzo Church, Alan Turing, Haskell Curry, Moses Schoenfinkel, etc., were writing programs before computers were even invented ;)

<comment><USER4> And Ada Lovelace before electricity. :)

 _"The notes [...] include in complete detail, a method for calculating a sequence of Bernoulli numbers [...] which would have run correctly had the Analytical Engine been built. Based on this work, Lovelace is now widely credited with being the first computer programmer and her method is recognised as the world's first computer programme."[1]_

[1]<http://en.wikipedia.org/wiki/Ada_Lovelace>

<comment><USER3> _How_ could I forget Ada Lovelace? Facepalm moment. Thanks.

</comment></comment></comment></comment><comment><USER5> _Think about it: something I did reached 10,000 actual living people and had an impact (however small) on their life. That would never have been possible if I didn't know how to code._

(ability to code) != (eyeballs reached)

I've written blog posts viewed by 100,000 people in one day.

I've also written software used by 1 person to save millions of dollars.

Both are rewarding, but I'd still rather build something. I think _that's_ the most appropriate metric.

<comment><USER6> _(ability to code) != (eyeballs reached)_

Not directly, maybe. But having some acknowledgment of basic data principles (particularly delimitation, meta-ness, maybe even regexes) can substantially increase your ability to write digitally. Markdown, for instance. And of course, being able to maintain or customize an existing platform, whether it's WordPress or Tumblr.

It's sad to say, but delimitation is __not __a skill that is in the mind of the average professional adult. Try sending someone a tab-delimited text file to someone who has only known CSV or XLS sometime.

<comment><USER7> I'd agree that there are computer skills that are generally useful, up there with reading, writing and math.

But they're far less complex than _code_. And I can't say I've ever heard the "learn to code" people advocating them.

<comment><USER6> As a person in the media/reporting industry, I've almost committed to making it my life mission to teach people the usefulness of basic regexes.

I've taught a lot of "learn to code" sessions...My main goal is to not for them to remember the specific syntax, but that programming gives you the ability to repeat a task thousands of times (for loops) and differentiate between them (if statements)...how many (non-worker-drones) people would be content spending significant amounts of their dayjob time doing manual copying-and-pasting and click-series-of-links-to-download-reports if they were aware of these basic coding constructs?

</comment></comment></comment></comment><comment><USER8> I remember when VBA came out in MS Office.

Now your average tech savvy office drone could morph their excel spreadsheets into a full blown application capable of processing business data without having to jump through any of the traditional hoops the evil IT department normally demands.

And we ended up with a ton of buggy, dangerous "mission critical" piles of garbage because they were "designed" and built by non-programmers.

Software programming is a discipline on the order of engineering and it will continue to get more complicated and require more and more education going forward. So no, not everyone should learn to "code".

We should be encouraging people to THINK like a coder - to approach problems in a way to identifies root causes and starts coming up with proper solutions.

I'm not in the valley so may it's vastly different down there, but outside (in Canada) tech is still considered a very specialized field, software development especially. It is not considered as simple as basic household skills like plumbing, cooking and building a deck. I would not expect my lawyer to 1) know how to code or, 2) code in a professional and useful manner.

<comment><USER9> I still think those «buggy, dangerous "mission critical" piles of garbage» are valuable.

If there was no VBA, the jobs these scripts were created for would still be done manually, with a mouse, by some secretary somewhere. "Getting a professional to do it" would never enter into the picture when you're talking about a BigCorp with a conservative, limited-budget IT department.

<comment><USER10> During my internship at a manufacturing company, I knew enough about VBA to record a macro in Excel (just record, no actual coding involved) to automate ~10 minutes of work I had to complete monthly and included step-by-step instructions for how to run the macro and what the macro did.

When I came back a year later after graduating, I learned the process was again being done manually because my replacement did not have even a basic understanding of how to interpret what a macro does from the script.

A few months ago, I automated ~6 hours of monthly Excel work through ~4 hours of trial and error of recording macros and manually editing them. I have zero training in coding other than osmosis from my brother who is an iOS programmer, but I wasn't afraid to screw up enough to figure it out.

Based on my first experience, unless my eventual replacement has at least a curiosity about how macros work I wouldn't trust them to effectively run my script over the long term--if anything breaks, they won't be able to fix it.

The point is, a lack of basic, basic understanding of coding could end up costing the company the 75+ hours/year I was able to save with a "buggy, dangerous...pile of garbage" when I either move to a new role or leave. This was something which would never have been a high enough priority for our coders to write for us. Multiply that through 25 people in our finance department, and you're talking about needing an additional full-time employee.

Can anyone recommend a good place to learn enough VBA to move past the buggy and dangerous stage?

<comment><USER11> You hit on an important point: curiosity. Most of the best programmers are deeply curious, and I don't think that can be taught, though I do believe it can be cultivated from an early age.

On the other hand, showing people how to safely experiment in ways they can be sure won't screw things up may be very empowering and allow them to express their creative drive.

<comment><USER12> I kind of agree with you. I think everyone is inherently curious right until the point when a smart-ass parent says "Because I said so, and now shut up and don't ask questions."

My parents did not do that. Even today, they pride themselves on the fact that when I used to asked them a "What would happen if..." question, they'd be like "Why don't you try it out". Sure I may/may not have got myself in a sticky situation, but the point is they didn't shut me down. Also, if I ever broke something (which was fixable) my dad would actually open that damn thing and fix it during the weekends, talking and explaining to me what the things inside do. Sure I may be only 7-8 or even 10-11 but hey that adds more to my curiosity.

At their angriest, my parents have assessed the situation to check if it's fixable by a human at my age/capacity and given me a stern "fix it" look. Boom, that was a blessing in disguise as well because now I'd be all like "Shit, how DOES this work".

[Note: I'm neither married/not have kids...yet]

The problem that I've seen with others/their parents/their children is that they get annoyed quite quickly. And when you shut down a 5 year old, you can clearly see the pained expression on his face.

They simply lose interest in everything and end up becoming drones. And they're afraid of doing anything new because they worry if they screw it up, their parent will come home and beat them up.

</comment></comment></comment></comment></comment><comment><USER13> Sacha, I am a fan of yours and usually like your material, but I just can't agree here. You took so much for granted in this post. Deploying a website that 10,000 people will see is not trivial, whether you personally did it or not. Here's my beef, specifically:

1\. You already knew how to design. In fact you are a very talented and well known designer. If you didn't have design skills, chances are a huge huge amount lower that anything you put out will make the rounds - design is super important, and you of all people know that. And that's something you need to learn as well, so tack that on top of the time it takes to learn how to code.

2\. Learning how to code != making websites. In fact, they are very different. To make a website, not only do you need to either have a designer on hand or be good at design as mentioned above, but you also need to have a very good understanding of how the web works. That means filesystem structure, http, ftp, domain names, web hosting, then add html and css to the javascript you've been working on. THEN if you want your site to be anything more than static, throw in back end code, databases, web frameworks, etc. on top of that.

This is a MASSIVE stack of things to learn, and I don't know a single person who knows all of this and doesn't work full time doing this stuff. "Learning to code" seems like a cute thing you can make a resolution to work on as a hobby, and maybe it is. You might be able to pick up the bare basics of programming in your free time, if you work hard. But making something significant like you claim here is a completely different deal.

3\. You never dispute or even address the main point behind Atwood's article - that while programming is great to learn, the trend that 'everyone should learn to program' as a base skill along with reading, writing, and math is ridiculous. It's nowhere near as important as these other skills, and he makes a number of other valid points as well which I'm sure you don't disagree with. You argument was simply that programming is cool, so you should learn it. Sure, I agree, and I would have said the same if I only read the title of Atwood's article. But I feel like the way you contested it was uninformed and completely missed the point.

<comment><USER14> _3\. You never dispute or even address the main point behind Atwood's article - that while programming is great to learn, the trend that 'everyone should learn to program' as a base skill along with reading, writing, and math is ridiculous. It's nowhere near as important as these other skills, and he makes a number of other valid points as well which I'm sure you don't disagree with. You argument was simply that programming is cool, so you should learn it. Sure, I agree, and I would have said the same if I only read the title of Atwood's article. But I feel like the way you contested it was uninformed and completely missed the point._

I'll dispute the main point.

As computers permeate more of our everyday lives it becomes necessary to understand them on some level. Nobody needed to learn how to read until there were books everywhere. No one needs to be an English major to pick up a book and learn to read. The benefits we know are enormous to adopting this skill.

But lets consider a world where books were everywhere but only an elite few felt it was useful to teach people to read. Knowledge as we well know is power and if only a few had the ability to pass on their knowledge amongst themselves then they would have a significant advantage over those who cannot read. The unfortunate masses who could not read would never know the full extent of the forces that work against their best interests. How could they?

Now we're in a world where there is more computing power in your pocket than that which sent human beings to the moon and back. Yet the non-programmer has no idea just how useful it is. The only literacy they have with computers are as appliances. They don't realize that these devices carry with them processes that may or may not operate in their best interest and they have no way of knowing that without being able to at least have a basic literacy of computers and programming.

Becoming a master at programming is still a difficult task that few will achieve. Just as becoming the next Nabokov or Salinger won't come to every person who picks up a pen and paper. However that doesn't mean we don't need to teach everyone how to write. We give them the basics and its up to them to use those tools if they so choose and pursue their own paths. However if we keep them in the dark then they'll have no hope.

Teach everyone to code. Computing is emerging as a new medium of expression and the technology is embedding itself in our every day existence. People need to be literate so they are able to understand the consequences and benefits of this technology. It's 2012 and most people I know still think computers are practically magic. They should know better and its our fault for not educating them.

<comment><USER15> _As computers permeate more of our everyday lives it becomes necessary to understand them on some level._

I vehemently disagree on this. Apple has made a silly fortune proving the contrary.

If you need deep understanding of a device to make it useful then the designers have failed to provide you with the right abstractions.

<comment><USER16> Agree. And along the same lines an entire industry grew around the fact that computing products before Apple (particularly DOS, Windows etc.) were difficult enough that the average person (say someone who might be urged to code now) did not have the desire or aptitude to learn how to do it themselves. I'm sure everyone knows many of these people who giggle about how stupid they are with computers and have no interest in learning how to fix the simplest of problems.

Some people just lack the appropriate base skills to fool with computers and certainly programming. They will always need a "tech guy" and have no desire to change that for a reason. It's not that simple to them. Not because they are stupid but because it's not their thing.

</comment></comment></comment></comment><comment><USER17> I expected a similar post to hit HN, since I too was shocked by Jeff's comments. However I do not think people should learn to code for the same reason.

Sure writing a website is cool, but then again, learning plumbing is cool, which is the basis of Jeff's argumentation. Plumbing can empower you by giving you control over your own house and appliances, etc, etc.

I think the real reason people should learn to code, is because an increasing number will have to deal with machines in every day lives, often taking decision affecting the work (and general lives) of others based on their understanding of those same machines:

\- The legislator who has to pass laws about computers and/or the Internet.

\- The manager who has to assess the usefulness of a new software application.

\- The teacher educating kids and preparing them for the modern world.

\- The consumer who wants to make an informed choice when chosing the latest gadget, not blindly follow what marketing departments tell her to.

\- The judge and jurors overseeing the Oracle-vs-Google case.

I want to make the distinction that I wish people would learn to Code, not so they can "make" stuff, but so they can "understand" stuff.

<comment><AUTHOR> I don't think the comparison is apt, because learning plumbing only helps you with plumbing. Whereas coding knowledge can be applied to a lot of fields.

To me, there's an argument to be made that coding can be considered (or maybe, will one day be considered) like a life skill on par with reading, cooking, or playing music.

I agree it doesn't look like it right now, but I'm sure that a couple hundreds years ago the idea that everybody would one day know how to read seemed just as ludicrous.

<comment><USER17> I am absolutely not arguing agains this. Here's the extract from your text I disagree with:

        > I can't think of many other skills that enable you to create something from scratch and reach as many people as knowing how to set up a simple website.

        > Just last week, I was able to come up with an idea and then launch a site in 2 days. That site was then seen by about 10,000 people in a couple hours.

        > Think about it: something I did reached 10,000 actual living people and had an impact (however small) on their life. That would never have been possible if I didn't know how to code.

This text is arguing that the value of learning programming is in the software you will _create_ and the impact it will have on a population. This would be a valid point when arguing why one should become a programmer.

Drawing on an analogy similar to the one you make: Learning to write is crucial today, even though I will probably never be a published author. Similarly, learning to code is important, but not because "you too, can make a website!".

<comment><AUTHOR> Well, I think both point are valid. You should learn to code as you learned to write, to be able to function in a modern society.

And another good reason for learning to code (just like learning to write) is that it'll let you reach a lot of people, and possibly become extremely rich in the process. I guess that second argument is what Jeff Atwood is mostly disagreeing with.

</comment></comment></comment></comment><comment><USER18> I think everybody should visit Reddit, for one simple reason: _knowing how to make a meme is hugely empowering._

I can't think of many other skills that enable you to create something from scratch and reach as many people as knowing how to set up a simple rage post.

Just last week, I was able to come up with an idea and then photographed my cat in 2 ways. That photo was then seen by about 10,000 people in a couple hours and I got 2000 karma points.

Think about it: something I did reached 10,000 actual living people and had an impact (however small) on their life. That would never have been possible if I didn't know how to procrastinate on the Internet.

<comment><USER19> Your point in the wider discussion aside (sure, population-wide imperatives are a dangerous rhetorical device), I actually think actively participating in the Reddit rage comic community can be a very valuable experience. It will teach you how to tell a story and communicate the humor of a situation using a simple image editor. You can watch the real failure-learning happen in [1]. Thinking your work is comedy gold and getting it downvoted into oblivion is a great, highly-concentrated learning experience.

English teachers in Japan are also using rage comics to supplement their English lessons and inspire their students to learn words so they can understand their classmates' jokes [2].

[1]: <http://www.reddit.com/r/fffffffuuuuuuuuuuuu/new/>

[2]: <http://www.reddit.com/r/EFLcomics>

<comment><USER18> I love the non-sensical strangeness of this:

<http://i.imgur.com/Lf6A8.png>

And that on the Reddit comments the ordering of the panels is debated.

</comment></comment></comment><comment><USER20> Computing is taking a similar path in everyday life as finance. As individuals, I don't feel we need to learn how hedge funds, or complex derivatives work, but nobody denies it is beneficial to learn how to manage money, make basic investments, and plan your retirement. The urge to teach programming isn't as much about teaching everyone complex and theoretical computer science, but to teach basics that will benefit them as we move into the information age where technology permeates nearly every business.

</comment><comment><USER21> I think everybody should learn to code _at school_ when they're kids. That way, they can decide if they want to become real programmers/software- engineers or something else.

Just as every kid learns mathematics does not mean he/she has to become a full-fledged PhD researching manifolds in Topology. But they still need to know how to calculate percentages, basic statistics etc to get through life more easily.

In the same way, giving instructions to a computer the "hard" way instead of via clicking on buttons and letting magic happen is often a good exercise to appreciate the power and freedom it gives you. I remember doing this when I was 9 or 10 and doing locate, print, cls repeatedly in a BASIC loop let me create an animation I could control quite precisely (well no, CPU cycles came into play!)

But that's the precise reason, 18 years on, I delve into programming GPUs, wrote games with advanced Direct3D shaders for them and am currently wrting OpenCL code to solve complex equations on them.

It's all because of the locate, print, cls loop!

</comment><comment><USER22> Discussions where one does not agree on the topic are always kind of pointless:

You can view "coding" as...

...an extension of mathmatics -- The ability to express an algorithm in a way that a computer understands it.

...an engineering discipline, where you build complex products by appliying good practice.

The first thing, can and should be tought at school. In fact where I live it is tought there. Needless to say it has the same reputation as math...

The second thing is something you have to study and become an expert in, because if you are not companies loose money or you might even kill people.

</comment><comment><USER23> "The first step is letting people know that learning to code is not that hard, and that if they put their mind to it they have a high chance of succeeding."

Is this even true? I think it's pretty well documented that the vast majority of the population actually has a high chance of failing. Look at failure rates in intro CS courses. Remember this?

[http://www.codinghorror.com/blog/2006/07/separating- programm...](http://www.codinghorror.com/blog/2006/07/separating-programming- sheep-from-non-programming-goats.html)

</comment><comment><USER24> Both of these blog posts are stupid. They should both really be saying "Please learn more about the world in order to better accomplish your goals." Sometimes it's useful to learn how to code because it teaches a different way of thinking. Sometimes it's more useful to just learn how to think differently. These choices depend on a lot of things, but one is more optimal than the other for any particular scenario. If I could get everyone in the world to read a few articles on rationality, I would, because it wouldn't take long and the people who could understand it would really get something out of it. If I could get everyone in the world to learn how to code, I wouldn't, because it would take longer and I expect far fewer people to get value out of it. I can't do either of these though, so both are pretty useless to consider. People toss around information more and more quickly these days, so it might be useful to share a bit of philosophy. Tell people to try hard. Tell people to learn. Tell people to find out about the things they don't know, to see if they could help them. Tell people to reevaluate their goals, to find which contradict each other and to sort themselves out. Be kind or they won't listen. Don't be patronizing in your kindness, or they won't listen. If you want to help people become better, do it for yourself first. Learn more, become smarter, try harder, do better, and eventually the people around you just might see it and start doing it, too. Or maybe after a while you'll start helping other people become better. There are still people who suffer today. Sometimes you can't help them; sometimes you can.

</comment><comment><USER25> I wonder how many folks suggesting everyone should learn to code will replace a punctured car tire instead of plugging it.

</comment><comment><USER26> I think learning to cook is an interesting comparison. Would people react the way they do now if someone wanted to learn how to cook instead of learning how to code? I think learning to cook is a really worthwhile skill. It will teach you about food, ingredient and chemistry. It will maybe get you thinking about how we produce food in our world.

The same goes for coding. It will get you thinking about a lot of things that really matter to your life and the world.

<comment><USER27> Learning anything is a good comparison. There is no harm in learning. Better to be a mediocre guitar player than not be able to play to guitar at all. It expands your mind, and lord knows you were just going to spend the time watching Desperate Housewives reruns.

</comment></comment><comment><USER28> Programmers thinking their specific skills are universally useful and should be taught at school... Yeah right. Most people don't even remember the basic math they learnt at school. I wont say programming skills aren't useful and rad but one could say the same about basically every skill and I don't see electrical engineers saying "please learn electrical engineering, it's very useful".

</comment><comment><USER29> Programming is an adult way to treat a computer as opposed to the absolute infantilism most people approach their computers, or devices with. It's as much to say I understand that what happens on the hardware end is what is happening as the consumer, even though the processes seem completely different.

And none of it is easy or obvious. Dijkstra said teaching computer science was absolute cruelty because it does not truly reflect anything else in the world.

If you are going to work with computers don't think that an email server is an online mail room, don't go down the road of thinking that copyright law holds from one medium to the other because the idea behind the product is the same.

Don't think that skype is a telephone, don't think that facebook is the beatles of today, do know what something is, do know that the only intersection between life and computers is via maths and logic, do understand that these things matter now and will matter in the future.

</comment><comment><USER30> So we complain about politicians passing stupid technology laws, and as soon as a politicians says he wants to learn something about the tech, a prominent programmer tells him "don't bother?"

If you don't know how to code, it probably seems perfectly reasonable to have a computer that you can't program yourself, with everything locked down. If that's the future you want, then sure, tell politicians to leave the coding to the professionals.

If you can code, you start to see the computer as a machine that can do anything you want, instead of just the things some app store makes available to you. That freedom is addictive. You start demanding it.

Cory Doctorow's fears about the end of general computing will come true unless lots of people get addicted to that freedom. <http://boingboing.net/2012/01/10/lockdown.html>

</comment><comment><USER31> I'm going to leave this here - since I've been talking about this for a while.

[http://reviewsindepth.com/2011/04/why-everyone-should- learn-...](http://reviewsindepth.com/2011/04/why-everyone-should-learn-to- program/)

I really think the issue is deeper than current commentators are addressing.

</comment><comment><USER32> Interesting point: people need to know how different it is to customize a WordPress theme and building a Rails CMS. If, before knowing how to actually code, people can judge of the quantity and quality of work required to build something, the world will certainly be better.

</comment><comment><USER33> As I recall from the 1980's, there are two types of people in the world, programmers and victims.

I think Atwood's point is valid in so far as the world probably doesn't need politicians coding the software by which government services are provided. Nor do we need everyone writing their own web pages, one GeoCities was enough.

On the other hand, it seems to me that programming is going to increasingly be seen as a part of basic mathematical literacy. It's just a whole lot easier to solve a layered arithmetical problem with javascript than with a conventional calculator.

In other words, most people should try to learn the lightweight scripting which allows for better exploitation of all the computing tools.

</comment><comment><USER34> A lot of people are confusing "learning how technology works" with "learning to code". I think society would benefit if more people understood how things worked. But not necessarily if everyone could code.

Perhaps learning to code is a gateway to understanding technology. But that's a pretty steep learning curve just to explain to someone how a web page is generated and served.

To keep the plumber analogy, I'd be a better homeowner if I understood what all the pipes in my house do, and the importance of proper care and maintenance. Or when something breaks, how to turn off the water main without calling 911.

</comment><comment><USER35> I can hear it now, "but hey, during code year I learned how to hello world, why is your estimate so hi, it's not that hard".

We should REALLY do this with healthcare. Who needs doctors. All hail self diagnosis year 2013!

<comment><USER36> > We should REALLY do this with healthcare. Who needs doctors. All hail self > diagnosis year 2013!

Did you ever take a biology class?

</comment></comment><comment><USER37> I think the discussion should not be that everyone _should_ learn to code but that everyone should have the _opportunity_ to learn to code, if they want.

We shouldn't be arguing why we should or shouldn't learned coding over other skills, like plumbing.

I praise people that put in work to make learning (such as coding) an easily accessible endeavor for those that want to learn. I would also praise Khan academy and universities that have made learning a variety of skills easily accessible to the people.

As a society, let us push to make education and learning open and accessible to all.

<comment><AUTHOR> Very good point, I should've phrased it that way.

But I think the first step in _giving someone the opportunity to code_ is to _make them want to try it_. So that was the intent behind me saying "everybody should learn how to code".

</comment></comment><comment><USER38> Learning how to code has about as much real-world utility as learning how to rebuild an engine block. It's necessary to know if you're in the industry. It's interesting information if you like that sort of thing. For everyone else, it's a non-factor. They'll never be in a position where coding will solve a problem for them. Even if they are made aware of a potential solution involving code, they won't be bothered to try. Knowing how to change the oil in your car is a far cry from wanting to change the oil in your car.

</comment><comment><USER39> I agree more with this rather than the other one - I see coding as speaking, writing, cooking [food], or composing music. Sure, not everyone in the world HAS to know how to compose music, but we still know how to compose a simple melody in our heads, and we sure as hell need to know how to write.

Coding isn't hard, coding is simple - simpler than a lot of other complicated things we have to learn as we grow up - and as such it should be mandatory in a world governed by computers.

</comment><comment><USER40> <sarcasm>I think everybody should learn to do basic medical procedures, for one simple reason: knowing how to do it is hugely empowering.</sarcasm>

Quite a few people don't have the time or the inclination to sit down and learn how to code, and to keep making like its really simple is kind of silly. I took my first programming class in Java many years ago, and even on basic things like operators and variables, half of the class was completely lost.

Not everybody can do what we do.

<comment><USER41> Drifting off on your carefully-tagged tangent: Basic medical procedures like CPR, the Heimlich Maneuver, using an epipen, applying a tourniquet, etc. ?

<comment><USER42> It was tagged in sarcasm, but to expand upon the dodgy analogy couldn't you argue that's just the medical equivalent of basic computer literacy?

<comment><USER41> Well, CPR certification requires some effort but I certainly couldn't argue the others on the same footing.

</comment></comment></comment></comment><comment><USER43> It seems to me like there are ulterior motives behind a lot of programmers' hostile attitudes toward non-programmers learning some of the craft. If I didn't know any better (and I don't), I'd say that people think, consciously or otherwise, that it will somehow cheapen their skills or experience if some newbies learn basic development. I disagree. I think that if anything, it will give others more of an understanding and appreciation for what we do.

<comment><USER15> Not me. I'm just tired of once again seeing all the hoi polloi rushing in because some dumb photo sharing site just sold for a billion dollars and this is going to be a easier way to earn their boat and summer home than taking all those boring business, law and medicine classes.

<comment><USER43> I agree that people trying to learn in order to get rich quick is good for nobody (it's akin to the 100%+ increase in CS enrollment around 2000 that I remember some of my professors telling me about). That being said, Bloomberg's initiative to bring NYC up to speed with the technology through better education and a high-tech business environment certainly predates Instagram's sale.

</comment></comment></comment><comment><USER11> I used to teach physics and the kids who didn't love it would often ask why they had to learn it. I didn't give them any baloney. I admitted that the vast majority of them would never need it professionally. I did point out that logical thinking was important and physics would help them with that. But I think the truth is that science, like most other aspects of a good education in the "arts and sciences" is actually for the benefit of society as a whole.

I would bring in articles from major News outlets and ask my kids to spot the blatant scientific errors. Do you know how many articles report things that clearly violate conservation of energy? It is so rare to see a science article in the mainstream press without errors, that I don't even get surprised anymore.

Having people with basic science knowledge will allow them to be savvier consumers, better citizens, and, in those cases where their lives take them there, vastly better public servants.

Knowledge about programming is not an exact parallel, but I think it's reasonably close. I agree with Atwood that programming is not as foundational as reading, writing, and math, but it's right up there with a few other things that would be very good to teach everyone the basics of.

<comment><USER44> relevant: <http://xkcd.com/1050/> "The only things you HAVE to know are how to make enough of a living to stay alive and how to get your taxes done. All the fun parts of life are optional."

If we measured everything by how much we used it professionally, we wouldn't learn music, play sports, or any number of things we focus on in schools.

</comment></comment><comment><USER45> If "learn to code" means "learn that coding is a laborious profession", then yes, by all means, learn to code.

I am definitely wary of people who tell me: \- "Why don't we..." \- "We just need..." \- "How hard could this be..." \- "Quickly change it so that..." \- "We can always change it later if it doesn't pan out..."

The disconnect between people who know how hard it can be and the people who assume it's as simple as talking about it is way too large as it is.

</comment><comment><USER46> For learning to code: -You develop analytical and problem solving skills. Similar to math, but more practical (how many people really use Calculus on a daily basis?) -You understand how computers work. No explanation necessary. -All the other good arguments people have made.

Against learning to code: -More bad programmers. -Even worse, more non- programmers who think they can code. Example: Someone does CodeYear and suddenly thinks they are a expert coder. Starts web design business. Sells poorly built wordpress themes to unsuspecting small businesses. If they have low prices, it makes potential customers think that all coding should be cheap("if they can do it for practically free, why should I pay you more?"). Thus, the entire industry suffers.

That isn't to say CodeYear is bad. I like it. It's great for people who actually want to learn to code and don't know where to start. It's bad for people who think they can sell websites after a few hours.

</comment><comment><USER47> What's frightening about the nativity in Atwood's post is that his basic assumption is that the more people know the worse it is. This is in direct contradiction to the fact that generally speaking the more educated people are, the better and stronger our workforce, communities, nations, etc are.

Learning to code != becoming a professional programmer. I can't count the number of times I wished that a graphic designer I was working with had even the basic idea of how HTML works.

Non developers should learn at least a bit of appreciation and even a baseline knowledge of what we do if they work with us on a daily basis. Also, developers need to actually learn some basic design skills to enhance their communications as well.

</comment><comment><USER48> Maybe people don't necessarily need to learn a particular programming language, API set, platform, etc., but a basic awareness of how computers can be used to automate tasks, how loops and conditionals combined with arithmetic can be organized to make something useful, would really help people realize the potential benefit to be unleashed with an understanding of computers.

I had a computer class in high school where we were taught BASIC, and we were eventually taught to use HyperCard in a likely atypical "humanities" class I took; those experiences were certainly very enriching and empowring to me, even if I never touched BASIC or HyperCard again since.

Is programming even still a part of high school curricula?

</comment><comment><USER49> I think that there are many assumptions being made here. The biggest of which is that everyone is even _interested_ in writing code. I know many people whose eyes glaze over the second I mention the word code, and would consider it akin to water boarding to learn code. I don't know that everyone is even wired to write code. Its certainly a certain type of person that can abstract problems logically and create good code from these abstractions.

I personally think computer literacy/competency is much more important than the ability to code. Unfortunately we still aren't to the point where we can say that most of the population is there.

</comment><comment><USER50> I'd say coding is really a lot like learning a martial art. You get exercise (brain/body), you can use it to overcome difficulties (formatting complex documents/leg-sweeping a belligerent drunk), and you can develop it into a career if you focus. But really it's just a set of tools that have a wide ranging use. Of course, you also have to practice so you don't get rusty.

I think everyone who has a mind for problem-solving should learn to code. Heck, even people who aren't especially right-brained can use code to be creative and artistic. And sometimes it's just fun, damnit.

</comment><comment><USER51> Learning some VBA counts as learning to code in my opinion.

I've temped before and been told to do nothing more than prettify and unify formatting in an Excel spreadsheet (for later insertion into a db).

(555)555-1212, 555.555.1212, (555) 555-1212, 555-555-1212, and so on to some standard format is a 10 minute job regardless of size.

Not everyone needs to be able to really program, but a healthy respect and knowledge of what a couple of one liners can do saves lots of money. That's money that could be spent on truly productive tasks that would actually drive the economy and not burden it.

</comment><comment><USER52> I think I just don't understand a growing population on HN. Since when is programming about building websites? Or desktop apps? Or making money? What happened to ars gratia artis?

<comment><USER53> This is the boat I'm in. Everyone seems to be applying this exclusively to BUSINESS and DAY JOBS and MISSION-CRITICAL APPLICATIONS and CLIENTS and CUSTOMERS.

Why not empower people to spend their leisure time or their artistic pursuits in a new, challenging way?

</comment></comment><comment><USER54> the implication that learning to code results in 10,000 viewers? please. it wasn't your coding skills that brought in those UVs. by your logic, all of the sites created by shit-hot coders like us should hit 10,000 views in the first two hours easy. you're propagating the kinds of myths that i debunk daily with friends and family, who grossly underestimate the difficulty of attracting eyeballs to their content (and whose motivation sadly erodes when said eyeballs don't instantly materialise).

if people have something to contribute, there are so many tools and services out there that negate the need for coding it isn't funny. i always advocate non-coders to test out their market theories using tumblr, wordpress, facebook, twitter, posterous, pinterest, et al before rushing off to pay someone to develop something. (in fact, i think us developers should bill ourselves for our own time on our own projects, but that's fodder for another post).

should the average person understand tech? definitely. understand the web? for sure. hypertext markup? why not. javascript? yea, you can skip that.

jeff atwood, you are right on the money.

</comment><comment><USER55> I think learning how computers/software works is just as useful as learning history or geography or science, which we already make students learn.

</comment><comment><USER56> I have to agree with Jeff Atwood's original post, here. The complexity of modern society is requiring individuals to be more specialized. If anything we need improved communication so that inter-disciplinary projects proceed efficiently. As much as we exalt the individual here in the states, a team almost always surpasses what an individual can accomplish.

</comment><comment><USER57> In the Information Age, literacy isn't defined as being just literate, it means being computer literate. All of these people have it wrong by saying people need to learn coded to like build a website or start a startup, they need to learn basics so that they aren't overwhelmed when they need to export something to CSV from Excel and shutdown.

</comment><comment><USER58> Here's my take: C is a precise language, in a certain sense, whereas English is not. If I can successfully communicate information to another person using C, that person can put a lot of trust in their understanding of my idea. Precise languages are very useful, and everyone should learn that they exist, if nothing else.

</comment><comment><USER59> When this crap about "learn to code" will stop? Most of people don't know how to code his TV set. Why? They don't care!!! You won't sell them Your programming course!! You won't sell them Your ebook... You're just making mess.

\--> To all, who want to sell something, with this "learn-to-code" propaganda...

</comment><comment><USER60> _"knowing to code is hugely empowering."_

That is not a good reason to learn to code. Being beautiful and rich is empowering. Being tall and strong is empowering. So what?

A large number of people cannot be beautiful, rich, tall, strong, or good enough coders to feel empowered.

On a completely unrelated note, everybody should learn CPR.

</comment><comment><USER61> I love your mind Sacha. You are brilliant in my eyes, but I don't think the Mayor of NYC needs to code.

</comment><comment><USER62> Dear Author, are you a mediocre coder?

Edit: This wasn't a derogatory comment. I merely wanted to point out that the Author probably isn't a mediocre coder and those people that are probably can't touch 10000 people in just 2 days. I really like thetoolbox.cc.

<comment><AUTHOR> I would probably call myself a mediocre coder compared to the average HN'er.

But I don't think you necessarily need great coding skills to reach people. The Toolbox really is nothing more than a customized WordPress theme, and I'm sure I could find lots of similarly successful sites that are not overly complex from a technical point of view.

</comment></comment><comment> sasha-dv A slightly off-topic question:

How much can you learn about computers by doing the code year?

Isn't this (<http://www.codecademy.com/tracks/code-year>) just a JavaScript course?

(not being a jerk, just curious)

</comment><comment><USER63> I agree with the thrill of being able to impact millions of people in some substantial way. For some people, that's through code; for others, the medium is paint, magazine articles, blog posts, books, posters, music, ...

</comment><comment><USER64> I've found coding useful in every non-coding job I've had where I have sat in front of a computer in an office...

Office jobs, and general running of any business can be improved with knowledge of code - or code itself imo.

</comment><comment><USER65> "I think everybody should learn to code, for one simple reason: knowing how to code is hugely empowering."

Oh please, before lecturing what everybody should do - first learn some empathy, that will blow your socks off!

</comment><comment> T-zex Please do not compare coding to cooking.

<comment><USER66> Please justify _why_ you think it's a bad comparison?

I think it's apt. Cooking shares many qualities with coding, you're under time deadlines to produce something for a end consumer (for the most part). There's lots of competing methods and you have to select which ones work best for the product you want to produce.

Most importantly you can cook something amazing that everyone loves, or a charred lump that no one will touch. Much the same as coding.

<comment> T-zex Cooking is way more simple compared to programming. The recipes are easily understood - a complete opposite to software specs.

Cooking does not evolve that fast compared to programming. Everybody loves their grandma's pie.

And most important cooking is manufacturing and programming is designing. Regular cooking is trying to reproduce something that was done as close as possible, while programming involves dealing with lots of specifics.

<comment><USER66> Really? I think the molecular gastronomy (<https://en.wikipedia.org/wiki/Molecular_gastronomy>) chefs would disagree with you about that.

The argument still holds, programming can be ridiculously simplistic and so can cooking.

</comment></comment></comment></comment><comment><USER67> Anyone else bothered by the crappy coding style in that screenshot?

<comment><AUTHOR> What's so crappy about it?

<comment> sasha-dv No comment on coding style, but you may want to look into this: <http://imgur.com/sE7ul>

Horizontal scrolling - a possible bug?

Screen resolution: 1024×768.

UA: Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20100101 Firefox/12.0

</comment></comment></comment><comment><USER68> Please... read the original article.

</comment><comment><USER69> Some free advice to the kids (and then _get off my lawn!_ )...

Remember that Buffet quote -- he has seen a few bubbles: "... try to be fearful when others are greedy and greedy when others are fearful."

Edit: If it isn't obvious -- the meme "everyone should learn to code" is the largest top-of-a-bubble signal I've ever seen.

</comment><comment><USER70> Skilled programmers are already horrible at effort and time estimates. The last thing I need is a client who "programmed" some barely-functional shell and who is certain he/she only needs me to "finish up" some of the details.</comment>


An architectural perspective of Python web frameworks - <AUTHOR> https://twitter.com/quantifiedcode/status/609019399710756864 <comment><USER2> Don't understand the UI. Is anything other than Django represented?</comment>


Top 4 habits I use to walk more (and get more turf) - <AUTHOR> http://blog.turf.ly/top-4-habit-hacks-to-walk-more-and-get-turf/

<comment><AUTHOR> I'm trying to collect other habits to get more steps in, or to run more, etc. Eg. Run 1 mile a day streaking.

</comment><comment><USER2> This app is awesome. I'm the king of my work commute :)</comment>


Show HN: Howm – A Vim-like tiling X11 window manager - <AUTHOR> https://github.com/HarveyHunt/howm <comment><USER2> I like that the whole WM is implemented in two files, a .h for configuration and a .c. The code looks clean and has embedded ascii-art. This looks like a project made with love.

<comment><AUTHOR> Thank you, this is my first proper C project so I have learnt a lot and have come a long way. I have really enjoyed working on it and would certainly describe it as a labour of love.

<comment><USER3> Am I right you did it for the C language first ? It looks like it would have been easier to implement with Lua in awesome.

Nice job!

</comment></comment></comment><comment><USER4> Really dislike software with configuration baked into the code, every key binding and experiment requires recompilation which prevents managing it sanely through a package manager.

I get the appeal of "minimal" in this case, but it just doesn't work for me.

<comment><AUTHOR> I understand that it isn't a nice idea having code and configuration mixed together and that splitting them would be preferable. However, howm takes less than 1 second to compile on my laptop, once you have a configuration that you like you'll rarely change it and I feel that having the configuration in code makes it easier for hackers to find subtle new ways of customising howm.

A downside that I can see to using a header file for configuration is that a compile is required for installation and configuration. I don't see this as being too much of an issue as I don't plan on making howm available as a binary, so a compiler would be required anyway.

<comment><USER5> I think we can all agree that once a good setup is found, you don't change it that much; recompiling is ok as long as it's fast.

The point of GP is that since config.h is part of the standard distribution, any local modification should be overwritten (or discarded) upon updating the software, or the user has to maintain a local "fork" with his custom config.h.

You should get inspiration from what suckless does [0]. It uses the same idea of config through header, and the "solution" is workable for all involved parties.

[0] [http://dwm.suckless.org/customisation/](http://dwm.suckless.org/customisation/)

</comment></comment></comment><comment><USER6> I really love vim keybindings and I use them wherever I can (firefox with vimperator, the shell etc), however I'm not sure that modes make sense on a window manager. In my opininon it doesn't have that many operations, and they don't differ that much from each other, I think that having to think which mode you're on and which one you need to use would only introduce friction and slow you down (in this case the normal mode is not that normal, i switch windows as often or more than I create new ones or switch layouts).

Another thing is that the operators, motions, and objects each need its modifier keys; in my opinion that just misses the point of having modes and one of the strong points of the vim keybindings. Because of that it was really hard for me to understand how to use Howm: the first time around I skipped the configuration part and went directly to the examples, and you don't mention anywhere there that q4c (for example) is really Alt_L+q, Alt_L+4, Alt_L+c. When I read the configuration part and the configuration file, to see each keybinding I got it, but still it took some googling to figure out that I needed to use xmodmap to know which keys are the MODXMASK.

EDIT: It seems you do mention that the operators, motions and objects need a modifier key, I missed it. Still, I think that it would be clearer if the keys to press were explicitly indicated (like Alt_L+q, Alt_L+4, Alt_L+c)

<comment><AUTHOR> I have some more ideas for operations to add, this is the first release I have done and so it is lacking some features. I agree that some people might not find certain commands to be in the correct mode. You can change that from the configuration file though. I certainly take your point on board about moving being in normal mode and will have a think about whether or not this should be the default.

That's really great feedback about the documentation, I'll make it more obvious which modifiers keys need to be held down. Again, you can change the modifier key used for operators, counts and motions so that howm only uses one modifier key. This is how I had it for most of howm's development. I changed to using two modifier keys as I felt that it was nicer to have a logical separation between the commands and the operators, motions and counts. It also meant that some keys could be reused but with different modifiers.

<comment><USER6> I think they shouldn't use modifiers at all, ideally you would enter the mode with MODIFIER+modekey and then press the normal keys: q2c. I don't know if that's possible with your current program but that's what I meant.

<comment><AUTHOR> That is an idea I was considering, I just wasn't sure if people would find it to get in the way of normal program usage.

It would require more data to be sent backwards and forwards to the X11 server, but that shouldn't be too much of an issue.

<comment><USER6> It's a cool project but again I'm not sure what I would gain from the modes, counts and motions. Right now I use Awesome WM which is really similar to howm without changing modes, and without using the motions and counts (but I don't really find myself wanting to use counts to move windows).

</comment></comment></comment></comment></comment><comment><USER7> One of the reasons I continue development work predominantly in windows OS is its vast support for mouse-free operability. I love vim for the same reason. I tried ratpoison in linux but found it to interfere with application keyboard shortcuts. I also tried AwesomeWM but it wasnt as graceful as the windows key in windows.

If someone was to solve this issue elegantly it would compel me to reconsider moving my daily development activities back to linux

<comment><USER5> Hum... Are we talking about the same Windows ?

Have you tried other tiling window managers ? i3 [0] comes to mind, but XMonad [1] and Awesome WM [2] are 2 other popular choices in this domain. There are plenty of others to pick from, too [3].

[0] [http://i3wm.org/](http://i3wm.org/)

[1] [http://xmonad.org/](http://xmonad.org/)

[2] [http://awesome.naquadah.org/](http://awesome.naquadah.org/)

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

<comment><USER7> Thats a great list thank you! I never heard of i3wm I promise to read the docs.

Yes, microsoft windows. I use version 8.1 and while most end users loathe the interface I've studied the "windows" key and "context menu" key and found it quite fast to perform all my daily operations (except web browsing) mouse- free.

My experience with linux is that some programs are great but too many dont follow standard on very common keyboard operations such as search, tab navigation, context menu. Also it seems many of these desktop windows managers such as ratpoison come with default key mappings that conflict with many of my application's default key mappings which forces me to re-configure.

I invested some time customizing key mappings that would alleviate the issues, but I have a large stack of actual programming work I need to get to, and after awhile I just felt like I was trying too hard at it and decided to go back to the system that works for me. I would like to learn a little more about developer's mouse-free success with linux, vim, browsers and ides such as intellij. 2 years back when i researched this it didnt seem like a very important issue to many people, but to me the little bits of speed gained from keyboard shortcuts add up into great savings in time and cuts in repetitive movement and I consider it to be a crucial part of any development system.

<comment><USER6> I use awesome WM and I didn't need to customize any of the keyboard shortcuts; it uses the windows key as the modifier key and as far as I know no other program uses it.

Also I don't get how the Windows 8.1 window management comes even close to the 2 programs you mentioned (Ratpoison and Awesome WM). With both of those (or any other tiling manager) you can do much more than just maximize and snap a window to the sides. (you have virtual workspaces, automatic tiling, better switching, etc)

<comment><USER7> Maybe I need to invest a little more time into it. I agree with you that the docking keyboard shortcuts are far less powerful in windows. In practice however, this limitation doesnt really become an issue for me. Maybe it is because I have tunnel vision but 2 programs per monitor with a quick means of switching things around hasnt left me wishing I could have 3,4+ programs per monitor

<comment><USER5> I must admit I stopped my knowledge of Windows at Windows 7, which already has some tiling thingies but nothing even remotely close to the WMs I linked to earlier.

The thing that is the most visible to me is virtual workspaces. It allows you to create fixed layouts of programs (editor on the left, terminal to test on the up-right corner and tail -f of the relevant log on the down-right corner) grouped within a user-defined context ("code on project1", "code on project2", "mail", "browser").

The idea is to switch from activity to activity, rather than from application to application. It's extremely important, because when you start piling up activities, you accumulate applications, and you don't want to switch through all of them within your activity.

</comment></comment></comment></comment></comment></comment><comment><USER8> Interesting, but you really need to do some showcases.

<comment><AUTHOR> You're completely right- I forgot to upload them and then had no internet access.

This imgur album has a couple of gifs: [http://imgur.com/a/8aqD9](http://imgur.com/a/8aqD9)

</comment></comment><comment><USER9> How does this differ from e.g. xmonad, which uses vi-like keybindings? It's specifically the bulk operators based on movement?

<comment><USER10> xmonad isn't modal. This apparently has three modes: 'normal', 'floating' and 'focus'. i3 also has modes: 'normal' and 'resize'.

<comment><USER11> i3 only has two modes by default. You can create whatever modes in i3 you like.

        set $mediamenu "media:  [spc] play/pause [p] prev [n] next"

        mode $mediamenu {
            bindsym space exec "playerctl play-pause; i3-msg mode default"
            bindsym p exec "playerctl previous"
            bindsym n exec "playerctl next"
            bindsym Escape mode "default"
            bindsym $mod+m mode "default"
        }

        bindsym $mod+m mode $mediamenu

Now $mod+m will enter 'media' mode, with its own set of keybindings.

</comment></comment></comment><comment><USER12> Harvey, your code looks very nice and expressive with appropriate comments. There is some space for improvements on this matter (well, there always is) but I found it very good to read and easy to follow!

Really well done, keep up the good work!

<comment><AUTHOR> Thanks for the kind words! It'd be great if you could tell me what improvements you think would be best, I'm trying to make howm's code as nice as I can. I know that having everything in one file is frowned upon, but I quite like the simplicity of it.

</comment></comment><comment><USER13> This is obviously inspired by dwm, which is cool, but how is it different from dwm?

<comment><AUTHOR> It's loosely inspired by dwm in that it uses a similar configuration file and keybinding system.

On a technical level, howm uses xcb- a more modern and efficient X protocol binding. dwm uses xlib.

From a user's perspective, howm has multiple modes for manipulating different kinds of windows as well as operators, motions and counts. This means that multiple windows can have the same operation performed upon them. For example (assuming that the correct modifier keys are being pressed) pressing "q4w" will lead to 4 windows being closed.

howm also has some features that dwm only provides as patches, such as useless gaps and a grid layout.</comment></comment>


ZX Spectrum Emulator Written in Small Basic - <AUTHOR> http://blogs.msdn.com/b/smallbasic/archive/2015/06/04/a-basic-emulator-featured-small-basic-program.aspx <comment><USER2> Am I missing something? If I understand, it doesn't emulate the Z80 processor? And it depends on some "extension" ( [http://litdev.co.uk/](http://litdev.co.uk/) ) not just "Small Basic." And I can't find the link to the source to get the idea how the code looks like.

And for my taste Small Basic appears ugly for a beginner's language, the "Hello World" is:

        TextWindow.WriteLine("Hello World")

Compare that to

        PRINT "Hello World"

from the old times. I consider the later much much nicer.

<comment><USER3> I think this is it here:

[http://smallbasic.com/program/?DNP796](http://smallbasic.com/program/?DNP796)

or here:

[http://smallbasic.com/smallbasic.com/program/?RHB445-0](http://smallbasic.com/smallbasic.com/program/?RHB445-0)

The blog entry links to this forum discussion:

[https://social.msdn.microsoft.com/Forums/en- US/1e8c53bb-7974...](https://social.msdn.microsoft.com/Forums/en- US/1e8c53bb-7974-47ef-9d48-7367931b4fac/small-basic-graphic-and-animations- and-more?forum=smallbasic)

From what I can see each program has a code (DNP796 or RHB445-0 - which is mentioned in the above blog article) which you can look up on:

[http://smallbasic.com/smallbasic.com/program/](http://smallbasic.com/smallbasic.com/program/)

<comment><USER2> Thanks. So it just makes a Spectrum-like environment with some new version of Basic in it?

And it seems that Small Basic can't even define a function, only a parameter- less subroutine? In spite of TextWindow.WriteLine() notation.

<comment><USER3> Not tried it to be honest, I'd run out of energy by the time I looked up all this, then saw the code, sucked in air sharply between my teeth, then decided I'd better things to do.

</comment></comment></comment></comment><comment><USER4> This seems like a very generous definition of the word "emulator"

</comment><comment><USER5> this is not an emulator, its an interpreter for the zx spectrum basic dialect...</comment>


Discovered in 1992, the enormous Mimivirus blurs the line between the living and the dead. - <AUTHOR> http://www.sciencenews.org/view/generic/id/43277/title/Mimivirus_up_close

<comment><AUTHOR> Also see: [http://en.wikipedia.org/wiki/Mimivirus#Implications_for_defi...](http://en.wikipedia.org/wiki/Mimivirus#Implications_for_defining_.22life.22)</comment>


Open Product Data: a public database of product data - <AUTHOR> http://product.okfn.org/ <comment><USER2> If there was a place tracking unethical behavior by companies and an app that scanned barcodes to help people avoid companies they don't approve of, would anyone here use it?

<comment><USER3> I would.

This OPD site gives you the impression it has some of that data, but the browse section does not inspire much confidence. I would love to be able to see information about responsible sourcing, production practices, employment practices, etc. for everything from food to electronics to clothing.

<comment><USER2> The browse by owner page prompted the thought. Content on business practices could initially be a news search and tools for community contribution (article submission, voting, a way to suggest friends join you in boycotting a company).

</comment></comment></comment><comment><USER4> The most recent files are from 2013. This seems abandoned. Am I missing something?</comment>


Brainstorm with HN: Let's fix ridiculously expensive education - <AUTHOR> (I'm not sure whether this 'Brainstorm with HN' will work as a good format for discussion within the HN community, but I think it fits the subject here.)
Hi HN,
I've been thinking about the problems with education, and what we (hackers, entrepreneurs, you name it) can do about it. I'm going to focus on education on the university level, mainly because that's what people are talking so much about nowadays.
What I think is that at the university level, it's not so much the actual learning that we have to improve: it's grading. People can learn by themselves (many have been doing just that for a long time), and while there's certainly room for improvement, this isn't the part about universities I think needs replacing. Grading, or getting a degree, on the other hand, is a much more significant problem: employers want to know that you've learned something; when going through a thousand CVs, they don't want to have to extensively test every potential employee to see whether they really know what they claim to know. Thus, degrees.
Of course, there have been some great improvements here. Coursera, for example, have made the big university courses more accessible for all. But I don't doubt better things are yet to come, so let's discuss those: what do you think is the largest thing that needs serious improvement in education? What, if anything, do you miss from these projects such as Coursera? What are your ideas to make (online) education even better?
Discuss. :) <comment><USER2> _what do you think is the largest thing that needs serious improvement in education?_

Being aware of what is possible. Most people, by my observation of online discussions, think their own education was pretty good, and it's the "other guy" who might possibly have a poor education. But it just might be (as I think, after living in more than one country) that a great many people, perhaps including me, have plenty more to learn that they COULD learn. Maybe the current system is underpeforming more than we imagine, and more than we CAN imagine after receiving the schooling we each received.

</comment><comment><USER3> It's eerie that you posted this just a few minutes before I posted this: <http://news.ycombinator.com/item?id=4856307>

One thing that I think is missing from both online education and education at the university is personalization. At UCLA, I sat in lecture halls with hundreds of students, and we all got the same words. It would be nice to sign up for the lecture from the professor who makes movie analogies instead of sports analogies. Or maybe I prefer a professor who writes on the board instead of using a powerpoint.

As a Kaplan instructor (SAT, GRE, GMAT, LSAT), I would explain a question differently depending on the student. Was this a student who had pacing problems? I might emphasize elimination strategies or guessing intelligently. Was it a student who consistently fell for trap answers? I'd advise them to try to think like the test maker and anticipate the traps. The best part about online classes is that you can capture this data pretty easily. But so far, no one is using it to deliver a more personal online learning experience.

</comment><comment><USER4> There's no doubt that there is a lot wrong with education in general but there's also a lot of great things about it too. The value of bringing together a large number of young, intelligent people with all kinds of interests is incredible.

In terms of what's wrong and suggestions for improvement, it's hard to know where to start. One big, doable change may just be more standardized testing. The price of education is simply a reflection of the fact that employers and students overvalue degrees. This leads to this perverse effect that causes people to enroll because they feel like they have to, not because they want to. The whole dynamic just seems to create an enormous amount of problems. Tying so much economic value to a college degree drives prices and attendance up and the effectiveness and true value of education down.

</comment><comment><USER5> I think what you mean is credentialling, not "grading". Education and credentials only loosely overlap. My understanding of history is that this credentials vs education thing is a long standing problem. I don't foresee it ever really being resolved.

I would love to use the Internet as a means to educate people. I am still trying to figure out how. Among other things, I would like to create a simulation (aka "game"). That's a longstanding dream. I have done things like start a design doc, but sometimes it seems like the dreams I have are impossible dreams.

Effectively reaching your target audience is the big challenge. I think it only gets bigger with the Internet because of the huge diversity of people online.

</comment><comment><USER6> I think there should be a clear distinction between learning for getting a job and learning to enhance your knowledge.

<comment><USER7> And neither should cost upwards of $40,000 per year</comment></comment>


Ask HN: Is there anything like Reddit Enhancement Suite for Hacker News? - <AUTHOR>

<comment><USER2> I've made two chrome extensions (the latest one just a couple of days ago (went by unnoticed :()):

[https://chrome.google.com/webstore/detail/hn-favourite- users...](https://chrome.google.com/webstore/detail/hn-favourite- users/hleiemhnepoghplnnhkhpnjeiaifnobo)

[https://chrome.google.com/webstore/detail/hn-unread- comments...](https://chrome.google.com/webstore/detail/hn-unread- comments/fpndmkcfggkffpablcooicmihgcgalil)

<comment><USER3> I'm using the one to highlight new comments.... it's great!

All we need is a little more traffic around here ;)

<comment><USER2> Thanks, glad you like it!

</comment></comment></comment><comment><USER4> Anything in particular about Reddit Enhancement Suite you're after? (I'm not overly familiar with RES.) For HN, I use StyleBot and Tom Moor's HackerNew Chrome extension: [https://chrome.google.com/webstore/detail/hackernew/lgoghlnd...](https://chrome.google.com/webstore/detail/hackernew/lgoghlndihpmbbgmbpjohilcphbfhddd)

</comment><comment><USER5> I wrote some Greasemonkey scripts for Firefox. They are pretty basic and a bit buggy, but work well enough:

<https://github.com/polyfractal/HNHalfLife>

<https://github.com/polyfractal/HNHighlightUser></comment>


Facebook's Zuckerberg discloses steps to fight fake news - <AUTHOR> http://www.reuters.com/article/us-usa-election-facebook-idUSKBN13E0QN <comment><USER2> I wonder how labelling would work with news like saddam hussain's weapons of mass destruction - reported by cia, backed by the goverment as truth, but turns out it was all fake.

Labels will probably have to change retrospectively. Maybe they should also include "according to ..." reference? I can imagine that some statements will be flagged as truth by one side and as fake by the other.

If you play this game further with creating graph of dependencies and recorded switches from truth to fake you can even get "accuracy score" for source reference - I wonder how CIA as source ref would score in this game - hopefully not somewhere in the area of "compulsive liar"?

<comment><USER3> > I wonder how labelling would work with news like saddam hussain's weapons of > mass destruction - reported by cia, backed by the goverment as truth, but > turns out it was all fake.

That has nothing to do with the kind of 'fake news' being discussed. There's nothing 'fake' about reporting "Government claims WMDs in Iraq" while elaborating on what evidence the government has or claims to have, even if it turns out there were no WMDs.

The fake news is question comes from sites that just make up random crap to get page views, not websites that are making a good faith effort to report on what is real.

<comment><USER4> The Iraq war was preceded and enabled by a massive propaganda campaign where close to 100% of American outlets went along with the WMD claim and were for an invasion (FAIR.org).

You don't get to say a propaganda campaign that ruined a country and killed hundreds of thousands wasn't fake news. It was - complete and utter fabrication on an industrial scale, and it had devastating effects.

<comment><USER3> You seem to be confused about the difference between real/fake news vs correct/wrong news. The claims by the Bush administration about WMDs were real news. That the claims turned out _false_ is another matter entirely.

Your problem is that you're interpreting it in terms of "is wrong/is right" instead of "deliberately lying/trying to be accurate". Perhaps news publications should've been more skeptical, but they themselves weren't trying to make things up.

<comment><USER4> No, they supported a narrative that was false by refusing to investigating claims by officials - that's planted fake news, and that news was created at publication. News don't exist if it isn't published, that is its definition.

Officials supplied the false information which served as the raw material the media's fake news was produced with.

<comment><USER5> I tend to agree with you. I'm looking at the NYT archives right now and finding examples both of uncritical quoting of official sources and straight up assertions about WMDs in Iraq.

This is a famous quote from Judith Miller and Michael Gordon, from an article that includes many hawkish quotes from anonymous sources.

" _Mr. Hussein 's dogged insistence on pursuing his nuclear ambitions, along with what defectors described in interviews as Iraq's push to improve and expand Baghdad's chemical and biological arsenals, have brought Iraq and the United States to the brink of war._"

[http://www.nytimes.com/2002/09/08/world/threats-responses- ir...](http://www.nytimes.com/2002/09/08/world/threats-responses-iraqis-us- says-hussein-intensifies-quest-for-bomb-parts.html)

Here's a quote from an opinion piece by William Safire:

" _Two terrorist-sponsoring nations are racing to acquire nuclear weapons. One is Iraq, whose scientists already have the know-how..._ "

[http://www.nytimes.com/2002/01/10/opinion/arafat-s- implausib...](http://www.nytimes.com/2002/01/10/opinion/arafat-s-implausible- denials.html)

Is this fake news? I'd say so. But, I have an even lesser criterion for fake news -- I think the most insidious type of fake news doesn't necessarily tell a single lie, but rather selectively reports the truth.

I am also 100% certain that it's impossible to filter out "fake news", whatever your definition is, without suppressing some true but fringe information.

</comment></comment></comment></comment></comment></comment><comment><USER6> Can't help but feel that this sudden 'fake news' push seems more like a movement to enforce mainstream media control versus alternative/grassroots in light of the recent U.S. election, rather than any actual concern.

After all, the CNN, Huffington et al. had their own share of misrepresentation and outright lies[1] - but will those be targeted by this new effort?

[1] for example, [http://www.dailynewsbin.com/news/cnn-caught-rigging-its- meth...](http://www.dailynewsbin.com/news/cnn-caught-rigging-its-methodology- to-produce-phony-poll-claiming-donald-trump-is-winning/25981/)

<comment><USER7> This ^ is the beginning of the end of free press.

</comment></comment><comment><USER8> The fake news meme has been cooked up by the mainstream media to shift blame for Clinton's loss on new media. Nobody cared about fake news on Facebook. Meanwhile the mainstream media lied and manipulated the truth to suit their narrative _constantly_. These trusted publications took advantage of their reader's trust to lie to them, causing far greater damage than any fake Facebook article. A great example is how the New York Times and the "fact checkers" used a reporter's disability to lie to their readers. As a liberal, Zuckerberg is particularly vulnerable to criticism from the liberal media. He should "do a Trump" and tell them to f off.

[1][http://newslines.org/blog/lets-talk-about-fake- news/](http://newslines.org/blog/lets-talk-about-fake-news/)

<comment><USER9> This seems like relativism. Regular media isn't perfect, so therefore blatant lies are fine. Is this embracing the "post-truth society"? It no longer matters what is true, only what gets the most likes/shares/upvotes.

<comment><USER10> I think the point being made is that Facebook, NYT, et al. are not in a position to moralise about journalistic ethics.

I would go further and say that the half-truths being peddled by these outlets are far more dangerous than obvious non-truths peddled by "fake news" outlets, because seeing through their lies is much harder.

If we live in a world where "fake news" has been successfully censored, but the merely partisan outlets remain, the only result is people being lulled into a false sense of security: "It has to be true -- fake news is banned!"

<comment><USER11> > these outlets are far more dangerous than obvious non-truths peddled by > "fake news" outlets

While apparently obvious to us, fake news articles are being shared by more people than factual news. [0][1]

> If we live in a world where "fake news" has been successfully censored

There's a difference between fake news and partisan news: one is flat out lies the other is factually true.

Fake news is more akin to false advertising than censorship is. No one says that banning false advertising is censorship; banning false advertising is keeping people from buying products based on lies.

[0]: [https://imgur.com/xJ7eDbs](https://imgur.com/xJ7eDbs)

[1]: [https://www.buzzfeed.com/craigsilverman/viral-fake- election-...](https://www.buzzfeed.com/craigsilverman/viral-fake-election- news-outperformed-real-news-on-facebook)

<comment><USER12> I'm not sure we can use "number of shares" as a reliable metrics for how many people believe each piece of news. It's perfectly concievable that many people share it as "look at this obviously fake lie". I mean, how many shares do Onion articles get?

<comment><USER11> It's a reliable metric in describing the possible reach of fake news. There will be a sizeable portion who believe what they read. This is straight up fiction being spread masquerading as truth, which should deeply trouble everyone who cares about what is correct and what is not.

Speaking anecdotally, I nor my friends would share news we believed was fake. Would you share the fake source knowing it is fake news or would you share links exposing and explaining a fake news article?

> I mean, how many shares do Onion articles get?

Go take a gander at The Onion's Facebook page and scroll trying to find a fake article that has more than 10,000 shares.

</comment></comment></comment></comment></comment></comment><comment><USER13> The "fake news" term is itself actually fake news (unless you're liberal). It is synonymous with "we did everything we can to influence the election outcome and yet we lost, now we should regulate the news media industry so only WE can publish our agenda."

<comment><USER14> i realize there's a partisan bent to the fake news story, but the indisputable fact of the matter is that there are a lot of sites that straight up fabricate outrageous news to generate clicks that have a lot of circulation on facebook now. the liberal side of the media is beating the drum about it right now, but it's still a true claim.

[https://www.buzzfeed.com/craigsilverman/how-macedonia- became...](https://www.buzzfeed.com/craigsilverman/how-macedonia-became-a- global-hub-for-pro-trump-misinfo)

[https://www.buzzfeed.com/craigsilverman/viral-fake- election-...](https://www.buzzfeed.com/craigsilverman/viral-fake-election- news-outperformed-real-news-on-facebook)

also i may be wrong, but as far as i know buzzfeed isnt known for being especially partisan towards liberal causes

<comment><USER15> It's sort of ironic citing BuzzFeed here, as they were long a primary supplier of bullshit news and questionable listicles, before they pivoted into actual journalism.

<comment><USER14> to be fair, i think there's a pretty big difference between 'bullshit' (ie inconsequential) and fabricated news. i remember when i still used facebook, being intensely annoyed every time i saw news that seemed to have vaguely plausible but clearly fake content -- the sites in question were 'satire', a la the onion, though much less clever. in retrospect, now, it seems predestined that at some point they would drop the pretense altogether, though.

</comment></comment></comment></comment><comment><USER16> I don't think FB should be required to do this (I don't think they are but who knows what people will demand) nor do I think that Google should be forced to filter these stories out of their search results etc. Ultimately the responsibility for judging news lies with the consumer of the news. It may very well be in the interest of FB/Google to apply a filter to serve the users the best possible results...but that's a potentially dangerous path.

I wonder how viable it would be to provide these filters as a service (seems like large scale machine learning). There might even be a market for a "confirmation filter" where I can elect to filter out everything that is conservative/liberal if I so choose (since I hear a lot of people claiming media is biased in favour of the other side anyway). Spam filter 2.0 (or is it 4.0 theses days?)

</comment><comment><USER17> Every time we click Share, Post, or Like, we are being a journalist.

There's no journalism classes or ethics training before clicking those buttons. Should there be?

<comment><USER18> mainly there is no repercussion

<comment><USER19> There is some repercussion: if you have any sense at all, when someone on your feed consistently keeps sharing this garbage, you stop paying any attention to what they share.

<comment><USER17> If the "garbage" agrees with your views, will you stop paying attention to it? We'd like to think we will, but not everyone will do that.

Over time, that constant drip of misinformation can significantly harden someone's opinion on a topic.

</comment></comment></comment></comment><comment><USER4> News don't just come into existence as the result of some law of nature. News is created when someone publishes it.

Therefore, all news is fake based on these absurd criteria.

And now one side wants to make sure that only their fake news can be published.

<comment><USER20> That's a false dilemma.

</comment></comment><comment><USER21> While the upper echelons in society are deciding what "fake news" and "real news" is, and thus what you should consume or not, I would like everyone to remember this particular quote:

"The smart way to keep people passive and obedient is to strictly limit the spectrum of acceptable opinion, and allow very lively debate within that spectrum"

Looks familiar?

This is Noam Chomsky talking, by the way.

</comment><comment><USER7> Serious question, will all celebrity (aka tabloid) news be considered fake news? For example, Pop star Jane Doe in relationship with Actor John Smith? Stuff at the supermarket counters.

Side note.. what ever happened to bat-boy? [https://en.wikipedia.org/wiki/Bat_Boy_(character)](https://en.wikipedia.org/wiki/Bat_Boy_\(character\))

</comment><comment><USER18> Kudos move for Zuck to try to appease investors but i think he knows himself this thing is not working, and i m glad he does.

</comment><comment><USER22> I hope they are going to verify every single news to determine whether it's fake and then fight it!</comment>


Using the OS X 10.10 Hypervisor Framework: A Simple DOS Emulator - <AUTHOR> http://www.pagetable.com/?p=764 <comment><USER2> Worth noting is xyhve [0], a virtualisation solution written by the author of this article.

[0] [https://github.com/mist64/xhyve](https://github.com/mist64/xhyve)

</comment><comment><USER3> While I love that this is open source and will certainly look into the details. It might be interesting to know that there's already a commercial product out as well using the native Hypervisor Framework.

Maybe more as one, but I am only aware about Veertu from Ravello systems.

See also this article from Maish:

[http://technodrone.blogspot.com/2016/01/native-mac-osx- virtu...](http://technodrone.blogspot.com/2016/01/native-mac-osx- virtualization-with.html)

<comment> X-Istence xhyve also exists for OS X, which allows you to easily run and start console only Linux guests, it's based on FreeBSD's bhyve.

xhyve is also free compared to Veertu.

<comment><USER3> Thanks for the tip!

</comment></comment></comment><comment><USER4> I wonder is this opens the door to PCI passthrough in order for the guest system to directly access the GPU.

That is the turning point in all this. No more bootcamp to windows to play games and no more hassle configuring CUDA in OSX, you can just use it from a Linux VM and have all your development system there.

<comment><USER5> No, Hypervisor.framework will not help with this use case. It is a replacement for the kernel extensions that are currently provided by VMWare/Parallels/VirtualBox to expose the Intel VT-x feature of the CPU.

You would need a way to stop the official kernel extensions from initializing the PCIe device. Then Apple would need to offer a way to map address range and deliver interrupts from the hardware to a process.

<comment><USER6> And to do so _securely_ , which is a rather different question all on its own.

</comment></comment></comment><comment><USER7> I like the way pagetable used to be all 8-bit stuff, then suddenly leaped about 30 years forward in time with this hack. Unpredictable hackers :)</comment>


Commodore goes titsup (again) - <AUTHOR> http://www.channelregister.co.uk/2008/04/18/commodore_lawsuits/

<comment><USER2> It's kind of sad, but their most valuable asset now is probably their IP in terms of licensing t-shirts and other swag to companies that cater to us nostalgic 80's kids.

One has to wonder if the German and dutch firms that traded Commodore around over the past few years failed to understand the value in leveraging the american nostalgia for the brand.

What is sad is that I truly think that Commodore could have come back had the brand been managed smartly. Unfortunately, in this day and age I'm not sure how many people have the intestinal fortitude to base an ad campaign on nostalgia, since it's hard to demonstrate how that could be sustainable. The problem is, without this approach the Commodore brand becomes a deadweight around their neck (seen as old and outdated) instead of an asset (good feelings about my very first computers, retro, hip)</comment>


Meditation associated with slower age-related loss of gray matter in the brain - <AUTHOR> http://www.kurzweilai.net/meditation-associated-with-slower-age-related-loss-of-gray-matter-in-the-brain?utm_source=KurzweilAI+Daily+Newsletter&utm_campaign=b176317d81-UA-946742-1&utm_medium=email&utm_term=0_6de721fb33-b176317d81-281895037 <comment><USER2> A friendly reminder that correlation does not imply causation. There is no contradiction between this result being real, and meditation being absolutely worthless at preventing loss of grey matter.

This is a small sample, and it's just as plausible that (I'm making this up) vegetarians are more likely to meditate, and a vegetarian diet correlates with more grey matter.

If this is a significant result, the takeaway isn't that "I should meditate to keep my grey matter", but rather "I should be the kind of person that would have meditated in this study if I want to keep my grey matter".

<comment><USER3> What exactly would imply causation in a study like this? What should people look out for so they don't get fooled?

<comment><USER4> It might well be that meditators react to situations less stressfully, so that it's actually stress that's the negative agent rather than meditation the positive one; and so any stress-reducing activities will have similar benefits. To show causation, it seems (I'm not a statistician) would require eliminating a lot of factors: diet, lifestyle, etc.

</comment></comment></comment><comment><USER5> If you're interested in getting started with meditation, checkout [http://calm.com](http://calm.com), and our iPhone and Android apps (search the stores for "calm")

<comment><USER6> Wow! I took the 2min one and it made me feel great. I especially love the ending with [SPOILER]"this is you, alive and present"[SPOILER].

Thanks a lot!</comment></comment>