top | item 17191206

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

213 points| jamesecurry | 7 years ago | reply

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!

51 comments

order
[+] fernly|7 years ago|reply
Think about the standpoint from which you would speak. I suggest you NOT try to write from the standpoint of someone who understands the subject and wants to explain some point clearly and accurately.

Because, one, you aren't an expert yet, and you would feel a lot of responsibility to try to make sure you always got it right. That would impede your writing, make it more laborious, and greatly increase your chagrin when you (inevitably) get something wrong.

And two, "what I know about Control systems" is frankly not that interesting a topic.

What IS (or at least could be) an interesting theme is "my adventures and fuckups trying to learn Control systems". You take the standpoint of a learner, a way-farer, and you write about what goes wrong, and occasionally, your triumph when things go right.

This adds a human, emotional component. You'd be writing about your (intellectual) struggles and achievements, and that's always interesting -- as well as easy to write about.

You can get as technical as you want, in this role as struggling apprentice, dive really deep when you actually make a discovery. "Wow! I just actually got this concept for the first time!" That makes a great blog post. But so does, "Today I screwed up a whole lab experiment because..."

Human interest, with a technical slant.

[+] iforgotpassword|7 years ago|reply
> What IS (or at least could be) an interesting theme is "my adventures and fuckups trying to learn Control systems". You take the standpoint of a learner, a way-farer, and you write about what goes wrong, and occasionally, your triumph when things go right.

This. I'm long out of college and after thinking about starting a small blog for years I finally started one on github pages. Not to post super sophisticated articles showing how cool I am, but posts about weird problems or pitfalls that couldn't be solved through some googling. I try to describe the problem and failed approaches too, so should anyone ever have the same problem I hope I dropped enough keywords to help them find it.

[+] TrueSelfDao|7 years ago|reply
I'd like to second this suggestion. You will find, or have likely already found, that a lot of the writing you do (class assignments, papers, thesis, etc) will focus primarily on the successes and be written in that expert POV. Documenting the journey is useful for your own records and is a great service if made publicly available. It's also an opportunity to reflect not just the technical topic at hand, but on your personal experience with it.
[+] codingdave|7 years ago|reply
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.

[+] keerthiko|7 years ago|reply
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.

[+] danso|7 years ago|reply
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.
[+] DoreenMichele|7 years ago|reply
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.

[+] yesenadam|7 years ago|reply
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.

[+] torbjorn|7 years ago|reply
Yeah Julia Evans' is a great example of some who explores topics in a cool original way. Love her zines.
[+] dsr_|7 years ago|reply
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.

[+] lewis500|7 years ago|reply
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.

[+] acconrad|7 years ago|reply
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

[+] pnathan|7 years ago|reply
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.

[+] jtolmar|7 years ago|reply
For #1, try to explain it to a friend, preferably in person, possibly via a chat app, but definitely not via email. Then base your writing on the way you explained that. (But like, with complete sentences.) This is the best method I know for shaking off the instinct to sound like other people's writing (i.e: like technical papers) instead of just explaining things.

Here's three examples of excellent explanations via very different techniques:

[1] https://pomax.github.io/bezierinfo/ - Bezier curves, exhaustively technical but well-indexed and just really well explained

[2] https://directtovideo.wordpress.com/2011/02/25/ceasefire-all... - Advanced and unorthodox rendering techniques, narrative format, basically the opposite priorities of a paper (assumes you can fill in the gaps on how, details more what worked and why it's being used)

[3] http://archive.is/XjbUy (supposed to be at qntm.org/gay, but apparently being rewritten) Database normalization principles via the lens of making a database handle gay marriage, humorous

Also, if you're explaining sequential bayesian filtering by any chance (my specialty), I'd really like it if someone actually wrote down the awful formal version with the point-wise Bayes Theorem and the giant integral convolving over your state transition function, then explained how particle filters / kalman filters / hidden markov models get around how awful that is. It's how I introduce the topic at work but I don't have my slides handy out here in the real world.

[+] sixhobbits|7 years ago|reply
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.

[+] analog31|7 years ago|reply
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.

[+] cossatot|7 years ago|reply
I've been doing academic-type blogging since I was halfway through my PhD; it's been about 7 years now, and I continue as a non-academic scientist. My main advice is, as many others have said, to just write. Keep at it, and you'll figure out the rest as time comes. Try to bang out a post a week at minimum and things will fall in line.

I personally found that--in contrast to what many suggest here--I have almost no interest in explaining anything to non-specialists. Instead, my blog is mostly (or most successfully) a forum for me to work through ideas. Many times I will have a small nugget of a thought, and I will make a blog post where I model something in a Jupyter notebook. A couple of times, these have turned into papers, so that's been very helpful personally. I am also making an effort to write about topics that I don't understand, highlighting where I'm confused, as a way of getting my thoughts in order (and not all of these things may be understood by any scientists).

One consequence of ignoring explanation is that I have no regular readers (as far as I can tell; I don't use tracking scripts), and posts aren't widely read unless I promote a post by emailing it to people that then put it on twitter or facebook or whatever; I don't use those myself. This isn't directly a huge problem for me (although more positive name recognition couldn't hurt), but it might not be what you're after.

If I was in grad school now, I would use the blog as a way of making high-quality, permanent notes of things that I learned, whether they're concepts, mathematical or computational techniques, literature reviews, etc. Give attribution where appropriate and don't share homework solutions (use your best judgement on exercises and maybe change the problem sufficiently if you really want to blog your homework. Or just ask your professor...). There is a lot that I've halfway forgotten over the years and my paper notebooks haven't all survived many moves, etc., and don't have the quality that I would have put into them if I were making them public. I am starting to do what I can to make good notes in emacs org-mode when I learn new stuff or need to revisit important things in my day to day work as a researcher, but it's tough. (The format of good digital note-taking isn't important; the practice is.) Grad school is basically about this, so making good notes (ideally with some illustrative, working code where appropriate) will pay dividends in your later work.

Good luck!

[+] jimmies|7 years ago|reply
I am a grad student and writing and maintaining a blog has done me wonders over the years. So:

1. "I'd like to write to help understand how deep my understanding of the subject" -- You need to find the frequency you need to tune in so that your readers find you interesting. Things that require a deep understanding might not make a good story and appeal to the mass, and vice versa.

What I learned is that despite me doing an advanced degree, I only know very little that others don't: https://twitter.com/lolmythesis

To me, when I blog, I tell a story. When I write a paper, I tell how deep my understanding is on that subject. My knowledge of the subject matter is just a catalyst, not the cause, for me to tell my story.

Don't be shy about what you know, but I think the idea is you shouldn't assume that your readers are dumber than you unless you're Peter Norvig. But there are angles that you see things that are interesting to others.

2. No person I know or follow ever publish their homework to their blog and be successful. You need to add a whole narrative on top of that to be interesting, so I doubt anyone will have a problem with it. If you're worried about the legality, you're counting the eggs before they hatch.

[+] nurettin|7 years ago|reply
Reading what you wrote is a great teacher. You don't need to publish to do that. Make a review queue, put the article online but don't publish it.

Every day review the article again. First review, you might find your expressions bland and enrich them. Second review you might end up realizing you skipped on an important point, etc.

When the article is ready, publish online and try not to change it afterwards. Not being able to touch the final product gives a sense of urgency and helps with focus.

[+] tw1010|7 years ago|reply
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/

[+] sjg007|7 years ago|reply
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.
[+] web007|7 years ago|reply
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.

[+] mswen|7 years ago|reply
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.

[+] willart4food|7 years ago|reply
The best way to learn to write is to just write.

Your first post is going to be bad, the second one is going to be better and so on, by the time you get to post #100 you'll have discovered your voice and created something that is unique to your personality.

Reading, in general, will also help the process; read stuff that interests you and - most importantly - don't stop.

[+] digitalzombie|7 years ago|reply
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.

[+] sewercake|7 years ago|reply
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.