Ask HN: Recommend me a course on Coursera - <AUTHOR> My university just provided us with free Coursera accounts until the end of summer. However, there's so many courses to choose from that I don't know where to start! Please recommend me a course that you liked, preferably from the following areas:<p>- UX design<p>- bioinformatics<p>- statistics for data science<p>- mathematical analysis<p>- algebra or category theory<p>But of course, you don't need to stick to those categories, I'd love to learn about anything new! <comment><USER2> Build a Modern Computer from First Principles: From Nand to Tetris (Project- Centered Course) [https://www.coursera.org/learn/build-a- computer](https://www.coursera.org/learn/build-a-computer)

and then part 2: [https://www.coursera.org/learn/nand2tetris2](https://www.coursera.org/learn/nand2tetris2)

[Both courses are free]

These are fantastic courses, by far the best MOOCs I have ever taken. I went into them knowing nothing about computer architecture, and by the end of the first course I was able to design a fully-working digital computer in Logisim.

While other courses consist of lectures + text content, with Nand2Tetris the course is _practical_. The authors have developed a complete software system to allow you to complete the course:

* A simplified hardware programming language to design the ALU, CPU, clock, RAM, etc..

* A hardware simulator and debugger to allow you to test the hardware that you develop

* An assembler for the assembly programs you write for the computer

* A compiler for the higher-level programs you write for the computer

I'm probably banging-on about this course more than I reasonably should, but that's just because I enjoyed the course so much!

<comment><USER3> I have to also mention nandgame.com here. Similar idea, but all presented as an interactive, browser-based game. Start with nand gates and build up to a functioning computer. You never get to tetris, but it's great and super easy to start playing/learning. Delightful.

<comment><USER4> [http://nandgame.com/](http://nandgame.com/) You're welcome.

<comment><USER5> Oh man, a big Thank You. I kind of know where I'll be spending 10-12 hours in the next few days.

</comment></comment></comment></comment><comment><USER6> Here is a list of all Coursera courses sorted by ratings: [https://www.classcentral.com/provider/coursera?sort=rating-u...](https://www.classcentral.com/provider/coursera?sort=rating- up)

You can also filter by subjects i.e Computer Science, Data Science. Humanities, Mathematics, etc.

Disclaimer: I am the founder.

<comment><USER7> Is there a plan to get more advanced courses?

I'm asking because there seems to be an extreme bias towards beginners courses, or content that is rather limited in breadth _and_ depth compared to what a university might teach during a full masters degree.

ie, there's about 50 security intro courses (with lots of overlap of course), one "advanced" course that's been delayed for long and isn't all that advanced (Crypto II from Stanford), but nothing that even comes close to the various full-semester courses covering particular niches that I took in university (for example, we did one full semester course on _each_ of: symmetric crypto, asymmetric crypto, side channels, "special topics" (random stuff), a cryptoanalysis lab, and 3 more niche things - and those are just the pure crypto courses, and even/especially within that area I feel I've barely scratched the surface).

These university courses cover not only more topics than Coursera covers (overall; there are many things even in this niche that Coursera has that we weren't taught, which is neat), but within each we went into considerable depth. In particular we tended to approach them from a rigorous mathematical perspective (number theory, linear algebra, statistics, proofs, etc). My worry here is that Coursera might be more geared towards people that don't need to learn the topics well enough to be actually able to use them professionally, let alone academically. ie, more like edutainment than education (no offense intended. I wasn't sure if I should include that sentence cause it might sound harsh, but I think it illustrates what I'm getting at).

We also didn't have courses that are blatant advertisements (#18568).

I don't want to put Coursera down (quite the opposite), I am genuinely interested in your answer - Is it just me not seeing everything available? Is the field I'm (slightly) knowledgeable about an outlier? Or am I missing the point of Coursera (maybe it's more focused on training industry professionals than academics than universities?) Or is it correct, and if so, is it intentional or unintentional? Is there a single field of study where Coursera could replace a university partly/largely/mostly/entirely? Will there be?

<comment><USER8> There should be less ratings of advanced materials, and there should be less coursework. Advanced study is the long tail of learning.

<comment><USER9> That should not affect the rating by much with an appropriate sorting. See: [https://www.evanmiller.org/how-not-to-sort-by-average- rating...](https://www.evanmiller.org/how-not-to-sort-by-average-rating.html)

<comment><USER10> I would expect people who take advanced courses to rate systematically differently from people who take beginner courses. For comparisons between similar courses it's probably fine, but would be hard to use the scores to compare the value of beginner courses to advanced courses.

Of course, even the definition of better here is so ill-defined it probably is of no practical significance.

</comment></comment></comment></comment></comment><comment><USER11> The Science of Wellbeing[1] taught by Yale's Dr. Laurie Santos lives up to the hype. It's been discussed on HN a few times[2] which is how I stumbled upon it.

If you don't mind my asking, did your school give you access to coursera to earn credit while the campus is shut down? Or is it just something interesting and fun for students who might be inclined to learn something new while they're stuck at home? Either way, props to your school! And enjoy whatever classes you decide to take!

[1] [https://www.coursera.org/learn/the-science-of-well- being](https://www.coursera.org/learn/the-science-of-well-being)

[2] [https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...](https://hn.algolia.com/?dateRange=all&page=0&prefix=false&query=science%20of%20wellbeing&sort=byPopularity&type=story)

<comment><AUTHOR> Thanks for the recommendation, sounds great!

As mentioned above, I think the credit is due to Coursera more than my university; either way, at least they've let me know that something like this is possible.

It's just for fun; most of our courses are now taught over Zoom or similar services, assignments are handled digitally and if it wasn't for the low- quality webcams, you'd almost forget something is out of the ordinary.

</comment></comment><comment><USER12> I enjoyed taking Model Thinking: [https://www.coursera.org/learn/model- thinking](https://www.coursera.org/learn/model-thinking)

It's designed to be a foundation course for subsequent social science classes, but I personally found the exposure to models from different fields of study to be quite insightful.

If you're interested, there's also a book by the professor on the same topic: [https://www.goodreads.com/en/book/show/39088592-the-model- th...](https://www.goodreads.com/en/book/show/39088592-the-model-thinker)

<comment><USER13> Model Thinking is the best Coursera course that I've taken. The lessons have practically applied to many areas of my personal and professional life in a way that far exceeded my expectations.

Scott is one of the best teachers on the topic, and makes complex models simple and intuitive to understand.

It is a long course, but well worth it. Cannot recommend it enough.

</comment></comment><comment><USER14> I recommend the meta-cognition course: Learning how to Learn.

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

The primary instructor, Dr. Barbara Oakley, wrote the book, _A Mind for Numbers: How to Excel at Math and Science (Even If You Flunked Algebra)_ that isn't just about learning math.

<comment><USER15> I second this, and if you're not sure where to start then this is a great one because it will give you some study tools to use on your next course(s)!

</comment></comment><comment><USER16> I recommend an audiobook course from Audible called

The Philosophers Toolkit: How to be the most rational person in any room by The Great Courses [https://www.audible.com/pd/The-Philosophers-Toolkit-How- to-B...](https://www.audible.com/pd/The-Philosophers-Toolkit-How-to-Be-the- Most-Rational-Person-in-Any-Room-Audiobook/1629976822)

It teaches you mental models on how to think and find a solution to a problem. It explains the concepts behind each model quite well.

Topics include how to determine a valid argument, an iron clad argument, using heuristics to solve problems, among other things.

My only gripe with the course I linked is that it is an audio version of what seems to be a video version on the Great Courses website. You might want to check that out too.

<comment><USER17> Great Courses video version: [https://www.thegreatcourses.com/courses/the- philosopher-s-to...](https://www.thegreatcourses.com/courses/the-philosopher- s-toolkit-how-to-be-the-most-rational-person-in-any-room.html)

</comment></comment><comment><USER18> The cryptography course taught at Stanford I have found to be excellent. it really helped me gain an understanding of what I MAC's were, cbc encryption, common problems with encryption schemes, etc. after taking the course I was able to find a bug in our company's software that they didn't know about or that they didn't know was a bug.

<comment><USER19> I agree--I very strongly recommend this course. I binged Dan Boneh's lectures on a late Friday night like I was watching Netflix. I'm serious.

<comment><USER20> Did you actually complete all assignments?

<comment><USER19> No, why?

</comment></comment></comment></comment><comment><USER21> Experimentation for Improvement [0], taught by Kevin Dunn [1][2]. It's not very difficult to follow, and teaches some basics of experiment design. It's explained in a very well suited manner for non-academics, with examples about how you can implement this kind of experiments to improve things at home or at work.

[0] [https://www.coursera.org/learn/experimentation](https://www.coursera.org/learn/experimentation) [1] [https://learnche.org/](https://learnche.org/) [2] [https://github.com/kgdunn](https://github.com/kgdunn)

</comment><comment><USER22> [https://www.coursera.org/learn/machine- learning](https://www.coursera.org/learn/machine-learning) with Andrew Ng

<comment><USER23> I would recommend Andrew Ng's updated course on Deep Learning with python instead. [https://www.coursera.org/specializations/deep- learning](https://www.coursera.org/specializations/deep-learning)

<comment><USER24> Yeah - the updated version is much better (I've completed both of them) just because you don't need to struggle with Matlab.

Overall, this course is extremely good mostly because Ng covers the essential theoretical topics and gives some practical advice. Also, the topics are explained really well and you do not need to look up additional material. Also, I really appreciate that he took the time to derive those equations while others just drop the results.

<comment><USER25> I'm started the Deep Learning course last night and I too think it's really good. After you finished the series of courses, what did you move on to?

<comment><USER23> fast.ai

</comment></comment></comment></comment></comment><comment><USER26> I'm currently taking the course "Audio Signal Processing for Music Applications", a joint course from the Pompeu Fabra University in Barcelona and Stanford, taught mainly by one of the leading figures in music technology, Xavier Serra.

I think the pacing is great even for people who are not yet into DSP; every lecture teaches fundamental concepts that build on top of each other, and many insightful examples are given (listening to waveforms, looking at spectrograms). I'm now in week 5 (I just watch the lectures at my own pace, e.g. so far I don't need the programming part of the course), and I've already learned a lot.

</comment><comment><USER27> I personally found this to be a great one.

[https://www.coursera.org/learn/psychological-first- aid](https://www.coursera.org/learn/psychological-first-aid)

Having even passing familiarity with a way to think about helping people in crisis is extremely useful when you're in the moment.

<comment><USER28> Now that looks like an interesting recommendation! It looks like it can offer information I can't find elsewhere, unlike most of Coursera's other classes

</comment></comment><comment><USER29> I am taking the Modelling series([https://www.coursera.org/learn/basic- modeling](https://www.coursera.org/learn/basic-modeling)) and Discrete optimization([https://www.coursera.org/learn/discrete- optimization](https://www.coursera.org/learn/discrete-optimization)). Great way to get your feet wet in the world of NP-hard problems.

<comment><USER30> Discrete optimization is the best course for me. It's really challenging one. I spend about a month for getting A score for all tasks - but it's rewarding experience.

I miss professor Pascal. I hope he will create a second course!

<comment><USER31> I took watched some of the lectures and did a few exercises when I had a similar course at University, it was great indeed.

</comment></comment></comment><comment><USER32> Robert Sedgewick's courses, including Algorithms Part 1 and Part 2.

[https://www.coursera.org/instructor/~250165](https://www.coursera.org/instructor/~250165)

<comment><USER33> Can't recommend enough. I am currently doing this and loving it.

</comment></comment><comment><USER34> Loved Model Thinking, taught by Scott Page at UM. Good for the current model dependent times as well.

[https://www.coursera.org/learn/model- thinking](https://www.coursera.org/learn/model-thinking)

 _We live in a complex world with diverse people, firms, and governments whose behaviors aggregate to produce novel, unexpected phenomena. We see political uprisings, market crashes, and a never ending array of social trends. How do we make sense of it? Models. Evidence shows that people who think with models consistently outperform those who don 't. And, moreover people who think with lots of models outperform people who use only one. Why do models make us better thinkers? Models help us to better organize information - to make sense of that fire hose or hairball of data (choose your metaphor) available on the Internet. Models improve our abilities to make accurate forecasts. They help us make better decisions and adopt more effective strategies. They even can improve our ability to design institutions and procedures. In this class, I present a starter kit of models: I start with models of tipping points. I move on to cover models explain the wisdom of crowds, models that show why some countries are rich and some are poor, and models that help unpack the strategic decisions of firm and politicians._

 _The models covered in this class provide a foundation for future social science classes, whether they be in economics, political science, business, or sociology. Mastering this material will give you a huge leg up in advanced courses. They also help you in life. Here 's how the course will work. For each model, I present a short, easily digestible overview lecture. Then, I'll dig deeper. I'll go into the technical details of the model. Those technical lectures won't require calculus but be prepared for some algebra. For all the lectures, I'll offer some questions and we'll have quizzes and even a final exam. If you decide to do the deep dive, and take all the quizzes and the exam, you'll receive a Course Certificate. If you just decide to follow along for the introductory lectures to gain some exposure that's fine too. It's all free. And it's all here to help make you a better thinker!_

</comment><comment><USER35> Securing Digital Democracy [https://www.coursera.org/learn/digital- democracy](https://www.coursera.org/learn/digital-democracy)

I went through this not long after it was first offered following the 2012 elections, and it introduced me to the amazing world of security and human factors. There's more to secure systems design than just smart engineering. You have to give a lot of attention to people and priorities, and elections are a great place to see that in action.

<comment><USER36> Seconded I've taken a number of courses and this is by far the best mooc I've taken.

</comment></comment><comment><USER37> Cryptography I by Dan Boneh: [https://www.coursera.org/learn/crypto](https://www.coursera.org/learn/crypto)

It's a great introduction to fundamental concepts. After you finish, I'd recommend reading this book he co-authored, which goes into more detail and covers more advanced concepts: [https://toc.cryptobook.us/book.pdf](https://toc.cryptobook.us/book.pdf)

</comment><comment><USER38> Design: Creation of Artifacts in Society is my favorite course I've ever taken:

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

It's taught by Karl Ulrich, a UPenn/Wharton professor/Vice Dean who helped design the Xootr scooter, Gushers, and many other awesome products. He teaches most of the course in his garage. Taking the course feels like you're his apprentice.

</comment><comment><USER39> Coursera is great but you're going to miss a lot of opportunities by limiting yourself to just that platform.

For instance, it hasn't been widely advertised, but you can essentially take Steven Pinker's 2020 course at Harvard on Rationale: [https://stevenpinker.com/classes/rationality- gened-1066](https://stevenpinker.com/classes/rationality-gened-1066)

There's upwards of 20 hours of video on this course alone. You don't get that kind of depth from most Coursera MOOCs. Further, the syllabus helps narrow down a vast subject to a few months of effort and there is no better design for learning it.

Critical reasoning skills are essential! Why not learn from one of the great thinkers on the subject?

This course has the potential of ascending to the upper echelon of MOOCs. I really hope that the content doesn't get taken down. It doesn't seem downloadable..

<comment><AUTHOR> Looks great! Is this the rationality often mentioned (and propagated) on LessWrong, Slate Star Codex and similar?

<comment><USER39> Yes it is

</comment></comment></comment><comment><USER40> I really enjoyed the course on the Science of Exercise - [https://www.coursera.org/learn/science- exercise](https://www.coursera.org/learn/science-exercise).

I always wondered if there was a comprehensive way to understand how different fitness regimes and diets actually help or don't help. This course was amazing and helped my understand the fundamentals. A bit technical - goes into the basics of biology, but even without that information, this was a great course. The instructor is Dr. Robert S. Mazzeo, who has been studying, researching and teaching in the field of exercise science for over 40 years.

I have actually applied several of the principles in my workout regime and started to see the effects over the last few months. I highly recommend this one.

<comment><USER41> Not sure if I'll follow through on this but this was a great recommendation as I had no clue of its existence. Thank you very much for taking the time to recommend this and exercise science is a budding interest for me.

</comment></comment><comment><USER42> I wrote this course, an introduction to using the command line: [https://www.coursera.org/learn/unix](https://www.coursera.org/learn/unix)

<comment><USER40> Oh! Speaking of command line and the basics, this one from MIT is amazing. Covers all the basics.

The Missing Semester of Your CS Education - [https://missing.csail.mit.edu/](https://missing.csail.mit.edu/)

Contents: Course overview + the shell, Shell Tools and Scripting Editors (Vim), Data Wrangling, Command-line Environment, Version Control (Git), Debugging and Profiling, Metaprogramming, Security and Cryptography

</comment></comment><comment><USER43> Let me recommend you an udacity course instead. This is hands down the best course I've ever taken in my life:

AI for Trading [https://www.udacity.com/course/ai-for-trading-- nd880](https://www.udacity.com/course/ai-for-trading--nd880)

Includes an introduction to finance/markets, and goes into strategies, multi- factor models, and deep learning. Great projects too!

<comment><USER44> It looked interesting - is it really $400 a month for access to the course, or is there some other way to just take the course without some kind of certificate?

<comment><USER43> I'm not sure, but I took really good notes (along with good pictures from the videos). I have them in org and html: [https://github.com/smabie/udacity-AI- trading-notes](https://github.com/smabie/udacity-AI-trading-notes)

</comment></comment></comment><comment><USER45> University of Pennsylvania has an amazing course on single variable calculus.

Don't let the idea of doing 'basic' calculus turn you away as it is an incredibly tough course. The reason it can be so challenging and the reason I find it so incredible is that it teaches Calculus through the lenses of Taylor Series. Very different to other Calculus courses and as someone who hated my first year university maths course it's helped me really come to appreciate the beauty of it!

Here's the link to the first course of 5:

[https://www.coursera.org/learn/single-variable- calculus](https://www.coursera.org/learn/single-variable-calculus)

<comment><USER46> I strongly recommend Robert Ghrist's other courses as well, they're fantastic.

* Multivariable calculus (a linear algebra based approach, and a very nice intro to differential forms)

* Applied dynamical systems (ongoing, started recently)

[https://www.youtube.com/channel/UC5N5pRddyicAX1QJyJjIIdg](https://www.youtube.com/channel/UC5N5pRddyicAX1QJyJjIIdg)

<comment><USER45> That's fantastic! Thanks for sharing!

</comment></comment></comment><comment><USER47> I loved 'Classical Sociological Theory'. It introduces the ideas of 8 'sociological' thinkers from Bernard Mandeville to Norbert Elias. The course uses the medium of a MOOC by providing insightful pictures and the course references interesting source material.

The course that brings me the most in terms of concepts I keep coming back to in everyday live is 'Introduction to Psychology': [https://www.coursera.org/learn/introduction- psychology](https://www.coursera.org/learn/introduction-psychology)

I must confess I always find it quite hard to take psychology very serious, but this course does a good job at cutting to the bone of what psychology is about and refrains from making unfalsifiable statements.

EDIT: Almost forgot Astronomy: Exploring time and space: [https://www.coursera.org/learn/astro](https://www.coursera.org/learn/astro). It comes with a very awesome free online book/website.

</comment><comment><USER48> I took it a while ago, and it was a ton of work, but I really liked [https://www.coursera.org/specializations/probabilistic- graph...](https://www.coursera.org/specializations/probabilistic-graphical- models)

<comment><USER24> I took it relatively recently but I have mixed feelings about it. While the topic itself is very interesting and they have some interesting exercises, the explanations in the videos are seriously lacking.

There are big jumps in reasoning and explanations so you'll need to rely on external material quite a bit (I've used Bayesian Reasoning by Barber) Also, exercises are presented in Matlab/Octave which makes them a pain to work with.

After completing the specialization, I've almost felt that you could just do a course that explains this course.

</comment></comment><comment><USER49> [https://www.coursera.org/learn/genetics- evolution](https://www.coursera.org/learn/genetics-evolution) Beginners level.Dr. Noor is an excellent instructor.

<comment><AUTHOR> Thanks! The teacher makes or breaks the course, and that is exactly why I asked for personal recommendations.

As an aside, the world of genetics (and molecular biology in general) is beyond fascinating. I remember coming home after one the 5th or 6th lecture on Cell biology and thinking "wow, take your worst spaghetti code and imagine the pasta becomes sentient --- that is us".

<comment><USER49> very well said ! I am wondering if anyone here has recommendations on where to go next after I finish this course ?

</comment></comment></comment><comment><USER50> It's not on Coursera, but Caltech's Yaser Abu-Mostafa offers "Learning from Data" on his own website [https://work.caltech.edu/telecourse.html](https://work.caltech.edu/telecourse.html) and it's intermittently on EdX [https://www.edx.org/course/learning-from-data- introductory-m...](https://www.edx.org/course/learning-from-data-introductory- machine-learning)

This is far and away the best MOOC I've ever taken. The class is genuinely challenging. It's a real Caltech undergraduate course, and you can't get away with copy-pasting code or just keep resubmitting until you pass the grader. The course is focused on real understanding of what's going on mathematically, not just learning to use some library API.

</comment><comment><USER51> I know that you didn't ask for this but I think this is the best course on Coursera hands down:

[https://www.coursera.org/learn/model- thinking](https://www.coursera.org/learn/model-thinking)

I've larned much more from this than from anything else on this site.

<comment><USER52> Any examples of what makes it good

</comment></comment><comment><USER53> Coursera has great content from Industry partners (Google Cloud, Amazon AWS, IBM etc) that teach everything you need to know for hacking in cloud. These skills are not widely taught in University, but skills are highly valued in the Tech industry. Three specializations (a collection of courses) that are hands-on and I would highly recommend 1.) [https://www.coursera.org/specializations/aws- fundamentals](https://www.coursera.org/specializations/aws-fundamentals) 2.) [https://www.coursera.org/specializations/gcp-data-machine- le...](https://www.coursera.org/specializations/gcp-data-machine-learning) 3.) Anything from deeplearning.ai [disclosure: I work at Coursera]

</comment><comment><USER54> I would start with 'Learning how to Learn' \- [https://www.coursera.org/learn/learning-how-to- learn](https://www.coursera.org/learn/learning-how-to-learn)

<comment><USER55> I took it a few years back. Highly recommended.

</comment></comment><comment><USER56> I would absolutely love to hear someone's experience taking this course: [https://www.coursera.org/specializations/coding-for- managers...](https://www.coursera.org/specializations/coding-for-managers/)

I probably won't have time to sit through it, but I've taken a course from this instructor in the past and he is pretty good. I'm really curious to know how he explains coding and engineering principles to "managers, designers and entrepreneurs".

</comment><comment><USER57> Introduction to TensorFlow:

[https://www.coursera.org/learn/introduction- tensorflow](https://www.coursera.org/learn/introduction-tensorflow)

Data Scientist's Toolbox:

[https://www.coursera.org/learn/data-scientists- tools](https://www.coursera.org/learn/data-scientists-tools)

</comment><comment><USER58> programming languages (parts a, b, and c) by dan grossman

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

introduces the underpinnings of programming languages via standard ml, racket, and ruby.

<comment><USER59> I second this recommendation. A really good course, and if you do all 3 parts it's really the equivalent of a full university course. Covers the main concepts in modern programming languages, such static vs. dynamic typing, OO vs functional, and does so I consdierable depth, with reasonably challenging programming projects. Even if you think you already know this stuff, it's a good review and I guarantee you'll learn a few new things.

Also, Dan is a good professor and is really enthusiastic about the subject.

<comment><USER58> yep, it's a very fun course and very well organized, including code reviews for homework. i fixed some issues found in mine and enjoyed reviewing others' work. i do wish there were programming assignments for sml's module system though. that part felt a bit tacked on.

i still need to go back and finish the ruby section. at that point in the course, i got distracted with other things.

</comment></comment></comment><comment><USER60> Unstuck to your categories, Jonathan Biss's course on Beethoven's sonatas is fantastic.

[https://www.coursera.org/instructor/jonathanbiss](https://www.coursera.org/instructor/jonathanbiss)

</comment><comment><USER61> Edx is also not bad: [https://www.edx.org/course/subject/computer- science](https://www.edx.org/course/subject/computer-science)

</comment><comment><USER5> Two courses taught by faculty at the Russian institute HSE (Higher School of Economics).

1\. How to Win a Data Science Competition [https://www.coursera.org/learn/competitive-data- science](https://www.coursera.org/learn/competitive-data-science)

2\. Bayesian Methods for Machine Learning [https://www.coursera.org/learn/bayesian-methods-in- machine-l...](https://www.coursera.org/learn/bayesian-methods-in-machine- learning)

</comment><comment><USER62> Had been working on [https://www.tutorack.com/](https://www.tutorack.com/) for a while - aggregates online resources (not just MOOCs). Haven't updated it in sometime but you should find something useful

</comment><comment><USER63> I recently took a Coursera course on Schizophrenia and found it fascinating. YMMV of course.

</comment><comment><USER32> The first 3 courses of the Statistics with R specialization, taught by Dr. Mine.

[https://www.coursera.org/specializations/statistics](https://www.coursera.org/specializations/statistics)

</comment><comment><USER64> Learning how to learn

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

</comment><comment><USER65> I really liked the approximation algorithms from a french university

</comment><comment><USER66> Ok but do you need a course meant as a vocational, subject-specific training or something more liberal that helps you think better for the long run? I would go for the latter.

</comment><comment><USER67> most of the courses on coursera are for uninitiated and have very shallow content (there are some rare exception). So if you like you can search for a good book or some video lecture from good university. like this is for statistical learning "[https://online.stanford.edu/courses/sohs- ystatslearning-stat...](https://online.stanford.edu/courses/sohs- ystatslearning-statistical-learning")

<comment><USER68> Broken link due to quote marks. Great suggestion otherwise.

[https://online.stanford.edu/courses/sohs-ystatslearning- stat...](https://online.stanford.edu/courses/sohs-ystatslearning-statistical- learning)

</comment></comment><comment><USER69> I've started working through the Verification series by EIT which have been challenging and interesting. If you're interested in formal verification, check them out.

<comment><USER70> Can you please post a link to this?

</comment></comment><comment><USER71> Princeton's Computer Architecture course is great.

</comment><comment><USER72> Dan Boneh's Crypto II. ;-)

</comment><comment><USER73> epidemics, learning how to learn, algorithms 1 & 2

</comment><comment><USER74> > bioinformatics

The Honors Track of the UCSD series is really great.

[https://www.coursera.org/specializations/bioinformatics](https://www.coursera.org/specializations/bioinformatics)

It's super hard and as a side effect you learn a ton about very interesting, amazing, and useful algorithms that you'd never even hear about in a top notch CS program.

<comment><AUTHOR> That sounds great! I'll check it out tomorrow.

Some people here in Europe take bioinformatics as a shorthand of "database management, pipeline construction, and scaffold building" \--- I'm glad to see the course is more algorithm oriented (maybe with a bit of DS thrown in as well).</comment></comment>


Unsupervised sentiment neuron - <AUTHOR> https://blog.openai.com/unsupervised-sentiment-neuron/ <comment><USER2> Why are people being so critical about this work? Sure, the blog post provides a simplified picture about what the system is actually capable of, but it's still helpful for a non-ML audience to get a better understanding of the high- level motivation behind the work. The OpenAI folks are trying to educate the broader public as well, not just ML/AI researchers.

Imagine if this discovery were made by some undergraduate student who had little experience in the traditions of how ML benchmark experiments are done, or was just starting out her ML career. Would we be just as critical?

As a researcher, I like seeing shorter communications like these, as it illuminates the thinking process of the researcher. Read ML papers for the ideas, not the results :)

I personally don't mind blog posts that have a bit of hyped-up publicity. It's thanks to groups like DeepMind and OpenAI that have captured public imagination on the subject and accelerated such interest in prospective students in studying ML + AI + robotics. If the hype is indeed unjustified, then it'll become irrelevant in the long-term. One caveat is that researchers should be very careful to not mislead reporters who are looking for the next "killer robots" story. But that doesn't really apply here.

<comment><USER3> Is it wrong to be critical of research? Back in my previous life of doing basic research I scrutinized papers left and right.

[http://karpathy.github.io/2015/05/21/rnn- effectiveness/](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) towards the end has similar methodology and is 1.5 years old.

Hype is an interesting thing especially when it comes from laymen.

<comment><USER4> As someone familiar with the field, you likely know this already, but the similarities between the Karpathy post from 2015 and this work from OpenAI is likely because Karpathy is a founder and lead researcher at OpenAI.

<comment><USER3> Ya but he's surprisingly absent from being a paper author.

</comment></comment></comment></comment><comment><USER5> I don't know, but this seems a bit hyped in places.

They start with:

> Our L1-regularized model matches multichannel CNN performance with only 11 > labeled examples, and state-of-the-art CT-LSTM Ensembles with 232 examples.

Hmm, that sounds pretty impressive. But then later you read:

> We first trained a multiplicative LSTM with 4,096 units on a corpus of 82 > million Amazon reviews to predict the next character in a chunk of text. > Training took one month across four NVIDIA Pascal GPUs

Wait, what? How did "232 examples" transform into "82 million"??

OK, I get it: they pretrained the network on the 82M reviews, and then trained the last layer to do the sentiment analysis. But you can't honestly claim that you did great with just 232 examples!

<comment><USER6> This actually demonstrates something very interesting, I think: you can take an ML model trained with the "low-level prerequisite knowledge" of a subject, and then _very quickly and easily_ teach it a high-level concept that relies on that knowledge.

Which, now that I think about it, makes the human brain and its amazing adaptive general-game-playing abilities a bit less mysterious. Since _we humans_ all have these huge corpuses of sense-data we've been receiving reinforcement signals about since birth, we've likely built up all sorts of low-level models which we just use to predict the world for reflex responses a little bit better and faster (speech models so we can respond to what people are saying even as they're still saying it, visual models so we can throw spears where lions are _going_ to be instead of where they are, etc.) But those low-level predictive models make it nearly effortless to build higher- level models.

I wonder if we'd take a giant leap forward in AI if we just managed to scan+emulate a regular animal brain (say, of a rat), and then built the AI as a neocortex-equivalent for that brain. It would have instant access to thousands or millions of pre-trained low-level predictive models, which it could easily discover as having outputs correlated to success and thus "attach to" during its own training.

<comment><USER7> What you describe is exactly what practitioners in the field have been doing for years. I think that's why the parent is a bit puzzled at the publication, as it's difficult to understand what's novel.

<comment><USER8> Yes, I agree with you but with a caveat. Semi-supervised learning is well known but has, I'll argue, recently fallen out of fashion in favor of throwing gallons more of labeled data at a really big neural net, crossing your fingers and hoping for the best. Usually, the neural net is either a really big conv- net with a novel architecture or a biLSTM with some elaboration on attention (which is actually closer to memory/state).

Most of the time, in neural net land, what people are doing with the fine tuning part is taking a model trained on looaads of supervised data, chopping off the head and using those features to train on smaller data. This OpenAI method is different in that it used patterns it learned on its own, instead of the recently more common technique of features extracted from a heavily label trained model to reduce the supervised learning burden in a nearby domain.

Arguably yes, this is an ancient technique but it has mostly been forgotten when it became clear that many problems are surmountable with a large enough helping of GPUs and a small moon's worth of data. OpenAI's is a good idea because it makes you say 'yeah that's obvious, pretrain a simple char rnn on loads of free text and oh wait, why has no one tried this before!?'

What is interesting here is that such a straight forward method compares so well to glittering methods that laboriously advanced the state of the art. What I also found surprising was that there was a 'neuron' that was tracking something very close to sentiment. Why?

A bit of thinking and I came to a simple idea. One way of looking at the LSTM in the practical setting (as opposed to a theoretically Turing Equivalent thing) is as a really big finite state rube goldberg machine. In learning to predict the next character, it makes sense that one set or part of a set of states it can enter/track is extremely correlated with what we humans call sentiment in review text.

In summary, the trained model can be thought of as a computable theory of amazon reviews that also works really well on IMDB reviews (and probably short but probably not sarcastic text reviews in general).

<comment><USER9> thanks for clarifying this- it isn't _transfer learning_ at all, more like the techniques like, digging through LSTMs _post hoc_ to find the neuron responsible for opening and closing quotation marks (insert karpathy youtube vid here), except for a more "high level" feature - in this case, sentiment.

</comment></comment></comment></comment></comment><comment><USER10> If you are interested in looking at the model in more detail, we (@harvardnlp) have uploaded the model features to LSTMVis [1]. We ran their code on amazon reviews and are showing a subset of the learned features. Haven't had a chance to look further yet, but it is interesting to play with.

[1] [http://lstm.seas.harvard.edu/client/pattern_finder.html?data...](http://lstm.seas.harvard.edu/client/pattern_finder.html?data_set=32sentiment&source=states::states&pos=110&brush=28,31&queried=true&ex_cells=)

</comment><comment><USER11> The synthetic text they generated was surprisingly realistic, despite being generic.

If I were perusing a dozen reviews I probably wouldn't have spotted the AI- generated ones in the crowd.

<comment><USER12> We are getting better and better with automatic text generation. I wonder who will be the copyright owner of an AI-generated text, comments, songs, etc.?

<comment><USER13> A weird thought: at some point AI short stories may be far more profound than our own.

<comment><USER14> at the moment, AI short stories are derivative, so it's unlikely. They may well be better than the average, if trained on highly regarded works, but they're not completely novel.

<comment><USER15> At the moment RNN's can't remember context, so they can make stuff that _looks_ correct, but only on the surface.

I think that'll change, eventually...

<comment><USER16> We need some kind of hierarchical approach, and/or memory.

</comment></comment></comment></comment></comment></comment><comment><USER17> So char-by-char models is the next Word2Vec then. Pretty impressive results.

It would be interesting to see how it performed for other NLP tasks. I'd be pretty interested to see how many neurons it uses to attempt something like stance detection.

 _Data-parallelism was used across 4 Pascal Titan X gpus to speed up training and increase effective memory size. Training took approximately one month._

Everytime I look at something like this I find a line like that and go: "ok that's ncie.. I'll wait for the trained model".

<comment><USER18> Yeah, part of what let word2vec make such a splash that it became the one word embedding model everyone has heard of, is that the word2vec team released their model.

This is a really cool example OpenAI has, but I don't know why I should ultimately care about their character model more than anyone else's if all we've got is their description of how cool it is.

I hope OpenAI defies their reputation for closedness and releases the model.

<comment><AUTHOR> Yep weights will be up soon!

EDIT: in fact, weights were up at launch: [https://github.com/openai/generating-reviews-discovering- sen...](https://github.com/openai/generating-reviews-discovering- sentiment/commit/15bfb78e4d5e92d5b5129a8b6ad86b100349eb5e)

<comment><USER18> Sorry for my pessimistic outlook, then! Thanks.

</comment></comment></comment></comment><comment><USER7> It's very difficult to understand what the contributions are here. From what I've read so far this feels more of a proposal for future research or a press release than advancing the state of the art.

* Using large models trained on lots of data to provide the foundation for sample efficient smaller models is common.

* Transfer learning, fine tuning, character RNNs is common.

Were there any insights learned that give a deeper understanding of these phenomena?

Not knowing too much about the sentiment space, it's hard to tell how significant the resulting model is.

<comment><USER19> * _advancing the state of the art_

It says right at the top: "we get 91.8% accuracy versus the previous best of 90.2%" on a standard sentiment corpus. In addition, their method needs less training data than previous approaches.

* _Were there any insights learned that give a deeper understanding of these phenomena?_

The main appeal lies in the fact that a model trained on a (1) different and (2) very general task basically "in passing" also learned to predict sentiment (i.e., a specialized task that more or less arose from the domain the general model was trained on), and pretty much through a single neuron (out of the 4096 used). The authors speculate that this might be a general effect that could also be transferred to other prediction tasks.

<comment><USER7> If the main contribution here is the quality of the model and its interesting and powerful representation of text, I hope OpenAI does something distruptively different and releases the weights and trained model.

The accidental sentiment neuron is a function of the model, distribution of the input dataset, and the optimizer finding nice saddle points. Insight into these foundational components would make these results amazing. It sounded like training on other datasets doesn't have the same sentiment properties, which provides a lever to explore these concepts more.

At the moment it feels like the Google cat neuron. It attracted a lot of intrigue but the individual contribution from that in terms of research was more on the infrastructure side, and few people seem to refer back to that publication at this point.

That said OpenAIs mission in itself doesn't necessarily require novel research. For example, the gym is fostering a competitive atmosphere for the community to work on RL which hopefully leads to more progress in the field.

Training a model for a month is difficult and if it has captured interesting phenomena it seems in the interest of the community to release the weights and model. It would be hard for the community to reproduce this without a month of compute and 83M Amazon reviews.

<comment><USER20> Hi there, the weights and model are here: [https://github.com/openai/generating-reviews-discovering- sen...](https://github.com/openai/generating-reviews-discovering-sentiment)

<comment><USER7> This is awesome, thanks! My apologies I must have missed it somewhere.

</comment></comment></comment></comment></comment><comment><USER21> (Apologies for the slightly incoherent post below)

I've been noticing a lot of work that digs into ML model internals (as they've done here to find the sentiment neuron) to understand why they work or use them to do something. Let me recall interesting instances of this:

1\. Sander Dieleman's blog post about using CNNs at Spotify to do content- based recommendations for music. He didn't write about the system performance but collected playlists that maximally activated each of the CNN filters (early layer filters picked up on primitive audio features, later ones picked up on more abstract features). The filters were essentially learning the musical elements specific to various subgenres.

2\. The ELI5 - Explain Like I'm Five - Python Library. It explains the outputs of many linear classifiers. I've used it to explain why a text classifier was given a certain prediction: it highlights features to show how much or little they contribute to the prediction (dark red for negative contribution, dark green for positive contribution).

3\. FairML: Auditing black-box models. Inspecting the model to find which features are important. With privacy and security concerns too!

Since deep learning/machine learning is very empirical at this stage, I think improvements in instrumentation can lead to ML/DL being adopted for more kinds of problems. For example: chemical/biological data. I'd be highly curious to what new ways of inspecting such kinds of data would be insightful (we can play audio input that maximally active filters for a music-related network, we can visualize what filters are learning in an object detection network, etc.)

</comment><comment><USER22> "The selected model reaches 1.12 bits per byte." ([https://arxiv.org/pdf/1704.01444.pdf](https://arxiv.org/pdf/1704.01444.pdf))

For context, Claude Shannon found that humans could model English text with an entropy of 0.6 to 1.3 bits per character ([http://languagelog.ldc.upenn.edu/myl/Shannon1950.pdf](http://languagelog.ldc.upenn.edu/myl/Shannon1950.pdf))

</comment><comment><USER23> I would imagine stuff like sarcasm is still out of reach though. It seems hard for humans to understand it in text based communication. Also using anything out of the standard sentimental model might throw it off. "This product is as good as <product x> (where product x has been known to perform bad." I am just trying to think of scenarios where a sentimental model would fail.

Sentimental neuron sounds fascinating too. I didn't realize individual neurons could be talked about or understood outside of the concept of the NN. I am thinking in terms of "black box" its often referenced to in some articles.

Since one of the research goal for openai is to train language model on jokes[0], I wonder how this neuron would perform with a joke corpus.

\</comment><comment></comment><comment></comment><comment></comment><comment>----

[0] [https://openai.com/requests-for- research/#funnybot](https://openai.com/requests-for-research/#funnybot)

<comment><USER21> >>>Sentimental neuron sounds fascinating too. I didn't realize individual neurons could be talked about or understood outside of the concept of the NN. I am thinking in terms of "black box" its often referenced to in some articles.

Yes, I agree. I recall seeing such individual neuron analysis before in Karpathy's "The Unreasonable Effectiveness of Recurrent Neural Networks". He takes a char-rnn that was training to predict the next character for source code and finds neurons that have learned to do paranthesis/bracket opening/closing.

</comment></comment><comment><USER24> I'm trying to understand this statement:

"The sentiment neuron within our model can classify reviews as negative or positive, even though the model is trained only to predict the next character in the text."

If you look closely at the colorized paragraph in their paper/website, you can see that the major sentiment jumps (e.g. from green to light-green and from light-orangish to red) occur with period characters. Perhaps the insight is that periods delineate the boundary of sentiment. For example:

I like this movie. I liked this movie, but not that much. I initially hated the movie, but ended up loving it.

The period tells the model that the thought has ended.

My question for the team: How well does the model perform if you remove periods?

<comment><USER25> Why would that matter? Human understanding of sentiment would also go down if you removed vital information such as punctuation.

<comment><USER24> My point would be to see how much the model is relying on punctuation. It could provide insight as to why character-based models outperform word-based models for sentiment analysis.

</comment></comment></comment><comment> d--b Can someone explain what is "unsupervised" about this? I'm guessing this is what confuses me most.

I think this work is interesting, although when you think about it, it's kind of normal that the model converges to a point where there is a neuron that indicates whether the review is positive or negative. There are probably a lot of other traits that can be found in the "features" layer as well.

There are probably neurons that can predict the geographical location of the author, based on the words they use.

There are probably neurons that can predict that the author favors short sentences over long explanations.

But what makes this "unsupervised"?

<comment><USER26> I wouldn't expect that the neurons are orthogonal on a set of features which we find interesting (sentiment, geographical location). They could be bound up in some other basis of features that we do not find interesting. Other people do not expect this because there are papers about how to incentivize neurons to correspond to interesting features.

<comment><USER21> >> Other people do not expect this because there are papers about how to incentivize neurons to correspond to interesting features.

Could you clarify that statement? Are you saying that it was unusual for this group to find such a neuron? Also, I did not know that there are papers on how to incentivize neurons to correspond to interesting features. Could you please give me some references on those?

<comment><USER26> The paper I was thinking of is called: "InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets"[0]. I do not have experience training and investigating neural nets, but from what I read in that paper, there's no reason to presume you'll find neurons that represent a feature you're interested in. In the paper they alter the reward function to get neurons that correspond to the features they are interested in.

[0] [https://arxiv.org/pdf/1606.03657v1.pdf](https://arxiv.org/pdf/1606.03657v1.pdf)

</comment></comment></comment></comment><comment><USER27> Machine Learning has become more and more like archaeology after people start saying "empirically" more and only provide a single or limited datasets.

</comment><comment><USER28> I think it's fair to criticize this blog post for being unclear on what exactly is novel here; pre-training is a straighforward and old idea, but the blog post does not even mention this. Having accessible write ups for AI work is great, but surely it should not be confusing to domain experts or be written in such a way as to exacerbate the rampant oversimplification or misreporting in popular press about AI. Still, it is a cool mostly- experimental/empirical result, and it's good that these blog posts exist these days.

For what it's worth, the paper predictably does a better job of covering the previous work and stating what their motivation was: "The experimental and evaluation protocols may be underestimating the quality of unsupervised representation learning for sentences and documents due to certain seemingly insignificant design decisions. Hill et al. (2016) also raises concern about current evaluation tasks in their recent work which provides a thorough survey of architectures and objectives for learning unsupervised sentence representations - including the above mentioned skip-thoughts. In this work, we test whether this is the case. We focus in on the task of sentiment analysis and attempt to learn an unsupervised representation that accurately contains this concept. Mikolov et al. (2013) showed that word-level recurrent language modelling supports the learning of useful word vectors and we are interested in pushing this line of work. As an approach, we consider the popular research benchmark of byte (character) level language modelling due to its further simplicity and generality. We are also interested in evaluating this approach as it is not immediately clear whether such a low-level training objective supports the learning of high-level representations." So, they question some built in assumptions from the past by training on lower-level data (characters), with a bigger dataset and more varied evaluation.

The interesting result they highlight is that a single model unit is able to perform so well with their representation: "It is an open question why our model recovers the concept of sentiment in such a precise, disentangled, interpretable, and manipulable way. It is possible that sentiment as a conditioning feature has strong predictive capability for language modelling. This is likely since sentiment is such an important component of a review" , which I tend to agree with... train a on a whole lot of reviews, it's only natural to train a regressor for review sentiment.

</comment><comment><USER3> I think one of the most amazing parts of this is how accessible the hardware is right now. You can get world-class AI results with the cost of less than most used cars. In addition, with so many resources freely available through open-source, the ability to get started is very accessible.

</comment><comment><USER29> > The model struggles the more the input text diverges from review data

This is where I fear the results will fail to scale. The ability to represent 'sentiment' as one neuron, and its ground truth as uni-dimensional seems most true to corpuses of online reviews where the entire point is to communicate whether you're happy with the thing that came out of the box. Most other forms of writing communicate sentiment in a more multi-dimensional way, and the subject of sentiment is more varied than a single item shipped in a box.

In otherwords, the unreasonable simplicity of modelling a complex feature like sentiment with this method, is something of an artifact of this dataset.

</comment><comment><USER13> The neural network is savage enough to learn "I would have given it zero stars, but that was not an option." Are we humans that predictable?

<comment><USER30> The training data consisted of 82 million reviews, so I'm sure that phrase (or slight variants) occurred hundreds of thousands of times.

<comment><USER16> Could be checked by counting n-grams to see just how much it differs from other reviews.

</comment></comment></comment><comment><USER31> This article is not accessible. It puts all textual examples into images and ever has some absolutely unnecessary animation. Please fix it.

<comment><USER32> Thanks for pointing this out! We've moved the textual examples into html, added alt text for images, and will be reviewing feature posts for accessibility

</comment></comment><comment><USER33> This is a great name for a band :-). That said, I found the paper really interesting. I tend to think about LSTM systems as series expansions and using that as an analogy don't find it unusual that you can figure out the dominant (or first) coefficient of the expansion and that it has a really strong impact on the output.

</comment><comment><USER34> What they have done is semi-supervised learning (Char-RNN) + supervised training of sentiment. Another way to do is semi-supervised learning (Word2Vec) + supervised training of sentiment. If first approach works better, does it imply that character level learning is more performant than word level learning?

</comment><comment><USER35> As far as I understand, it means that there must be a relation between a character's sentiment and what the next character can (/should) be for neural network to use this as a feature, am I right?

Does this mean we have unconsciously developed a language that exposes such relations?

<comment><USER36> They muse about the reason behind the sentiment neuron in the paper.

"It is an open question why our model recovers the concept of sentiment in such a precise, disentangled, interpretable, and manipulable way. It is possible that sentiment as a conditioning feature has strong predictive capability for language modelling. This is likely since sentiment is such an important component of a review."

They go on to frame that as an important consideration for further work like this:

"Our work highlights the sensitivity of learned representations to the data distribution they are trained on. The results make clear that it is unrealistic to expect a model trained on a corpus of books, where the two most common genres are Romance and Fantasy, to learn an encoding which preserves the exact sentiment of a review."

I'm wondering if a "funniness" neuron could be discovered in a model trained on millions of jokes of various funniness, or what sorts of undiscovered meaning there is in other neurons in this model.

</comment></comment><comment><USER37> Impressive the abstraction NNs can achieve from just character prediction. Do the other systems they compare to also use 81M Amazon reviews for training? Seems disingenuous to claim "state-of-the-art" and "less data" if they haven't.

</comment><comment><USER38> just wondering, how many AI programs (models with complete source code) OpenAI has released?

<comment><USER22> Lot of stuff here: [https://github.com/openai](https://github.com/openai)

</comment></comment><comment><USER39> Train on character-by-character basis, this is really incredible, quite opposite to human's intuition about language, but it seems a brilliant idea, and OpenAI tried it out, great!

</comment><comment><USER40> why did they do this character by character? Would word by word make sense? Other than punctuation I'm not seeing why specific characters are meaningful units.

<comment><USER22> Word by word would require adding prior knowledge of words into the system, and they're trying to "start from scratch" as much as possible.

</comment></comment><comment><USER41> Why is the linear combination used to train the sentiment classifier? Why does its result get taken into account?

Is this linear combination between 2 different strings?

</comment><comment><USER42> What's the easiest way to make a text heatmap like the ones in their blog?

</comment><comment><USER43> Very interesting. I wonder if they tried to predict part-of-speech tags.

<comment><USER16> That would probably work. Karpathy's character based RNN could detect semantic meaning in text and code. [http://karpathy.github.io/2015/05/21/rnn- effectiveness/](http://karpathy.github.io/2015/05/21/rnn-effectiveness/)

</comment></comment><comment><USER44> This has amazing potential for use in sock puppet accounts.

</comment><comment><USER45> moved that needle I guess</comment>


Visualize team email network with new MIT tool - <AUTHOR> https://openteam.info/ <comment><USER2> Cesar Hidalgo, the team lead, is a pretty interesting guy [https://en.wikipedia.org/wiki/C%C3%A9sar_Hidalgo](https://en.wikipedia.org/wiki/C%C3%A9sar_Hidalgo) and also the person behind the "Atlas of Economic Complexity" [http://atlas.cid.harvard.edu/](http://atlas.cid.harvard.edu/) and Brazil's "Data Viva" [http://dataviva.info/en/](http://dataviva.info/en/)

<comment><USER3> The guy was also involved with an earlier iteration of the tool: [https://immersion.media.mit.edu/](https://immersion.media.mit.edu/)

In fact, i had used the tool and thought this new one looks familiar. That's how I came to know of Hidalgo. Some pretty interesting projects he's been part of

<comment><USER2> Also, [http://language.media.mit.edu/visualizations/books](http://language.media.mit.edu/visualizations/books) (although I was directly involved with this one :)

</comment></comment></comment><comment><USER4> This is very cool; is there a similar tool (or map this one) to Slack?

I found this article about the concept (via different tool) applied to Slack.

> [https://www.fastcompany.com/3061976/see-whats-really- > going-o...](https://www.fastcompany.com/3061976/see-whats-really-going-on- > in-your-companys-slack-with-this-new-visualization-app)

<comment><USER5> Seems like there may be a slack integration, just not thoroughly documented -- e.g. [https://github.com/MacroConnections/openteams/blob/550b7bd43...](https://github.com/MacroConnections/openteams/blob/550b7bd436cc7a47d74c7f6d10c10879dbda2862/dev/newserver/db.py#L283)

</comment></comment><comment><USER6> Should be a way to run this on my own server. I don't like to give full access to all my teams e-mails/data.

<comment><USER7> 4th paragraph on landing page:

>If you are interested on using OpenTeams in a secure setting, please use the opensource code to spin your own private instance of OpenTeams

</comment></comment><comment><USER8> I work for an architecture/design company and we've been using very similar homebrewed software + surveys to analyze what departments need to be near each other for college campuses.

</comment><comment><USER9> Thanks for making me temporarily deaf. WTF.

</comment><comment><USER10> why

<comment><USER3> And to discover the key people in networks you are part of. There are always some hubs to all networks and the tool makes an interesting visualisations if these hubs changing over time.

</comment></comment><comment><USER11> Autoplaying background music. Why?

<comment><USER12> Ditto! It felt like I'm back in 1995, had to take the headphones off as also the volume is pretty high.

Shall II carry on and start looking for MARQUEE in the page's source?

Edit: just googled MARQUEE. Nice trolling, Google.

<comment><USER13> What's the troll? I just googled MARQUEE and it looks like any other search results page.

<comment><USER14> Search "marquee html"

<comment><USER13> Ah! Neat Easter egg. The "About 23,300,000 results (0.34 seconds)" text is a marquee.</comment></comment></comment></comment></comment>


Need help with sourcing components for a prototype - <AUTHOR> https://docs.google.com/document/d/1-ccUgdiq03mLA1lws-Hez0jPVoLiMkckLBSeF-THryY/edit?usp=sharing

<comment><USER2> These guys[1] are working quite a few years on an affordable braille reader, they're pretty close to release , cost 330-400GBP. SO maybe the task is much harder than it seems, but on the other hand, on it's way to getting solved.

[1][http://bristolbraille.co.uk/](http://bristolbraille.co.uk/)

<comment><AUTHOR> In my mind what I'm thinking of could theoretically cost in the low 10's of US$. At scale my hunch is costs would theoretically go down as low as 1's of US$ per device. Yes, less than $10.

<comment><USER2> I think the difference between $500 and $40 won't be liked much in most of the u.s. since people get much more value from a full line braille machine. But i could be wrong - but to save yourself a lot of work, maybe it would be easier to ask blind people for their opinion , maybe in (reddit.com/r/blind , or quora) ?

An alternative could be talking with blind people in the third world, maybe this single cell solution would be good enough for them ?

The other option is to really work on basic mechanisms to make the basic cell far cheaper. For example [1] , which uses electrodes and small electric current as the basic sensations(not sure if good idea).

Also , there's a company called senseg doing tactile displays for tablets. Since tablets have quite a large area(and the price of components is highly constrained), and a braille strip could need far less,maybe they could offer a cost competitive solution. And they also have an sdk(and maybe tablets).

[1][http://aac-rerc.psu.edu/wordpressmu/RESNA- SDC/2013/06/19/pan...](http://aac-rerc.psu.edu/wordpressmu/RESNA- SDC/2013/06/19/pandabraille-a-refreshable-electro-tactile-braille-display- with-no-moving-parts-vit-university/)

<comment><AUTHOR> Thanks for the suggestions.

I've been thinking about how to approach the blind community with the idea. My feeling right now is I should at least have something to "try out" to give them a sense of what I'm after. As soon as I figure out how to get the "reader" down to a size where I feel good about its usability (doesn't matter too much if wires are sticking out etc.) I just want the actual interface to be an appropriate size.

Another thing that is also "pie in the sky" but I think another reason I'm so interested is I think there are alot of applications (some reasonable today, but some that may be pushing the boundaries of what we may think of today).

I can imagine (at low enough cost, and by perfecting the mechanics) an entire industry could be born around the idea of "consuming information tactilely". Even for sighted people.

<comment><USER2> Maybe tactile information could be useful. definetly worth a try.

As for small components - maybe wait for the apple watch teardowns ,they'll tell which components have they used for the taptic engine.

</comment></comment></comment></comment></comment><comment><USER2> read "4.1 Limits of a Single Braille Cell Display ": [https://www.nbp.org/downloads/cbi/EAPActuators.pdf](https://www.nbp.org/downloads/cbi/EAPActuators.pdf)

This and the other links might be decent starting materials.

[http://www.utopiamechanicus.com/article/open-source- hardware...](http://www.utopiamechanicus.com/article/open-source-hardware- braille-display/)

[http://www.instructables.com/id/Brail-language-cell-phone- fo...](http://www.instructables.com/id/Brail-language-cell-phone-for-visually- impaired-pe/?ALLSTEPS)

I wouldn't be surprised if 3d printers could enable cheaper readers(both by the ability to try many ideas, and using them as a low-volume manufacturing tool to start). But i think you also need to check patents in this field.

<comment><AUTHOR> Thanks for the resources. That will be helpful.

It appears those implementations are far larger than I anticipate my prototype would be. In fact the hobbyist solenoids I found were already pretty small (around 1" x 1/2"), but I'm looking for something even smaller (ideally the end prototype would be something a person could attach to their wrist or just hold in one hand.

And with today's components being so small I'm thinking (distant future) you could have a camera that would take a photo, then send the photo of text wirelessly to a server where it would perform OCR then send back instructions. Perhaps it has GPS.

I did think about navigation, which could be hard to get right. I get the impression there are probably only a few essential operations for something like that. (ie. toggle between apps, toggle between documents, back one word, back one sentence, skip word, skip sentence). Then perhaps a few "reading modes" (ie. forward letter by letter, forward word by word, forward sentence by sentence). "reading operations" could obviously be remapped to have different meanings depending on the context of which application you're using (ie. get GPS from GPS app, get time from watch app, get date from calendar app).

Alot of that is obviously pie in the sky thinking. But the only component that I think is going to be tough to find as small as I want (for the prototype) is going to be the solenoids.

But then again they're simple enough to create from scratch I may end up trying that.</comment></comment>


Ask HN: How do you communicate in your office? - <AUTHOR> With the increasing presence of digital communication tools in the workplace I'm finding that people tend to gravitate towards chat rooms instead of talking, lessening the bond between people and even making team outings awkward at times.<p>Is that true to you and your team as well? What are your team interactions like? <comment><USER2> We're a team of 10 devs, and it's a mix of in-person and Slack communication with a lot of pairing. It can be tricky not to interrupt people, since some of us prefer to totally shut off Slack and immerse in code, while others are happy to talk whenever.</comment>


Meteor 0.8.0: Introducing the Blaze templating engine - <AUTHOR> https://www.meteor.com/blog/2014/03/27/meteor-080-introducing-blaze <comment><USER2> Slightly unfortunate name clash here, since there's also a Haskell HTML templating system called Blaze: [http://hackage.haskell.org/package/blaze- html](http://hackage.haskell.org/package/blaze-html)

</comment><comment><USER3> Can anyone speak to the difference in approach between Blaze and React? Or are they doing essentially the same thing?

At first glance, this seems much better in terms of programmer productivity, given that it uses logicless templates rather than embedding HTML inside JS code. But I'd be curious if it's less performant.

<comment><AUTHOR> Hi, I work on Blaze.

React and Blaze both compile templates or components into an intermediate representation for their HTML structure (React's JSDOM; Blaze's HTMLJS). A lot of the difference in how they decide what DOM changes are necessary.

React re-renders components when data changes and diffs the resulting JSDOM. The diff algorithm is fast and has simple hooks to make it faster by letting you compare state and component properties.

Blaze doesn't diff the resulting DOM structure. Instead, Blaze diffs the data the components depend on. That data comes from reactive functions built on top of Deps, our dependency tracking system. When the component first renders, dependencies are tracked between data sources and rendered DOM elements (dependencies are automatically cleaned up when the component is taken off the page). Therefore when data changes, Blaze can directly update the relevant elements.

There is some overhead in Deps, our dependency tracking system, but Deps has been intentionally designed for supporting this efficiently (eg batching updates in a "flush" stage).

As for performance, our benchmarks have generally found that React outperforms Blaze when many elements change and Blaze outperforms React when few elements change (which is more common for typical operations on many web apps). We also have plans to improve performance on initial rendering.

There are some other difference worth noting: While a later version of Blaze will support easy APIs for re-useable components, React already has one. And the React component model is well-thought out, complete and in production use whereas the Blaze component model at the moment is only the implementation behind templates.

Happy to hear any other perspectives.

<comment><USER4> Not to detract from the positivity of sweet new tech, but it's worth noting that "React outperforms Blaze when many elements change and Blaze outperforms React when few elements change" is the same as "React outperforms Blaze in cases where the user is capable of noticing a performance difference", which reduces to "React outperforms Blaze."

Nevertheless, seriously appreciate the detailed and informative response. :)

<comment><USER5> I'll have to see how each one handles a big grid of rotating colored circles with numbers on them in order to make an informed decision.

</comment></comment></comment></comment><comment><USER6> I took some time to read through the architecture document[0] on HTMLbars yesterday and parts of the Blaze description sound very familiar. As a general observation, both libraries are focused on outputting DOM rather than HTML strings, which is interesting for various reasons. Maybe I'm missing some of the history here re: interaction between Meteor & Tilde, but I wonder if HTMLbars could have been useful in building out Blaze had it been in the works sooner?

[0] [https://github.com/tildeio/htmlbars/blob/master/ARCHITECTURE...](https://github.com/tildeio/htmlbars/blob/master/ARCHITECTURE.md)

<comment><AUTHOR> Hi, I work on Blaze.

HTMLBars is an excellent project and indeed does share many design principles with Blaze. They also differ in a few ways. For example, HTMLBars plans to never support full inline expressions in templates, whereas that is an explicit future goal for Blaze. So even though parts of HTMLBars could have been used in Blaze, it wouldn't give us the flexibility needed to take Blaze in the direction we think is best for our users.

[edit: Also, Blaze is shipped. :)]

</comment></comment><comment><USER7> They seem to be parsing the structure rather than just gluing strings, kudos for that!

However, the tricky case they've run into:

         <template name="hello">
           {{#if bold}}
             Hello {{name}}!
           {{else}}
             Hello {{name}}!
           {{/if}}
         </template>

has been solved in TAL:

        <template name="hello">
           Hello {{name}}!
        </template>

</comment><comment><USER8> I've been working on a project that uses React with Meteor. One advantage that React has is that it's very easy to render the html on the server side. Once on the client React only updates this html if and when it needs to. Can Blaze do this? If not, are there plans to support it in the future?

<comment><USER9> But for now you have to adopt a NodeJS to get this benefit, right?

<comment><USER10> You understand the Meteor execution model, yes? (Hint: You're already running on NodeJS)

<comment><USER9> I was thinking about React. Pardon me for not knowing that Meteor had a single implementation.

</comment></comment></comment></comment><comment><USER11> I've been using Meteor since this past September. Great to see there's only 1 more update prior to 1.0.

<comment><USER12> What happens in 1.0? Is it primarily the marketing buzz you're looking forward to, or is there a specific feature?

<comment><USER10> More the just marketing buzz, imo. I know the IntelliJ guys have said they will build in first-class Meteor support once it hits 1.0.

</comment></comment></comment><comment><USER13> I want to write a web app, an SPA. After many years of not caring about web design [1], getting back into the game is very difficult, even if my programming skills are more than 10x what they were back then.

I'm sold on JS, as to me PHP is very ugly and incomprehensible. My stack currently looks like this:

Node -> Express+Passport+Mongoose -> Bootstrap + Angular/Polymer + D3

I've only begun my project three weeks ago, but I would have hoped to have a prototype by now. Admittedly, I'm not working on this 40hrs a week, but still. I find it very hard to understand how everything fits together.

And then news like this appear, once or twice a week, which make me spend some hours reading on this or that new framework and how better it performs.

</rant>

[1] I did some flash, html and js about 6-7 years ago. Also learned enough php to be disgusted by it.

<comment><USER14> Have you looked at Twitter Flight?[1][2]. Quite easy to grasp.

[1] [http://flightjs.github.io](http://flightjs.github.io)

[2] [https://speakerdeck.com/anguscroll/cal](https://speakerdeck.com/anguscroll/cal)

<comment><USER13> Thanks, I had never heard of it!

</comment></comment></comment><comment><USER15> This is a killer feature! If you are a Meteor developer / user / enthusiast register on the map

[http://weuse.meteor.com](http://weuse.meteor.com)

</comment><comment><USER16> jquery compatibility is huge, awesome!

I am a new developer. I've used meteor for a couple toy projects, and found it really easy to get started. past the basics however, I found it really hard to get answers. I'm currently trying to write a simple backbone + node app to get my head around all the things meteor does automagically.

Are there any plans for learning resources coming from the meteor team?

<comment><USER17> A great learning resource is Discover Meteor - [http://www.discovermeteor.com](http://www.discovermeteor.com) (purchase required, but great value for money, as it's been regularly updated since its release).

The videos on Evented Mind are fantastic to learn from as well - [https://www.eventedmind.com](https://www.eventedmind.com) (recently introduced a subscription model, though, some of the videos are still free to play).

<comment><USER18> Meteor should just use some of that $12MM to give this book away.</comment></comment></comment>


Under No Circumstances Should You Decide To Go It Alone - <AUTHOR> http://www.thefailingpoint.com/2009/08/buildingateam/decide-to-go-it-alone/

<comment><USER2> I don't get it. All this doctrine seems to make finding a partner a pre- requisite to working on your idea. This seems to be the same 'bad advice' from the dot.com boom that asked for a business plan that predicted the next 5 years with growth expectations. It's garbage!

If you've got an idea, then go work on the damn idea! If you happen to have a co-founder that believes in the same vision, then good for you; otherwise, keep forging ahead and focus on what needs to be done. You may encounter that in order to be effective, you need another person to do 'X" because you literally cannot do 'X' effectively; but don't confuse that with a need to find a co-founder.

<comment><USER3> Who said the point of a partner is to help you find an idea? The point of the partner is to force you to explain your idea with enough clarity and detail that you realize how much it sucks. Then you look for a slightly different idea. ;)

No question, you can work on your idea without a partner. That's the _problem_. You'll risk spending dozens or hundreds of hours on your pet project before showing it to anyone with the incentive and the social position to tell you that it won't work. Your friends won't do that. They like you. They don't want to hurt your feelings.

Worse, when you _do_ find out that your idea doesn't work, you might become despondent. Too despondent to notice that all you need is a few tiny tweaks and suddenly things will be fixed. But there's nobody to help you find those tweaks, because nobody else understands the project. Your friends and loved ones don't get it. It's just you, alone with your problem. By the time you get ahold of yourself and get sober enough to realize that your project is salvageable, days or weeks might have gone by.

You can try to be objective about your own work. But be warned: Not only is it likely to be less effective, but it's torture. It's the source of the emotional roller coaster that entrepreneurs so often complain about -- the one where you're euphoric one minute and despondent the next.

<comment><USER2> The problem I hear you describing is "I'm not sure if I can make a sound business out of this product idea." And your solution of "get a partner" seems rather flawed to me. I think it's just an excuse that a bunch of people have made up because it's _easy_ to find another guy that you can sell your vision to and get him to get on board.

Whereas, what you are really looking for in a great "partner" is really a "customer" that is willing to pay!

Because think about it, if your real problem is the question of whether you can create a real business, then wouldn't finding that first customer that is literally willing to pay you for your idea (monetarily or through time and advice) a much better avenue?

On top of that, there is also that assumption that your partner will have the necessary skills to somehow solve you "do I have enough of a business" problem; which isn't a guarantee either! Technically, you're both going to be dumb shits.

At the end of it, I think failures and co-relation to # of founders is completely wrong. It all comes down to whether you have the discipline to think about operating a business, and the ability to a) understand your weaknesses and b) find leverage in compensating for it.

</comment></comment></comment><comment><USER4> Maybe multiple founders are necessary when you're spending lots of cash on a founding team, but I don't think they're necessary when you're bootstrapping.

The main argument being made is that founders share pressure. But how much of this pressure is self-inflicted by the need to support a large team or chase aggressive growth strategies that will justify getting funding? So much pressure disappears once you start making money, and if going alone means you've avoided the need to define compensation schemes then you can breathe easily.

I can see why larger teams are more attractive to investors. But I don't think this is good advice to younger technically-minded founders who can do the heavy lifting in creating products themselves and often just lack confidence in themselves or their markets to figure out the rest.

</comment><comment><USER5> "go it alone by bruce judson" -- free online book

<http://www.brucejudson.com/frombook.html>

</comment><comment><USER6> I coined the following inversion to highlight the inherently manipulative use of the no-I-in-team saw:

There may be no 'I' in 'team,' but you can't spell 'team' without 'me.'

Am I the only one who sees the no-I-in-team chestnut as obviously manipulative?

Not to mention, there was a great article about solo entrepreneurs on HN a while ago that, I think, is something of an existence counter-proof of this article.

<comment><USER7> Or "there's no 'i' in 'team', but there is in 'winner'".

</comment></comment><comment><USER8> So, what's the remedy for people who find themselves in the situation of being the "strong personality" in the lot?

After reading about people's successes here, I've taken it to heart that a team of founders is a better way to go than a single founder; but whenever I try to get a group of people together it ends up feeling like I've taken on employees instead of co-founders. By that, I mean that things only seem to get done if I personally push for them to happen. I'm not interested in having founding employees, if I'm going to go the route of having co-founders then I'd like everyone to have equal input and as equal contribution as we can manage.

However, it doesn't seem to be as easy as just saying "we're all in this together as founders, let's get on with it" (I've tried this tact and it just hasn't worked).

I guess the distilled question is: how do you find co-founders that are as driven as you are?

And as a follow-on, how important is geographic relativity to your co- founders? Being in a non-startup hub, it makes it a little tough to find groups of people out and interested in working on startups (versus going out to find interesting jobs).

<comment><AUTHOR> Great questions. I think finding co-founders is about finding people who share your same passions, ideals, etc. Getting into a founder relationship is not unlike a marriage, except that you will probably be spending more time with the founder than your spouse. If finding a spouse is challenging, finding founders is more so.

The upside of our current era is that finding like minded souls is made much easier, even if you aren't living in a startup hub. However, from my experience living in Houston for a while, it's hard for non-founder types to understand why you would want to start your own thing. The startup hubs have more people who embrace this possiblity of failure.

I have met many an intersting potential founder at events like the bar camps, startup weekends, etc. It's not going to happen over night for sure.

Working with a remote team can be challenging, but with Skype etc, it's much easier than it used to be. However, when you are slogging out the long nights, having proximity to your team matters, especially your co-founders. It's not a deal breaker, but it will help.

</comment></comment><comment><USER9> I want to point out that the author spends more time in this article talking about the problems associated with having multiple founders than he does the benefits.

All of the benefits he outlined were individual: motivation, skills, connections, perspective. All of these things are required to some degree in any startup, but individual experiences may vary.

Bottom line: If you have a need, fill it. If not, don't force it.

<comment><AUTHOR> Motivations, skills and connections can be multiplied with multiple founders. If you are the rare person who has each of those items in spades, that's great. However, I would still argue that having additional people in the group lessens the individual burden, assists in getting to the right answer for solving problems, and keeping things moving forward when things are hard.

</comment></comment><comment><USER10> When I argued ideas with my brother, it forced me to think them through.

</comment><comment><USER11> The primary issue I am working through at the moment going solo with my web app is that there is just so much work.

(The load would be easier to handle if I didn't have a full time consulting gig.)

The good thing is that I get to learn something about everything.

<comment><AUTHOR> When we launched IMSafer, we had 3 technical guys. One focused on UI, one focused on client code (we had a client download), and one guy on backend/DB work. Each of the three guys knew enough to cover/help on other parts, but having that separation helped them be extremely productive.

</comment></comment><comment><USER12> Speaking from experience, being a sole founder is boring and lonely. It's hard enough getting a company off the ground; why not share some of the load?

<comment><USER13> Until this someone who shares your load is found, it's only a hypothesis that could be rejected.</comment></comment>


Leadership tips, it's not about the leader - <AUTHOR> http://rypple.com/blog/funny-friday-leadership-lessons-from-dancing-guy/

<comment><AUTHOR> I can see so many parallels in this story and how SuperMondays.org was setup....it's interesting that the first follower is so important.

</comment><comment><USER2> Awesome example, beautiful dissection and commentary.

Can relate to it word to word what I am seeing with my company.</comment>


Solution to revenue loss to adblockers - <AUTHOR> Hello,
I am submitting this post to seek some guidance & feedback on possible solution to revenue loss caused due to adblockers.
I used to be a professional blogger (tech blog) about 6 years back and was earning decent ad revenue but as adblocker picked up, my revenue started going doing & eventually I had to stop blogging. Many suggested me to show message to such visitors, block content & what not.
I feel engaging with adblocker using visitors is the right solution. Hence, I created AdLatch (http://adlatch.com) to help bloggers and publishers to quickly generate a 2 line javascript code, put that on their blog/site and engage adb using visitors in different ways.
I have also written a comprehensive algo to estimate revenue loss because of adblockers.
I would like to hear your thoughts on different ways we can derive value for bloggers from visitors who are not generating any ad revenue for them because of adb. <comment><USER2> From the looks of it, you're essentially doing tracking. Won't be long before your solution also gets blocked by an ad blocker.</comment>


How schools stifle creativity - <AUTHOR> http://www.cnn.com/2009/OPINION/11/03/robinson.schools.stifle.creativity/index.html

<comment><AUTHOR> For those of you who have seen the TED talk before, today's submitted link is a follow-up by the speaker on the worldwide impact of his talk.

</comment><comment><USER2> Dont shy away from school. But gravitate toward feeding your creative self.</comment>


Why the iPhone could be bad news for Computer Science - <AUTHOR> http://www.silicon.com/technology/software/2010/04/23/why-the-iphone-could-be-bad-news-for-computer-science-39745730/

<comment><USER2> This is the latest in a long series of similar articles. I am fully in agreement with the premise: the movement toward closed, less-than-hackable systems like the iPhone are bad for individuals, bad for computer science, and ultimately bad for society because they stifle tinkering, creativity, and learning via technological mechanisms and legal threats.

Isn't it time we move beyond this analysis?

In particular, I'm wondering:

1\. What has changed since the glory days of personal hacking (I assume this was sometime in the 70s or 80s) that has made this shift toward closed devices possible? Is it a change in the law, granting device manufacturers and software companies more control over users? a change in the complexity of technology? the result of once hacker-friendly companies becoming greedier, larger, or more entrenched?

2\. Is the perceived shift towards closed devices really a _shift_? Are people giving up hacker-friendly alternatives in order to have an iPhone or iPad? Or are we simply seeing a _growth_ in the use of personal computing devices, with new hacker movements still to come?

<comment><USER3> There is no shift towards closed devices. There's one closed system that just happens to be supremely popular.

The "glory days of personal hacking" are right now. There have never been more open systems easily available to hack. Back in the day you could hack on your C64, but these days you can design your own C64 with a low cost FPGA kit!</comment></comment>