background preloader

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

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 Related:  Dr. Matt Might help: Dissertation tips

Body Language Basics - Syncrat Publishing Throughout history it has been an advantage if an individual can read body language. Body language helps in everyday life from closing a business deal or trusting someone with your life, to recognising when someone is upset. Body language is the art of making an educated guess at a person’s feelings or intentions based on their posture, movement and positioning. To understand a person’s body language you need to take into account more than one aspect of their body language. Take tears for example. Just seeing tears on a person’s face does not tell you much as they could mean a person is happy, sad or just they might just have watery eyes. Each action or stance in the following list means very little, unless there is more than one indicating the same thing. Arms Feet Head Chest Other

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

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}

John Cleese on the 5 Factors to Make Your Life More Creative by Maria Popova “Creativity is not a talent. It is a way of operating.” Much has been said about how creativity works, its secrets, its origins, and what we can do to optimize ourselves for it. In this excerpt from his fantastic 1991 lecture, John Cleese offers a recipe for creativity, delivered with his signature blend of cultural insight and comedic genius. Space (“You can’t become playful, and therefore creative, if you’re under your usual pressures.”)Time (“It’s not enough to create space; you have to create your space for a specific period of time.”)Time (“Giving your mind as long as possible to come up with something original,” and learning to tolerate the discomfort of pondering time and indecision.)Confidence (“Nothing will stop you being creative so effectively as the fear of making a mistake.”)Humor (“The main evolutionary significance of humor is that it gets us from the closed mode to the open mode quicker than anything else.”) Creativity is not a talent. Thanks, Simon

How to Do What You Love January 2006 To do something well you have to like it. That idea is not exactly novel. The very idea is foreign to what most of us learn as kids. And it did not seem to be an accident. The world then was divided into two groups, grownups and kids. Teachers in particular all seemed to believe implicitly that work was not fun. I'm not saying we should let little kids do whatever they want. Once, when I was about 9 or 10, my father told me I could be whatever I wanted when I grew up, so long as I enjoyed it. Jobs By high school, the prospect of an actual job was on the horizon. The main reason they all acted as if they enjoyed their work was presumably the upper-middle class convention that you're supposed to. Why is it conventional to pretend to like what you do? What a recipe for alienation. The most dangerous liars can be the kids' own parents. It was not till I was in college that the idea of work finally broke free from the idea of making a living. Bounds Sirens Discipline Two Routes Notes

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

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

Wildest Places to Party in Europe When you travel, you're free of responsibilities. There's nothing holding you back. So why not throw caution to the wind and get in on these wild Europe party scenes? Whether you are in the south, the north, the east, or the west, when you travel around Europe, you'll find some the greatest and most diverse places to let loose. The continent may be famous for its food and culture, but with all backpackers and young travelers from around the world descending here, these European cities are prime party destinations for drinking heavily and staying up until dawn. Abeeeer, flickr 1. 2. Glen Bowman, flickr 3. ST33VO, flickr 4. 5. boltron-, flickr 6. 7. kevgibbo, flickr 8.

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.

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 +? #!

Dont Pay for Technology: 25 Freebies for Students Jun 29, 2009 In today's economic climate, paying for technology isn't prudent, and for some students, it isn't even an option. Fortunately, there are plenty of freebies on the web that can help with document creation, research, writing, storage, collaboration, studying and more. Here are 25 free web apps and software programs that may be useful to students. Document Creation Zoho Office - Zoho Office is an amazing suite of web-based productivity and collaboration tools. Research and Writing Schoolr - This meta search engine combines other academic search engines to make research faster and more efficient for students. Online Storage and Collaboration ADrive - Offering more than 50 GB of free storage, ADrive is one of the best places to upload and store files online. Study Help and Web-Based Learning Mindpicnic - Mindpicnic is helping to revolutionize the way students learn by providing free courses and study materials online. Miscellaneous Tech Tools

3 shell scripts: Kill weasel words, avoid the passive, eliminate duplicates More resources There are four books at arm's length in my office: Strunk and White's The Elements of Style is still a good, if not perfect, reference on style. Young writers should calibrate their reading of Elements in light of criticism from linguistic experts. Experts claim that the good parts of Strunk and White are common sense. I take issue only with their application of the modifier common. Precision and clarity My Ph.D. advisor, Olin Shivers, taught me that technical writing is a balancing act between precision, clarity and marketing. After a recent round of paper submissions with my own Ph.D. students, I've identified mechanically recognizable ways that precision and clarity leak out of a paper: weasel words and abuse of the passive voice. So, I've written shell scripts to detect these leaks. (I don't think I'll ever be able to write a shell script that detects bad marketing for a scientific idea.) Weasel words Salt and pepper words Beholder words Lazy words Adverbs Passive voice Resources