# Productivity hints, tips, hacks and tricks for graduate students and professors

Contents Jump to: My philosophy: Optimize transaction costs Distilled into empirically-wrought principles, my high-level advice is: Reduce transaction costs to engaging in productive behavior. In short, mold your life so that the path of least resistance is the path of maximum productivity. People are surprised when I tell them I'm lazy. I don't try to change the fact that I'm lazy: I exploit it. I try to make sure that the laziest thing I can do at any moment is what I should be doing. Update: Managing willpower Years after I wrote the first version of this article, I discovered a book that provided a basis for my philosophy in sound psychological science, Willpower The book surveys the literature on the science of self control. Deliberating shaping the past of least resistance optimizes the use of willpower. Anecdote: Pull-ups In my first year as a new professor, I wanted to start doing pull-ups, so I attached a portable pull-up bar to the door outside our bedroom. Don't work from home Taming email

3 qualities of successful Ph.D. students: Perseverance, tenacity and cogency What doesn't matter There's a ruinous misconception that a Ph.D. must be smart. This can't be true. A smart person would know better than to get a Ph.D. "Smart" qualities like brilliance and quick-thinking are irrelevant in Ph.D. school. Certainly, being smart helps. Moreover, as anyone going through Ph.D. school can tell you: people of less than first-class intelligence make it across the finish line and leave, Ph.D. in hand. As my advisor used to tell me, "Whenever I felt depressed in grad school--when I worried I wasn't going to finish my Ph.D. Since becoming a professor, I finding myself repeating a corollary of this observation, but I replace "getting a Ph.D." with "obtaining grant funding." Update: Within a month of writing that last line, I was awarded my first three grants. Perseverance To escape with a Ph.D., you must meaningfully extend the boundary of human knowledge. You can take classes and read papers to figure out where the boundary lies. That's easy. Tenacity Cogency Translations

The illustrated guide to a Ph.D. Imagine a circle that contains all of human knowledge: By the time you finish elementary school, you know a little: By the time you finish high school, you know a bit more: With a bachelor's degree, you gain a specialty: A master's degree deepens that specialty: Reading research papers takes you to the edge of human knowledge: Once you're at the boundary, you focus: You push at the boundary for a few years: Until one day, the boundary gives way: And, that dent you've made is called a Ph.D Of course, the world looks different to you now: So, don't forget the bigger picture: Keep pushing. There's a bit more below, but I also wrote a follow-up 5 years after the illustrated guide which may be of interest -- HOWTO: Get tenure. Related posts If you like these posts, then I recommend the book A PhD Is Not Enough Get it in print; fund students; save lives By request, a print version of The Illustrated Guide to a Ph.D. is on sale. Click here to preview or buy it. Why biology? License: Creative Commons Resources

100 Websites You Should Know and Use Entertainment Meet David Peterson, who developed Dothraki for Game of Thrones There are seven different words in Dothraki for striking another person with a sword. Among them: “hliziﬁkh,” a wild but powerful strike; “hrakkarikh,”a quick and accurate strike; and “gezrikh,” a fake-out or decoy strike. But you won’t find these words in George R. Culture My Year of TED: How 54 talks changed a life By Kylie Dunn What do you get when you cross a 39-year-old perfectionist with 54 TED Talks and far more honesty than any person probably needs to experience?

Architectures for interpreters: Substitutional, denotational, big-step and small-step Resources Structure and Interpretation of Computer Programs. Until very recently, MIT used to teach freshman computer science by having them write interpreters. SICP is the now-classic textbook for that course. Lisp in Small Pieces is a complete, up-to-date treatment of writing high-performance interpreters and compilers for dynamic languages (with Scheme used as an example). My post on meta-circular evaluators and first-class macros includes a complete meta-circular interpreter for a large chunk of Scheme. A simple language: Lambda calculus The lambda calculus is one of the simplest Turing-complete programming languages, containing only three expression types: variable references, function calls, and anonymous functions. <exp> ::= <variable> [references] | (<exp><exp>) [function calls] | (lambda (<variable>) <exp>) [anonymous functions] Please pardon the Lispish syntax; I have a habit of using simple syntax when syntax isn't the focus. [Exp.scala] object Exp { type Variable = String}

calculus - Proving a limit using another limit Electric meat Don't touch the electric meat Some time ago, a primatologist ran an experiment with chimpanzees. The experiment involved a hanging pallet of meat that, when touched, sent an electric shock througout the entire chimp cage. At first, the chimps responded with bewilderment every time one of them grabbed the meat and the shock rippled through the cage. Eventually, the chimps realized that the shocks came from the meat. The chimps began to attack and beat, savagely even, any chimp that approached the meat, and over time, fewer beatings were necessary. At this point, the experimenter began to replace the chimps, one by one, with chimps that had never been shocked. Naturally, when this new chimp went for the curiously untouched meat right before his eyes, he was attacked. Confused at first, he eventually connected the meat to the beatings. Each new chimp learned to attack when others approached the meat. The experimenter continued replacing the chimps. The meat was now safe to eat. Epilogue Related pages

9 things successful people do differently | bethexception. Why have you been so successful in reaching some of your goals, but not others? If you aren’t sure, you are far from alone in your confusion. It turns out that even brilliant, highly accomplished people are pretty lousy when it comes to understanding why they succeed or fail. The intuitive answer — that you are born predisposed to certain talents and lacking in others — is really just one small piece of the puzzle. When you set yourself a goal, try to be as specific as possible. {*style:<b> 2. To seize the moment, decide when and where you will take each action you want to take , in advance. Achieving any goal also requires honest and regular monitoring of your progress — if not by others, then by you yourself. 4. 5. Fortunately, decades of research suggest that the belief in fixed ability is completely wrong — abilities of all kinds are profoundly malleable. 6. The good news is, if you aren’t particularly gritty now, there is something you can do about it.

Relational shell programming Representing relations In mathematics, a relation is a set of tuples. [A tuple is an ordered collection of values, (v_1,\ldots,v_n).] For example, \{({\tt Bob}, 31), ({\tt Judy}, 32)\} is a relation. In database theory, a relation is a set of tuples with an assigned name for each column; that is, a relation is a table. For the earlier relation, we could define a header tuple ({\tt name}, {\tt age}) that names each column. We could then represent the relation explicitly as a table: Relational algebra is a theory for manipulating relations whose power is equivalent to SQL and relational calculus. Remarkably, relational algebra has only six primitive operations. I define the six primitives below, but if you're looking for a comprehensive work on relational theory, particularly as it relates to modern databases, I recommend Date's SQL and Relational Theory Relations in Unix Many Unix commands interpret files like relations: each line is a tuple. The command traceroute produces relation-like data: Union

calculus - How find this limit $\lim_{x\to 0}\frac{1}{x^4}\left(\frac{1}{x}\left(\frac{1}{\tanh{x}}-\frac{1}{\tan{x}}\right)-\frac{2}{3}\right)=？$ 10 tips on how to give an academic talk The biggest mistake academics make is misjudging their audience. I've been to (many) talks where the talk itself was presented to one or two people in a room of hundreds. (Disclaimer: I've given my fair share of these talks too.) When preparing a talk, glance at the program for the event, or ask your host what you should expect of the audience in terms of background knowledge. Aim appropriately. When we speak on favored topics, our instinct is to gloss over concepts and details that once took us the better part of grad school to understand. It feels awkward, or even insulting, to recap "introductory" material. There's also a negative feedback mechanism in academic culture. When you present to a broader audience, experts in your own specialty will claim to be annoyed and chastise you in public Q & A to stroke their egos. Don't listen to them. Always ask: What needs to be understood to convey the big idea? Practice Practice is the key to a "natural" delivery. Nerves Public speaking is a common fear.

5 Reasons The Future Will Be Ruled By B.S. Everything from that second tier to the capstone, they can get at a cost that rounds down to zero, if they so choose. We Internet types are so busy haggling over video games with DRM that we're not grasping the scale of this. We're like a dog who's been cooped up behind a fence his whole life, and now a storm has knocked down the gate. The dog looks out and thinks, "Wow, out there is the front yard!" No, Fluffy. Out there is the whole world. Well, shit, Utopia's here! House music and MDMA for everyone! Wait -- did you forget the thing about the baby formula? Because this is where shit gets absurd. Public libraries have been lending out books to people, for free, for the last 500 years or so. But then the publisher invented a better book.

Sculpting text with regex, grep, sed and awk Theory: Regular languages Many tools for searching and sculpting text rely on a pattern language known as regular expressions. The theory of regular languages underpins regular expressions. (Caveat: Some modern "regular" expression systems can describe irregular languages, which is why the term "regex" is preferred for these systems.) Regular languages are a class of formal language equivalent in power to those recognized by deterministic finite automata (DFAs) and nondeterministic finite automata (NFAs). [See my post on converting regular expressions to NFAs.] In formal language theory, a language is a set of strings. For example, {"foo"} and {"foo", "foobar"} are formal (if small) languages. (Mathematicians don't typically put quotes around a string, preferring to let the fixed-width typewriter font distinguish it as one, but I'm guessing that programmers are more comfortable with the quotes around strings.) In regular language theory, there are two atomic languages: Useful grep flags The +? #!

calculus - Find zeros of function $f(x)$

Related: