Ask HN: What are the best MOOCs you've taken? - <AUTHOR> <comment><USER2> Most fun: Pat Pattison, Songwriting, Coursera. Very good lectures, very good material, very well presented. Teaches a lot about writing song lyrics in just 6 weeks, breaks it nicely down to steps and recipes. I used to think that the best feature of MOOCs is the automatic grading and feedback from programming homework, but in this course, for the homework songwriting you gave and got feedback from 3-5 random people in the course, and it was not only useful but this feeling of togetherness with strangers was even better than getting instantaneous feedback from a bot for programming homework. Shows that teaching art scales to MOOCs as well.

Nicest: Andrew Ng, Machine Learning, Coursera. Interesting topic, well-planned material, very well avoids going into the mathy details, but still conveys a feeling of understanding of the topic, so accessible to a wide audience. (Martin Odersky, Functional Programming Principles in Scala, Coursera, was almost equally nice, but had some rough edges in the first run.)

Most interesting: Probabilistic Graphical Models, Daphne Koller, Coursera. Very interesting topic. I took the first run of the course and it had lots of rough edges. Needs a lot of work to apply the lectures to the homework. I haven't seen such a demanding course since I took quantum mechanics at university.

Best organized: Jennifer Widom, Databases, Stanford. This is not the flashiest of a topic, but oh boy was it well organized. Runs like a clockwork. Everything in the lectures is relevant, everything from the lectures is applied and tested in the homework, there is lots of homework (but still not enough to make you remember SQL,XPath,XQuery,XSLT for the rest of your life if you don't keep using them), weekly homework has a nice progression from simpler things to medium difficult things, and the web environment is well designed, and gives wonderful feedback and guides you to get your queries correct.

<comment><USER3> > Nicest: Andrew Ng, Machine Learning, Coursera. Interesting topic, well- > planned material, very well avoids going into the mathy details, but still > conveys a feeling of understanding of the topic, so accessible to a wide > audience. (Martin Odersky, Functional Programming Principles in Scala, > Coursera, was almost equally nice, but had some rough edges in the first > run.)

Have to agree with all of this. I've taken Andrew Ng's Machine Learning course (only time I've paid for a 'verified' certificate), and found it a great overview of ML, though I'm not sure I'd feel comfortable telling anyone I have a good understanding of ML :)

Odersky's FP in Scala was actually the first Coursera course I took (during its initial run, I think). -- I also found the follow up Reactive Programming course to be excellent as well.

<comment><USER4> Agreed Ng's Machine Learning and Odersky's FP in Scala were my favorites. I'm looking for a good bioinformatics course at the moment. I wrote a small program for my daughter that attempts to find CRISPR sites for my daughter and it would be great to know more of the background.

<comment><USER5> The UCSD bioinformatics algorithms courses on Coursera are fantastic: [https://www.coursera.org/specializations/bioinformatics](https://www.coursera.org/specializations/bioinformatics)

</comment></comment></comment></comment><comment><USER6> Financial markets by Robert Shiller: [https://www.coursera.org/learn/financial-markets- global](https://www.coursera.org/learn/financial-markets-global)

I wanted to invest better so I took this course to learn the basics of financial markets (I'm a software guy and have zero training in finance). After taking it, not only do I have the basics nailed down but have gained a massive appreciation of finance as a technology that, at its best, mitigates risk and advances society.

Shiller is an authority on the topic, having won a Nobel Prize in Economics no less. His penchant for financial market history and human behavior angle on things is a massive plus for this course. I'd say the course is useful education for entrepreneurs and curious folks alike.

<comment><USER7> It's kind of crazy that, at least in the US, personal finance is not taught so much in grade school. I had to do a lot of reading and research now in my late twenties to figure out the best way to manage the RSUs I get at work and how to plan for a home purchase and retirement. It turns out (surprise) that most financial institutions don't have regular investors' best interest in mind. Instead, they see us as customers with value to siphon out over long periods of time.

Understanding how economies work[1], how financial service companies sell products, theories behind volatility and market forces, and how simple portfolio management can be goes a long way to improving an individuals ability to efficiently self-manage their finances.

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

<comment><USER8> The video gives a really good explanation but i loved the book he released freely along with that but maybe I have a preference for that. I am awed at by the knowledge this guy has ... If you haven't already read the book "Principles" by Dalio ( same guy)

</comment></comment></comment><comment><USER9> As a serial MOOCist I cannot single out any one so here is a list per domain.

Data Science

Introduction to Probability - The Science of Uncertainty,math oriented MIT/EDX Difficulty:5/5 Videos:5/5 Material and exercises:5/5 Usefulness: 5/5

Learning from Data, math oriented formerly Caltech/EDX now on caltech, check the exercises and you will see the difference in quality with Andrew Ng: Difficulty:4/5 Videos:4:5 Material and exercises:5:5 Usefulness:3/5

The Analytics Edge - Bertsimas MIT/EDX.You will learn practical stuff in R includes a kaggle competition. Difficulty:3/5 Videos:4/5 Material and exercises:6/5 Usefulness:6/5

Computational Probability and Inference MIT/EDX Computational probabilty using python. Difficulty:2/5 Videos:3/5 Material and exercises:6/5 Usefulness:5/5

Basic Modeling for Discrete Optimization: Uses an easy to learn language called minizinc which has multiple backends and is useful for those types of problems. VERY pleasant to watch videos. Difficulty:2/5 Videos:4/5 Material and exercises:3/5 Usefulness:5/5

Deep learning: deeplearning.ai coursera and fast.ai for more practical stuff.

Non data science:

I have not done the exercises on these just watched them:

Learning how to learn: Life changing I wish it existed many years ago.

Influencing People: Puts things into perspective. Makes you ponder about morality

Roman Architecture: Includes the "why" it is like the old "who moved my cheese" book, but in roman architecture edition.

Explaining European Paintings, 1400 to 1800: What it says on the tin.

Economics of money and Banking: In all tuthe courses I have listed the professors are very good. But this guy.... Makes a difficult subject so approachable and watching the news becomes as painful as watching a train full of passengers going to broken bridge

I am sure I have forgotten others

MOOCs have changed my life, financially and in other ways. I thank all the people involved.

<comment><USER10> Hey antman, thanks a lot for the comment! Can you elaborate a bit more on how MooCs have made a difference in your life? Thank you.

<comment><USER9> I was a mech eng manager in industrial automation. Did the MOOCs, chose a domain, started a phd in ML and AI by showing my MOOC results, got picked during the 3rd year from one of the big consulting companies, now running a series of international projects. Banking(IT only), AI, CompVision and Analytics.

<comment><USER11> This is very inspirational. Thanks and congrats!

</comment></comment></comment></comment><comment><USER12> Nand2Tetris was my favorite. I can't say the information (particularly the first half) has much practical application for me, but it was a lot of fun and deepened my understanding of what's going on at a low level. Homework is very well designed with a simulator you download to test your work on, then submit for automatic grading.

Udacity's Differential Equations course was pretty awesome too. I had taken Calculus previously, but I believe it's pretty approachable even if you haven't. The homework was very well designed, and involved fun problems like computing gravitational slingshots and curing diseases.

Coursera's "The Unwritten Constitution", also has a similar "The Written Constitution". Both are pretty awesome and really gives an in depth view of what the constitution is about (spoiler alert: it's about slavery), and even points out holes that haven't been challenged yet. Homework was writing essays and grading other people's, so not that well designed in that respect.

Coursera's "Coding the Matrix" is a Linear Algebra course. I took it the first time it was offered, and you pretty much had to buy the accompanying book to follow along. And the book unfortunately had a lot of "first version" issues. A lot of the homework wasn't explained very well, but it was all auto graded code. I think the issues with the book have been addressed with the second edition, not sure about the homework. I had already taken linear algebra before, so this was mostly a refresher, but even I found it hard to follow along in the last part, and never completed the last homework assignment.

On Youtube you can find "Fundamentals of Small Arms Weapons" from 1945. It shows how the action of a small arms rifle works. It starts as just a tube with a bullet, and works up to several different types of fully automatic actions. It's just a couple hours long.

<comment><USER13> Coding The Matrix had a great concept. The learn-math-by-coding approach allows the student to see applications of the material from early on. The treatment of complex numbers was especially strong.

The tradeoff is that the student must debug during the exercises (an activity which is unrelated to the material), but it's worth it.

Regrettably, Coding the Matrix was taken down down along with a lot of first- generation Coursera courses. However, there's still the book, the website at [http://codingthematrix.com](http://codingthematrix.com) and the the lectures from the Brown University version of the course:

[https://cs.brown.edu/video/channels/coding-matrix- fall-2014](https://cs.brown.edu/video/channels/coding-matrix-fall-2014)

</comment></comment><comment><USER14> Three Coursera MOOCs I particularly enjoyed:

* Discrete Optimization: almost entirely problem-driven, very challenging and entertaining prof; [https://www.coursera.org/learn/discrete-optimization](https://www.coursera.org/learn/discrete-optimization)

* Crypto I: very deep, thorough and crystal clear explanations; [https://www.coursera.org/learn/crypto](https://www.coursera.org/learn/crypto)

* Computer Networks: excellent overall course covering a wide variety of topics; [https://www.coursera.org/instructor/~517478](https://www.coursera.org/instructor/~517478), [https://www.youtube.com/playlist?list=PLfgkuLYEOvGMWvHRgFAcj...](https://www.youtube.com/playlist?list=PLfgkuLYEOvGMWvHRgFAcjN_p3Nzbs1t1C)

<comment><USER15> Computer Networks looks great it's a shame they pulled it down.

<comment><USER16> Take a look at [https://lagunita.stanford.edu/courses/Engineering/Networking...](https://lagunita.stanford.edu/courses/Engineering/Networking- SP/SelfPaced/about). Haven't taken either, but Stanford typically puts out pretty good MOOCs.

<comment><USER17> Lectures are great. Material is at a solid undergrad level (should be suitable for someone with 1-2yrs of CS background). No programming assignments, so I would go look at Phil Levis's website to find the "regular" course website and do the programming assignments from there.

</comment></comment></comment></comment><comment><USER18> Learning how to learn, Barbara Oakley, Coursera.

By far and away the best learning course I've taken in my life as well, I wish it had been available before I had completed my formal education.

<comment><USER19> Has anyone read her book and can comment on the differences?

I own the book and have half-read it twice, it's very underwhelming. At no point am I thinking "that's going to change my way of doing X"

<comment><USER20> I haven't read the book but looked through it (hastily though). It was pretty the same - like a slide version of the course.

You shouldn't expect some direct instructions about "how to do/achieve X" in this course/book, I would say. It's more like _Brain 101 - A layman 's guide on how to use it efficiently_. I say "layman", because as you go through the course you realize how little you know about your own brain. It teaches you how to _treat_ the brain, basically - it was the case for me at least (e.g. the _real need_ for sleep, for one). It's not a some kind of deceptive self- help book (course), after all.

Besides, Barbara Oakley is not the only instructor of the course. Terrence Sejnowski[0] is also involved, who is an important figure in his field - Computational Neuroscience. He appears in some videos.

Last but not least, maybe following the video lectures would be more fun for you too. Barbara Oakley, such a lively and nice lady. I wrote her a "thank you" e-mail stating my appreciation for the course and not surprisingly, she replied kindly. I'd like to meet and have a conversation with her some day - but I'm thousands of kilometers (0.621 miles:) away.

[0][https://en.m.wikipedia.org/wiki/Terry_Sejnowski](https://en.m.wikipedia.org/wiki/Terry_Sejnowski)

My two cents.

<comment><USER19> Thanks, really appreciate the writeup. I might give the course a crack, given the positive reviews it's getting in this thread.

</comment></comment></comment></comment><comment><USER13> Khan Academy math, because of the exercises.

They are consistent, not very buggy, gamified, and consumable in small or large amounts. Sal Khan is a good communicator and the videos are decent, but it's the exercises that make Khan Academy exceptional.

<comment><USER21> Khan Academy filled the gaps from my inconsistent public schooling (moved a lot as a kid). Used to think I was just dumb (I might still be lol), but turns out missing some of the early math concepts is extremely destructive to later learning. Fill the gaps and everything else becomes _so much easier_.

I hear tell Sal Khan is hiding out in the Bay Area somewhere, really wish I'd bump into him in a bar so I can grab his tab or something. Dude's a hero to me.

<comment><USER22> Khan Academy, Wikipedia, Archive.org. Between those three there is a lifetime of free education.

<comment><USER23> How do you use Archive.org as an educational resource?

<comment><USER22> For instance:

[https://archive.org/details/mit_ocw](https://archive.org/details/mit_ocw)

And then there is archive team with their Coursera backups as well.

</comment></comment></comment></comment></comment><comment><USER24> Model thinking ([https://www.coursera.org/learn/model- thinking](https://www.coursera.org/learn/model-thinking))

Taught by Prof. Scott E. Page, teaches about models in several fields and how they're used to aid thinking about complex issues by careful design and usage.

A couple of insights: all models are wrong but some are useful. Having many models about a situation to help your thinking is better than having only one, and much better than none. Complex models are not necessarily better than simple ones.

<comment><USER25> I love this one. Saw it when it launched and it frequently helps me see through some situations. Some models explains why, despite best intentions, things go awry sometimes. Sometimes things are terrible not because people are terrible, but because everything interact in ways that are difficult to understand and predict.

</comment></comment><comment><USER26> Functional Programming Principles in Scala [1] taught by Martin Odersky, professor at EPFL and creator of the Scala language.

[1] - [https://www.coursera.org/learn/progfun1](https://www.coursera.org/learn/progfun1)

<comment><USER27> Would this course be appropriate for those with a lot of general programming (OOP) knowledge, but little to no FP experience?

<comment><USER28> I'd go as far as to say that those folks would be the ideal audience.

</comment></comment></comment><comment><USER29> I took the Programming Languages course on Coursera which is so far the best course for me. It changed the way I learn any new programming language.

[https://www.coursera.org/learn/programming- languages](https://www.coursera.org/learn/programming-languages)

I see that they have split the course into 2 parts.

<comment><USER16> Could you expand on how it changed things for you? How did you learn them before vs after?

<comment><USER30> > It changed the way I learn any new programming language.

I can say the same and I can offer my reasons: until this course I saw every language like a little island; after this course I understood that programs are just a collection of features: various typing systems, static/dynamic scoping, lazy/eager evaluation, etc. It's a ton easier to learn a new language by identifying these features than by looking at a language as a big blob. This also made me realize that languages are not little disjoint island - they're overlapping a lot instead.

The course was the way I got into racket and other lisps and this allowed me to read SICP. Since then I've been doing all sorts of toy interpreters/transpilers for fun and it allowed me to get an idea of what's happening behind the scenes in real languages. For example, I used to think that closures are magical, but after implementing them as part of the course they were a piece of cake afterwards. You will get a profound satisfaction when you implement call/cc yourself and suddenly you understand how try/catch or generators work.

<comment><USER16> Interesting. Did you feel like you needed a strong understanding of compilers or automata to really grok what was going on (I _think_ automata relate to programming languages, but could be mistaken)?

<comment><USER30> None at all. Automata are used to turn a program from its textual form into some manageable data structure that something else will consume (actual interpreter/optimizer/compiler). At some point in the course (in the racket part) you will be asked to implement an interpreter for MUPL (made-up programming language), but the programs are directly written as a data structure - so no need to parse; in racket both data and code look exactly the same - it'll be a breeze.

I think the only requirements for this course is some plain procedural language (C/Pascal).

</comment></comment></comment></comment></comment><comment><USER31> Georgia Tech's Knowledge Based AI class (on Udacity: [https://www.udacity.com/course/knowledge-based-ai- cognitive-...](https://www.udacity.com/course/knowledge-based-ai-cognitive- systems--ud409))

Fantastic course, more focused on theory than programming, but full of deeply fascinating commentary on what is knowledge, intelligence, learning, etc. and what does it mean for a program to demonstrate it (ie. what is AI anyway?).

My daughter was about 18 mo. old at the time I took the class, it was an outrageously awesome added bonus to watch a little human learn all the things I was trying to get a computer to learn at the same time.

<comment><USER32> I took the same course as part of the OMS CS[0] program. I wasn't terribly a fan of the lectures, but the most fascinating part for me was the course project: building an AI agent that solves Raven's Progressive Matrices[1], basically a visual IQ test. Really intriguing and challenging stuff... easy to get "easy" problems right, but incredibly hard for any of the harder[2] ones. I do wish I didn't have to mess with any computer vision, and instead spent more time integrating more concepts in KBAI.

[0]: [http://www.omscs.gatech.edu/](http://www.omscs.gatech.edu/)

[1]: [https://en.wikipedia.org/wiki/Raven%27s_Progressive_Matrices](https://en.wikipedia.org/wiki/Raven%27s_Progressive_Matrices)

[2]: [http://www.highiqpro.com/iq-tests-iq-scores-iq- questions/mat...](http://www.highiqpro.com/iq-tests-iq-scores-iq- questions/matrix-iq-brain-teasers)

<comment><USER33> I took the class during my undergrad at Tech and I could not agree more. There was such a disconnect between the class material and the project.

Additionally, this is the class that gave us "Jill Watson", the robot TA.

[http://www.cbc.ca/news/technology/robot-ta- ai-1.3585801](http://www.cbc.ca/news/technology/robot-ta-ai-1.3585801)

</comment></comment></comment><comment><USER34> Economics of Money and Banking, taught by Perry Mehrling on Coursera:

[https://www.coursera.org/learn/money- banking](https://www.coursera.org/learn/money-banking)

It's just fantastic. He explains what money really is from the perspective of treating everyone as a bank. Also, lots of good history here including the history of central banking, the gold standard, and war finance.

Anyone who wants to understand money should take this course. It would be nice if more cryptocurrency enthusiasts learned this kind of monetary economics.

</comment><comment><USER35> MIT OCW contains quite a few true gems. These lectures will still be worth watching 100 years from now.

\- Differential Equations from 2015: [https://ocw.mit.edu/resources/res-18-009-learn- differential-...](https://ocw.mit.edu/resources/res-18-009-learn-differential- equations-up-close-with-gilbert-strang-and-cleve-moler-fall-2015/)

\- The original SICP recordings from 1986: [https://ocw.mit.edu/courses/electrical-engineering-and- compu...](https://ocw.mit.edu/courses/electrical-engineering-and-computer- science/6-001-structure-and-interpretation-of-computer-programs- spring-2005/video-lectures/)

<comment><USER36> what makes the differential equation course so good, in your mind?

<comment><USER35> Gilbert Strang is a lengendary teacher.

In addition to the other Gilbert Strang ODE courses, this one comes with videos for numerical solutions. From the inventor of Matlab himself.

</comment></comment></comment><comment><USER37> Another oddball choice for HN, but the Coursera course _Think Again: How to Reason and Argue_ , by Duke University's Ram Neta and Walter Sinnott-Armstrong [1] is exceptional.

The subject matter covers a staggering breadth of topics, which can be characterised as either (a) fundamentals of philosophical reasoning, or (b) stuff that amateur internet-debaters think they understand but actually don't.

[1] - [https://www.coursera.org/learn/understanding- arguments](https://www.coursera.org/learn/understanding-arguments)

</comment><comment><USER38> 1\. Quantum Mechanics and Quantum Computation (on edX, from UC Berkeley: [https://www.edx.org/course/quantum-mechanics-quantum- computa...](https://www.edx.org/course/quantum-mechanics-quantum-computation- uc-berkeleyx-cs-191x)), taught by Umesh Vazirani. Intro to quantum computing that made clear key ideas in quantum mechanics, almost in passing. The first of over 70 MOOCs I completed, not available at the moment.

2\. Astrophysics (on edX from Australian National University, 4-part series: [https://www.edx.org/xseries/astrophysics](https://www.edx.org/xseries/astrophysics)) taught by Brian Schmidt and Paul Francis. Delightful. Plenty of math but mostly at undergrad level. A grand tour of current topics.

3\. First Nights - Handel's Messiah and Baroque Oratorio (on edX from Harvard: [https://www.edx.org/course/first-nights-messiah-harvardx- mus...](https://www.edx.org/course/first-nights-messiah-harvardx-mus24-2x)) taught by Thomas Forrest Kelly. Historical perspective and structure of the music. I was hooked from the first lecture. One of a series of 5 outstanding courses in the "First Nights" series, this is my favorite.

So many great MOOCs, so little time.

<comment><USER39> is there any way to view the old material from #1?

</comment></comment><comment><USER40> Best course so far: AI from BerkeleyX

Other great courses: Learning to Learn, Irrational Psychology by Dan Ariely, and Algorithms by Sedgewick

Can someone recommend a good way to work with other students on MOOCs? I've taken many courses, but they aren't much better than just reading the textbook and working on a personal project, although the curation of content is valuable.

The relationship aspect is sorely missing from online courses. If there was an easy way to have a classroom setting with highly motivated peers each following the MOOC with a collaborative environment, then I would definitely want to sign up. You say that's what college is for? Well I've already graduated, signing up for random college classes is extremely expensive and the peer group is highly variable.

<comment><USER41> The best way I found was to sign up with a group of co-located friends and form a study group. If you don't know anyone who wants to take your course, maybe you could try joining a relevant Meetup group and asking people there?

</comment></comment><comment><USER42> 3b1b's series on Linear Algebra is essential for an intuitive understanding of the topic: [https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2x...](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab)

(Really anything by 3b1b)

</comment><comment><USER43> Buddhism and Modern Psychology by Princeton. This course was just mind-blowing for me. It talks a lot about how our evolutionary survival mechanisms prevent us from seeing the world clearly. If anyone has taken similar courses would love to hear.

[https://www.coursera.org/learn/science-of- meditation](https://www.coursera.org/learn/science-of-meditation)

<comment><USER44> I will +nth this course. Tying an ancient philosophy with modern science lends both a lot of credibility. Note that religious aspects are not addressed. Practical aspects of buddhism (such as a regular meditation practice, approach to emotions, etc) are discussed. I find it very useful in day to day life.

</comment></comment><comment><USER45> Andrew Ng's Machine Learning Course on Coursera: [https://www.coursera.org/learn/machine- learning](https://www.coursera.org/learn/machine-learning)

</comment><comment><USER46> These courses are for beginners, but I started with what I learned from a few courses in Coursera and turned it into a career as a software engineer. [https://www.coursera.org/learn/learn-to- program](https://www.coursera.org/learn/learn-to-program) and [https://www.coursera.org/learn/program- code](https://www.coursera.org/learn/program-code) from Jennifer Campbell and Paul Gries from the University of Toronto laid a great foundation to build on. I think I took them the first time they offered it and I still don't understand how they completely nailed a new medium like that first try. It was very accessible, but with enough detail to make sense and the videos were so clear and concise. The Python one from Rice University, is a fun, awesome course, where you build games to learn. [https://www.coursera.org/learn/interactive- python-1](https://www.coursera.org/learn/interactive-python-1)

<comment><USER47> how did you turn it into a career?

<comment><USER46> I extracted everything I could from those courses, which served as a basic comp sci foundation, saw that I was pretty good at it, took a few more not-as- important courses, then applied to a challenging coding bootcamp. I passed the coding tests, got in, worked and learned the hardest I have ever done so before for a few months, and continued studying on my own for a couple months. Then I applied for a job that required a practical coding test, knew someone at the company so they would at least give me a chance, and crushed the coding challenge. I was almost optimally prepared for the job and hit the ground running, while having no official credentials. It's been great since then. The only drawback is that I don't have the broad depth of knowledge/experience that I imagine can come from a CS degree. So I am planning on getting a masters.

</comment></comment></comment><comment><USER48> I've taken 10 GaTech OMSCS courses via Udacity. Two of my favorites (so far): Intro to Computer Vision: [https://www.udacity.com/course/introduction-to- computer-visi...](https://www.udacity.com/course/introduction-to-computer- vision--ud810) Reinforcement Learning: [https://www.udacity.com/course/reinforcement-learning-- ud600](https://www.udacity.com/course/reinforcement-learning--ud600)

I found the Isbell+Littman combo to work so well that I also took the ML course. I know some people complain about their humor but it was perfect for me. I could listen to those two explain just about anything. I still LOL when I think about Littman saying to Isbell something like "are you trying to teach us something by making this lecture infinitely long?" Who knew RL could be funny?

<comment><USER32> Second, this! I was a big fan of Isbell+Littman. There was a brief conversation on Twitter about a third class[0]. Really hoping it happens!

This was also probably my favorite OMSCS class. The projects were particularly enjoyable... especially the OpenAI Gym lunar lander[1]. Kinda bummed that OpenAI chose to shut down the online submission platform.

[0]: [https://twitter.com/isbellHFh/status/893216499439210497](https://twitter.com/isbellHFh/status/893216499439210497)

[1]: [https://gym.openai.com/envs/LunarLander-v2/](https://gym.openai.com/envs/LunarLander-v2/)

</comment></comment><comment><USER49> This might not be the answer you're looking for, but if you ever want to learn to play the guitar, Justin Sandercoe will take you from novice to expert for free at justinguitar.com. The way he teaches and structures his lessons will probably appeal to a lot of programmers. Also one of the nicest people in the world.

</comment><comment><USER50> Ethical hacking. This guy is pretty legit, first class: install Kali Linux.

[https://www.udemy.com/learn-ethical-hacking-from- scratch/](https://www.udemy.com/learn-ethical-hacking-from-scratch/)

Andrew Ng. Machine Learning (Stanford) (youtube free)

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

<comment><USER51> I'll second Ethical Hacking. His pen testing material is a benefit to any web developer serious about building secure applications. In addition Zaib does a great job of regularly updating the materials and is very responsive to students questions.

This is the only MOOC that I have gone through multiple times.

</comment></comment><comment><USER52> CS50 on EdX was a great intro course helping me to get into programming.

Agile Development Using Ruby on Rails (in two parts) on EdX was also great, primarily because they encouraged students to set up pair programming sessions over Google Hangouts. It's amazing how many ways there are to solve a problem, and live discussions in small groups over Hangouts were an outstanding resource to learn.

I am currently enjoying courses from the Applied Data Science with Python specialization on Coursera. I love how they are using Jupyter notebooks for assignments; it makes the problems feel realistic and at the same time very accessible.

</comment><comment><USER53> Robert Sedgewick's Algorithms has been one of the best for me, not only as a general refresher on algorithms, but also as a way of better understanding complexity notations.

<comment><USER54> I enjoyed the lectures quite a bit, but ran into a lot of trouble with the problem sets. I'm wondering if anyone else had a similar experience, or if I should give it another chance and try some different approach?

The problem I had was that he gave you a mostly finished program which utilizes the percolation algorithm, but then asks you to fill in some data structures and functions to make it work, and finally a test suite should let you know if you've completed that successfully. The issue I had was that there was basically no feedback, or incremental progress that you could make towards a solution. You either understand the full requirements and are able to implement them, or your tests fail and you have to scratch your head some more wondering if you misunderstood the problem or what.

I loved the approach that Tim Roughgarden's stanford algorithms class took on Coursera, where you're actually implementing the full algorithm and are given some data sets to test them on. You could even write it in whatever language you choose.

I really wanted to do professor Sedgewick's course but I felt like I couldn't do the assignment even if I understood the algorithm perfectly. Would love some advice if anyone has any suggestions, or even if someone can confirm that I'm not crazy for having a bad time with it.

<comment><USER55> I did not run into any trouble with Sedgewick's course. His coding assignments are the most elegant and comprehensive I have seen which leave virtually no room for ambiguity. But they are challenging indeed.

> "he gave you a mostly finished program..." What? He gives you an API with > public methods and you have to do the implementation. How is this a mostly > finished program?

> "The issue I had was that there was basically no feedback"

The tests are your feedback. When a test fails you need to figure out why the test is failing and what's wrong with your code or if you understood the requirements incorrectly.

I absolutely enjoyed his courses and finished both of them with all the assignments. His assignments are not something you can knock out in an hour. It usually took me at least 3-4 hours to complete any assignment sometimes even more than that.

I also did Roughgarden's course and loved it. He is an awesome teacher. Both Sedgewick's and Roughgarden's courses are very good but they have different approaches. I found Roughgarden's coding assignment a lot easier than Sedgewick's.

Make use of the course forum. If something is not clear ask questions on the forum. Though I found that Sedgewick's requirements specification are very comprehensive and unambiguous. In fact while doing the course I wished software requirements on the job were anywhere close to that comprehensive in real life.

</comment></comment></comment><comment><USER56> Not your usual answer for HN, but the best online courses I've ever taken are Chris Orwig's photography stuff on Lynda.com. Most local libraries have a free subscription with Lynda, and the way he teaches photography/Photoshop/etc was so useful to learn during college. It's not math or machine learning, but the guy is an absolute master at his craft -- and offers some of the clearest explanations on his line of thinking when working on projects.

</comment><comment><USER57> Dan Ariely's behavior economics mooc (from Duke, through Coursera) was more of a graduate level calibre in terms of required/recommended readings and the videos were of high quality.

There was a gamification mooc taught by Kevin Webach (Wharton) that was excellent, too.

Chuck Eesley's first tech-entrepreneur mooc was ground breaking (it led to the spinoff of NovoEd).

The last mooc I actually completed was one for contract law, offered by harvardx. It gives a nice, high-level overview of the subject-- good enough for my needs/interests.

</comment><comment><USER58> Learning How To Learn [1] by Dr. Barbara Oakley, Dr. Terrence Sejnowski available on Coursera & elsewhere.

[1] [https://www.coursera.org/learn/learning-how-to- learn](https://www.coursera.org/learn/learning-how-to-learn)

</comment><comment><USER59> CS50x (Introduction to Programming) [1]: Very well structured. Excellent and very Enthusiastic Teacher & staffs. It was the most fun MOOC I took

Learning How to learn [2]: Life changing. I wish I did it sooner.

ops-class (Operating Systems) [3]: This is by far the toughest MOOC I've taken. The Assignments are really tough. Although not impossible. Just the right amount of tough, I guess. I'm currently in the last few weeks and I've really enjoyed it every bit so far.

Interesting (Not Yet Completed): Introduction to Quantum Physics (2013) [4]: My god, I just love the teacher's enthusiasm. After few lectures, I realised I need to first brush up on classical physics before moving further (which obviously was the requirement that I ignored).

[1]: [https://www.edx.org/course/cs50s-introduction-computer- scien...](https://www.edx.org/course/cs50s-introduction-computer-science- harvardx-cs50x)

[2]: [https://www.coursera.org/learn/learning-how-to- learn](https://www.coursera.org/learn/learning-how-to-learn)

[3]: [https://www.edx.org/course/cs50s-introduction-computer- scien...](https://www.edx.org/course/cs50s-introduction-computer-science- harvardx-cs50x)

[4]: [https://www.youtube.com/playlist?list=PLUl4u3cNGP61-9PEhRogn...](https://www.youtube.com/playlist?list=PLUl4u3cNGP61-9PEhRognw5vryrSEVLPr)

<comment><USER60> You accidentally duplicated the cs50 link. Where were you taking the operating systems class? I'm very interested :)

<comment><USER59> Sorry. here's the link. You'd love it.

[3]: [https://www.ops-class.org](https://www.ops-class.org)

</comment></comment></comment><comment><USER61> Compilers by Alex Aiken. [https://lagunita.stanford.edu/courses/Engineering/Compilers/...](https://lagunita.stanford.edu/courses/Engineering/Compilers/Fall2014/about)

<comment><USER62> Strong +1 from me. I actually took this course in parallel to the compilers course at my university and the videos by Alex helped immensely.

</comment></comment><comment><USER63> Fast.ai's (fast.ai) deep learning and machine learning courses. No ads, good notes/forum, and very approachable material for anyone that knows basic coding.

<comment><USER32> Have you considered deeplearning.ai? I was on the fence between the two, but ended up taking deeplearning.ai after reading a review[0].

> The fast AI course mainly teaches you the art of driving while Andrew's > course primarily teaches you the engineering behind the car.

I'll probably take some of the fast.ai courses at some point, but the deeplearning.ai one was great.

[0]: [https://towardsdatascience.com/thoughts-after-taking-the- dee...](https://towardsdatascience.com/thoughts-after-taking-the-deeplearning- ai-courses-8568f132153)

<comment><USER64> I think it totally comes down to your learning style. If you learn best by tinkering with a running system and seeing how your changes affect it and piecing together its foundations that way (like I do), fast.ai is for you. Deeplearning.ai I think appeals more to people who do better with understanding the theoretical foundations before trying to implement something.

</comment></comment></comment><comment><USER65> The "Bitcoin and Cryptocurrency Technologies" on Coursera helped me gain an understanding cryptocurrencies. Until I took that course I knew very little about the subject.

It's possibly a little dated now, but it's a good primer.

[https://www.coursera.org/learn/cryptocurrency/](https://www.coursera.org/learn/cryptocurrency/)

I'd love to hear what other cryptocurrency courses others recommend.

As many others mentioned, Andrew Ng's course on Machine Learning on Coursera was also very good.

[https://www.coursera.org/learn/machine- learning](https://www.coursera.org/learn/machine-learning)

<comment><USER66> You might appreciate the Digital Currency MOOC from University of Nicosia, with Andreas Antonopoulos and Antonis Polemitis.

[https://digitalcurrency.unic.ac.cy/free-introductory- mooc/](https://digitalcurrency.unic.ac.cy/free-introductory-mooc/)

Latest live stream (with Andreas Antonopoulos) goes into Ethereum and alternative uses of the blockchain:

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

Edit - Actually, the latest live stream is this one:

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

Figured I'd leave both, since they cover similar topics

<comment><USER67> very interesting

</comment></comment></comment><comment><USER68> Nand2Tetris was very good. I think Coursera has it listed as "Build a Modern Computer from First Principles: From Nand to Tetris." The course does an incredibly good job of walking you through building a CPU starting with NAND chips.

</comment><comment><USER69> Over the past few years, I've watched a few courses on Udacity, Coursera and EdX. I prefer taking ad-hoc courses to fill knowledge gaps (statistics, AI, programming, math, etc.), so I can't give a full review of the complete Nanodegrees, Certificates, XSeries, etc. I usually watch the lessons as needed without completing the entire course; mixing and matching MOOC courses with video learning sites (e.g. Datacamp, Youtube channels, Khan Academy, Egghead, etc.)

If I had to pick a MOOC platform, I prefer Udacity's more hands-on approach, but enjoy courses on EdX and Coursera. The quality of all three MOOC platforms is excellent. It's an amazing time for autodidacts!

If you're starting from scratch, without any background knowledge, the certificate programs with access to mentors are a great place to start. The curriculum is designed by industry professionals and/or experienced professors. This saves you time, keeps you focused and offers a place to get help when needed.

<comment><USER70> Do you have any recommendations on statistics for beginners?

<comment><USER71> if you want to focus on Statistical Learning, I can recommend Introduction to Statistical Learning Using R[1] by Prof. Hastie and Tibshirani.

[1]: [https://lagunita.stanford.edu/courses/HumanitiesSciences/Sta...](https://lagunita.stanford.edu/courses/HumanitiesSciences/StatLearning/Winter2016/about)

<comment><USER72> I found the lectures entertaining and the exercises of a much lower quality. Not enough of them, shallow and ambiguously worded.

I got something like 90% on the edx MITx probability course and was barely getting 50% for the above mentioned Stanford stat learning course for the 5 weeks of it I completed. I mention the MIT course, (which I highly recommend fwiw) only to support my view that I don't think my experience is aptitude or workload related. But as ever YMMV.

</comment></comment></comment></comment><comment><USER73> The Theoretical Minimum lecture series on theoretical physics by Leonard Susskind. Covers the basics in a very approachable way. I wish this had been available when I studied physics.

</comment><comment><USER74> favorite: the ancient greeks: good teacher: [https://www.coursera.org/learn/ancient- greeks](https://www.coursera.org/learn/ancient-greeks)

other favorite: absolutely insightful about Russia [https://www.coursera.org/learn/russian-history-lenin- putin](https://www.coursera.org/learn/russian-history-lenin-putin)

history of the modern world: really good just with headphones: [https://www.coursera.org/learn/modern- world](https://www.coursera.org/learn/modern-world) [https://www.coursera.org/learn/modern- world-2](https://www.coursera.org/learn/modern-world-2)

ancient assyrians: [https://www.coursera.org/learn/organising-empire-assyrian- wa...](https://www.coursera.org/learn/organising-empire-assyrian-way)

best was "Social Psychology" by Scott Plous/Wesleyan University. inexplicably gone now from Coursera and internet afaikt

<comment><USER75>
      Social Psychology

It is available on AcademicTorrents with seeders, if one is so inclined.

</comment></comment><comment><USER76> I took the OCaml MOOC to learn OCaml programming. It had many portioned exercises, The video content was very high quality. The online code editor was pretty amazing as well, as it autoformatted the code as I typed it and even compiled and executed in the browser. Some of the problems required one to think outside the box.

[https://www.fun- mooc.fr/courses/parisdiderot/56002S02/sessio...](https://www.fun- mooc.fr/courses/parisdiderot/56002S02/session02/about#)

<comment><USER77> do you know where the video lectures are uploaded to?

edit: i asked and i shall receive: [https://archive.org/details/fun_ocaml_mooc](https://archive.org/details/fun_ocaml_mooc)

</comment></comment><comment><USER72> Currently enjoying the 2017 lectures (and I bought the text) for McElreath's bayesian stats course:

[http://xcelab.net/rm/statistical- rethinking/](http://xcelab.net/rm/statistical-rethinking/)

Strang's MIT OCW Linear Algebra is pretty good. Probably also needs the textbook.

John Tsitsiklis' MITx edx Probability intro course is probably the best course I've taken anywhere and better than anything I did in person at university. I didn't buy the text for this one though I probably should.

Robert Sapolsky's Human Behavioral Biology Stanford lectures are well worth watching. [https://www.youtube.com/playlist?list=PL848F2368C90DDC3D](https://www.youtube.com/playlist?list=PL848F2368C90DDC3D)

<comment><USER78> Came here to suggest Robert Sapolsky's class as well.

I would also add Michael Sandel's Justice: What's the right thing to do? [https://www.youtube.com/watch?v=kBdfcR-8hEY&list=PL15D875D84...](https://www.youtube.com/watch?v=kBdfcR-8hEY&list=PL15D875D8484D18BB) great course on moral reasoning, covers different theories of justice based on ideas from Aristotle, Kant, John Stuart Mill, John Rawls and many more, extremely well presented too.

</comment></comment><comment><USER79> Introduction to Biology - The Secret of Life by Eric S. Lander (available on edX) was entertaining and educational at the same time. Not many MOOCs were able to keep me engaged to the very end and make me proud and happy when I've finished them. If you are interested in the cell biology and are looking for a way to start on the subject that one is highly recommended.

</comment><comment><USER80> Kind of a random one but Coursera's Audio Signal Processing for Music Applications was a ton of fun. I had basically no exposure to either the signal processing or the music side of this course and still learned a ton. Inspired me to mess with software synthesizers as well as go back to linear algebra; opened up a whole bunch of avenues for further study.

</comment><comment><USER81> Linear Dynamical Systems by Stephen Boyd of Stanford: [https://www.youtube.com/watch?v=bf1264iFr-w&list=PL06960BA52...](https://www.youtube.com/watch?v=bf1264iFr-w&list=PL06960BA52D0DB32B)

Programming Languages by Dan Grossman of University of Washington: [https://www.coursera.org/learn/programming- languages](https://www.coursera.org/learn/programming-languages)

<comment><USER24> what's good about the first one?

<comment><USER82> I've also gone over those lectures a couple of times. I'm not even sure why I started watching them, since I knew absolutely nothing about linear dynamical systems before hand, but it really changed my life! It taught me techniques that I now use all the time, and I think are very neglected within my field (data analysis/forecasting).

If your not familiar with it, it's an extremely versatile framework for modeling and analysis of all kinds of systems. It will give you new insights into linear algebra, time series analysis, stochastic models, Fourier analysis, Laplace transforms, and many other areas.

He's a brilliant (and enthusiastic) teacher, and he has lots of resources on line, including a text-book length exercise-set which I've printed out and had bound because it is so awesome.

<comment><USER24> Sounds really good, I'll make some time to watch it. Thanks!

</comment></comment></comment></comment><comment><USER83> I like the dialogue between Hastie and Tibshirani in their statistical learning course from Stanford [1]. I found the accompanying ISL book and c-cran depositories helpful for when I wanted to go deeper beyond the lecture.

[1][https://lagunita.stanford.edu/courses/HumanitiesandScience/S...](https://lagunita.stanford.edu/courses/HumanitiesandScience/StatLearning/Winter2015/about)

</comment><comment><USER84> Paradigms of Computer Programming ([https://www.edx.org/course/paradigms- computer-programming-lo...](https://www.edx.org/course/paradigms-computer- programming-louvainx-louv1-1x-2))

Amazing course, though it uses _Mozart_ a little known programming language, drives home the functional paradigm in a lucid manner. I am surprised that Peter Van Roy's book (instructor of the course) _Concepts, Techniques, and Models of Computer Programming_ is not as well known as SICP.

</comment><comment><USER85> Intro to finance - Gautam Kaul I am not sure if they still offer this course for free. I took it in 2011 and I really like it's homework assignments. Gautam is also hilarious in his teaching style.

<comment><USER86> I've taken it around the same time, too.

To this day the name of the professor brings a smile to my face. If I remember correctly, I didn't even plan to take this course (had no interest in finance), but after watching the _Intro_ video I was hooked.

<comment><USER87> I have forgotten about it until this comment. Prof Gautam Kaul's MOOC was the first course I took on any MOOC. I did not finish it, mainly because it became very mathematical towards the end and I couldn't keep up. The course gave me appreciation for many things in finance, including personal finance. It's not exaggeration to say that that MOOC was a trigger to seek pay rise, contribute more to 401K and few adjustments in personal finances.

A good reminder and greatful to MOOCs and this course.

</comment></comment></comment><comment><USER88> Programming Languages, Dan Grossman (Coursera has split it into 3 parts now): [https://www.coursera.org/learn/programming- languages](https://www.coursera.org/learn/programming-languages)

</comment><comment><USER89> A Brief History of Humankind by Yuval Noah Harari on Coursera.

There is also a book (that I have not read) called "Sapiens: A Brief History of Humankind" which I think was quite popular. It was not quite was I was expecting yet it was very interesting and enlightening.

Also, it's been mentioned, but Databases, by Jennifer Widom. Stanford.

</comment><comment><USER90> I really enjoyed Discrete Optimization, Pascal Van Hentenryck, Coursera. [1] I did it in 2013 and it looks like it's changed a little: vehicle routing seems a good, practical topic right now. Optimizing systems is one of my favorite pleasures, so this course was great for me.

[1] [https://www.coursera.org/learn/discrete- optimization](https://www.coursera.org/learn/discrete-optimization)

</comment><comment><USER91> The Hardware/Software Interface from the University of Washington (previously offered on Coursera). As a non-CS major, it gave clarity to a lot of the magic that happens when you write code. Fabulous course. [https://courses.cs.washington.edu/courses/cse351/](https://courses.cs.washington.edu/courses/cse351/)

<comment><USER92> I can confirm! Had the exact same issue and this was very helpful.

</comment></comment><comment><USER93> Most fun and learnt a lot in Introduction to Mathematical Thinking taught by Keith Devlin. I did this course from Coursera in 2012. The most fun part was the forum where students collaborated to discuss and gain better understanding of the problems.

</comment><comment><USER94> I really liked Geoff Hinton's Neural Networks for Machine Learning ([https://www.coursera.org/learn/neural- networks](https://www.coursera.org/learn/neural-networks)). It goes into a lot of depth (much more so than Andrew Ng's Machine Learning course) and is fairly challenging.

</comment><comment><USER95> MIT OpenCourseWare Algorithms [https://ocw.mit.edu/courses/electrical- engineering-and-compu...](https://ocw.mit.edu/courses/electrical-engineering- and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture- videos/)

Watching them throw seat cushions as prizes was funny.

<comment><USER96> Does this cover data structures (stacks, queues etc.) as well?

</comment></comment><comment><USER97> Udacity's Self-driving Car Nanodegree by a wide margin.

From the rest, MIT's Underactuated Robotics (Boston Dynamics stuff) was pretty rad, Udacity's Deep Learning Foundations Nanodegree was very useful, Ng's Machine Learning was made super easy. The School of AI's DApps/Blockchain course so far looks pretty good as well.

</comment><comment><USER98> Algorithms by Tim Roughgarden on Coursera

<comment><USER99> Definitely agree with this one. It's called Algorithm Specialization on Coursera. I'm now on course 3 and it's definitely helped me a lot in thinking about how reason about algorithms.

</comment></comment><comment><USER100> Science of Everyday Thinking: [https://www.edx.org/course/science-everyday- thinking-uqx-thi...](https://www.edx.org/course/science-everyday-thinking-uqx- think101x-5)

I took the first incarnation of this and it was consistently interesting, entertaining, and useful. A good romp through cognitive biases, decision- making to counter them, the scientific method, skepticism, memory and learning, and more. I've started and dropped a lot of MOOCs. This one stands out because I was consistently eager for the next installment to drop.

</comment><comment><USER101> I'm surprised no one has mentioned Learning from Data: [https://work.caltech.edu/telecourse.html](https://work.caltech.edu/telecourse.html)

</comment><comment><USER102> I've taken "From NAND to Tetris" by Noam Nisan and Shimon Schocken while at high school. Very nice explanation of the whole stack.

As the name suggests, they teach the necessary to build your own computer, assembler, language and finally a simple game.

I would say it goes to an "appropriate" level of detail. You certainly won't become an electrical engineer and game developer with it, but it gives great insight on all layers and how computers actually work, and explains concepts such as pipelining.

<comment><USER103> This course was excellent. After years of self study it really pulled everything together for me.

</comment></comment><comment><USER104> This is going to be one of those threads that I'll upvote and bookmark and then not revisit till years later.

Any idea on how to start setting aside time to take a MOOC? For those of you taking a MOOC, how do you structure your week? It's been years since I've been in college.

<comment><USER105> It all depends on your work/life schedule, but for me, I have been successful at meeting my learning goals when I do two things:

\- Set aside a discrete amount of time for coursework, and stick to it as much as possible

\- Do SOMETHING in the course at least once per week, even if it's just watching one video

For the last course (or Udacity Nanodegree in my case) that I completed, I set up this schedule to fit my work/life (I have an infant):

\- Watch course videos/do in-class exercises for 2 hrs on 1-2 days after work or during lunch break each week. My goal was to complete all the course videos that went with a project, so that I would be able to do 1 project per weekend. For longer/more complex topics, I would have to stretch this to one project per 2 weeks.

\- Complete 1 project every weekend while my baby napped (total 3hrs per weekend day). I usually was able to complete the project during this allotted time, but sometimes had to work at night after putting baby down.

With the above schedule, I was able to complete my program within 3 months, which was slightly ahead of the program's recommended schedule.

You may need to adjust the schedule as you go (life happens) but the main thing is to KEEP GOING, and do your best to visit the classroom and do something - anything - at least once per week.

</comment></comment><comment><USER106> I'm going to go off the beaten path here. I really enjoyed the edX course Molecular Biology (MITx - 7.28.1x). They teach DNA replication and repair.

</comment><comment><USER107> Robotics, UPenn: [https://www.coursera.org/specializations/robotics](https://www.coursera.org/specializations/robotics)

Excellent introduction to the algorithms that underlie control systems for robots. For the assignments, you program Matlab simulators of robots. It is comprehensive and not dumbed down: plenty of calculus involved! I loved it.

</comment><comment><USER108> Colt Steele's the Web Developer Boot Camp was the first online course I took. I was committed to a career change/learning how to program/do web development and his course was the structure I needed at the time. It helped me land my first coding gig too. Thanks Colt.

But now I realize how much I don't know :) and why the CS kids I work with have a leg up. I've tried making my way through teachyourselfcs.com, mostly just dipping in here and there. But I've also learned that staring at a glowing rectangle 8+ hours a day doesn't bring me as much joy as does collaboration/empathy/creativity, and that I'm pretty good at design/product stuff (not saying programming can't also elicit said feelings).

Life is one big learning journey, and I'm so grateful that one of the by- products of the internet has been the democratization of learning. For $10 dollars and some work ethic you can learn enough to land a completely new job. The paradigm of 4 year college is waning, and that's a beautiful thing.

<comment><USER109> Power and respect to you for doing what you want. I strongly disagree that a $10 course gives a person the same learning as a 4 year university degree, I have worked with people that have been to university and people that "got" into the job and there is a large difference. Of course that isn't always 100% true, there are exceptional people. I'm sure this will be down modded

</comment></comment><comment><USER110> I've been wanting to learn how to sketch. Has anyone taken on of the drawing courses and successfully brought their skill level up from nothing to being able to do recognizable drawings?

<comment><USER111> [http://drawabox.com/](http://drawabox.com/)

This is pretty good material for fundamentals. I used it myself to learn.

</comment></comment><comment><USER112> without a doubt: Calculus in a single variable with Robert Ghrist [https://www.coursera.org/learn/single-variable- calculus](https://www.coursera.org/learn/single-variable-calculus)

for lots of people here it'll revisit some material you learnt at school but it does go further and the materials are fantastic and the exam at the end is no pushover either.

</comment><comment><USER113> the MIT Introduction to Computer Science and Programming Using Python on edx is beginner-level, and I took it a few years ago, so it might not be best for the people who read HN---but it's really good. Best introductory-level MOOC in anything I've ever seen.

</comment><comment><USER114> Algorithms I and II by Tim Roughgarden on Coursera -- amazing teaching style with a lot of depth and math background.

ML by Andrew Ng is also another great example of a MOOC that could be executed very well.

From non CS related courses I really liked Intro To Finance by Gautam Kaul, also on Coursera.

</comment><comment><USER115> Professor Kagan's class on Death from Yale is absolutely fantastic and should be general class taught imho. [https://www.youtube.com/watch?v=p2J7wSuFRl8](https://www.youtube.com/watch?v=p2J7wSuFRl8)

</comment><comment><USER116> Nand2Tetris (part 1)

<comment><USER117> The second part is awesome too.

The first part shows how to design an unoptimized and simplistic, but complete and working 16-bit CPU and RAM from logic gates.

The second part builds a whole software stack on top of it using a virtual stack-based VM:

        - CPU assembler;
        - a (AOT) compiler from the VM opcodes
          into the CPU assembly;
        - a compiler from the high-level language
          called Jack (an educational mix of Java/C
          with many complex parts removed) into the
          VM opcodes;
        - a standard library for the Jack language
          (Screen/Keyboard/Output/Math/String/Array/
          Sys/Memory classes), including writing your own
          memory allocator and drawing lines/circles
          and bitmapping glyphs into video memory
          for text rendering;
        - your own project (usually a simple game and
          sometimes marvels like [0]) written in Jack
          on top of all of that;

The courses are definitely very challenging and some previous exposure to the topics is desired.

[0] [https://github.com/QuesterZen/hackenstein3D](https://github.com/QuesterZen/hackenstein3D)

<comment><USER118> Wow, someone made an FPS in Jack on the Hack computer? Crazy!

(Just completed parts 1 and 2 last week on Coursera btw, really opened my eyes!)

</comment></comment></comment><comment><USER119> I'm surprised no-one had mentioned YC's Startup School! We did the Founder's Track last year and it's by far the most useful MOOC for my startup and I. We had an awesome YC alum as an advisor and a weekly group office hours chair.

</comment><comment><USER120> CS50x and Stanford's Startup Engineering one.

Got me into programming and part of an exclusive club of MOOCs I've started AND finished.

<comment><USER57> +1 for Chuck Eesley's startup engineering one! how did your team experience pan out?

<comment><USER120> Balaji and Vijay version actually. I think it was only actually offered once on Coursera.

</comment></comment></comment><comment><USER121> _Venture Deals_. [https://www.kauffmanfellows.org/online-course-venture- deals/](https://www.kauffmanfellows.org/online-course-venture-deals/)

<comment><USER121> New term just announced: [https://kfatechstars.novoed.com/kfa-venture-deals- spring18](https://kfatechstars.novoed.com/kfa-venture-deals-spring18)

</comment></comment><comment><USER122> Gilbert Strang's linear algebra lectures on MIT OCW

Donald Kagan's introduction to ancient greek history on open Yale courses

</comment><comment><USER123> fast.ai is outstanding, if you're at all interested in deep learning.

</comment><comment><USER124> I track mines here: [http://pa- mar.net/Study/Online/OnlineCourses.html](http://pa- mar.net/Study/Online/OnlineCourses.html)

Best - in no particular order: Introduction to AI (Stanford), the one who started it all, Coursera Data Analysis and Introduction to Operations Management by University of Pennsylvania.

You can find more details about all of these in the page I linked above.

</comment><comment><USER125> Pretty useful and well taught: React JS parts I and II in Codecademy, JavaScript promises in Udacity.

Just pretty fun: Intro to Machine Learning in Udacity

As a general comment, I would like to say that MOOCs tend to be superficial and that the best way to learn a new technology or paradigm is just to read the docs and try hacking on a project. However, MOOCs can be a good format to simply get a broad perspective on some topic though.

</comment><comment><USER126> I loved Coursera's Statistical Molecular Thermodynamics course taught by Chris Cramer from U. Minnesota. Mind expanding. Some calculus.

</comment><comment><USER127> Introduction to Mathematical Thinking ([https://www.coursera.org/learn/mathematical- thinking](https://www.coursera.org/learn/mathematical-thinking)). Aims to teach you what it is like to think like a mathematician. Covers the elements of topics that you probably encounter in the first semester of an undergraduate maths degree: logic, induction, proof construction, real analysis, etc.

Machine Learning ([https://www.coursera.org/learn/machine- learning](https://www.coursera.org/learn/machine-learning)). I'm still working through this course but am finding it extremely interesting. I find that having to implement things in matlab/octave gives you a deeper understanding than using a framework like tensorflow or keras.

Both of the above courses have good instructors, which I think is the main factor that makes a good mooc.

</comment><comment><USER128> The best teaching I've seen in a MOOC is in Introduction to Financial Accounting / More Introduction to Financial Accounting by Brian J Bushee on Coursera. (This used to be one course back when I took it.)

The subject matter is probably not that interesting to most hackers but it is a great example of making the MOOC-format work.

</comment><comment><USER129> David Silver (now of DeepMind, leading their reinforcement learning group which has had so many big high profile successes) has video lectures for his introduction to reinforcement learning. It's very thorough and uses a good, free textbook, and the programming projects are interesting but also reasonable in scope.

</comment><comment><USER130> I think I've only really taken one MOOC, that was Shiller's course on Financial Markets. It's a bit slow, but he has a lot of good anecdotes.

[https://www.coursera.org/learn/financial-markets- global](https://www.coursera.org/learn/financial-markets-global)

</comment><comment><USER131> [https://www.coursera.org/instructor/danariely](https://www.coursera.org/instructor/danariely) One of the best courses I enjoyed. Have become a fan of Prof Dan. Have read his books on Irrationality and thoroughly enjoyed.

</comment><comment><USER132> [https://courses.knowthen.com/p/elm-for- beginners](https://courses.knowthen.com/p/elm-for-beginners)

Elm for Beginners, and the followup course. The first one is free and does the 70% case of the language.

Well organized, good pacing, good content.

</comment><comment><USER133> Circuit and electronics MITx 6.002. Great lectures, a joy to watch. Put me on the path to EE full-time.

<comment><USER134> Really outstanding class! Prof Agarwal was an excellent lecturer, the course material was well prepared, and lots of tutoring material was made available.

</comment></comment><comment><USER135> Can anybody recommend any courses for learning WebGL?

<comment><USER136> I haven't taken it myself (but will sometime in the future), but I've read great things about this Udacity course taught by Eric Haines: [https://www.udacity.com/course/interactive-3d-graphics-- cs29...](https://www.udacity.com/course/interactive-3d-graphics--cs291)

You can read a couple of reviews here: [https://www.coursetalk.com/providers/udacity/courses/interac...](https://www.coursetalk.com/providers/udacity/courses/interactive-3d-graphics)

</comment></comment><comment><USER137> Andrew Ng's deep learning course. For me it struck the perfect balance between being fast and 'easy' enough to not take up too much of my time while still being deep enough that I finally understood the basic math behind deep learning.

</comment><comment><USER138> Convex Optimization by Stephen Boyd.

[https://lagunita.stanford.edu/courses/Engineering/CVX101/Win...](https://lagunita.stanford.edu/courses/Engineering/CVX101/Winter2014/info)

</comment><comment><USER139> MoMA's "Fashion as Design" course was pretty interesting: [https://www.coursera.org/learn/fashion- design/](https://www.coursera.org/learn/fashion-design/)

</comment><comment><USER140> I've recently discovered that videos don't cut it for me. I fall asleep or get distracted doing side research of what is being discussed.

The only one I've finished is edX's CS50. As an electrical power engineer, I used to code in matlab as a hobby: Optimization problems, Power flows, and stuff.

This mooc gently took me by the hand and gave me what is basic to change my career. I quit my job as an EPE and now work as a software engineer, and now I can't stop learning. The course is real fun and challenging at the same time.

Another one that is interesting is mind and machines in edx, kinda thoughtful and different and yet interesting approach to artificial intelligence.

</comment><comment><USER141> Not sure if this counts but recently I started the "elixir for programmers" course and I'm loving it. It skips over the low level stuff and starts from "I know how to build apps in XYZ other tool, how can I get up to speed on idiomatic Elixir" which is exactly the kind of thing I was looking for.

You follow along building the same app as the instructor. Lots of hands on coding and experimentation between clips. I'm not an expert but my confidence level with elixir is very high now.

[https://codestool.coding-gnome.com/courses/elixir-for- progra...](https://codestool.coding-gnome.com/courses/elixir-for-programmers)

</comment><comment><USER142> Learning How to Learn: Powerful mental tools to help you master tough subjects

[https://www.coursera.org/learn/learning-how-to- learn](https://www.coursera.org/learn/learning-how-to-learn)

</comment><comment><USER117> I enjoyed Game Theory [0], it makes you get a different perspective on many situations.

[0] [https://www.coursera.org/learn/game- theory-1](https://www.coursera.org/learn/game-theory-1)

</comment><comment><USER143> Fundamentals of Operations Research by G Srinivasan. [https://medium.com/@jossctz/google-kubernetes-engine- default...](https://medium.com/@jossctz/google-kubernetes-engine-default- deployment-security-problems-ccac23ad35b)

It is a great course for non management majors to get a sense about how operations work. In fact, it is meant for non-management students because the course is originally taught at an engineering institute.

The instructor is a great figure in Operations Research. He is exceptionally knowledgeable and more importantly, clear.

<comment><USER144> Do you have a url? I googled and found just lectures on youtube.

<comment><USER145> Curious myself, and I found this:

[https://onlinecourses.nptel.ac.in/noc17_mg10/preview](https://onlinecourses.nptel.ac.in/noc17_mg10/preview)

As someone into OR myself, I'd like to see if it will be formally given again.

</comment></comment></comment><comment><USER146> I have created a Github repository listing all of the "main" MOOCs here.

[https://github.com/Tuccinator/hn-moocs](https://github.com/Tuccinator/hn- moocs)

</comment><comment><USER147> Programming is for everybody on Coursera. Taught with Python, extremely approachable for non programmers. Teaches you fun stuff including how to use sqlite and how to scrape websites, use JSON APIs, and more!

</comment><comment><USER148> I found Udacity CS344: Intro to Parallel Programming (CUDA) a great class, not only from a practical standpoint of learning CUDA but also had some decent explanations/whiteboarding behind the algorithms

<comment><USER149> Think that was taken down for some reason. I tried watching it last month

<comment><USER150> All course videos are here: [https://www.youtube.com/watch?v=F620ommtjqk&list=PLAwxTw4SYa...](https://www.youtube.com/watch?v=F620ommtjqk&list=PLAwxTw4SYaPnFKojVQrmyOGFCqHTxfdv2)

</comment></comment></comment><comment><USER151> Learning how to learn! [https://www.coursera.org/learn/learning-how-to- learn](https://www.coursera.org/learn/learning-how-to-learn)

</comment><comment><USER152> (Folks have already mentioned Odersky and Grossman for grokking functional programming)

FutureLearn has an introductory Dutch course. I've only learned languages from the Romance family previously, so it was a worthwhile experience. (Dutch- Australian in-laws) It's a taster course requiring further study but well worth satisfying your curiosity.

Dutch (and Frisian) may provide a stepping stone to understanding Old English - there are recognisably 'Germanic' traits.

</comment><comment><USER153> "Learning How to Learn" (already cited) and "Critical Perspectives on Management" (by Rolf Strom-Olsen, available on Coursera, starts in 2 weeks!).

</comment><comment><USER57> Interesting how the myriad other mooc platforms, largely non-US, aren't mentioned.. futurelearn, novoed, ....

This makes me wonder what English speaking courses are being missed..

</comment><comment><USER154> Is MOOC a commonly used term? I don't believe I've ever seen it before this post. Based on context, the default Wikipedia redirect [1] for it seems correct, but I'm surprised I never knew that concept had a name (and an acronym at that).

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

<comment><USER155> I'd never heard it before either. It's just "online course". guess they wanted to feel cooler with an acronym?

<comment><USER156> Online courses that aren't MOOCs either:

1\. Allow a limited number of students to sign up for a run of the class, which is on a specific schedule, and there's high interaction with and feedback from other students and the instructor. 2\. Allow unlimited students to sign up, often at any time, but at most there's a forum or mailing list for participants to interact with each other. Many are just a series of videos or articles, maybe with some assignments, but there's no pressure to complete them.

MOOCs try to combine those. Unlimited students can sign up for scheduled classes. While the class is in session, students are assigned to grade each other's homework, so there's both pressure and interaction.

Most MOOC providers let you "audit" a class for free, which is basically a type 2 online course.

<comment><USER155> Ah. that makes sense; openness plus motivation. thanks for explaining.

</comment></comment></comment></comment><comment><USER157> The AI class (Udacity now) with Thrun and Norvig was fun.

<comment> alok-g I had found it useful also. It has a lot of bugs though. The instructors often faced the heat on the forums for not thinking the problems through. It's hard after all to be teaching a group of some X0,000 students, noting that some then would have intelligence levels well exceeding the instructors (no matter how accomplished they are).

</comment></comment><comment><USER158> Andrew Ngs machine learning course as well as both Princeton Algorithms courses were the most challenging and valuable.

I did all the Scala ones a few years ago, the most interesting was building a distributed key value store.

There's a really online interesting course on Milton at Yale. Great lectures but I didn't try to work through any of the assignments.

Not really a Mooc but I recommend both Duolingo and Memrise for learning language skills on your phone

</comment><comment><USER159> Not a full MOOC, rather a video lecture series, and one I cannot recommend enough is 'Human behavioural biology' with Robert Sapolski. Mind blown. Have listened to some multiple times. I found it to be a fascinating tour of so many facets of biology.

[https://www.youtube.com/playlist?list=PL150326949691B199](https://www.youtube.com/playlist?list=PL150326949691B199)

</comment><comment><USER160> I've done a few from coursera and the best MOOC's I have taken are:

Machine Learning = really good overview of ML, well explained. I did this first but struggled with some of the maths, so took maths refreshers afterwards

Calculus 1 - I have never had a maths class where the Professors made the content so interesting and with such enthusiasm.

Human-Computer Interaction - worth doing if you are building websites / apps

</comment><comment><USER161> NAND to Tetris

</comment><comment><USER162> Dan Boneh's Cryptography Part I on Coursera. Will we ever get Part II? Enrolling for Sept 2018 according to Coursera.

<comment><USER163> Wondering the same! It looks like Part I has been around since late 2015/early 2016 based on the course reviews.

<comment><USER164> 2012

</comment></comment></comment><comment><USER165> Since no one has said it yet, /r/ludobots is pretty good. It's a University of Vermont course centered around ML for robotics. Specifically, the goal is to train a procedurally generated robot to walk using NNs. I wouldn't say it's the best I've ever taken but it's pretty unique and great fun.

<comment><USER166> I took a few courses by the same guy at school. Probably the best professor I had at UVM

</comment></comment><comment><USER167> If someone likes to rip all the links from this wonderful discussion, please use this script and paste it in browser console. [https://gist.github.com/mohanmca/481056956ca618a3b21a2b3a0d1...](https://gist.github.com/mohanmca/481056956ca618a3b21a2b3a0d156f11)

</comment><comment><USER168> [http://callingbullshit.org/](http://callingbullshit.org/)

</comment><comment><USER169> Can anyone recommend course about assembly ? Which focuses especially on embedded systems (arm, avr, pic archs) ?

<comment><USER170> Azeria Labs has a good introduction to ARM assembly and ARM exploitation. [https://azeria-labs.com/writing-arm-assembly-part-1/](https://azeria- labs.com/writing-arm-assembly-part-1/)

</comment></comment><comment><USER171> Machine Learning by Andrew Ng on Coursera is the best MOOC I've taken so far. It has great explanations on complex topics, fun activities, and a really well put together curriculum on machine learning.

</comment><comment><USER172> Math for CS by Tom Leighton (founder of Akamai) - MIT Open Courseware

</comment><comment><USER173> I'm a big fan of Chris (the GoRails.com guy): [https://courses.gorails.com/](https://courses.gorails.com/)

Great course.

</comment><comment><USER174> • MITx "Introduction to Solid State Chemistry" [1]. I've never been good at chemistry, but this course managed to make it clear to me.

• MITx "Circuits and Electronics" [2][3][4] (three links because they have split it into three courses since I took it). Most electronics courses have not worked well for me. Some fail by using analogies that don't work for me. The analogies are either to things I don't understand, or to things I understand too well compared to the target audience for the course.

The latter might seem odd--how can understanding the analogous system too well cause a problem? It's because there usually isn't a perfect match between behavior of the analogous system and electronics. The more you know about the analogous system, the more likely you are to know about those places that don't match. If the author expects the students will not know about those parts, they won't mention the limitations from those parts. So you can end up expecting too much of the analogous system to apply.

Other courses have not worked for me by being too deep and detailed. For instance at one time I knew, from a solid state physics intro I took, how a semiconductor diode worked at a quantum mechanical level. I could do the math...but the course gave me no intuition for actually _using_ the diode in a useful circuit.

The "Circuits and Electronics" course struck for me a perfect balance.

• MITx "Computation Structures" [5][6][7]. At the end of this three part course (of which I only took the first two parts), you will know how digital logic circuits work at the transistor level, and you will know how to design combinatorial and sequential logic systems at the gate level, and you will know how to design a 32-bit RISC processor...and you will have done all those designs, using transistor level and gate level simulators.

As I said, I only took the first two parts (didn't have time for the third). In the first two parts we did cover caching and pipelining, but we didn't use them in our processor. I believe that in the third part those and other optimization are added to the processor.

• Caltech "Learning From Data" [8]. The big selling point of this course is that it is almost the same as what Caltech students get when they take it on campus. The only watering down when I took it was the homework was multiple choice so it could be graded automatically.

The most outstanding thing about this course was Professor Abu-Mostafa's participation in the forums. He was very active answering questions. I don't know if he still does that now that the course is running in self-paced mode.

[1] [https://www.edx.org/course/introduction-solid-state- chemistr...](https://www.edx.org/course/introduction-solid-state-chemistry- mitx-3-091x-5)

[2] [https://www.edx.org/course/circuits-electronics-1-basic- circ...](https://www.edx.org/course/circuits-electronics-1-basic-circuit- mitx-6-002-1x-0)

[3] [https://www.edx.org/course/circuits- electronics-2-amplificat...](https://www.edx.org/course/circuits- electronics-2-amplification-mitx-6-002-2x-0)

[4] [https://www.edx.org/course/circuits- electronics-3-applicatio...](https://www.edx.org/course/circuits- electronics-3-applications-mitx-6-002-3x-0)

[5] [https://www.edx.org/course/computation-structures- part-1-dig...](https://www.edx.org/course/computation-structures- part-1-digital-mitx-6-004-1x-0)

[6] [https://www.edx.org/course/computation- structures-2-computer...](https://www.edx.org/course/computation- structures-2-computer-mitx-6-004-2x)

[7] [https://www.edx.org/course/computation- structures-3-computer...](https://www.edx.org/course/computation- structures-3-computer-mitx-6-004-3x-0)

[8] [https://work.caltech.edu/telecourse.html](https://work.caltech.edu/telecourse.html)

<comment><USER175> Also did Computation Structures from MITx and I think it was the best of the roughly 20 MOOCs I took. Too bad few people seem to have done it as well.

In the third part of the course, the content moved to the software connecting to the BETA, the processor we built in earlier parts. The last problem set was to build a very simple OS, in assembly, with interrupts, privileged mode, and running up to 3 concurring processes, all in less than 1000 instructions, macros included.

</comment></comment><comment><USER176> I enjoyed sabremetrics 101 at edX. Some statistics, light coding (SQL and R), history and baseball.

</comment><comment><USER177> Charles Fried - Harvard Law Contract Course. Super nice and just a very good class to understand

</comment><comment><USER178> I took Cryptography I (Boneh) and Automata (Ullman) on Coursera and they were both great.

</comment><comment><USER179> Second the Jennifer Windom course. That's been the most useful course to my career.

</comment><comment><USER180> AI by UC brekely, was one of the best course on edx

</comment><comment><USER181> edX/MIT 8.05 QM II Barton Zwiebach Thought he did a really good job with the material, very clear.

Agree with others on Windom, Ng and Page.

</comment><comment><USER182> Cryptography I by Dan Boneh in Coursera.

</comment><comment><USER183> The odersky one is good.

</comment><comment><USER184> This thread is ABSOLUTE GOLD!!!!</comment>


On OS X, why does sudo ls show hidden (dot) files? - <AUTHOR> https://superuser.com/questions/931554/on-os-x-why-does-sudo-ls-show-hidden-dot-files <comment><USER2> The problem with such thoroughly robust StackOverflow answers as this; when I stumble across one as I occasionally do, so taken aback am I by it's succinct completeness that it becomes irreversably embedded into my limited brain space.

I am afraid that one day I will come across an answer so comprehensive I will forget how to ride a bicycle.

<comment><USER3> That takes about eight months of practice apparently.

[https://m.youtube.com/watch?v=MFzDaBzBlL0](https://m.youtube.com/watch?v=MFzDaBzBlL0)

<comment><USER4> All of the people doing the "10 foot challenge" are looking down at the ground. Looking down at the ground in front of your bicycle (or motorcycle, or any two wheel vehicle) results in a ton of shaking and instability in the handlebars. They're making the challenge about 100x harder for themselves.

I would have taken this guy's $200 by simply lining the bike up, keeping my eyes on the horizon, and giving the pedal one solid enough push. I would probably give it back too since I violated the spirit of the challenge. :-)

Interesting video. It's funny how countersteering is a seemingly innate ability, but if you explain it to people they will deny that is how a bicycle works.

<comment><USER5> You probably would have still failed. Balancing still requires handlebar movement even if you only press on the pedal once.

<comment><USER4> You could easily go ten feet without any arm movement assuming you lined yourself up ahead of time and didn't look down at the ground. One solid push with arms locked would suffice.

</comment></comment></comment></comment></comment><comment><USER6> Per Rob Pike, the very existence of "hidden" named dotfiles was a bug that snowballed: [https://plus.google.com/+RobPikeTheHuman/posts/R58WgWwN9jp](https://plus.google.com/+RobPikeTheHuman/posts/R58WgWwN9jp)

<comment><USER7> This is certainly interesting. Too bad it doesn't suffer from the same robustness the stackoverflow link had.

I for one get frustrated at work, using git on windows, when I try to create a .gitignore file or something of the sort and windows bitches at me saying "You must type a file name". At least there are easy workarounds for it, but explorer is just retarded.

<comment><USER8> I know it's difficult, but you should start using more descriptive words instead of 'retarded'. I personally don't care, but a lot of people end up holding it against us retarded-sayers.

<comment><USER7> Yeah from time to time it's hard to remember how much harsher HN is with comments compared to reddit.

</comment></comment></comment></comment><comment><USER9> Code archaeology needs to become an actual academic discipline.

</comment><comment><USER10> Why can no one read a man page anymore? They even have them on the internet these days.

[https://developer.apple.com/library/mac/documentation/Darwin...](https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/ls.1.html)

-A List all entries except for . and ... Always set for the super-user.

<comment><USER11> That doesn't really explain the history of _why_. I think that's the most interesting part of the answer.

</comment></comment><comment><USER12> For security reasons. Nothing should be hidden from root.

<comment><USER13> It's interesting to me the contrast between what the question of "why" means to different people. The answer on Superuser is wonderfully well researched, and very complete, but does it really answer the question? I guess it depends on your perspective.

Imagine you are in standing in a bedroom, and someone asks you, "Why are you in this bedroom?"

Does you answer look like this?

"I walked in through the front door, passed through the living room, down the hall, then used the door to enter this room."

Or like this?

"I was feeling kind of sleepy, so I figured I'd come in here and lie down on the bed."

The former is not a perfect analogue for the Superuser answer, but perfect analogues are difficult to come by.

<comment><USER14> That was my thought too. It answered _how_ and _when_ , not _why_.

<comment><USER15> If the _why_ was ever recorded anywhere, it would have been in the comments of the code when it was committed, because it wasn't explained in the documentation or anywhere else other than: "it does this". Either that or a email/USENET discussion from that time period; but those aren't so easily retrieved unless you were originally involved in that ancient discussion.

It's worth the effort to document going to the source to see if any insights code be unearthed, even if it doesn't reveal much, just so that others know what has already been explored and to look/ask elsewhere if this is not a sufficient background.

I think the logic to the _why_ has been lost to time.

We might talk about why it would or wouldn't be a good idea for a modern version of ls; it's something to give a few moments' thought, but no more.

</comment></comment></comment></comment><comment><USER16> Also here: [http://unix.stackexchange.com/questions/211689/sudo-ls- not-s...](http://unix.stackexchange.com/questions/211689/sudo-ls-not-showing- hidden-files-on-linux/211701#211701)

</comment><comment><USER17> root ls always shows dotfiles on BSD

<comment><USER18> Not, as the top scoring answer shows, in November 1977. Mundane question, interesting answer.

</comment></comment><comment><USER19> AFAIK, this is standard on any Unix platform, not just OS X. I also fail to see why this is _news_ , this behaviour is decades old.

<comment><USER20> > AFAIK, this is standard on any Unix platform, not just OS X.

This is incorrect, and the linked question actually mentions this…

> This differs from what ls on Linux (the one coming from coreutils) does.

> I also fail to see why this is news, this behaviour is decades old.

Straight from the guidelines,

> On-Topic: Anything that good hackers would find interesting. That includes > more than hacking and startups. If you had to reduce it to a sentence, the > answer might be: anything that gratifies one's intellectual curiosity.

I found it interesting, as the behavior surprises me, and I had no idea BSD ls did this.

<comment><USER19> > This is incorrect, and the linked question actually mentions this…

Actually it mentions how this comes from BSD, which is a direct descendant of Unix.

> This differs from what ls on Linux (the one coming from coreutils) does.

Linux is not Unix.

> Anything that good hackers would find interesting.

It's amusing that the default behaviour of ls would be interesting to hackings.</comment></comment></comment>


Show HN: Biddle, OS and language agnostic application distribution - <AUTHOR> https://github.com/prettydiff/biddle#beta-release <comment><USER2> What are the advantages of Biddle over FTP?

</comment><comment><USER3> Interesting solution and goal. With docker on windows now could also easiky leverage an apt repo everywhere.

Docker run --rm -v (pwd):(pwd) dpkg --unpack package-name

<comment><AUTHOR> Thanks for taking the time to look at it. The Docker approach looks like a strong approach, but I suspect applications leveraging this solution would be confined to the container.

<comment><USER3> the -v flag above mounts the current directory to the container. So once the deb is extracted the contents will be in the docker host folder</comment></comment></comment>


How the Recession Reshaped the Economy, in 255 Charts - <AUTHOR> http://www.nytimes.com/interactive/2014/06/05/upshot/how-the-recession-reshaped-the-economy-in-255-charts.html

<comment><USER2> I'm one of the editors on this — and would be happy to answer any questions...

To address the obvious: It's _a lot of data_. A pixel (roughly) for each of the 255 industries we chose to cover the private sector, for each month, for each of the past ten years. Sadly, it may bring your browser to its knees. I've tried some tricks to try and keep things moving along smoothly, but if anyone has any brilliant perf. ideas that aren't already incorporated, I'm all ears.

<comment><USER3> Not a performance suggestion, but..

For the first few minutes, I found these charts confusing, because the horizontal axis is labeled "<\- Lower Wages Industries Higher Wages ->", but within each chart, it represents time.

I'd recommend adding some kind of explanation/legend for this.

<comment><USER2> You're quite right that we're double-coding along the X-axis (and the Y-axis as well to a lesser extent). The introduction and the "How to read this chart" tooltip should help explain that, as should the year legend within each mini- chart ... but if you have a concrete idea about where we could place additional explanation to make it clearer, let me know.

</comment></comment></comment><comment><USER4> The scroll effects at the top of the page make my browser weep. I keep getting stuck in weird half-states with the charts moving in and out of the intro text. The hovers are quite laggy. This is Chrome on a Macbook Pro.

<comment><USER5> Chrome + Windows 7 is fine.

</comment></comment><comment><USER6> Interestingly the average salary for "computer systems design and programming" has gone down whilst the number of jobs have gone up.

Says a lot about the motives of the "altruistic" individuals who permeate the myth that "everyone can code."

<comment><USER7> Hi! This is the Market Economics Fairy! I would like to respond to whatever it is you're thinking, but I honestly don't know what exactly you're thinking! Increasing the supply of something almost always makes the price go down relative to what it would be otherwise! But then more trades take place too, so more gains from trade are generated, which is wonderful! More people getting paid high programmer salaries can increase the average per-person salary across the whole economy, even if it means the price per programmer goes down! So it's totally consistent for an altruist who wants more people to be paid more to try to introduce more people to programming jobs! The same with decreasing unemployment across the whole economy and increasing unemployment among programmers! But I don't know if that's the part you were confused about! Sincerely, the Market Economics Fairy!

<comment><USER8> Uuuhhh, correct me if I'm wrong, but if the number of actual _jobs_ are going up (rather than job _openings_ ), it means demand and supply rose roughly in tandem.

On the other hand, there's simultaneously a lack of wage rises in _most_ of the technology industry combined with extreme worker shortages in _some parts_ of the industry, so it makes me think there's some vast inefficiency lurking somewhere keeping trades from clearing. My personal theory is: it's the Bay Area real estate markets. If we had a housing crunch in the place where companies want to hire workers that was observed to eat up most (though not all) available salary increases as increased rents, thus causing it to be uneconomical for employed experts in other areas to open their jobs by leaving for higher salaries in the industry's major center, leaving companies in the center locked in a zero-sum struggle to hire a shrinking pool of rich workers while increasing portions of the industry's labor force _outside_ that one geographic area sit underutilized... it would look a lot like reality.

</comment></comment></comment><comment><USER9> At the very end:

 _The graph at the top of this page includes line charts for each industry, shaped by their change in employment over the last decade. The individual lines are placed on the x axis (horizontally) based on the average wages paid in that industry. They are placed on the y axis (vertically) based on the percentage change in employment since the start of the recession in December 2007._

If you scroll past the initial confusion, you get to all of the graphs plotted separately with nice titles.

</comment><comment><USER10> Interesting to see Nail Salons grow so much.

</comment><comment><USER11> I really enjoyed this, and thought the data was well presented. The first few graphs with the hundreds of lines were definitely more confusing (I didn't parse out the lower/higher wages aspect at first pass), but the walkthrough of all major industries with the dozens of subcategories as individual plots was quite interesting and clear.

</comment><comment><USER12> I like the intent of this chart, but the Y-axis is a mess. Combining percent change from 2007 (as units for the y-axis) with roll-overs of actual numbers that contain data pre-2007 is very unintuitive.

</comment><comment><USER13> If you can make it to the bottom, I found those simple charts, segmented by Industry, the most interesting and easiest to digest.

</comment><comment><USER14> The individual line graphs are easy to understand; I don't get a lot out of the color or the jobs & wages axes.

<comment><USER5> I think they should be a point on the graph, rather than a line, it's quite confusing.

</comment></comment><comment><USER15> TMI! Can someone tell me what I should take away from this?

<comment><USER16> A bunch of sectors of the economy have grown since the start of the recession. A bunch of others haven't.

Good luck finding any rhyme or reason as to why the ones that grew, grew, and the others didn't.

</comment></comment><comment><USER17> Lots of great data poorly presented.

Also browser killer.

<comment><USER18> I found it immeditaly intuitive actualy. I was a bit surprised at the breakout sections, they seemed sort of superfluous to me.</comment></comment>