Pizza Dough - <AUTHOR> https://github.com/hendricius/pizza-dough <comment><USER2> Another good tip, ask your local pizzaria if they'll sell you a dough blank - usually they'll do this for $2-3 and then you can dress it the way you want, bake it and have great quality pizza with top choice ingredients with a 25 minute wait, which is roughly as long as it takes for delivery. Most good pizzeria's will have already let the dough sit for a day or so.

<comment><USER3> I have a dumb question: what part of the rest of the pizza-making process can you do better than the restaurant? I ask because the big issue in home pizza production is that your oven is unlikely to reach the temps commercial pizza ovens hit, and people go to all sorts of weird lengths to rectify this.

At the point where you're getting the dough from the restaurant, why not just get the pizza from the restaurant?

<comment><USER2> Good and valid question.

For me it's a few things.

1) the kids love putting "their" toppings on "their" quadrant of the pizza, and wow, like a lot of things in life, when you make your own there are 0 complaints.

2) You can really put premium toppings that no pizzeria would spend on our even stock.

3) You can get it fresh out of the oven, like "burn the top of your mouth (again, you dummy) cheese napalm" fresh.

4) You can put as much or as little of any combination of cheese as you like, and it doesn't have to be the powdery pre shredded dry-frozen stuff that a lot of pizza places use.

5) Really it takes like 5 minutes to dress a pizza, heating your oven up to whatever it's highest settings is takes longer.

6) You can barbeque your pizza.

7) It's usually pretty cost effective when you consider most delivery places are charging $15+ for a large (14") pizza with a few toppings. Plus you save the tip and the emissions from a delivery driver (provided you buy a few and pick them up on the way home!

<comment><USER4> One thing ivr done since I was a kid is buy pizza sauce, toppings, and pillsbury biscuits (or equivalent generic).

You can work each biscuit into a mini pizza, top it as you see fit, and cook the lot for 8-12 mins (based on the biscuits instruction).

It was a great treat when I was a kid and I've kept it up as an adult because dangit adulting has to have some perks.

</comment></comment></comment></comment><comment><USER5> Is Github becoming a popular place for blogging simply because my coworkers will think I'm doing a code review and not reading about Neapolitan Pizza?

If so, thank you for your service. It's working.

<comment><USER6> It almost is, but the super large picture of the guy holding a pizza base might give up the game.

On a serious note, Github could be a good place for blogging because you can get CI to check your code examples, and even to lint your spelling, as well as get readers to supply PR's to fix any errors they see.

<comment><USER7> I always dream of being able to discreetly inform people of minor mistakes in their posts/comments in a way that would make it dead easy for them to accept the change. PRs sound very appealing!!

<comment><USER8> I think we need a new infrastructure for this on the internet. At least some place to say where content is stored, and where to do pull requests against.

EDIT: GIT+Blockchain+Blogs for the future (patent pending)

</comment></comment></comment></comment><comment><USER9> Thanks for sharing - lots of detail on the process and the pictures look really helpful, although honestly I have no familiarity with pizza dough making to judge by. Great read regardless.

I love the idea of Github becoming a more popular place for recipes. I translate many of the recipes I end up cooking into Markdown files[1], and love that Github renders them in a way that I can still share with my relatives.

The real win though is that with git for VC, you can update these recipes with the smallest changes and notes each time you cook it, knowing that each time you're getting closer to the perfect version of each meal. I hope this idea catches on enough that people might one day submit issues / PRs for each others recipes much like we do with open-source code.

May try this dough out myself soon since I'm still on a baking kick from all the Christmas cookies. Will open a PR / issue if I have any suggestions from the experience!

[1]: [https://github.com/rocheio/recipes](https://github.com/rocheio/recipes)

<comment><USER10> I've been storing recipes in git for years, also in markdown so I can edit/view on pretty much any device with a markdown viewer/editor. This post has made me interested in using a markdown rendered to display them on my personal site!

<comment><USER2> Is there an open recipe format? There really should be, if you think about it, a recipe is basically a program: pragmatic, universally interpretable and should produce identical output (provided similar input and execution...)

Would set us up nicely for automated chefs :)

<comment><USER10> I would be satisfied with any recipe format that doesn't include several paragraphs of text about how the author feels about the food, what they did the last time they made it, why they are writing about it, etc. Ingredients, steps, period.

<comment><USER11> He. That's one of the things I love most about seriouseats. They separate in different pages the recipe, as terse as it can be, and the "how it works", that includes all the other fluff, and I read if I'm in the mood.

</comment></comment></comment></comment></comment><comment><AUTHOR> Another great tip I wanted to share is to use a pizza stone. Even better than a stone is a pizza steel. The steel releases the heat faster to the dough than the stone. If you had a stone brick oven at 450°C you would not need this. At a regular oven at home, a steel does wonders. I got my pizza from 80% Neapolitan style to 95%.

<comment><USER12> How long does it take to cook with that? A real pizza oven is supposed to cook your pizza in 3 minutes tops.

<comment><USER13> I have a baking steel, I preheat the steel at 450 (my maximum oven temperature) for at least 30 minutes. Pizza is baked in ~5-8 minutes.

Real pizza ovens are much hotter.

<comment><USER14> I thought the point of the steel was to throw it under the broiler to get it above 700 deg, and then bake the pizza under the broiler?

<comment><AUTHOR> The steel releases the heat faster than the stone. Yes, heat it up as much as possible. Still you will not manage to have the same air circulation as in a stone brick oven. Thus you can not reach the same result. But it can get close to a 95% version. I sometimes use a blow torch to sizzle my pizza further.

</comment></comment></comment></comment></comment><comment><USER15> Quoting the article "There is no need for performing any sort of kneading.", this is wrong, nearly every pizzaiolo (the person who makes pizza in a restaurant) will tell you that you need to kneed for at least 25 minutes, this is to reach what is called "punto pasta" and by kneading you will help the dough to form gluten structure that will give elasticity and will preserve the air inside.

A little tip, if you want to make Neapolitan pizza, and you don't have an oven that can reach 460 Celsius, you should add extra virgin olive oil, this will raise the amount of time in the oven before the pizza becomes biscottata (crunchy and hard), in a professional oven the Neapolitan pizza cooks for around 2 minutes, and if the oven is not in the right temperature and so you need to cook it more the pizza becomes crunchy.

I recommend watching this video: [https://www.youtube.com/watch?v=Cq90lUQUCUo](https://www.youtube.com/watch?v=Cq90lUQUCUo) (it has English subs).

<comment><USER16> The repeated stretching/folding/waiting process develops the gluten like kneading does. You can tell that his gluten development is fine from the windowpane effect in first picture.

<comment><AUTHOR> Over time the dough will also properly homogenise. The starch will absorb the water.

</comment></comment></comment><comment><AUTHOR> A great source to learn about pizza is reddit. I also frequently post my results over there and receive valuable feedback: [https://reddit.com/r/pizza](https://reddit.com/r/pizza).

Regardless you have to be careful, since people are very opinionated and might not know all the variables of your pizza. An experienced baker understands the dough and can react with changing variables.

How about a docker container for baking pizza?

<comment><USER17> After countless failed attempts to make my own pizza dough I resorted to this 'docker' solution of prepped dough: [https://www.ah.nl/producten/product/wi134027/ah-pizzadeeg- en...](https://www.ah.nl/producten/product/wi134027/ah-pizzadeeg-en- tomatensaus)

Somehow I always end up with to stringy dough after it has risen and it would tear to easy when handling. I might give it another try with these instructions, thx.

</comment></comment><comment><USER18> Pro tip for making pizza at home: Use a food processor to knead the dough; it will come together quicker and prevent oxidization, resulting in much better flavor in the finished pie. Restaurants make large batches, exposing only a small surface area of the dough.

<comment><USER19> You should use a stand mixer with a dough attachment if possible. Food processors are very rough on the dough, especially if you use a metal blade. They also can't handle a lot of dough at once without burning out the motor.

<comment><USER18> A stand mixer will not yield the best flavor, which was the point of my comment. Here is the original article that tests both:

[https://slice.seriouseats.com/2010/10/the-pizza-lab-how- to-m...](https://slice.seriouseats.com/2010/10/the-pizza-lab-how-to-make- great-new-york-style-pizza.html#comments-121754)

<comment><USER19> Interesting. Maybe that advice only applies to pizza, but America's Test Kitchen, at least for making dough for bread recommends against using a food processor. I usually make dough in fairly large batches, so I don't know if the effect Kenji talks about would have changed anything for me. I've probably made several hundred pizzas at home, and it definitely took a while to perfect the crust.

</comment></comment></comment></comment><comment><USER20> I've had a lot of success following the advice on Varasanos pizza recipe website.

[http://www.varasanos.com/PizzaRecipe.htm](http://www.varasanos.com/PizzaRecipe.htm)

<comment><USER21> Heh. I just posted this at more or less the same time as you. But I deleted my comment to clean things up.

<comment><USER20> Haha :) I think I originally found it somewhere on this site. I didn't try to hack my oven but I did buy a blackstone pizza oven a few years ago after reading about people using it on the pizzamaking.com forums.

</comment></comment></comment><comment><USER22> Alex French Guy Cooking has a great video series on Neapolitan pizza that would pair well with this.

[https://www.youtube.com/watch?v=5h3uzIs4C2w&list=PLURsDaOr8h...](https://www.youtube.com/watch?v=5h3uzIs4C2w&list=PLURsDaOr8hWV_M3AUhvpEwTcE9865Uwk1)

</comment><comment><USER23> Oh boy, a couple years ago a took the deep dive in to neapolitan pizza. Like any niche people are passionate about, there's tons of different and sometimes conflicting ideas about how to do it best. Along those lines, I love the disclaimer on this post.

Useful app if you go down the pizza dough rabbit hole: [https://itunes.apple.com/us/app/pizzapp/id1228158792](https://itunes.apple.com/us/app/pizzapp/id1228158792)

</comment><comment><USER24> My take, optimized for one 'square' pizza done in any home oven:

        100 ml of tepid water
        275 ml of flour (yes, mililiters)
        1 full teaspoon of salt
        2 grams of yeast
        Minimum of 4 hours of dough rising

<comment><USER2> It's generally more reproducible to measure out ingredients that could vary in density (flour being one of them, for a number of reasons) by weight. You can still be a global elitist and put it in grams.

</comment></comment><comment><USER19> Better than pretty much any book out there on pizza, is reading through the pizzamaking.com forums. They have people that have been on there for over a decade, making thousands of pizzas, and know every last detail of what does and doesn't work. They're also very helpful if you post pictures, and if you get really into it, there's a whole subforum for wood-fired ovens (WFO).

<comment><USER25> I have not found a better site than pizzamaking.com if you want to dive into pizza styles and methods. The gluten free forum was a great resource for me.

</comment></comment><comment><USER26> If you are patient, you can do your bulk fermentation for 72 for additional flavor. Bonus if you also add some "discard" sourdough starter at the beginning for a more sourdough tang.

<comment><AUTHOR> Oh yes, this is a great tip. In fact you can also use sourdough right away for the pizza, it creates a different flavor. Can't say it is better, it is different. With the sourdough you have to be careful with not having a too acidy dough. At some point the acid will attack your gluten matrix and result in your dough becoming super sticky.

</comment></comment><comment><USER27> If like me, you don't really think that highly of Neopolitan pizza dough, this recipe may have more to offer you:

[http://www.varasanos.com/pizzarecipe.htm](http://www.varasanos.com/pizzarecipe.htm)

<comment><USER28> That is interesting.

I adore Neopolitan pizza and have always considered it better than anything else. However, judging by the ratio of "regular" pizza places vs Neopolitan pizzerias it would seem i'm in a minority.

I was never quite sure if the relative lacking number of Neopolitan pizzarias in the US is due to different taste preferences of the consumer, it simple hasn't caught on yet or it maybe more difficult/expensive and therefore prohibitive?

<comment><USER27> In my book the alternative to Neopolitan isn't 'regular' but a good sourdough base that has far more in common with a baguette than a piece of naan.

There's a fetishization of Neopolitan technique that, while natural, has diminishing returns in terms of variety and innovation. Small brewers don't all slavishly recreate age-old European beer recipes...

</comment></comment></comment><comment><USER29> Napolitano pizza is really hard to replicate in a home oven so why try? However, NY-ish pizza is possible. I use this recipe, which uses ordinary AP flour and calls for a rise of several hours or overnight so you can make it without a big production. It's in metric, which makes it much easier to produce a consistent dough.

[https://cooking.nytimes.com/recipes/1017931-pizza- dough](https://cooking.nytimes.com/recipes/1017931-pizza-dough)

Low-moisture, full-fat cheese is essential. Again, you could drain mozzarella di bufala, but that is one more step. Finally, sauce is what you can really play around with. I've gotten good results using just a tablespoon of tomato paste from a tube, or premade "pizza sauce" or cooked down marinara pasta sauce.

I make the pizza on a pan, stick it in there to start, then pull the pan as soon as I can shake the pie free. Depending on how it cooks I'll use the broiler as well. Turns out great.

</comment><comment><USER30> So.. if we have a computer-controlled mixing device and ingredient dispenser - could we setup CI/CD for this repo? :)

</comment><comment><USER31> Is there someone out there who is familiar with business listings and could tell me which city has the most pizzerias per capita? I lived in Hoboken, New Jersey for 8 years. There are so many pizzerias there and the city is home to about 50,000 people. I suspect Hoboken has the #1 slot but require confirmation.

<comment><USER32> Generally speaking, business listings per capita of a specific industry is dictated by zipcodes. One city can have multiple zipcodes though.

I made a few searches online and was surprised that new york / new jersey was not among top 10 zipcodes.

[https://welcomematservices.com/top-10-zip-codes-for-pizza- re...](https://welcomematservices.com/top-10-zip-codes-for-pizza-restaurants/)

If you really wanted all the listings I know the national-restaurant- association (NRA) has all of this data. You can also find the full data set on yelp as well. [https://www.yelp.com/dataset/documentation/main](https://www.yelp.com/dataset/documentation/main). the json data set indicates a category value you can use too. Zomato didn't have the data source, kaggle's datasets were limited, didn't find anything on data.gov worthwhile. You can also find number of people living per zipcode from public datasets on data.gov

Also, Hoboken, NJ is technically two zipcodes.

<comment><USER33>
      > Also, Hoboken, NJ is technically two zipcodes.

Source? I've lived here for years and only know one. USPS.gov seems to agree :)

Anyway, re: your first link, the data source sounds very questionable:

      > Scoring of the Top Ten U.S. 'Pizza Hoods' in 2016 was determined by internal data on number
      > of pizza restaurant redemptions through Welcomemat Services as well as the number and
      > strength of pizza restaurants and businesses in each zip code covered by the brand

Welcomemat seems to be a company that sends mailers to people upon moving to a new address. In the NYC metro area, those new-address mailers rarely include restaurants. Margins are already tight for restaurants here, and many restaurants can rely on foot traffic without any need for this type of advertising.

<comment><USER32> I too question the source of "pizza hoods". I found no other better sources online though compiling the information though. Going through yelp's dataset would probably yield the best results, since its not as biased.

The two zipcodes, google (itself) stated there were 2 zipcodes, 07030 and 07086 . That has a lot of merit to it to me at least

<comment><USER33> Ah, afraid Google is wrong. 07086 is strictly Weehawken NJ... check [https://tools.usps.com/zip-code- lookup.htm?citybyzipcode](https://tools.usps.com/zip-code- lookup.htm?citybyzipcode)

</comment></comment></comment></comment></comment><comment><USER34> In addition I can only recommend The Pizza Bible from Tony Gemignani. He even recommends letting it rise in the refrigerator for 36 to 48 hours and it's great (very cold around 3 degrees and probably don't add the amount of yeast Tony recommends). I'd say about 4g per 1000g flour when you also add poolish. He also recommends using warm water mixing the yeast in but ice cold water when mixing the water with the flour. And around 2% baking malt if your oven doesn't go beyond 350°. It gives a better browning effect in my opinion than olive oil and has some kind of sugar molecules in it.

I've had best results with a 8mm thick backing steel and the broiler method in a home oven, but some day I want a wood fired oven :-)

<comment><USER34> Oh and for the toppings I'd go for mozzarella di buffalo, some parmegiano and for instance Mutti tomatoes for the sauce. I'd also sometimes add Burrata after around two minutes in the oven :-)

<comment><AUTHOR> This and homemade mozzarella. There's nothing better than telling people all the ingredients are homemade.

I need a farm with water buffalos, and enough space to grow my own grain, haha!

<comment><USER34> Oh yes, and make the tomatoe sauce in the morning when you eat in the evening, adding extra virgin olive oil, pepper, salt, oregano, whatever you like, but I think the flavors are getting better with more time, just like the dough. That said some pizzaiolos from Napoli seem to make the dough at room temperature or 18° with around 8 to 12 hours rise, which is not that much. I've had great problems last summer, even with 2g fresh yest per 1000g flour it was crazy how fast it has risen... way too fast at around 24 degrees room temp... then in the basement at around 19, but still

For me the refrigerator works way better with a constant temperature :)

<comment><USER35> I worked for an Italian family pizzaria going through Uni and their tomato base they referred to as having the three-Ps: pepper, paprika and parsley.

<comment><USER2> That's the magic of pizza, inexhaustible combinations.

</comment></comment></comment></comment></comment></comment><comment><USER36> My flatmate makes it all the time.

But I have the feeling a good oven that can get really hot is just as important for good pizza as the dough.

I don't think there are many consumer grade ovens that get to pizza-oven temperature :(

<comment><AUTHOR> Try to use a pizza stone. That's already good. If possible, go for a pizza steel. However, in a traditional Neapolitan oven you also have a particular air circulation that is very hard to reproduce.

</comment></comment><comment><USER37> I can recommend Heston Blumentahl 'In search of the perfect Pizza'

[https://vimeo.com/34433092](https://vimeo.com/34433092)

</comment><comment><USER38> I've had great luck with this guy's recipe/method: [http://www.perfekte- pizza.de/](http://www.perfekte-pizza.de/) (in German)

I cut down on the salt a little, and add a bit of olive oil since I don't have a proper high-temp pizza oven, just an ordinary ~275C home gamer unit.

</comment><comment><USER39> [https://www.pizzamaking.com/forum/index.php](https://www.pizzamaking.com/forum/index.php)

Forum with far too much information on Pizza dough and preparation + Experimentation on how to imitate famous Pizza e.g. reverse engineering Papa Johns

</comment><comment><AUTHOR> Make sure you add all the toppings on top of the cheese. You want to achieve a good crispy salami. That happens because of the Maillard reaction if there is enough heat available in the oven. Plus it looks more beautiful in my opinion if the toppings are visually viewable.

<comment><USER40> Who puts their toppings _under_ the cheese!?

Heathens! _shudders_

</comment></comment><comment> rv-de This is _the_ source:

[http://www.pizzanapoletana.org/public/pdf/disciplinare%20200...](http://www.pizzanapoletana.org/public/pdf/disciplinare%202008%20UK.pdf)

Most popular mistakes are:

\- too much yeast \- no salt \- cheap ingredients

</comment><comment><AUTHOR> Another pro tip is to make your own homemade mozzarella. It really ups the game (takes 1 hour).

Regardless for the Mozzarella, stretch it into really small pieces and wrap it in kitchen paper for at least an hour. That way you don't create a watery mess on the pizza.

<comment><USER41> How about ditching the mozarella and branching out into different cheeses. A "swiss melt" pizza with Emmenthaller sounds nice.

<comment><USER39> Don't know about ditching altogether, but I had a pizza with a lot of Gorgonzola in Italy (Among other cheese): 'twas very good

The whole joy of making Pizza at home, is that it's pretty easy so you can really just yeet any old ingredients available on and just see what sticks (Or more realistically, smells right)

</comment></comment></comment><comment><USER42> Related and also very interesting: The Physics of baking good Pizza [1]

[1]: [https://arxiv.org/abs/1806.08790](https://arxiv.org/abs/1806.08790)

</comment><comment><USER34> Oh and try two pizza / baking steels ;-)

</comment><comment> augusto-moura Just forked it

Pun intended

<comment> rv-de people high on the autism spectrum don't get those jokes. in case you have been wondering why you were downvoted. +1 from me.

</comment></comment><comment> augusto-moura Just forked it

No pun intended

</comment><comment><USER43> Timely! I've just been working on pizza! Compared to restaurants and especially to carryout or delivery or frozen I have some good results.

Due to the yeast and eating the pizza just after cooking, the star of the show is the dough. Making the dough is fast, fun, easy, and shockingly, astoundingly essentially just dirt cheap! With the dough and sauce ready, making a pizza is faster than delivery, carryout, or even frozen.

So, I've wanted a pizza for one, one pizza for a whole lunch or dinner. I end up with a pizza about 6 1/2" in diameter with sauce, Mozzarella cheese, and pepperoni. It's darned good. It's a filling meal, about 600 C (food calories).

Shock #1: The cost of the flour is, in the US, shopping at Sam's Club not counting the cost of the club membership, via 25 pound bags, sit down for this, 9 US cents per pizza. Shopping at usual US grocery stores, the cost is about double that, 18 cents per pizza.

Shock #2: The 9 cents was so surprising that last night just out of curiosity I added up the cost of the ingredients for one pizza, just under 40 cents.

Shock #3: With the ingredients ready, can have a hot pizza ready to eat in 20 minutes with less than 15 minutes of being busy with the work and the other 5 minutes, say, reading Hacker News!

Shock #4: Don't need or want to use an oven! Still get the coveted crisp bottom crust from a high temperature oven with a pizza stone, but are done with the pizza even before an oven could get hot!

Yesterday I typed in some extensive notes as part of what software developers know well -- now that I'm making these pizzas, only myself and God understand how I'm going it, and without my notes in six months only God will still understand. So, I have the notes.

Here I will give a brief version.

The ingredients are:

For the dough, flour, water, yeast, and salt.

For the sauce, canned crushed tomatoes, tomato paste, some of the usual seasonings, and a little olive oil.

The cheese is just common shredded, part-skim Mozzarella.

The pepperoni is, well, just four slices of pepperoni widely available sliced.

The three most important tools are a common microwave oven, a restaurant style stamped steel saute pan with a bottom round and 7" in diameter and with a LONG handle, and a small burner on a common electric stove with power level set on medium.

Briefly here's what to do:

First make a batch of dough and divide it into 8 pieces, one piece per pizza. And make a batch of tomato sauce.

For the dough, use 1 Kg of flour. Likely by a little should prefer "bread and pizza" flour, e.g., at Sam's Club. To a bowl of about 5 quarts, add 1 T (tablespoon) of active dry yeast (either the standard stuff or "quick-rising" intended for bread machines). Can get the yeast in little paper envelopes -- the contents of one envelope, about 8 grams, works fine. Or can buy yeast in jars of about 4 ounces -- for that just use a tablespoon. Then add 700 ml of water at 110 F. Mix. Add 1 1/2 T table salt. Mix. Quickly before the salt kills the yeast, add the flour in roughly (can be VERY rough) 1/3rds. After each 1/3rd, mix with a kitchen cooking spoon. Will end with a lot of moist, sticky dough with little pieces not yet stuck to the main mass. No need to use fingers.

The proportion of flour to water, e.g., the 700 ml of water for the 1 Kg of dough for the flour I have, is critical. Should measure carefully. Since the water content of your flour may vary from mine, or may vary from one source of flour to another or just with the humidity where you store your flour, you may have to adjust the proportions a little. The flour I'm using may have relatively high water content; if so, you may have to use a little more water.

Put about 1/4 C (cup) of flour on a pastry board, spread the flour roughly to a rough circle roughly 1' in diameter. Scrape and or roll the dough out of the bowl and on top of the flour. Sprinkle about 1/4 C flour on the top and sides of the dough.

Now _knead_ the dough for 8 minutes; the kneading completes the mixing of the flour, water, yeast and salt; 8 minutes can make a nice pizza; more than 8 can result in a pizza a little tough to chew.

To _knead_ ,(A) Using hands and fingers, press the dough to roughly (can be very rough here) twice its area on the board. (B) Pick up the far edge of the dough and pull it to you to fold the dough in half. (C) Now the dough is likely wider than long; if so, then rotate it 90 degrees. Repeat (A)-(C) for 8 minutes.

The first few steps of all of (A)-(C) will get the dough into one relatively smooth mass. About this time fingers and hands may be coated with dough; in this case rub hands and fingers to let the dough fall to the main mass. From now on will have little or no problem with a lot of the dough sticking to hands or fingers.

BIG, HUGE, point: When you start, think of the outside surface of the dough. Well that is ALL you EVER touch!!! The _inside_ of the dough is sticky, but you NEVER touch it! See, as you fold the dough, you are making the outside surface that was next to the board ALL the surface. As you keep doing (A)-(C) for 8 minutes, the outside surface from the board will get stretched enough to start to become sticky. Okay, then add a few T of flour but ONLY to the board and UNDER the dough, NOT to the top of the dough!

After 8 minutes, the dough will feel _elastic_ and start to spring back. The usual test is to press the dough with a finger and get some _spring back_. You are DONE. Put the dough back in the bowl (don't have to bother to clean the bowl), cover the bowl to keep kitchen air away from the dough (the kitchen air could dry the surface of the dough too much), and let the dough _rise_ , that is, let the yeast grow and generate CO2. The dough will rise well at any temperature from a refrigerator to 100 F or so. But at 115 F, the yeast will start to die. Let the dough rise until roughly (can be very rough) double in volume.

Now divide the dough into the 8 pieces. Flour the pastry board again, use fingers to separate the dough from the surface of the bowl, and roll the dough onto the flour. Dust the surface of the dough with 1-4 T of flour. Form the dough to a long log, say, the length of the diagonal of the board. Cut the log in half; cut each piece in half; cut each piece in half. Now have 8 pieces, hopefully all about equal in weight. For the cut surfaces, touch them to the board to lightly flour them. Put each piece in its own covered bowl, e.g., the 24 ounce, covered, plastic bowls from ZipLoc (mine are years old -- maybe they are still for sale). Apply, snap on, the covers, let the dough rise, say, each piece to half fill its bowl, and refrigerate until ready for a pizza. Note: Pressure from the CO2 can pop off the lids; so occasionally snap the lids back on, again, to keep kitchen air from the dough.

For the tomato sauce, in a 3 quart pot, add 3 T of olive oil and lightly cook however much garlic you like. Add two cans of crushed tomatoes, 28 ounces net weight per can. Add 12 ounces of tomato paste. Add whatever seasonings might like, salt, pepper, oregano, basil, parsley. Mix. Heat slowly with occasional stirring to sterilize the mixture, say, to 180 F, cover, let cool, and refrigerate.

For a pizza, take a microwave proof plate about 7" in diameter, with fingers gently separate the dough from its bowl, place the dough in the center of the plate, and spread the dough to a disk about 7" in diameter (larger if you prefer a thinner pizza and have a larger plate) with a rim. Microwave on high for 1 minute; for even heating, rotate 180 degrees and microwave on high for 1 more minute. The dough will puff a LOT. Using a fork, gently separate the dough from the plate and place the dough in the saute pan with the flat side of the dough, the side that was next to the plate, down. Maybe press down some on some of the larger puffy parts of the dough.

Add and spread about 2-4 T of the tomato sauce. Add and spread about 1 ounce of the shredded Mozzarella, in volume of the loose shredded cheese maybe a little less than half a cup. Put on four slices of pepperoni. Put a lid on the pan; put the pan on the burner; wait about 13 minutes.

So the steel pan yields the desired crust on the bottom. The lid creates a small oven that cooks the rest of the dough and heats the sauce and pepperoni and melts the cheese.

Want the bottom of the pizza to be crisp but not burned. Want the rim of the pizza puffed and cooked enough not to be raw but also not too tough to chew; want the sauce hot and the cheese melted. I get these results, but with your equipment, not exactly the same as mine, you will likely need some trials (I did a lot of trials with my equipment).

Use a spatula to move the pizza to a cutting board and cut it into 4 slices, each with a piece of pepperoni. Slide to a luncheon plate, call your significant other to share this, and start a second one!

For the plate I use in the microwave, that is from a very old collection of from some frozen dinners. The plates are essentially paper with some plastic. They are about the right size and are microwave proof, and the dough, once heated in the microwave, does not stick strongly. A glass pie plate might be a good alternative.

The pizza, once cooked, won't stick strongly to a well _seasoned_ saute pan.

Making the batch of dough takes only about 20 minutes and is fun.

Most of the time for making the sauce is just opening the 3-4 cans.

Each pizza is ready in a little less than 20 minutes. Eaten just after cooking it's GOOD.

From my notes from yesterday, here are the costs for the main ingredients and the total cost (US cents) per pizza:

             9.524 Flour
             1.100 Yeast
             0.684 Olive Oil
             5.320 Crushed Tomatoes
             2.213 Tomato Paste
            11.900 Mozzarella Cheese
             8.462 Pepperoni
           </comment><comment>-
            39.203

cents per pizza.

It's fast, easy, fun, cheap, and good!

<comment><USER44> It turns out to be remarkably easy to make a good pizza, as long as you let the water soak into the flour for at least 40 minutes before you start to work it. If you don't, nothing else you do can save it.

In a pinch (in Waipio Valley, Hawaii) I made 30 little pizzas of Pillsbury flour (scooping runny dough, almost batter, from a bowl), cheddar cheese, and Wesson oil on parchment on a stone perched atop a big, inverted soup pot under a broiler. It came out great! I wouldn't do it that way again, but most details matter less than you would expect.

<comment><USER43> > It turns out to be remarkably easy to make a good pizza, as long as you let > the water soak into the flour for at least 40 minutes before you start to > work it. If you don't, nothing else you do can save it.

As in my post just above, I have good news for you and everyone else: By actual experience, for about a dozen recent trials, done need to let the water "soak" into the flour at all. Instead, just as I documented, just add the flour to the water in 1/3rds, mix after each 1/3rd, and then proceed with the kneading, rising, dividing into 8ths, let rise again, and get on with making pizzas. The dough in the pizzas is terrific, puffy, fragrant, etc.</comment></comment></comment>


Ask HN: Resources for Interview Preparation? - <AUTHOR> I have about 12 years experience as a Database Developer/Administrator based in the Bay Area. Looking for a new gig and wanted to know what are the best resources for interview preparation? Focussed on Senior roles ( Architect/ Principal Engineer/Manager ). <comment><USER2> Here's two similar recent "Ask HN" posts:

"Ask HN: How can I prepare for a coding interview in a week?" (2 months ago, 170 points, 102 comments):

[https://news.ycombinator.com/item?id=17755688](https://news.ycombinator.com/item?id=17755688)

"Ask HN: How do I prepare for an interview for AMZ/GOOG/APL/FB?" (9 months ago, 113 points, 67 comments):

[https://news.ycombinator.com/item?id=16126132](https://news.ycombinator.com/item?id=16126132)

<comment><AUTHOR> Thanks, those are great resources.

</comment></comment><comment><AUTHOR> I am going to answer this question myself

Quora

[https://www.quora.com/How-do-I-prepare-for-Data-Engineer- job...](https://www.quora.com/How-do-I-prepare-for-Data-Engineer-jobs-at- Amazon-Google-Facebook-Quora) [https://www.quora.com/What-are-the-most- popular-Data-enginee...](https://www.quora.com/What-are-the-most-popular-Data- engineer-interview-questions)

Github

[https://github.com/sharadov/awesome-interview- questions](https://github.com/sharadov/awesome-interview-questions)

[https://github.com/sharadov/interview](https://github.com/sharadov/interview)

Leetcode is great, makes sense to subscribe

[https://leetcode.com/articles/?category=database&search=](https://leetcode.com/articles/?category=database&search=)

</comment><comment><USER3> considering prepending the title with "Ask HN:"

<comment><USER4> We've added it.</comment></comment>


.Net for Apache Spark Preview - <AUTHOR> https://devblogs.microsoft.com/dotnet/introducing-net-for-apache-spark/ <comment><USER2> I've seen announcement about .Net interior support in Apache Spark some time ago. The benchmarks are interesting and tell the story - in few cases it is faster than Python, but slower than native (for Spark) Scala/JVM. Maybe with Arrow interchange Python's performance would increase (and for other interpose that would use Array - i.e. for .Net).

But performance is not the only thing - there is also ability to debug issues. For this you still need to dig into Apache core which is in Scala.

This implementation in .Net would be "gateway drug" for moving your production to Scala/JVM.

It happened to me with PySpark - majority or tasks at hand can be solved with PySpark. But digging into the issues and stack traces brought me to Scala internals of Apache Spark. As a result in cases when python specific libraries are not needed and high performance needed I would write Spark programs Scala from the beginning.

<comment><USER3> On a somewhat related note, for my purposes the real deciding factor in sticking with Scala/JVM for (production) Spark work is testability: With that setup, it's dead easy to fire up a local Spark context, run unit tests against it, and keep the tests running reasonably fast.

<comment><USER4> These are all good points. Debugability and general support for the development lifecycle are important. We are definitively working on providing first class development experiences for .NET developers. .NET for Apache Spark is already available as a nuget package for local install. We are currently working on adding support to VS Code, Visualstudio etc. Feel free to provide us your preferred dev platform. [Disclaimer: I am Program Manager for the .NET for Apache Spark effort]

<comment><USER3> Thanks for the response!

FWIW, I was speaking specifically to being able to run Spark, and manage its lifecycle, all inside the same process as the unit test code. Which is something that I'll openly concede isn't much more than a fun party trick for most people's purposes, but it does happen to serve me well.

In a past life, I was involved in data engineering at a .NET shop, and being able to migrate parts of our process to something like Spark without having to rewrite or otherwise severely damage it would have made me very happy. Even better if I could stay inside Visual Studio, and bang on it from an F# interactive session.

Wild speculation, but if you can produce type providers that know how to tame `DataSet[Row]`, you might have some nonzero number of F# hipsters like me kissing your feet.

(Or not. Like I said, my perspective on Spark is unusual.)

<comment><USER4> Thanks... More idiomatic F# support is on the roadmap

</comment></comment></comment></comment></comment><comment><USER5> Python is a second class citizen in the world of Spark. Perf issues for UDFs. Some functions are only available through Scala. Python support for new features is always late. And so on. It is good to have .NET support but I will stick with Scala for the same reasons I switched from Python to Scala.

<comment><USER6> That is the exact reason that I learned to stay with platform languages for production code, even if there are more interesting ones trying to plug into it.

FFI, extra debugging layers and lesser tooling integration don't pay off a couple of language feature bullet points.

</comment></comment><comment><USER7> What's probably more interesting is how similar .net, scala, and python are in query performance. Not sure if that can be attributed to great python performance, or really bad scala/.net performance.

<comment><USER8> [https://devblogs.microsoft.com/dotnet/introducing-net-for- ap...](https://devblogs.microsoft.com/dotnet/introducing-net-for-apache- spark/#performance)

<comment><USER9> Python 2.7? Also, the new Apache Arrow integration changes the python performance characteristics a lot; I wonder if they are using arrow for their JVM <-> CLR interop, if not that probably would be a good idea.

<comment><USER10> It would be interesting to hear about it from MS. Do you know of other settings / configurations / features that could greatly influence the result of such comparison?

<comment><USER4> Since we started replying to these points on the Github thread at [https://github.com/dotnet/spark/issues/45](https://github.com/dotnet/spark/issues/45), I am suggesting to continue the discussion there. As mentioned there, we want to be transparent with the benchmark code and systems we use. We are currently working on arrow support to compare fairly.

</comment></comment></comment></comment></comment><comment><USER11> How is this different than Mobius [1]?

[1] [https://github.com/Microsoft/Mobius](https://github.com/Microsoft/Mobius)

<comment><USER12> Here's my understanding:

\- Mobius is .NET Framework / Mono based and x-plat isn't great, .NET for Apache Spark is .NET Core / .NET Standard and built with x-plat as a primary concern

\- Mobius only targets up to Spark 2.0; while Spark LTS is up to 2.4 now

\- .NET for Apache Spark is built to take advantage of .NET Core performance improvements, showing big advantages over Python and R bindings, especially when user defined functions are a major factor

\- .NET for Apache Spark is driven by lessons learned and customer demand, including major big data users inside and outside Microsoft

Disclaimer: I know people that worked on this and helped from .NET Foundation side, but the above is my non-official summary from readme's and stuff.</comment></comment>


Snowden needs "world's protection", says Venezuelan President - <AUTHOR> http://www.reuters.com/article/2013/07/02/us-usa-security-snowden-idUSBRE96107520130702 <comment><USER2> I wonder why in the Venezuelan government's eyes it's OK for them to constantly monitor and record every call, email,etc made by their political opponents.

I wonder what would happen to an officer of the SEBIN (venezuelan inteligence agency)if they came out with details about how they record every political opponent movement. I wouldn't be surprised if they ended up being just another statistic in the homicide rates.

They even had a late night TV show (La Hojilla) where a guy would play back cell phone recordings and emails of the opposition politicians.Live. On TV. He had carte blanche to insult,record anyone he wanted live on TV. Chavez would often call in to the show to congratulate him.

They even had a Congress session where they played recordings of the cell phone calls of the most prominent opposition members and their family. And that was live on TV again!

Hipocrysy at it's best.

</comment><comment><USER3> IMHO, there should be an independent UN protection.

If not, then how can any individual whistle blow against a country with the power and reach of the US? We have the aggrieved party, a whole state, hunting down an individual for exposing its wrong doing. Its a little bit one sided.

Although the problem with the UN is that its loaded with US allies and money.

But there should be some safe harbour, with fair process, for people who speak out, where ever they come from and from who ever they are exposing.

<comment><USER4> It's a cute and noble idea but pretty sure that more than just the US would be against it. Because wait for it. Most countries spy. And most countries don't appreciate rogue contractors jet-setting around the world revealing secrets about the nature of the spying.

<comment><USER5> Jet-setting?

"In journalism, jet set was a term for an international social group of wealthy people, organizing and participating all around the world in social activities unreachable to ordinary people. The term, which replaced "café society", came from the lifestyle of traveling from one stylish or exotic place to another via jet plane."

I'm pretty sure that tern doesn't apply to Snowden, a man who said he's fleeing because he's afraid of spending the rest of his life in some "torture dungeon" off the grid.

</comment></comment></comment><comment><USER6> Yeah, but preferably from a democracy.

<comment><USER7> yes, like Venezuela. [http://www.freedomhouse.org/country/venezuela](http://www.freedomhouse.org/country/venezuela)

<comment><USER8> Just because they have elections does not mean it's a democratic country.

I remember seeing anti-government graffiti late at night one night, and the following afternoon it had been replaced with a portrait of Chavez. The people who I talked to who were members of the opposition party were uncomfortable talking about voting against Chavez. Admittedly this was way back in 2006, but it still points to Venezuela not being the most free country.

<comment><USER9> I also was in Caracas in 2006. I remember seeing graffiti "Vota Por Chavez" and the next day "Vota Por Chavez Jodete", the last part added overnight. It all depends on where you were (this was near parque del este, a more middle- class pro-opposition area).

I went in expecting a dictatorship and left feeling that it was a democracy. Or at least much more than a hopeless dictatorship as all the articles I read made it sound. There did exist fear about expressing anti-Chavez sentiment in and around the barrios[1], but this was mainly due to fear of the people in these areas being dangerous and potentially lashing out. And in fact, many people were just scared of the barrios period.

[1] Poorer, temporary-turned permament housing throughout the city, if anyone isn't familiar.

<comment><USER10> Most dictatorships have a semblance of normalcy. They need to have some kind of economy. Typically, people are not cowering in their huts fearing being bulldozed over at any moment. People can even prosper under dictatorships, like say, in Chile, back in the 70s. There might even be cases where most people 'have it good'. But it also means that a group or person makes all the big calls and has power over the judiciary and can intimidate or coerce the legislature.

It also means there are informant systems which keep an eye out for 'troublemakers' (opposition ideas) and people don't open up completely about their dissatisfaction.

Christopher Anderson[1],[2] is left of center and he felt disappointed to put it mildly, at what he saw in VZ.

[1][http://inmotion.magnumphotos.com/essay/capitolio](http://inmotion.magnumphotos.com/essay/capitolio)

[2][http://5b4.blogspot.com/2009/08/capitolio-by-christopher- and...](http://5b4.blogspot.com/2009/08/capitolio-by-christopher- anderson.html)

</comment></comment></comment></comment></comment><comment><USER11> I would hate to see Snowden ending up in Venezuela. He would not only become another count to the homicide statistics in the country, but It will also give Maduro, an illegitimate president, something to boast about.

<comment><USER12> > I would hate to see Snowden ending up in Venezuela.

Let's be realistic: at this point, the only countries that would offer him asylum at the cost of defying the US are enemies of the US, such as Afghanistan, Iran or Cuba.

<comment><USER13> Especially considering it looks like he plans not to be quiet post-asylum. My read of the Russian case is that they suggested he might get asylum there if he basically drops off the radar and stops releasing things or being politically involved, and he refused that condition. To be willing to give him an _active_ base to work from going forward more or less requires a country that either doesn't care or actively wants to snub the US, and doesn't mind that he might keep doing things that will continue to antagonize the US for years into the future.

That's one reason I think the Bobby Fischer asylum was easier for Iceland: he was wanted by the U.S. for a one-time thing, violating sanctions by playing a for-profit chess match in Serbia. There was not much chance he would be an ongoing thorn in the side of US-Icelandic relations post-asylum, since he could hardly continue to violate US sanctions from Iceland. The main risk was just that he would say embarrassingly antisemitic conspiracy-theory stuff, which he got sort of a pass on because people expect chess prodigies to be nuts.

<comment><USER14> This really makes one wonder what more information he has. If he is unwilling to silent for asylum, then is the reason that he has something else major that he is determined to release?

</comment></comment></comment></comment><comment><USER15> Then offer him asylum.

<comment><USER16> TFA:

> "He deserves the world's protection. He has not asked us for it yet. When he > does we will give our answer," Maduro told Reuters during a visit to Moscow.

</comment></comment><comment><USER17> I wonder what they mean by "former request" for asylum. Isn't asylum _the_ case where "former request" is hard to get and should not be a priority while life seems at stake?

</comment><comment><USER18> Somehow I am not inclined to hear an advice on freedom and humanity from the president of Venezuela... I understand they have their chance to stick it to the US and using it to the fullest, but you have to watch who you align with.

</comment><comment><USER19> I used to think he was a pawn.

Now I think he has some sensitive information and he's auctioning it and he has raised his profile to avoid being removed.

<comment><USER12> > Now I think he has some sensitive information and he's auctioning it

That would make him a full-blown traitor.

<comment><USER20> _Treason against the United States, shall consist only in levying War against them, or in adhering to their Enemies, giving them Aid and Comfort._

Since the USA is not -- legally -- at war and none of the "terrists" the military is pursuing are able to offer asylum, it would not be treason.

It would surely be espionage, though. And that's bad enough.</comment></comment></comment>


Crowdsource fundraiser for Open Source, visual IDE for tablets - <AUTHOR> https://www.bountysource.com/fundraisers/468-app-make-inator/updates/81

<comment><AUTHOR> In the iterests of full disclosure: This is a project I started. So I am biased towards it. But I felt the crowd at HN would have some interest in this bad-boy. (Being able to have a full IDE that runs great on an Android tablet? Yes, please.)

Feel free to ask any questions you like and I'll do my best to answer them.</comment>


Show HN: Quictionary – A simple dictionary UI built with material UI and React - <AUTHOR> http://agniva.me/quictionary/ <comment><USER2> Good start. I think it would improve with some more layout & colour scheme work. Keep at it!

<comment><AUTHOR> thanks !</comment></comment>


Iocaine Powder: A Champion Roshambo AI Dissected - <AUTHOR> http://www.ofb.net/~egnor/iocaine.html <comment><USER2> Reading more closely into the related links and articles, the contest is a bit old...1999-2001. Iocaine Power finished 3rd later on, losing to its derivative, Greenberg. The year the article links to, you'll see that Josh from del.icio.us also entered his own bot in the contest, but didn't do nearly as well.

I wonder what the properties of the iterated roshambo is, and whether it applies to cooperation (or aggression in this case). I know that bittorrent uses Tit-for-tat for cooperation amongst its clients.</comment>


Microsoft Patent Checkmate - <AUTHOR> http://www.groklaw.net/article.php?story=20090908164954318

<comment><USER2> I'm not seeing the conspiracy, sorry. What evidence is there that MS selling patents to AST was part of an evil plan? AIUI, AST (Allied Security Trust) isn't known as a patent troll.

AST members include: Verizon, Cisco, Google, Telefon AB L.M., Ericsson, HP. Source:

[http://blog.tmcnet.com/blog/rich-tehrani/patent/allied- secur...](http://blog.tmcnet.com/blog/rich-tehrani/patent/allied-security- trust----let-the-patent-wars-begin.html)

If "not inviting" OIN was part of the conspiracy, surely a group that included Google shouldn't have been included either.

AST on their website even assert that they don't assert patents against infringers:

> Will AST assert these patents against infringers?

> No. The purpose of AST is to provide the freedom to sell products and cost > reduction. Member companies who wish to participate in a particular patent > purchase are granted a worldwide non-exclusive patent license.

Source: <http://www.alliedsecuritytrust.com/q-and-a.html>

This is a non-story.

<comment><USER3> I don't see the conspiracy either. They could have sold those patents privately, not with a bid.

What I think happened is that Microsoft wanted some quick money out of patents they aren't using anyway (we are in an economic crisis after all), and so they organized a bid failing to invite OIN ... and maybe they did that such that OIN doesn't get them (the patents being acquired by a patent troll being the ideal scenario).

But that's not an "evil conspiracy". And I'm getting pretty tired of Groklaw and FSF crying wolf every time MS farts.

As they say, your real enemies are the ones you hate. You want to change the status quo? Competition and collaboration are the best tools you have. Not FUD.

<comment><USER4> The word "evil" gets bandied around far too easily, but if I'm reading you right then you acknowledge that Microsoft may have planned to feed ammunition to patent trolls, you just dispute whether that is "evil" or just "good business".

I'd say it's a pretty shitty thing to do and, while you can't prove what the motive was, Microsoft has a history of doing equally shitty things to damage its competitors (and collaborators!).

</comment></comment></comment><comment><USER5> Without knowing how much MS sold them for, there's another possibility.

"We don't want to sue Linux, but we want to make them pay...Hmmm, what if we 'auction' these patents, knowing they're of most value to OIN etc so a related organisation will pay top dollar."

It's probably not as much money as a massive lawsuit, but it's much cleaner, and doesn't tarnish the reputation or line lawyer pockets.

</comment><comment><USER6> Well imagine if MS did hold an auction and invited parties interested in promoting Linux. What would the reaction have been like? I can imagine lots of "MS screws Linux via extortion 'auction' process" stories flying around on the internet on such a day. Or how about, "Proprietary software company stifles Free Software innovation using Patents".

Regardless of their intent, there is no way MS will ever get any positive reaction from the majority of the "open source community" (I use that term lightly - I think everyone who reads this will know which, very vocal parties I mean though).

It's hard to do business with people who are constantly demonizing you. Is it any surprise MS wont make much of an effort engaging with such parties?

Patents + Linux = PR disaster for MS no matter what. The best they could ever do is minimize the damage.

</comment><comment><USER7> So basically someone gave money to Microsoft for patents they could probably never have been able to enforce?

Wow, Microsoft really got screwed up again...

</comment><comment><USER8> The only way forward with software patents is to start ignoring them _en masse_.

By buying up these patents effectively the message is we respect the authority these patents pretend to convey.

I've had the video patent trolls after me for a while, they wanted a piece of the action on ww.com because of their broad ranging patent on 'video over the internet'.

I told them to put up and sue or go away (only in less nice terms). I never heard from them again.

It's nice that big companies like Oracle and IBM carry a torch for open source. But that's only because they realize that in the long run the days of closed source software are numbered.

There is no such thing as software patent infringement, there is such a thing as a software copyright violation.

Software is the ultimate vehicle to embody ideas in strings of numbers, your unique string is yours, the ideas embodied in that string are public domain the moment you publish.

If you do not want that then please, do not publish and keep your secrets to yourself. The world will be a better place because of it.

Any company that ever sued because of a software patent was a patent troll, no single software patent ever awarded should have been awarded in the first place.

And don't get me started about patents on genes.

</comment><comment><USER9> Red Hat's comments:

"The Open Invention Network (OIN) learned recently that Microsoft was planning to auction off some of its software patents, which we understand it marketed to trolls and some other non-practicing entities. It also used marketing materials that highlighted offensive uses of the patents against open source software, including a number of the most popular open source packages."

[http://press.redhat.com/2009/09/09/microsoft-and-patent- trol...](http://press.redhat.com/2009/09/09/microsoft-and-patent-trolls/)

</comment><comment><USER10> It seems these patents were mainly 3D graphics-related: [http://www.theregister.co.uk/2009/09/08/microsoft_sgi_patent...](http://www.theregister.co.uk/2009/09/08/microsoft_sgi_patents_oin/)

So these patents probably don't apply to the Linux kernel, but may apply to other open-source software.

</comment><comment><USER11> If it's true than it's pretty hilarious. Karma might just have bitten back. I wonder how much they went for?

Also why wouldn't Intellectual ventures have just inherited of them? Seems like they would be perfect people to do the evil deed.

</comment><comment><USER12> They got money for thin air. Microsoft is simply better at doing business than anyone else. Stop the silly envy.

</comment><comment><USER13> It is overdramatized but I have to point one thing out. MS can't sue linux. Period. Asside from bad PR there is one major problem: MS is already accused of monopolising the market. Thus suing linux providers will only hurt their cause. Instead it is better if other companies do it. Or maybe they do/don't care about it but they just want to rid themselves of these patents so they can claim "we are letting linux die because MS makes a superior product, not because we are trying to kill of linux with legal red-tape".

It may have been coencidence that linux got the stuff, it may be that AST made a profit buying and re-selling. In any case while MS might be evil we definately got another kind of evil sitting on the other fence keeping MS in check.

Nothing to see here, move along.</comment>


Technical Papers Every Programmer Should Read (At Least Twice) - <AUTHOR> http://blog.fogus.me/2011/09/08/10-technical-papers-every-programmer-should-read-at-least-twice/ <comment><USER2> I read a random sampling paper recently which took a simple problem and approached it in ways that were much more elegant than I did.

Its almost a toy problem but I found the paper really interesting:

[http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.138.7...](http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.138.784)

<comment><USER3> Fun fact: I was asked to find a solution to this problem during an interview at a proprietary trading firm last year.

I wish I had read this paper before.

<comment><USER4> The algorithm for the simplest variant of that problem (take a single random sample from a list of a priori unknown length) can be derived by simple inductive reasoning. If the list has size 1, the problem is trivially solved. Otherwise suppose we have a list (x:xs) and we recursively solve the problem for xs. If all the recursion returns is the random sample from xs, we clearly have insufficient information to take a random sample from (x:xs), so we need to strengthen the induction hypothesis by having the recursion also return the length of xs. Let (r', n') be the random sample and length for xs. Then the result for (x:xs) is (r, n) where n = n' + 1 and r = x with probability 1/n or else r'.

Another way to derive this algorithm is to notice that any solution must implicitly or explicitly compute the length of the list as a byproduct. If you start by writing down the recursive function for computing the length of a list, composed with the straightforward recursive function for taking a random sample from a list of known length, you can apply a standard fusion and deforesting transformation to combine them into a single pass, and you end up with the same algorithm as above.

Here's a fun problem to ponder. Find the most frequently occurring element of a list in O(n) time and O(1) space. You may assume that this element occupies more than half of the list's entries.

<comment><USER5> >Then the result for (x:xs) is (r, n) where n = n' + 1 and r = x with probability 1/n or else r'.

Do you mean r = x:r' instead of r = x?

<comment><USER4> No, r has the same type as x. The logic behind that probability split is simple: We have r' (the random sample taken from the tail list xs) and x, and we have to choose between them with some probability based on n. Clearly x should occur with a 1 in n chance.

When you approach it inductively the way I did, there really isn't any choice in the matter, which is why this algorithm design technique is so powerful. Udi Manber developed the technique in his paper Using Induction to Design Algorithms from 1988 and later used it throughout his great old book Introduction to Algorithms: A Creative Approach from the early 1990s. Here's the paper in case you're curious: [http://akira.ruc.dk/~keld/teaching/algoritmedesign_f05/Artik...](http://akira.ruc.dk/~keld/teaching/algoritmedesign_f05/Artikler/05/Manber88.pdf)

<comment><USER6> This way of thinking also makes it easy to derive the max-sum algorithm from Programming Pearls:

We have to compute max-sum for (x:xs), so first solve it for xs. If the max- sum is within xs, we are done; if not, it somehow involves x. To find out, the recursion has to also return the best sum of the beginning of the list.

A small case analysis can find out what the new max-sum is: x, x + max- begin(xs), or max-sum(xs)? And the new max-begin is either x or x + max-begin (xs).

The naive recursive implementation will require linear space though, so there is an extra step to find out how to eliminate the recursion.

<comment><USER4> Yes, Manber derives the linear-time algorithm for the maximal subsum problem exactly like that in his textbook. As you say, if x is involved in a maximal subsum, it must extend the tail's maximal prefix sum, so you return that in addition to the maximal subsum.

Regarding recursion vs iteration, Manber generally develops the right induction hypothesis gradually, using informal language ("remove the element and solve the smaller problem") in the process, and only turns that into a precise algorithm once the final induction hypothesis has been found, so he doesn't present the recursion elimination as a separate step. That works well pedagogically. His main idea is to guide the student's intuitions rather than formally derive a program that's correct by construction the way someone like Richard Bird might have done it. (Bird has an interesting derivation of the maximal subsum algorithm that begins with the brute-force algorithm written as a combinator-based functional program and gradually transforms it in a correctness-preserving way using program calculation techniques until arriving at the fast linear-time program.)

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Archived the papers mentioned by fogus and converted the .ps files to .pdf. For those who want quick access to them, download here:

<http://c.wunki.org/A2s0>

<comment><USER8> Thanks for the effort you took to make these papers more accessible. I've downloaded them to my computer.

</comment></comment><comment><USER9> Seeing Leslie Lamport's first paper (about braids, for a high school math journal) makes me want to put together a list of computer scientists' first papers. Now I've got two favorites:

Leslie Lamport, "Braid Theory": [http://research.microsoft.com/en- us/um/people/lamport/pubs/b...](http://research.microsoft.com/en- us/um/people/lamport/pubs/bxscience.pdf)

Don Knuth, "The Potrzebie System of Weights and Measures", Mad Magazine: <http://upload.wikimedia.org/wikipedia/en/5/52/Potrzeb.jpg>

</comment><comment><USER10> A Fast File System for UNIX: <http://www.cs.berkeley.edu/~brewer/cs262/FFS.pdf> Modern filesystems are based on this design. They add significant features - like journaling - but by reading this paper, you will form a basis for how modern file systems work.

The Google Filesystem: <http://labs.google.com/papers/gfs.html> Great example of what you can design when you decide certain things - like storing small files - are not important.

MapReduce: Simplified Data Processing on Large Clusters: <http://research.google.com/archive/mapreduce.html> Great example of taking an existing idea and using it to achieve high performance.

The Implementation of the Cilk 5 Multithreaded Language: <http://supertech.csail.mit.edu/papers/cilk5.pdf> Apple's Grand Central Dispatch uses a lot of ideas from this paper.

</comment><comment><USER11> Nice collection of papers. Thanks for sharing!

Here is a set of papers about distributed systems, which I read in a course and found very useful to get good understanding of distributed systems research so far: <http://www.cs.utexas.edu/~dahlin/Classes/GradOS/index.html>

</comment><comment><USER12> What would be useful is a site that collects links to CS papers, then for each paper lets users (who presumably actually read that paper) comment on it, and/or rate it. Or does such a beast already exist?

<comment><USER13> Mendeley [1] does some of what you're talking about. Primarily it's a way to organize your own collection of papers and access them from native or web apps on various devices. It also has some social features, like connecting users with similar interests and sharing tags on papers.

Its "Computer and Information Science" category [2] lists the papers with the most "readers" which I think in this case means "Mendeley users who have added this paper to their collection". Its most read paper in that category is the MapReduce paper [3]. Oddly, as I look at it now, I don't see a feature for rating or commenting on the paper, which could be a useful addition.

Of course, the authoritative method of rating papers is citations of other papers, right? That's what led to PageRank after all, and most of the main sites for finding papers have used citation counts for a long time.

[1] <http://www.mendeley.com>

[2] <http://www.mendeley.com/computer-and-information-science/>

[3] [http://www.mendeley.com/research/mapreducemerge- simplified-r...](http://www.mendeley.com/research/mapreducemerge-simplified- relational-data-processing-on-large-clusters/)

<comment><USER13> oops. Correction: The MapReduce paper doesn't have the most readers in Mendeley. I just saw it at the top of the "Popular" list on the computer and information science page. So they must have some other way they're sorting that list.

</comment></comment></comment><comment><USER14> Other great papers:

Flapjax: A Programming Language for Ajax Applications:

[http://www.cs.brown.edu/~sk/Publications/Papers/Published/mg...](http://www.cs.brown.edu/~sk/Publications/Papers/Published/mgbcgbk- flapjax/)

Embedded probabalistic programming:

<http://okmij.org/ftp/kakuritu/dsl-paper.pdf>

Memoization of Top-down Parsing:

<http://arxiv.org/PS_cache/cmp-lg/pdf/9504/9504016v1.pdf>

</comment><comment><USER15> Why? Most of the contents of these papers have made their way into books and programming languages. There's nothing wrong with getting it from a secondary source.

<comment><USER10> I find that reading primary sources reminds me that _I_ can be a primary source. It reminds me that these ideas that I rely on were thought up by people, not handed down from Mt. Olympus.

The historian in me is also just fascinated to see the source of an idea that has made a large impact.

</comment></comment><comment><USER16> "All papers are freely available online"

Why not have links to each one?

<comment><USER17> Sorry. My Markdown syntax was bad. There are now links to the articles marked by ↗.

<comment><USER18> Can't find the link for "Organizing Programs Without Classes". The Oracle site says "click here to download", but there is nothing to click?

<comment><USER19> I see a postscript version here: [http://www.cs.ucsb.edu/~urs/oocsb/self/papers/organizing- pro...](http://www.cs.ucsb.edu/~urs/oocsb/self/papers/organizing- programs.html)

<comment><USER18> Thanks!

</comment></comment></comment></comment></comment><comment><USER20> Copies of most of the Self papers in PDF can be downloaded from the official Self language website: <http://selflanguage.org/documentation/published/index.html>

</comment><comment><USER21> I'm going to be that guy:

"as a compliment to this paper" --> complement

"no higher complement." --> compliment

Thanks for a cool post.

<comment><USER22> Such comments are more appropriately posted at the blog itself.

<comment><USER23> A blog is as good as a research paper, to a blind bat.

</comment></comment></comment><comment><USER8> I'd like to see Joel Spolsky's epic article on unicode added to the list: <http://www.joelonsoftware.com/articles/Unicode.html>

"if [...] you don't know the basics of characters, character sets, encodings, and Unicode, and I _catch_ you, I'm going to punish you by making you peel onions for 6 months in a submarine. I swear I will."

<comment><USER2> Thats an interesting article you linked to but the original article is about peer reviewed academic papers.

Meta comment: I find that downvoting people are aren't being rude and abusive is bad manners.

</comment></comment><comment><USER24> I don't mean to speak badly of this bibliography. Of the papers in the list I've read, they're all great. And I'll add the others to my list and make sure I get to them.

But I think the premise of the blog post is a little flawed. Reading papers is a poor way to make yourself a better programmer. Read them in spare moments, sure, but spend your time reading _code_ , not paper. At best, these things will help you avoid some design mistakes in the code you write for yourself in your own sandboxes.

In the real world, you're dealing with code written by people who haven't read these papers. And this is where you're going to spend all your time: maintaining and fixing and enhancing stuff that missed all the advice in the papers. This is especially true of "day job" programmers, but it's true at startups too, even at seed-stage oens.

Admonitions to do stuff like re-read "Out of the Tar Pit" every six months is just bad advice to my mind. It's a good way to convince yourself you're smarter than everyone else. It's a bad way to get better at debugging.

<comment><USER25> I would heartily disagree. As an example, reading about Vector Clocks by Lamport had an immediate effect on how I thought about a real-world problem, and it has stayed with me since.

My first reading of "GOTOs considered harmful" led to the phase of my career where I was all about structured programming. (For s perspective, much HLL programming then was in fortran with the three-branch IF-statement.)

 _Admonitions to do stuff like re-read "Out of the Tar Pit" every six months is just bad advice to my mind. It's a good way to convince yourself you're smarter than everyone else. It's a bad way to get better at debugging._ The very best way to get better at debugging is to not put bugs there in the first place. The Tar Pit paper is one step in that direction. And it is important to keep at that because our habits keep trying to put state in.

So while it sounds like you are saying "get your inspiration from reading bad code", I suspect that you don't really mean that.

<comment><USER26> "The very best way to get better at debugging is to not put bugs there in the first place"

Actually, I've come to the opposite conclusion recently.

During college, as well as for all of my personal projects, and during the early part of my career, I had the fortune of mostly working on projects for which I was the sole coder from start to finish.

As you say, when you're the only variable in the equation, you eliminate the need for strong debugging skills by following a set of best practices which tends to prevent creation of bugs in the first place.

And then I inherited my first seriously brain-damaged codebase. 16,000 lines of "what not to do". All of my favorite practices listed in the c2 wiki were completely ignored. Massive copy-paste coding. State BOOL's distributed throughout the app making it extremely fragile and tightly coupled. Thread safety? What's that? Hell, they couldn't even avoid giving methods and variables ambiguous names, even in the simplest of cases ("buttonClick". wtf? is that a command (e.g. clickButton) or an event (e.g. buttonClicked)?)

I was wholly unprepared for debugging this monstrosity. My first instinct was to rewrite the whole thing. In fact, a co-worker of mine had attempted exactly that before I was assigned to this beast, but introduced his own set of show- stopping bugs before being pulled off onto another project, ultimately wasting two weeks of work (his branch was abandoned) and souring the waters for any such attempt on my part.

For several months I forced myself to avoid the urge to rewrite, and just slogged through it until I finally started to understand what was going on.

I have to say, forcing myself to continue to chew on something sour when every instinct told me to spit it out really improved my ability to follow what was happening in a foreign codebase. Now, even when bughunting relatively sane codebases, I feel I'm more quickly able to zero in on the problem.

<comment><USER25> I agree with what you are saying in the context of taking on another's program. In similar situations, I have also attempted to rewrite the body of code. Once it was a necessity, as the code was perhaps 50% wishful thinking and never worked. I have tried in other cases, unwisely, and failed.

But when you are confronted with a pile of bad but working software, I have done what what you are saying here--dive in and understand what is happening.

</comment></comment></comment></comment><comment><USER27> Is this title still referring to the object mentor essays that were posted a couple weeks ago?

<comment><USER28> The post is a response to the original object mentor list of 10 papers; this post claims to be oriented more toward technical depth and less toward philosophy and design.

</comment></comment><comment><USER29> Thanks for the post.

</comment><comment><USER30> Any other entrepreneurs integrating this into their standard employee training manual?</comment>


Why much more articles about Haskell than popular ones like Java on HN? - <AUTHOR> <comment><USER2> Haskell is much more interesting as a language than Java. And Haskell has its supporters within the HN community who are willing to inform those unfamiliar with the language.

</comment><comment><USER3> Java is a supremely boring language, and was when it started. It is a pure industry project, it will eventually go the way of COBOL; although interfacing with it from other languages will become more common.

The most interesting part of java, was the JVM, which has been subject to plenty of attention.

</comment><comment><USER4> I think it's a few different reasons:

\- There is a lot about Java elsewhere

\- Java isn't so interesting and is probably used at a lot of HNers for work.

\- Java doesn't represent the future of programming to many, though it's advances in tandem with keeping backwards compatibility are respectable.</comment>


Kiwi - A little javascript framework I wrote that saved me a lot of time - <AUTHOR> http://github.com/rpbertp13/kiwi I wrote Kiwi for a project I just launched. I think it is quite a solid base for something better, so I'm putting it out there for any potential collaborators. Needs some work, feel free to fork or critique :) <comment><USER2> This reminds me of Jester

<http://wiki.github.com/thoughtbot/jester/usage>

<comment><USER3> Yes, this is like Jester, but jQuery style. Very nice work!

<comment><AUTHOR> Very similar to it indeed! That's what I like about REST... standards organize interfacing tools in similar ways. I'll take a better look at jester :)

</comment></comment></comment><comment><USER4> Respect! Such a cool little script!

</comment><comment><USER5> Initial thoughts: This filled a void for me. I have been looking for something like this for a while now. I have had problems with organizing my Javascript code.

I will definitely try this out when I get home tonight. For now, off to the beach!

Thanks!

</comment><comment><USER6> this could really use a more cohesive documentation, say a simple example. I don't understand how to hook it up, my callbacks don't get called

</comment><comment><AUTHOR> Thanks to everyone for the comments!

</comment><comment><USER7> Nice framework. Good job!

</comment><comment><USER8> wtf is with this obsession with javascript frameworks ?

<comment><USER9> It's not a bad question, really. One reason is that JavaScript is the only popular language with no standard library.

<comment><USER10> not a bad question, though poorly (immaturely) articulated.

in addition to mbrubeck's comment, i'd say that javascript has grown from merely providing neat actions to webpages, to being model, view and controller.

at my startup we (er, the other developer) ported/mimic'd django's mvc to javascript. we're building a firefox extension, so this is particular critical as the extension must provide the full mvc for the "website."

edit: as a ff extension, our models are backed by sqlite files. in jester and kiwi are models objects? that is, are these frameworks purely for client-side applications, or for javascript-server stuff?

<comment><AUTHOR> In Kiwi models are simply representations of server side resources.</comment></comment></comment></comment>


Huawei P30 Pro camera review - <AUTHOR> https://www.dxomark.com/huawei-p30-pro-camera-review/ <comment><USER2> _> If you still needed a reason to spend money on a compact camera, it would have been for zoom reach, as even the best smartphone cameras could not provide usable zoom image quality beyond a 5x factor. This has now changed with the Huawei P30 Pro and its innovative zoom system that uses folded optics and a super-resolution algorithm, which finally makes usable 10x zoom on smartphones a reality. The zoom on its own will make the new Huawei an extremely tempting option for many mobile photographers, but the camera performs very well in almost all other areas as well._

To enable up to 10x _usable_ (!) zoom, this phone has _three_ lenses, the longest of which is positioned vertically along the body of the phone, with a mirror reflecting light to a sensor that is positioned perpendicular to the screen, at the bottom of the phone:

        ___
       /   \
      |   / |
      |  /<----- light
      | /|  |
      |  |  |
      |  |  |
      |  |  |
      |  |  |  ^
      |  |  |  |
      |  |  | lens focal length
      |  |  |  |
      |  |  |  v
      |  |  |
      |  |  |
      |  |  |
      |  v  |
      |=====| sensor
       \___/

The advantages of this phone's camera are rooted in physics, not software.

\--

EDITS: (1) adjusted the diagram to make it a bit nicer-looking; (2) replaced the word "optical" with "usable" in the second paragraph (in my mind, the two words have been interchangeable for describing zoom lenses, until very recently).

<comment><USER3> The Tele-Lens in the device actually has 3x zoom only. 10x Zoom is achieved by using software algorithms combining data from a cropped main-camera image and the zoom camera. Such periscope camera-modules are quite popular among chinese device-vendors these days, you can find the same on a few devices from there this year (i.e. Oppo Reno, Vivo).

<comment><USER2> Mr. Deckard, you're right. I edited my comment.

For what it's worth, I hope that one day we will have super-resolution photo zoom as good as the one you use every day as a Blade Runner.

</comment></comment></comment><comment><USER4> It is crazy how much the quality of the camera's has changed. I haven't looked into DSLR camera's for a few years, since I have one and am not really in the market for one now, but have there been similar advances in that tech? As in, ground breaking higher quality, more compact form factors, etc? You'd imagine if you can get this type of quality from a phone's camera, you'd be able to make truly amazing things happen with dedicated camera's.

<comment><USER5> The leap in recent years isn't really in sensor tech so much as in phone manufacturers racing to get the best cameras by increasing the sensor size. E.g. the iPhone5/6 had an image sensor around 15sq mm, and the iPhone XS has a 25sq mm one. This one is over 40sq mm (1/1.7"). The nokia 1020 has a 2/3" sensor (same as the larger compact cameras) which is 58sq mm(!).

So while there is are _small_ incremental improvements in sensor tech (quantum efficiency, etc), the big development in quality is pure physics. The phones takes as good pictures as compact digitals, because they are now using the same size tech.

Also the _picture quality_ isn't just dependent on the sensor. Better processors can help with autofocus, noise reduction etc, and that obviously helps the end result.

This however will lead to a problem with physics: you can't grow much beyond where it is now, without making the phone much thicker to accomodate a bigger lens, at least not without using exotic thech such as diffractive optics etc. So don't expect the massive gains in image quality over the next 3 years, as in the past 3.

<comment><USER6> But building optics that can properly illuminate those larger sensors within the confines of current smartphone designs already is impressive progress.

As you said, those physics are hard. I'm no expert but I suspect that the physics would even be strictly impossible for a "proper" lens and they only get away with it because they can now apply corrections computationally which would require lot's of glass/space when done to light pre-sensor instead of to data post-sensor.

This, I think, is the actual innovation: when you don't have to care for distortion or uneven brightness because you can fix that digitally, basic sharpness becomes much easier to achieve. A truly raw sensor readout from those modules would probably look like worse than a Holga picture.

I fully agree with your assessment that this is a one-time free lunch. Looking forward to a computational compact that scales the same lens simplifications to a full frame sensor!

<comment><USER5> Yes (more) computantional imaging is probably the next frontier. We already see the double and triple cameras (some times for depth info, some times for different FOV's) but I'm guessing N modules in some grid pattern + computation can emulate a much larger camera without making it much thicker like a single large sensor). I think I saw such a prototype if I remember correctly. If it works, it's also quite similar to that black hole imaging tech which is funny.

I'd also be happy to get a phone with a detatchable camera module you could bring when you need it. So long as it's much smaller and cheaper than a camera, it would still be better than carrying a compact camera and a phone (which was the problem these good cameras solved in the first place).

<comment><USER6> Multiple sensors, stuff like Google "night sight" and all that fake bokeh are impressive. But compared to the benefits from liberating the optical path from the burden of minimizing distortion and vignetting they are little more than lipstick one a pig. Simplified optics improve the source signal, some hard trade-offs that defined camera design for more than a century have been blown wide open by a simple 2D convolution.

Admittedly, multiple sensors also create more/better source signal to work with and unlike optical path simplification it's an improvement that can be repeated over and over again (just add more), but currently it's main importance is that it is something for buyers to _see_ , without diving into the subjectivity-infested depths of image quality comparisons. I have no doubts that a bad multi-sensor would sell better than a good single-sensor.

</comment></comment></comment></comment></comment><comment><USER7> Great... Except you won't be able to buy one soon... And there won't be any updates.

<comment><USER8> As long as you can root it and put LineageOS on it we're good.

<comment><USER3> Without platform-level support from HiSilicon for the Kirin CPU you won't get that far with community-OS either. And as a wholly owned Huawei subsidiary, HiSilicon is also on that sanction list.

<comment><USER7> I could imagine they might suddenly become way more open source friendly...

</comment></comment></comment></comment><comment><USER9> Politics aside, I have Huawei phones and tablets and they're probably the best bang for your buck you'll get.

<comment><USER10> Huawei's higher-end tablets restored my faith in Android as an alternative to iOS. Nice deisgn, thin bezels, 2560 x 1600 screens (absent on all but the most expensive Samsung tablets) and most importantly, long-lasting battery life.

I have the M3 8.4" tablet with those specs, and it's been running great. The 10.8" versions have pen support.

</comment></comment><comment><USER11> Wonder how the P30 mic is? I own the P20 and the thing I never noticed on any phone but completely hate on this phone is the mic. I'll go to concert and my girlfriend will take the same footage on her S8 and it sound great. The P20 totally melts down. Maybe a lack of dynamic gain? Not sure.

<comment><USER12> How is the mic for talking on the phone? I guess it might not matter since everyone is torturing everyone else with speaker phone and ear buds.

<comment><USER11> It's fine for any low volume stuff like conversation. My guess is that it has a fixed mic gain that does not adjust for loud environments. Not sure though.

</comment></comment></comment><comment><USER10> Can anyone suggest a point-and-shoot camera for taking pictures at concerts? I don't think the venues would allow DSLRs, but a small P&S would be OK. I'm thinking that would require good night-time photo capability and a certain level of optical zoom.

The camera on my Galaxy S7 was great, but I upgraded to a Nokia X6 and the camera there is significantly worse (phone was $500 cheaper though).

For my needs, I'd rather have a single high-quality dedicated compact camera, and not have it be tied to my phone, which I change every couple of years.

<comment><USER13> I have used the beautiful Olympus OMD E-10 Mk.III -- can't really say if it's going to be allowed in a concert[0], but it has a great advantage: it looks like a retro camera, and many people actually think it's an analog (ie, physical film) camera. I absolutely loved it's low light performance, though I've seen review compare it to the Sony A7 family and it'd seem those surpass it.

Before getting it, I owned two compact Canons, the G12 and G16 and both were a joy to use: fast stabilized lenses, """large""" sensors (at least for a compact camera) and lots of integrated features. The newer lineup has sort of derailed and there are tons of very-similar-with-tiny-differences models, but you'd be looking at either the G1X Mk2 or the G7x Mk2 (those are the ones that look more like compacts rather than "pro" cameras).

[0] since it's a mirrorless, so some would say a pro camera, hence not allowed without a permit.

</comment></comment><comment><USER14> I wouldn't buy a Huawei phone, horrible service

<comment><USER15> How so?</comment></comment>


Ask HN: Boss won't fire a chronic slacker. What should I do? - <AUTHOR> I love my job, its the best job I've ever had except this one issue that has been bothering me a lot.
One of my coworkers has been employed for over 2 yrs and has produced nothing of value.  I am having to pickup the slack and I feel a little overworked because of this.
I've bought this up to my boss many times, he acknowledges it but refuses to do anything about it. I am really puzzled by this.
I am at a loss as to what to do about this. I really don't want to quit over this. <comment><USER2> Get the co-worker out of your mind. That's got nothing to do with you. You're not the boss. It's not your problem.

If you're overworked, that's the problem. Decide how much work you can do, and let the boss know. If he needs more than that, that's his problem not yours; he can either hire someone else or do without.

<comment><USER3> Just to underscore this point.

This particular co-workers slacking might be annoying, but there will be entire departments that might strike you as useless in the future. (They might even work hard, but you might think that they are aimed at the wrong goal.)

</comment></comment><comment><USER4> Is it possible your boss might like your coworker (to your chagrin) and might even resent you for expecting _them_ to do something about it?

Might your bosses' attitude be: 'I wish they'd both work as a team' or 'why should I take one side over another?' Consider your bosses' incentives and interests: Bosses looks good to their bosses when their teams work together.

All sorts of intangibles add value in the workplace. You'd be surprised how far being the hardest worker falls behind things like: somewhat hard work with super supportive attitude, prior working relationships, nepotism, etc. Some of them aren't right, but you have to learn to work with them instead of against if you want to build influence. You need influence to make change. The best book is How to Win Friends and Influence People by Dale Carnegie.

In short, there's nothing you're really in a position to do except your own work and generate your own value and work with the people who want to work with you. That's leadership in a nutshell.

Welcome to employment. I've been employee, manager, and now self-employed. I want to stay self-employed because I like who I get to work with (me).

</comment><comment><USER5> > I am having to pickup the slack

Why is that? Why is this person not accountable for his/her actions?

Perhaps try to distance yourself and fully separate your task at hand from his/hers. Make sure you set these expectations in front of your boss. If shit hits the fan, stay professional, but clearly let your boss and the individual know that you were depending on them completing their task. Repeat this 2 more times (as in 3 strikes you're out). If this behavior continues arrange a meeting with your boss and let him/her know that you are having issues that you cannot depend on this person since they consistently fail to meet their targets set in your planning.

It is important to give your boss a sense of control, give him/her the final decision and do not pressure them into any specific actions. If you don't like the way they handle it, then your boss is the problem. Either change your boss within the company or move to a different company, as your boss not being able to resolve such an issue is a symptom of a much large organization problem.

</comment><comment><USER6> Are you a developer? Advocate for pair programming.

It could be that this guy is bright and your boss is blinded by potential/flashes of greatness, but dude just isn't able to sustain it. Common in this field. Maybe I'm your co-worker.

If you code, pair-programming may actually make the two of you more productive as a unit than you could be individually. I never would have believed it until my current job.

If nothing else, at least you can force him to actually do some work.

</comment><comment><USER7> Looks like the bottom line here is that you are being overworked because reasons.

I submit that "reasons" should not really matter to you. There will always be reasons - lazy coworker, new customer onboarding, big customer coming but only if we have a new feature X, other initiatives from sales, marketing etc etc.

Whatever the reason, the fact is that you get more work on top of your existing work. Nothing unusual with that.

Not much you can do but accept it. What you _can_ (and for your own sanity, must) do is that, when you get more work X from your boss, spend some time with him/her to go over your timelines and adjust them. This is also a good time to ask which has higher priority - should you do X first, or do it when you are done with your existing stuff?

This often works. Even the most Dilbert-y PHB will likely accept that you need more time to do more work.

If not, well, I guess it's time to re-evaluate the situation.

</comment><comment><USER8> Never bring your "boss" a "problem" without a solution to go with it.

What is your ideal solution? What is a solution you can live with, and what's an untenable answer?

</comment><comment><USER9> > One of my coworkers has been employed for over 2 yrs and has produced > nothing of value.

It's possible your Slacker Coworker thinks you lack respect for them and their contribution to the team. Evidently, the Boss still has confidence in the Slacker.

If your goal is more equitable work loads, try working on your influence skills. Start by understanding people without judging.

</comment><comment><USER10> Insist on accountability, and that tasks and responsibilities are assigned to specific people. Then stop picking up the slack.

If your organization won't hold people accountable, or unfairly holds you accountable, you should consider your options elsewhere.

</comment><comment><USER11> Don't pick up the slack.

</comment><comment><USER12> I would strictly divide tasks between him and me (so if he doesn't get stuff done it's clear it's him) and stop picking up his slack. It also seems to me your boss is pretty weak btw.

</comment><comment><USER13> you can complain about an obstructionist, but be careful.

never complain about the useless people. be happy they are happy to stay out of your way. its the companies problem to deal with costs and benefits.

if you feel overworked, then its probably just you. clearly they don't have a problem with people who do less. relax, cut deeper, or encourage them to being in more talent.

</comment><comment><USER14> How bad is the situation? How many hours a week are you having to work beyond 40 due to this?

</comment><comment><USER15> Stop carrying. If they haven't fired him then you probably have nothing to worry about.

</comment><comment><USER16> Stop picking up their work.

</comment><comment><USER17> You are a wage slave. Your boss cares about your happiness, but only insofar as you are willing to work for your current wage.

The truth is, your boss pays you to do your job and I highly doubt "worrying about the output of your coworkers" is in your work contract. Therefore, you are admitting to spending time thinking about something that you simply should not be thinking about if you're doing your job correctly.

I'm sorry man, but this is the reality of the working world. The only way out of it is to be your own boss.

Good luck!</comment>


Google AI Residency Program - <AUTHOR> https://research.google.com/teams/brain/residency/ <comment><USER2> So how is this different from other industry postdocs, other than being open to non-PhDs?

<comment><USER3> I'm guessing the quality of the program, and pay is better than average.

</comment></comment><comment><USER4> A little bit too late, I'm afraid. Applications closed on January 8th.

<comment><USER5> Maybe they will do the same thing next year so by making people aware of it now we help those people stay on the lookout for this the next time around?

</comment></comment><comment><USER6> Anyone know if the program is open to current grad students?

<comment> kaz-yos You have to graduate before starting the Residency, one of the current resident told me.

</comment></comment><comment><USER7> Too late :(

Like the idea very much

</comment><comment><USER8> I know I will be criticized for pointing this out but, why post this here? I'm sure only a fraction of a percent of HN readers would be considered for a residency at Google.

<comment><AUTHOR> Just found it interesting that AI Residency Programs are apparently a thing (all?) large tech companies have now. Didn't know whether everyone was aware of their existence. Plus, I'd consider applying.

Uber ([https://eng.uber.com/uber-ai-residency/](https://eng.uber.com/uber-ai- residency/))

Google ([https://research.google.com/teams/brain/residency/](https://research.google.com/teams/brain/residency/))

Facebook ([https://research.fb.com/programs/facebook-ai-research- reside...](https://research.fb.com/programs/facebook-ai-research-residency- program/))

Microsoft ([https://www.microsoft.com/en-us/research/academic- program/mi...](https://www.microsoft.com/en-us/research/academic- program/microsoft-ai-residency-program/))

<comment><USER9> these options seem like practical alternatives to attending grad school. What are some reasons one would be opposed to this?

The only downside seems to be that they are difficult to get into.

<comment><AUTHOR> Looking at the background of the current residents, I'd it looks more similar to a postdoctoral research position. Not sure whether it's intentional or a byproduct of the high degree of competition, but one likely needs Masters or PhD to get in.

But comparing these program with my current postdoc position (and grad school): The experience in these AI residency programs is probably more practical and less academic, and it probably pays more.

If you're a top-notch candidate coming out of college, I'd say why not try applying? You can always get a Masters degree and try applying again :)</comment></comment></comment></comment>


WikiLeaks site's Swiss host dismisses pressure to take it offline - <AUTHOR> http://www.guardian.co.uk/media/2010/dec/04/wikileaks-site-swiss-host-switch?intcmp=239 <comment><USER2> Note: (the Guardian's) title is inaccurate - this is actually about the .ch registrar:

'An email sent by Denis Simonet, president of the Swiss Pirate Party, to international members of the liberal political group said: "Some minutes ago I got good news: Switch, the registrar for .ch domains, told us that there is no reason to block wikileaks.ch."'</comment>


Show HN: Syncrypto - <AUTHOR> https://theapurvap.github.io/syncrypto/#/file_select <comment><AUTHOR> Syncrypto provides browser based AES-256-GCM encryption/decryption for your files using the standard Web Crypto API, enabling you to share/store your files on the internet without worrying! Checkout the help ([https://theapurvap.github.io/syncrypto/#/help](https://theapurvap.github.io/syncrypto/#/help)) page for more information.</comment>


Ridiculous Combo Gadgets - <AUTHOR> http://www.itworld.com/personal-tech/86411/10-totally-ridiculous-combo-gadgets

<comment><USER2> Nasty format. Here, sans the ads and multi-page clicking:

<http://www.itworld.com/print/86411></comment>