“All you need is an editor, a Terminal, and Python.”
So goes LPTHW’s exercise zero. Zed walks his reader through identifying a basic text editor, locating the terminal, and installing Python. He also explains the importance of being willing to Google for answers.
According to Mr. Shaw, I must have a thing for control since I’m a Linux advocate. (Where’s my huge beard tho??) Kidding aside, Linux — and Free and open source software (FOSS) more generally — just makes sense to me, and I’ve been using it since I started grad school in 2007. Astonishingly, our computer labs all ran Ubuntu!
It took a few days to get the hang of the slightly different look, but I was hooked from the start. I resonated deeply with what I understood to be the guiding principles of FOSS. Why not use software developed by people who are excited to build it, who are daily dreaming up and making improvements, and who are guided by a communitarian ethos? And once you’ve made something, why not share it with others for mutual benefit?
But that’s an aside for another post — and something I care about so much is certain to get its own post! Back to exercise zero.
Text editor, terminal, Python. Pretty straightforward, eh? NOT SO FAST. When I picked up LPTHW two years ago, he didn’t have the nifty “Command Line Crash Course” as Appendix A. Instead, you just noodled your way through basic bash in the course of the lessons. I’m going to spend today and tomorrow working my way through it before proceeding to the next lesson. I have a feeling that much of it will be familiar.
How about in the kitchen? What do you need to get started there?
The most important concept I can share today is that of mise en place. Pronounced “MEEZ ahn plahs”, it’s a French term that means “put in place”, and it’s about all the preparation you do before food is put to the flame.
Ever wonder how high-end kitchens can turn out complex, artful dishes in a reasonable amount of time? It’s because they can spend anywhere from four to six hours before dinner service prepping ingredients and their workstations before a skillet ever hits the gas.
Mise en place is a philosophy so dear to some that they get tattooed with the phrase. It’s a way of life, a dictum that means get all your stuff out so you can get your food out. It’s slowing down so you can speed up.
Home cooks are well served by putting mise en place into practice. Next time you’re hungry, try to follow these guidelines:
- Start with a clean kitchen. Remove distractions.
- Read the recipe thoroughly.
- As you’re reading, make mental note of technique, kitchen tools, and ingredients used.
- Check your pantry for ingredients.
- Check in with yourself to make sure you know how to do what the recipe is asking. If you don’t know what “blanching” means, follow Zed’s advice above and google it. If you don’t have a chinois and it seems essential, google alternatives or consider picking another recipe. No shame in that!
- Check your pantry and fridge for all ingredients.
- Prep all ingredients: chop, dice, mince, measure, etc.
- Read the recipe one more time.
- Take a deep breath. You got this. It’s time to cook!
- bash: the command line interface that I’m learning the basics of with the help of Appendix A
- FOSS: free and open-source software: users have the freedom to run, copy, distribute, study, change and improve the software (from What Is Free Software?). I use Ubuntu, a popular Linux distribution. I don’t really like the Unity desktop environment so I usually use xfce. Once upon a time I also used Kubuntu and KDE.
- mise en place: French: “put in place”. Loosely, an instruction to gather and prepare the ingredients and tools needing for cooking.
- Python: the programming language I’m learning and writing
- terminal: where I run the code
- text editor: where I write the code
Now I’m curious: what’s the coding equivalent of getting a mise en place tattoo? What command do you live by?
And for the cooks: can you remember a time you didn’t employ mise en place, and what were the consequences? Most recently I started making lemony cornmeal-blueberry muffins and realised I was out of plain cornmeal. In a pinch I tried tamale flour. Surprisingly, it worked!
6 thoughts on “Exercise zero: the setup. Mise en place.”
great post 🙂 As for the question about code en place, I’d say it’s about getting your (virtual) workspaces and programs ready before diving into code. for me, that’s:
Clementine audio player in lower right work space
IRC in upper right workspace (for taking social breaks)
Firefox in upper left workspace (for searching startpage)
Emacs and a terminal (running tmux and zsh) in the lower left workspace
(and if I’m working in Python, Hy or Clojure, I always have a fresh REPL waiting for me to test code in).
My fingers know how to get to each program without me thinking about it and I can flit between them without losing my place in the code. If I try to do work without everything in place I’ll just get snagged when I go to start music and Clementine is off, or if I need to ask someone a question and I haven’t connected to my IRC bouncer, or if I want to search startpage but I have to wait a few seconds for Firefox to start. All of those little hiccups are enough to throw me off my work and make me have to rebuild my context.
Pingback: Bash for beginners / most common conversions | Coding with Knives
> What command do you live by?
Gotta go with “make” 🙂
Thanks Kyle 🙂
Pingback: LPTHW: Exercise 6: Strings and Text and Mushroom Curry | Coding with Knives
Pingback: A soup for October | Coding with Knives