Hacker News new | past | comments | ask | show | jobs | submit login
Mise en Place Writing (swyx.io)
85 points by Townley on March 24, 2020 | hide | past | favorite | 30 comments



This is a fantastic article. I often have a similar process when writing code. The ideation (architecture, user input, etc) and research (ensuring the existence of all necessary APIs, etc) are separate phases for me. Once the ideation and research are mostly complete, the writing of the code is usually a breeze, and I end up with having to refactor/rearchitect a lot less than if I start by writing code.


That’s really interesting. Do you by chance have a write up or example of how this is done? I’d like to try this too.


You remind me this could be a decent idea for a short blog post.

In brief though, let's say you're implementing network filtering (inspired by today's LittleSnitch post).

Before writing any code, I would:

- Figure out what actual business case there is behind it and what the management/customer/etc is actually looking for. Maybe feature XYZ isn't the right long/short-term solution for what they want. People give Steve Jobs a lot of flack for "you're holding it wrong", but he was right in the sense that the customer doesn't always know what they want/need, let alone know what's even possible.

- Once the feature is what is required, figure out what's the right fit for the feature within the current architecture with short/medium/long-term goals in view. Maybe it's actually better to hack something in quickly and commit to revisit in 1 week than spend a month doing it right and lose users.

- Then figure out if the APIs actually exist. Some APIs you need simply don't exist. For example, in order to filter network traffic on MacOS, you needed to write a kernel extension until macOS Catalina. If your architecture/business doesn't have room for kernel extensions, then those APIs are out of reach. (Maybe Apple didn't bless your request to code sign kexts. Maybe you have no-one on your team with kernel experience. Maybe your customers are non-admin users on their Macs that can't load kexts.) During this phase, I might write some quick & dirty PoC code later in the process to exercise all the necessary APIs and make sure those actually do what they promise to do within my constraints.

Once you have the business requirements, stakeholders aligned, and PoC that exercises all the APIs which demonstrate your feature's needs, writing the actual code is a breeze. Especially once you get pretty good at this, transforming the PoC code into one that stands the test of time in your product gets easier and easier.

You may ask "wait, writing the PoC code is exactly what you claimed you didn't do!". You've got a point, except in this case, whenever I write PoC code, I write it as a standalone "proving grounds" program. I don't start writing code within the product's architecture. I would estimate in my PoC code, there's less than 3% that is outside of exercising the necessary APIs.


Did you reinvent "Waterfall" methodology?


Off topic but Jesus I have an irrational hate for websites that style scrollbars.


In general, I agree with you, but it can be done well. For example, it took me a while to even notice that Netlify colours the scroll bar to match the page background (https://app.netlify.com). I think Firefox is the only browser to implement the scrollbar-color[1] property so far, which is a big improvement over Chrome's non-standard scrollbar theming (scrollbar-color is much more limited).

[1] https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-c...


I believe it’s more in the spirit of experimentation and seeing what can be done with scroll bars than anything the writer would recommend be adopted more widely.

https://www.swyx.io/writing/scrollbar-shenanigans


I don't care about the justification. It's just wrong.

I said it's irrational, right? :)


I too am on a once a day sprint. I use a similar technique. I have one Scrivener project for my posts. I create a folder/doc for each topic I want to write about, usually 5-15 ahead of where I am. In each one I jot down the idea. As the week progresses and I find supporting info I drop it in there. Then when it comes time to write the article I have enough to go on.


Mise En Place is a very important skill in cooking. Its also easy if you batch things up and further take advantage of modern help.

Ex: you can buy carrots precut from the grocery store in "matchstick" form. You can buy pre-minced garlic. You can buy pre-soaked + cooked canned beans. There's no reason to work overly hard preparing meals.

Not everything is available pre-made in the grocery store. But the preparations you do can be batched up into larger sections. Cut the entire onion, or two, or three. Then tomorrow, you have pre-cut onions for other meals. Don't cook 1 cup of rice for today, cook 3 or 4 cups, so that you have rice for fried rice tomorrow.

------------

I like the idea of prep-work being applied to writing. Batching additional work together can make you more efficient in cooking, so it makes sense that batching research together (for many different articles) would make you a more efficient writer, when it comes to writing many (say, 50 articles) at once.


I would say that a critical skill in good cooking is the knowledge of what you can buy prepared and what you might rather prepare yourself.

Soaking and cooking raw, dry beans is time consuming and there are actually food safety concerns (dry kidney beans are toxic). So, getting canned beans will save you a significant amount of prep. I prefer the taste of beans that I’ve made myself but it’s rarely worth the high effort.

On the other hand, it doesn’t take much time to mince garlic, and it tastes a lot better than the stuff in jars.

Tubes of cookie dough and bags of “pie crust” mix are nearly as good as preparing everything at home, so there’s little benefit to making them yourself unless you’re going to change the recipe. Jars of spice mixes are great if you don’t want to deal with a full spice rack.

On the other hand, if you want juice, fresh squeezed is far better than the jugs or cartons of juice at the store, or the concentrate. The flavors in a fruit don’t last long when exposed to air, so the juice companies generally add scents to the juice—basically, perfume—and they have a clever trick to keep it off the ingredients list: they make it from the fruit.

The idea is to do the work that has the highest impact on the food quality, and then outsource everything else to industry.


> On the other hand, it doesn’t take much time to mince garlic, and it tastes a lot better than the stuff in jars.

If I'm using canned and pre-cut veggies, then minced garlic means I don't even have to take out the cutting board.

I agree, fresh-minced garlic tastes way better. But pre-minced garlic is "good enough" in most cases.


Frozen minced garlic cubes are the best of all the worlds.


The first time I made fresh pineapple juice for cocktails was a revelatory experience.


I find precut vegetable to be not as good. Maybe there's a large psychological aspect, but I always assume it's more expensive (I rarely actually check) and not as good as the vegetable are not protected by their skin anymore, so they rot faster or have extra product to keep them fresh


"Not as good" is still tastier than what is available from restaurants in my experience. Well, with practice anyway.

The idea of pre-cut veggies and pre-minced garlic isn't to make things as tasty as possible. No... the idea is to make the joy of cooking far easier.

Give me a pint of leftover rice, a jar of pre-minced garlic, a can of corn, 2 eggs, and an onion and I'll cook you some fried rice in less than 10 minutes. The longest part of the job is waiting the 5 minutes for my cast-iron skillet to heat up.

1. Heat cast iron skillet (~3 to 5 minutes)

2. Simultaneously, cut the onion. One half the onion is for this meal, save the other half for tomorrow.

3. Pour oil into the pan, wait for it to smoke lightly (shouldn't be long if its hot enough).

4. Mix rice, pre-minced garlic, corn, eggs, and cut onion into the skillet.

5. Mix around for a few minutes.

6. Eat. Add salt and pepper to taste.

---------

Mincing garlic so that its fresh will taste better. But that's not "daily eating" IMO.

Cooking quickly and cheaply is a major skill. The corn is pre-kerneled, the garlic is pre-minced. The only thing I have to do is cut the onion, heat up the pan and fry everything.

I eat fast food because it is easy. Making cooking easier than fast food is important, because then I self-cook instead of eat fast food. As long as it tastes better than a McDonald's Big Mac... and as long as it takes less effort than driving to McDonalds, I'll be cooking at home.


Traditional pre-minced garlic has a distinct off-flavor, in addition to the fact that it cooks differently in the pan. But Litehouse (U.S.) sells amazing freeze-dried minced garlic that is almost indistinguishable from fresh garlic, and despite retail markup it's[1] somehow cheaper than traditional freeze-dried sources. I have a whole cabinet full. Costco sells extra large jars, but because it starts to oxidize and rehydrate after opening I prefer the smaller jars.

Depending on the recipe, freeze-dried garlic is even better because you can control how quickly it browns by adjusting the amount of water when rehydrating it.

[1] At least, it was cheaper last time I checked.


Yeah the big time savings there is not having to wait all day for my chicken to lay an egg.


If you have a garlic press I see no need to use the crushed garlic in a bottle product.


Depends on whether you prefer 20 seconds to open the jar and spoon out the amount you need, or five minutes to peel the garlic, press it, then clean the garlic press.


You don't need to peel the garlic before putting it in the press, and my press quickly disassembles and can be rinsed in seconds.


One nit: "Of course, for chefs, typically you're also the one doing the prep so you're not really saving any work" is very much not the case. Chefs, working in professional kitchens, rarely do prep. Home cooks have to, but in a professional kitchen, a chef working the prep station is exceptionally rare.


That's an odd nit to pick and I don't think it's accurate. In case you haven't heard the term sous-chef[0]:

> Sous-chefs are in charge of making sure all kitchen equipment is in working order. [...] Under the oversight of the sous-chef, downtime should be used for prepping, cleaning and other kitchen duties.

In the body of a document titled "Mise en Place Writing," I do believe the author meant exactly that chefs[1] are the ones making sure all forms of preparation are completed, even if it means working the prep station.

In fact, I'd go so far as to say I'm certain this particular author checked a resource like a list of culinary terms or restaurant terminology[2] during a "pre-writing" phase like "Research" before using those words at all.

[0]: https://en.wikipedia.org/wiki/Sous-chef

[1]: "A chef is a trained professional cook and tradesman who is proficient in all aspects of food preparation" emphasis added by me, https://en.wikipedia.org/wiki/Chef

[2] https://en.wikipedia.org/wiki/List_of_restaurant_terminology


Of course I've heard of that term, and that's a different job position. In more standard HN jargon, that's like saying a senior tech lead is the same as a tech contractor. One of them runs the floor, the other follows their instructions.

Just because it has the word "chef" in it, does not make the sous-chef "chef". Sure, in layman's terms they are "a kind of chef" but in professional terms, they are not. There's only one chef, they're the CEO of kitchen, they rarely prep.


Yep, "prep cook" is a full on job title. A bit tedious at times but can be fun, and you do get good practice chopping things


Honestly, it's a valuable life skill.


In big kitchens with dedicated prep staff, sure. Most places aren't that big.


Even in small restaurants there's almost always a sous or junior. Sure, the chef is more likely to pitch in, but they still don't do all the prep. They did their time working their way up the ladder already.


I really enjoyed this article and agree with other replies about the content.

Additionally it's the first time I think I've seen a styled scrollbar that fit into a site (ie: wasn't a demo of styling a scrollbar) since Angelfire/Geocities/etc -- I know it's been a long time because I actually checked the source and realized I didn't even remember the CSS names, just doing it in IE!


Excellent article. When I started freelance writing for a living, I quickly learned that time spent preparing is rarely time wasted. It is much easier to get the words on the page if I am prepared with research, outlines, and ideas. I can focus on making sure they're the right words in the right order rather than hunting for information and worrying about structure.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: