Ask HN: How to blog things I've learnt in graduate school?

213 points by jamesecurry ↗ HN
Hi, Currently, I'm pursuing a masters in Control systems. After looking for a couple of blogs by researchers and graduate students I've had some trouble understanding in how to document/write the things I'm learning in graduate school.

Ideally, I'd like to write to help understand how deep my understanding of the subject is but also be a way to contact people who are interested in the field of control systems & machine learning as two overlapping fields via a personal blog.

A few of my concerns involve:

1. How to maintain a technical blog without sounding like an academician i.e examples of other good blogs.

2. How to spread the knowledge from the courses I'm taking legally i.e. how much out of class homeworks/material is it okay to share?

Thanks for reading!

54 comments

[ 1.9 ms ] story [ 84.0 ms ] thread
Regarding 2: Speak with your professors about that. If they already publish a lot of that material on their sites, you can at least link to it. Ask if they'll let you include it directly (images, quotes) and so on.
> Speak with your professors about that.

Or instead of linking to it, maybe you could recreate (instead of copying 1:1) the content (e.g. as a sketch in PowerPoint) and link/reference to your professors site/original source.

You're asking the wrong question. The how is easy: build a blog (trivial) and write down the things you've learned. Maybe add some pictures, diagrams, or code.

You really are wondering why you should blog. There's nothing wrong with sounding academic. In fact, being able to teach others is perhaps the best way to solidify your own understanding. At any point you use jargon, define the term! If something seems confusing or esoteric to others (via comments), answer the comments and use that to generate ideas for follow-up posts.

Can you talk about this stuff legally? Legally yes+, you're not plagiarizing any existing works since this is your own original writing. Better, you want to know what's in your school's code of conduct. It's probably not a good idea to list answers to homework problems (unless they are from a book and the book has the answers in the back). But it's good to explain the concepts as well as how you might go about solving it or thinking about it.

+ = I say this not as a lawyer, and I am not giving you legal advice

Disclaimer: I'm not a lawyer.

For your second question, it's a matter of plagiarism. So you'll want to avoid outright copy/pasting the homework and material into your blog. However, you can state similar types of questions and provide an analysis on your answer and the steps / thought process you took to reach it.

For example, if you were taking Calculus and were asked to solve for the derivative of 2x^5 in your homework, you can instead show how to solve 7x^3 which provides the same knowledge.

1) Just write. You'll find your own voice. I'd worry less about whether you sound academic or not and more about whether you sound like yourself.

2) Don't write theory, write applied principles. I wouldn't share anything that was put together by one of your professors - that is their work. But if you apply their lessons to something in your own work/life, you absolutely can tell us about it, and outline the academic principles involved as you go.

I second this -- actually writing is critical to finding and refining your voice. That, and actively soliciting feedback. Submit your posts to the relevant subreddits and HN, and don't shy away from constructive negative feedback.
Or ask people you know to read drafts for tone and voice.
(comment deleted)
Always this. Just write. Find a sample unit of your target audience, and ask them to read your posts and give you feedback (what was hard to follow, boring, interesting, too much background, too little, etc) and iterate.

As for #2, if you have a friendly prof for a relevant course or two, ask them directly! Chances are, they'll be happy to have you write about what you learned from their class, and may even be willing to read your posts and give you feedback.

The entire point of academia is to spread knowledge.

You can write about anything you learn. You can quote whomever you please. Reproducing small relevant quotes and commenting on them and explaining them is the most Fair Use thing in existence.

Don't copy whole pages of texts; always give proper attribution.

There is good advice here already, but here's another one: dive deep (or as deep as you have time for) in the existing control systems blogosphere, and try to fill the void/niche you see is lacking. Maybe there are techniques no-one is talking about (in an informal manner), maybe there are trade-secrets that are only mentioned amongst professionals but rarely in textbooks or in papers that you could share, or maybe you have a unique insight or intuition about concepts in the field.

Don't be afraid (in fact, I'd encourage it) to break away from the conventional way of explaining things in the area. Control theory is an area I think could gain a whole lot from contrarian pedagogs. (This is also a good test of your own understanding. If you're able to explain things you think you understand without using the conventional language and canonical examples, that's a good test that you've grokked it deeply.)

The best way to make a meaningful contribution is in response to what already exists, in a way that either contributes more information to the whole, or simplifies some piece high up the hill of research dept[1].

[1] https://distill.pub/2017/research-debt/

I would highly recommend posting on somewhere like codementor. They provide the platform but publish your work under creative commons so you remain the owner.

I blogged for years, mainly for solidifying my own knowledge on some topics, but it was always rewarding when someone dropped a comment saying my post had helped them.

Since I started publishing on codementor, so many more people find my posts.

Re your specific questions:

1. Aim for technical walkthroughs that assume limited/no prior knowledge. Find a small project that uses the theory, and then show step by step how to build it, explaining each step in as much detail as possible. This will fill gaps in your own knowledge and help others who will be missing context that you assume is general knowledge.

2. As others have said, I wouldn't recommend copy/pasting anything, but I doubt any academic is going to come after you for plagiarising/popularising their work if you adapt and reference appropriately.

When I was in grad school I made these to explain concepts from traffic theory:

http://setosa.io/blog/2014/09/02/gridlock/ http://setosa.io/bus/

These were major efforts and I don't recommend building out anything similar while pursuing a master's. But control theory does lend itself to simulation well, so I would use jupyter notebooks to present little annotated simulations with code. Print out plots of the state space at intervals for example. I also highly recommend the graphing calculator desmos.com.

> without sounding like an academician

What's wrong with sounding like an academic? Do you not want examples of good blogs written by academics then?

Not a blog, but this YouTube Channel called Real Engineering might fit the criteria for your first question:

https://www.youtube.com/channel/UCR1IuLEqb6UEA_zQ81kwXfg

I would be leery of writing too much about things I am studying this quarter or semester. For one thing, you probably don't understand it as well as you think you do. For another, you are much more likely to regurgitate stuff from courses that might get you in trouble for copyright violation or similar.

Maybe make stubs for things you find interesting, return to it later and flesh it out with public citations available online. If you can't find a public citation available online, then skip it.

Put things in your own words. Quote things judiciously and make sure to cite the source. This is easy if you stick to online sources where you can just link to it.

Imagine your talking to a technologically knowledgeable friend from a different field, and write what you would say..
> 2. How to spread the knowledge from the courses I'm taking legally i.e. how much out of class homeworks/material is it okay to share?

I'd get this approved by somebody with authority at the university first (professor or above). Many professors re-use homework assignments, test questions, etc. You wouldn't want to get mixed up with accusations of helping other folks cheat.

(comment deleted)
ELI5 with simple examples. Something like that. If you can't ELI5 the material then pick a lowest level higher than that that you can. The best scientists can explain their work and why it is important to a wide range of audiences. So the key is to give the context and why it's important and then how what you've learnt applies.
For technical topics I often envision a smart college sophomore who might be considering a major in which your topic resides. With this I can assume a pretty decent general education but little or no domain knowledge.

Assuming a smart college sophomore means that they have ability to follow pretty detailed or involved reasoning but they need the groundwork of concepts and terminology explained.

VERY complex systems and concepts can be explained to anyone via analogies to things they already understand. Bang-bang logic is easy to explain and understand. PID is hard, but you can equate it to something like balancing on one foot and it gets easier. Break SCADA down into digestible chunks and it's not impossible to explain it to your 90-year-old grandmother.

This applies to your understanding of whatever you're teaching. If you can't ELI5 then you probably don't know enough about whatever concept you're trying to explain - that's your cue to keep learning until you can.

Caveat: For a blog or industry audience, you don't have to "dumb down" your answers if you're using technical jargon or even equations and the like. Being able to explain something in simple terms doesn't preclude talking about minutiae or nerdy technical details.

I wrote a book on Technical Blogging (https://pragprog.com/book/actb/technical-blogging) specifically aimed at programmers and technical people like you. You might find it useful. Also, feel free to email me directly (info@antoniocangiano.com) if you'd like to discuss your blog specifically.
1. Pick a topic you enjoy in your class and write about it. When you write about it choose a style you like to write in.

2. I have summer project I do that's related to the class. I write about those project and the concept I'm using from the class.

Matt Might does excellent academic blogging. So does RJ Lipton and, to some extent, Terence Tao (although his is for a specialist audience).

I would advise writing, writing, writing. I wouldn't worry too much about #1; a cohesive set of explanatory references and definitions goes a long way.

For #2 - I would actually suggest for #2 to focus on "explaining the papers you work through for seminars". I.e., do a public expository discussion similar to the "Present a Paper" internal seminars labs often old. Practitioners often don't get access to papers in a fresh way.

Hey. Apologies that this is off-topic. But I've been interested, broadly speaking, in the kinds of questions Control Theory has to ask. I want to do a masters in something, and there's a few Control Theory programs that have caught my eye. There are also a few 'Complex Systems' and 'Dynamical Systems' programs that seem interesting. Unfortunately, I don't have anyone I can reach out to figure out what's bogus and what's not. There's contact info in my bio, if you had a second to reach out and answer a few questions it would be greatly appreciated.
> 2. How to spread the knowledge from the courses I'm taking legally i.e. how much out of class homeworks/material is it okay to share?

Class material is subject to copyright unless explicitly licensed otherwise. Without a license, you need explicit permission to reproduce it except for normal academic use (critique, etc, accompanied by normal citation). This is in addition to any academic integrity agreement you signed up for by taking the class, which normally forbids sharing with others.

The knowledge in your head is yours. The words and pictures generated by your profs are theirs. Produce your own original material and you are all set.

I'm a professor. Rules may vary by jurisdiction.

This just makes me sad. When class material, which is supposed to be the antithesis of closed and proprietary is treated as property, then there is something very wrong with the educational system you are working in. Education is about spreading knowledge as far and wide as possible, not controlling it.

All of the course material we are developing for a new four year IT, information literacy and Big History program for a Cambodian university is licensed under a twin MIT/CC license for all media (there will be a lot of video), code and text and will be downloadable from GitHub. We hope this material can be used and adapted for use anywhere. We've done this to prevent anyone from trying to make make the material proprietary and ensure it stays free, not because we were worried about what students might do with it.

I had never heard of an "academic integrity agreement" before. I just googled it and found this:

  "Some schools have created an honor code -- a school-wide 
  agreement about ethical behavior -- that parents sign in 
  September and students sign each time they turn in an 
  assignment, quiz or exam."  
  -- https://www.edutopia.org/blog/academic-integrity-cheat-or-be-cheated-denise-pope
Sign a statement for every assignment, quiz or exam? WTF! An honor code that takes out the "honor" and replaces it with "legal" is no longer an honor code, it is a contract. This is the sign of a broken society.

To paraphrase Monty Python, "America is a silly place, let's not go there."

Professors owning their own material is an ancient tradition. If they did not, they wouldn’t be able to MIT license it.
I think you're misinterpreting the point of the parent post. The point isn't to prevent free flow of information, it's to prevent plagiarism. Usually, at least in computer science, course materials, lecture notes, and research papers are freely available on webpages. The other side of the coin from making information widely available is that proper attribution and credit becomes very important culturally. There's no good purpose to be served by copying and pasting something that's freely available when you can just link to it instead.
William Zinsser's On Writing Well, about writing non-fiction articles, has a lot of examples of people (including scientists) writing beautifully about complex topics, and talks about style, audience, your voice etc. It's a very inspiring book.

re blogging, I've found Jeff Atwood's articles on blogging on his Coding Horror blog to be wise and very helpful. Also Julia Evans' blog is a great example of someone sharing what they're learning in an inspiring, energetic and fun way.

Yeah Julia Evans' is a great example of some who explores topics in a cool original way. Love her zines.
> document/write the things I'm learning

I do this whenever I learn something new. A new vocabulary, expression, API, programming language feature, etc. I think writing down your bite-sized microlessons is just as effective as blogging at length.

Currently I do it every day with a CLI and a browser extension that I keep close at all times.

Here is a previous Hacker News discussion about this method: https://news.ycombinator.com/item?id=16357917

If you haven't already, I would read Strunk and White and apply those lessons to your writing.

I also highly recommend Steven King's book On Writing.

An idea: Take a topic that catches your interest, and explain it to a non-specialist or even non-engineer. I happen to enjoy blogs like that when they are well written. If a simulation is possible, share some code.

There's the old quote, attributed to various people, that you should be able to explain your research to a barmaid if you actually understand it. Having to explain it at a basic level will actually improve your own grasp.

This is one possible route - whichever topic or doubt you end up searching the internet for, make a small post about the solution. As you grow over time, start being more comprehensive about the solutions, and try to list information on the very niche topic till the periphery of human knowledge( from history of birth to bleeding edge tech in that area). Growing more over time you will start getting in-depth and at a zen blogger stage, cross-domain.

Or you could make the blog all about you. Your personal journey of how some attained knowledge in the past, you were able to apply.