More bosses give four-day workweek a try - <AUTHOR> https://www.npr.org/2020/02/21/807133509/enjoy-the-extra-day-off-more-bosses-give-4-day-workweek-a-try <comment><USER2> I can't begin to explain how much less stress I encounter in day to day life having just one week day to stay home. Just having a day to be able to easily knock out chores between Jira issues; drop the car off at the dealer, sell something on craigslist, complete a house project, go to the dentist, meet the handyman, go to the bank, etc is so nice.

All of these things wind up on the back burner when I'm in the middle of high stress projects and forced to sit at a desk for 8-10 hours a day.

All that does is lead to more stress because now I'm falling behind on my life tasks and have to burn a weekend catching up when I should be able to spend that weekend de-stressing.

I know not everyone is as sapped for energy as I am after work, I hate that I'm this way. But after leaving work and siting in an hour of traffic my energy is just sapped from me by the time I make it home. I have enough energy to feed myself and sometimes work out to maintain my health..

<comment><USER3> > I know not everyone is as sapped for energy as I am after work, but I leave > work and sit in an hour of traffic. My energy is just sapped from me by the > time I make it home. I have enough energy to feed myself and sometimes work > out to maintain my health..

I know that some people just dont have the privilege of living close to their jobs, but after spending one internship getting up at 5;45am to drive with my dad to work to beat the traffic for 1hr, and then spending 1.5-2 hours driving back in heavy traffic in NYC, I vowed to never ever live in a place where I have to drive that far to get to work. 2 months of that and I was already losing my will to live. My dad did it for 15 years and I can see why towards the last leg of that job, he was bitter and angry on a daily basis. That is not a way to live.

<comment><USER4> I live in NYC, and I have a roughly 1 hour commute each way, but I just take the train everywhere.

Of course I can't speak for anyone else, but I find that taking a train to work is a _lot_ less stressful than driving every day. At least on the train, I can read, or pull out my laptop, or just play a video game.

<comment><USER5> I had the same experience when I lived in NYC. A 45 minute commute on the subway was a lot less stressful than the 45 minute bumper-to-bumper driving commute I do now (in Seattle). I would usually play mindless puzzle games and listen to music on my commute. Other people mention the train delays being stressful, but my company had a standing "subway delays ¯\\_(ツ)_/¯" attitude about showing up late. People would show up between 9:30 and 10:30

I don't ever recall feeling comfortable pulling out a laptop on the train though. Not even for fear of someone stealing it. I'd be worried about a subway monkey doing some spinning dance move and destroying the screen, or some hipster spilling coffee on it when the train slows down. Fond memories...

<comment><USER6> An interesting lifehack I hypothesized earlier this week and confirmed today is to work from home for the first hour or so of the day and then head into work after the morning rush has substantially subsided.

Until today, I've typically gotten on the subway between 9:45am and 10am for my 30 minute commute to work (that's bed to desk travel time). The train usually wasn't packed, but I was certainly squeezed up against people. Perfectly tolerable, but certainly not comfortable.

Today I did an hour's worth of work from 9:30am to 10:30am and then I commuted to my office arriving just before my 11am standup. The 10:30am train was wonderfully empty in comparison to the 9:45am train. I got a seat for the first time in months! Furthermore, that hour of work was wonderfully productive since my apt is dead silent and no one was around to disturb me. I got most of my "heads-down, high-concentration" work done for the day in that hour.

<comment><USER7> I live in Japan and have done this last year to great effect.

My work place is about an hour and a half commute and the trains are incredibly packed starting from around 7am all the way till 9.15am.

What I've done was wake up and started working from home sometime between 7-8am till around 9.15am, then leave for the 9.30am train and I'll be in the office by 11.

Work gets done and I don't get stressed from silly crowds. I also do the reverse and leave work around 4pm to avoid the return rush.

It's a small change but it's an incredible quality of live improvement. This is literal pareto, 20% effort with 80% effect. Do it.

<comment><USER8> Doing the same in Paris. 1-2 hours at home and then go in. Leave work later though 7-7:30 pm to available for US west coast people

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> It seems a lot of these experiments are a success. But after a while somebody gets greedy and thinks "we get good productivity at 32 hours. I wonder how much more we could get at 40 hours?" And soon you are back at the old schedule.

Something similar happened at my company. For once a project was ahead of schedule. So instead of thinking that the system worked well and keep working in relaxed manner management decided to "pull in" the deadline and suddenly the project was a death march again.

For some people it's hard to accept that relaxed people are productive. They want to see stress and overtime or they will think that people are underperforming.

<comment> toper-centage Is it not also the responsibility of employees to ask for that benefit? Specially developers have that leverage. We have the ability of changing the whole job landscape.

<comment><USER10> >Is it not also the responsibility of employees to ask for that benefit?

I've been on both sides of this equation and yes employees have a responsibility to speak up, but given the dynamic of the relationship it's easy to see why they wouldn't. If managers aren't interested in listening then speaking up can just get you on their bad side.

<comment><USER11> Organizing activities to form a union is protected by US federal law.

If you're afraid of management, why are you working there if you're not attempting to level the playing field?

</comment></comment></comment></comment><comment><USER12> When the 40 hour workweek was first proposed, doomsayers said it would be the end of the American economy. The opposite happened, and as injuries and illness decreased, productivity increased. [1]

Something to keep in mind, as it's counterintuitive and the instinct is to say, "that can never happen here", or, "it'll never work."

1: Robert Gordon, "The Rise and Fall is American Growth"

<comment><USER13> I'm genuinely impressed that the Overton window on hours seems to have changed since the last time the 4-day work week was in the headlines.

Not that long ago, it was unquestioned that four days meant 4x10. It was simply unthinkable that we would consider less than forty hours "full time." I even skipped this article initially, expecting it to have the same assumptions! And yet, they specifically report that Shake Shack cut back to _32 hours without cutting pay._

I would have expected service-sector jobs to be the last to see something like this. And if a burger chain can do it, an office where we spend 40 hours in a combination of productivity and reading HN can absolutely do it.

<comment><USER14> Service sector does not want you working 40 hours a week for benefits purposes.

<comment><USER15> You can never afford those benefits on a service sector job anyways.

<comment><USER16> At a time of coronavirus outbreaks in the news, I have to think that models of propagation should account for national differences like which areas have required vacation & sicktime benefits as well as universal healthcare.

</comment></comment></comment></comment></comment><comment><USER17> I worked 4x10s when I worked for the Army and it was awesome. 3 day weekends take off so much pressure, and come Sunday night I was starting to feel the itch to get back into work rather than the dreadful feeling that I 'wasted' my weekend. The only work experience that was better than this was 100% flexibility to work remotely and/or flex hours.

So there's my anecdata for you :)

<comment><USER18> 10 hours really seems extreme. I am certain that the vast majority of office workers could produce the same level of output at a 4x9 schedule as they do in a 5x8 or would in a 4x10.

And most would be profoundly happier people.

<comment><USER19> The vast majority of people I know who can do four 10s love it, and find the 10 hour days aren't really much different then the 8s. I'd love it if I could do four 10s, but in a company that does 24/7 healthcare, that's not an option for support staff like IT, not even at my level.

<comment><USER17> Yeah, in my experience the difference between 8 and 10 hour workdays were negligible (except certain times of year where I'd get to my desk before sunrise and leave well after sunset). Anything I'd do with my "extra" 2 hours per day I'd happily batch into my free Friday.

<comment><USER20> I completely see where you're coming from, but having kids changes the calculus completely.

<comment><USER19> Not necessarily. Most folks have kids, most folks I know that prefer four 10s have kids, and like having that fifth day off.

<comment><USER21> I barely see/interact with my kids on an 8 hour day. On a 10 hour day, I'd probably miss them completely.

I would like one day a week when I'm not working OR looking after the kids, however. That would be amazing. It would be great to give it a try and see how it worked out. Unfortunately my employer is a hardass and doesn't even allow work from home, let alone fewer days a week.

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> Something felt fishy about their claim that number of hours worked has been climbing in the United States so I checked their source. It turns out that "average annual hours worked" has changed from 1,780 in 2011 to 1,786 last year. This seems like barely a rounding error...

On the other hand, if you look at the FRED website it shows that average annual hours worked has massively decreased in the last 50 years: [https://fred.stlouisfed.org/series/AVHWPEUSA065NRUG](https://fred.stlouisfed.org/series/AVHWPEUSA065NRUG)

1951, for example, shows 2,030 hours worked on average. That's the equivalent of more than six additional weeks of full time work.

I would say that Keynes's prediction that economic growth could get to the point where we would only need to work 15 hours a week (750 hours per year, assuming 2 weeks vacation) is ... trending towards becoming true? At current trends, it will take another ~280 years.

(Obviously this is a silly prediction but, an interesting thought experiment.)

<comment><USER23> The overall average per person has declined (though not really since the 80s). However, in the same time frame, the proportion of women in formal work went from 35% to 60% [1]. So the story for men and women looks very different. Note also that for women this is a shift from domestic labor to formal labor, so it's probably not much of an increase in hours worked even though it looks like that on paper. However, in the same time frame, I believe men spend a bit more time on housework than they used to, which is not included in formal hours worked.

The point of all this is simply that it is difficult to make conclusions about labor market trends from average annual hours worked.

[1] [https://fred.stlouisfed.org/series/LNS11300002](https://fred.stlouisfed.org/series/LNS11300002)

<comment><USER24> There's more too - an apparent rise in unpaid 'off the books' overtime [0], the rise of mobile and email creating expectations of evening/weekend work, and increasing travel times to work.

[0] An average of 4.6 hours per week in Australia across all industries according to this [https://www.tai.org.au/sites/default/files/GHOTD%202019%20Fi...](https://www.tai.org.au/sites/default/files/GHOTD%202019%20Final_0.pdf)

</comment></comment></comment><comment><USER25> "Natalie Nagele, co-founder and CEO of Wildbit, has heard from other leaders who say it didn't work for them. She says it fails when employees aren't motivated and where managers don't trust employees."

I would muse that employees usually aren't motivated because they hate their working conditions, usually imposed by shitty managers / company cultures. Managers & companies may complain about "unproductive" or "motivated" employees as if its some personal failing of their employees, but news flash people aren't going to care unless they have a reason to care. If you want employees to enjoy their work and actually be motivated to some degree greater than the bare minimum, give them working conditions that they enjoy. Give them retirement benefits, less working hours, less micromanagement, more pay, remote working options, etc.

This is a problem that stems from crappy notions of how work cultures "ought to be" in America, and can only be solved by destroying those notions and getting rid of the idea "productivity above all else" in companies.

<comment> globular-toast Unfortunately some people are just lazy. At my job they introduced 10% time to be used for personal development, but it's been abundantly clear that most employees are simply taking it as holiday.

</comment></comment><comment><USER26> In a world where no one is compelled to work more than four hours a day, every person possessed of scientific curiosity will be able to indulge it, and every painter will be able to paint without starving, however excellent his pictures may be. Young writers will not be obliged to draw attention to themselves by sensational pot-boilers, with a view to acquiring the economic independence needed for monumental works, for which, when the time at last comes, they will have lost the taste and capacity. Men who, in their professional work, have become interested in some phase of economics or government, will be able to develop their ideas without the academic detachment that makes the work of university economists often seem lacking in reality. Medical men will have the time to learn about the progress of medicine, teachers will not be exasperatedly struggling to teach by routine methods things which they learnt in their youth, which may, in the interval, have been proved to be untrue.

\-- Bertrand Russell

[http://www.zpub.com/notes/idle.html](http://www.zpub.com/notes/idle.html)

<comment><USER27> This is a funny kind of bubble quote, by someone I think out of touch with most people.

I believe most people would watch TV, play cards, play video games. This is what they already do with their spare time, there's no reason to believe there wouldn't be more of it.

It's amazing what a 'schedule' and 'working with others' and 'requirements' and 'deadlines' can do - it brings people to life and is probably the only way hard things get done.

For a certain kind of person, some free time would lead to a lot of exploration but for most people it would not.

<comment><USER28> Who cares? Sounds like a win/win to me. Some people get to relax more and the curious or creative get to explore or create more.

<comment><USER27> When nobody works it's definitely 'lose lose lose' for almost everyone.

</comment></comment></comment></comment><comment><USER29> Going down to a 32-hour workweek would be lovely, but I'm simply not interested in doing 4×10. I'd rather get home at a decent hour than have an extra day off.

<comment><USER30> To each their own. My work week is spent on work and I can't really enjoy the time before or after work. I'll never enjoy M-F.

I'd rather have a 4x10 than a 5x8.

If my side hustle ever graduates into a startup and I start hiring other people, we're doing 4x10 or 4x9.

<comment><USER31> Why not let your employees choose? From what I've seen single people love 4x10, people with kids don't. 2 extra hours a day means my kid can't possibly make it to practice in time 4 days a week.

<comment><USER32> No kid yet but 2 more hours working currently would guarantee that I did absolutely nothing but work and do random household bullshit for the entire time I am awake, with zero time to decompress from work.

9 hours maybe, but 10 hours? I'm a software engineer, I can't produce quality work for 10 straight hours. Most good, solid work gets done in a 4-5 hour period. 10 hours in front of a computer isn't good for anyone.

</comment></comment></comment></comment><comment><USER33> I'm from Germany and none of my friends works 40h anymore.

They're all down to 50-80%

This is even regulated by the law, your employer has to allow you to reduce your work time, only in some extreme cases they can deny it.

Works like a charm.

<comment><USER34> I like the idea of working less, but it's going to be hard to use Germany as a poster child. The German economy hasn't been doing to great recently. In my opinion it's largely due to carrying lagging EU economies, but it will be hard to use a struggling economy as a positive indicator

Germany: [https://tradingeconomics.com/germany/gdp- growth](https://tradingeconomics.com/germany/gdp-growth) US: [https://tradingeconomics.com/united-states/gdp- growth](https://tradingeconomics.com/united-states/gdp-growth)

<comment><USER18> The German standard of living is exceptional. Abstract worries about "the economy not doing too well" don't really matter until the standard of living declines in some meaningful way for a lot of people.

Owners demand perpetual growth. People demand comfortable lives and occasional vacations. Most achieve that in Germany. There probably isn't a single better "poster child" of a prosperous society with anywhere near the same population.

<comment><USER34> I'd rather be an owner in America with perpetual growth. Difference of culture I guess.

<comment><USER35> That growth only really benefits a tiny minority of the country though. There are far more people in a precarious position in the US than in Germany

</comment></comment></comment></comment></comment><comment><USER36> I am using this as a company/boss/role filter and it is fantastic. Some are offended that I think I have any control (literally uncontrolled in their negative response, "how dare you ask that?"). Some seem confused ("but you're supposed to be lying to present an image of the perfect employee, aren't you?"). Others are glad for the request and appreciate my honest straightforwardness and willingness to discard convention to achieve better results. There's been sufficient discussion of this that it no longer counts as innovative but I've always been on the leading edge (sometimes, sadly so) and am obviously willing to take risks.

Always remember that interviews are mutual.

</comment><comment><USER37> I've been working 32 hour weeks ever since my daughter was born 2 years ago. Mondays are my day off, we go to music classes, walk on the park and just spend time together.

On tuesdays I'm "hungry" when I go back to work. I think this is the perfect balance for me and I feel I'm more productive than ever.

It may not be for everyone, and it's definitely a privilege, but if you can, I really encourage you to try it out.

</comment><comment><USER38> Counter-point, from the article:

> Natalie Nagele, co-founder and CEO of Wildbit, has heard from other leaders > who say it didn't work for them. She says it fails when employees aren't > motivated and where managers don't trust employees.

Also it would be good to keep in mind the Hawthorne Effect: [https://en.wikipedia.org/wiki/Hawthorne_effect#History](https://en.wikipedia.org/wiki/Hawthorne_effect#History)

<comment><USER39> > it fails when employees aren't motivated and where managers don't trust > employees

I'd counter that _anything_ (including the standard 5x8 schedule) will fail in those conditions.

</comment></comment><comment><USER40> Many of us work in spaces where servers are expected to be working and running 24/7\. Yet our bosses still want every single employee to have butts in seats 9:00 am to 5 pm, 5 days a week and in the same time zone. Sometimes with a little guilt-tripping on the side for taking sick days and vacation.

Wouldn't we be better off with several shifts, 4 days a week, covering Monday through Saturday or even the entire week?

<comment><USER41> Mature places have this with a global workforce.

Not so mature places put 9-5ers on call with a tiny bump in pay.

<comment><USER42> My org has been around for over 150 years, and our IT department expects admins to take a rotating week of oncall. Not only are you expected on call with a 10 minutes response time, but you're expected to do your normal day to day operations/projects. And during normal business hours, a ton of extra stuff gets dumped into the lap of the oncall person, because why not?

My boss describes this as everyone's turn in the barrel, and part of working in IT. There's nothing more demoralizing for my coworkers than being on call. Well, maybe having our tickets be the metric we're evaluated by.

<comment><USER11> I would argue you're in a toxic work environment and encourage a change of scenery via interviewing and finding a better employer.

</comment></comment></comment></comment><comment><USER4> I remember when I interned at Lockheed Martin forever ago, they had a system where you normally work 9-hour days (8 on Fridays), and as a result had every other Friday off. It equated to a 80 hours for every two weeks, and it was really nice if you ever had to go to the bank or DMV (which are typically only open during weekdays).

I always wondered why this wasn't more popular.

<comment><USER43> Why is this so common in defense?

<comment><USER4> What? I was just saying that I liked that system, I wasn't trying to engage in any kind of real apologia.

<comment><USER44> I think he meant that as 'why is this so common in the defense industry'.

<comment><USER4> Oh, upon rereading the comment that makes more sense, that's my dumb fault :)

I don't know actually; presumably one defense company started doing it any then the rest just followed.

<comment><USER45> It also might be a government thing? 9/80 is common in the few national labs I've worked at or know people in. DoE and DoD labs.

</comment></comment></comment></comment></comment></comment><comment><USER46> I'm a software engineer, I started working 4 days/32 hours per week about a month ago, and I couldn't be happier :)

<comment><USER26> I started working 4 days/32 hours I think about a decade ago. Never looked back.

<comment><USER47> I was 4 days 32 hours for 7 years, now I do 3 days 24 hours. It has allowed me to spend time a lot of time with my boy. Now that he's started school I generally work on side projects in my 2 extra days and do the school pickups. Of course there are days where you don't feel like coding so you can read a book, do chores, go to the beach.

</comment></comment></comment><comment><USER48> "Russian Prime Minister Dmitry Medvedev is backing a parliamentary proposal to shift to a four-day week." \-- with all the Russian meddling in the U.S.A., maybe they can get this pushed through!

Jokes aside, I would love this. Right now in tech asking for this sort of thing feels like a 'career limiting move', and definitely in a hiring situation could label you as 'not a hard worker' despite your emphasis on efficiency and productive hours.

<comment><USER49> If not career limiting, pay limiting. I'd worry that I suddenly get a 20% cut in salary

<comment><USER50> I consider it a 20% bump in time.

edit: or is it 25%?!

<comment><USER51> it's 33%, adding one day to the two of the weekend :)

<comment><USER48> That's a 50% increase in time!

</comment></comment></comment></comment></comment><comment><USER52> I'd really like to do 4x10hrs versus 5x8hrs. I think that'd be a significant improvement for a lot of people.

<comment><USER53> I think stuffing 10 hours in a workday will have a diminishing rate of productivity return during the last couple of hours during the workday.

<comment><USER54> How about a compromise? 4x9 hours.

<comment><USER55> I like 4x9, because a lot of work is already 5x9 if you include mandatory lunch break.

<comment><USER56> I have a huge problem with the 5x9 expectation. 9-5 means 9-5 including a lunch. I promise any employer that demanding my presence from 8-5 (or any other 9 hours) will not result in greater productivity, and furthermore will leave me disgruntled.

There's only so much development that can be done in a day before I'm in a haze from all the abstract thought, and that productivity asymptote comes well under 8 hours.

<comment><USER57> It's 4 hours for me. Doesn't matter how long the day is, maximum concentration tops out at 4 hours. The rest of the time is just admin work, emails and house keeping.

</comment></comment></comment></comment></comment></comment><comment><USER58> I introduced "work from home Wednesday" at our company and the reduction in stress is palpable. Hell, I sleep better on Tuesday nights knowing I've got a day of silence lined up. The naysayers quickly fell in line too, once they realized how much more they could get done that day.

<comment><USER59> Why Wednesday though?

<comment><USER60> In addition to OP's reply, I guess it also keeps people from turning it into a long weekend if it's not a Monday or Friday.

<comment><USER59> What's bad about long weekends?

</comment></comment></comment></comment><comment><USER61> I never understand these studies. I'm bootstrapping a startup and my work output scales linearly with hours until about 60 hours per week. 60 hours per week is comfortable with 4x12 hour days and then 12 hours over two shorter days. To accomplish errands and the like I just do things before 2pm which is plenty of time.

For me personally more time working = more output. What am I missing?

I should note that I have no family, no commute, and my gym is in my home so I'm able to save some hours on those things. I could see how in those cases one would have less time for work.

<comment><USER62> You are part of the hyperactive onsite mainstream HN crowd.single or married but no other responsibilities (children, aging parents and other such commitments). When you live the other life you will see how work just fills up and an extra day feels like a miracle.

<comment><USER63> Exactly this. Once you have other responsibilities or hobbies outside of work, a 12-hour workday will leave you with absolutely no free time. Add in your typical bay area commute time, and you'd hardly have time to sleep.

<comment><USER64> When I was single, no kids, I couldn't do 60 hours a week. Just not possible for me to keep focusing, keep writing good code.

</comment></comment></comment></comment><comment><USER65> Worker productivity has gone way up over the recent decades but wages have stagnated, so why shouldn't we work fewer hours? It's not like the average worker is reaping the benefits of working longer.

</comment><comment><USER66> I don't know if I'm pro a 4-day work week, (I'm personally not for it if it's 4x10 instead of 5x8)

But I'm reading the book [peak performance]([https://www.amazon.com/Peak- Performance-Elevate-Burnout-Scie...](https://www.amazon.com/Peak-Performance- Elevate-Burnout-Science- ebook/dp/B01N1RNP9N/ref=tmm_kin_swatch_0?_encoding=UTF8&qid=1582313496&sr=8-4)) (Highly recommended) and I generally think that companies should really encourage those employees to work at a schedule that works best for them (This is obviously harder for shift work where the value comes from having a person in a chair at certain times)

We have all these norms about 8 hour days, and 5 day weeks and not sleeping at work, and I think people should be given the freedom to work in the way that works best for them.

One norm I'm trying to get used to breaking right now is the norm about "sleeping at work". I would be much more productive if I napped for 15 or so minutes twice a day. I know that when it comes to coding or writing I could get a ton done in a 3-4 1-hour-sessions day if those 3-4 hours were clear, well defined and rested. I could get much more done in "3-4 hours" than an "8 hour day" with meetings and other administrivia thrown in. I'd guess my optimal work week is somewhere around 26 hours, assuming that the space between those 26 hours is spent resting and focusing and getting ready to work hard those 26 hours.

<comment><USER67> > Nap time adds to productivity

Amen to this! I pushed for, and saw implemented, a dual nap room for our studio. It was used around the clock by people stretching, meditating, and napping. I found a _huge_ productivity spike taking out 20 minutes a day.

Then, we hired a bunch more people for the upcoming launch, and it was re- purposed into a storage room for old rack hardware (I pushed against this, but was told it was a temporarily unavoidable allocation for the space... meanwhile, the dedicated Lego room sits unused 38 hours a week). So we lost the nap room right as we enter our year of crunch.

Boggles the mind.

Ah well. Have an interesting read on recent research into the commonality of four (rather than two) chronotypes (which I'd used in laying out my position): [https://www.sciencedirect.com/science/article/pii/S019188691...](https://www.sciencedirect.com/science/article/pii/S0191886919303071)

<comment><USER68> Most children stop napping around four years old.

Maybe there's a deeper problem at your job if people need a nap room. Just get more sleep at home, you're not being paid to sleep.

btw, a 'dedicated lego room' sounds like another symptom of a toxic infantilizing culture that eats confidence and breeds reliance.

<comment><USER69> Napping as an adult is normal. There's plenty of research and info about this. No need to be judgmental.

</comment></comment></comment></comment><comment><USER70> I used to work 4 days during a contract job with a very long commute. I was made to stop because of a new state law requiring overtime on >8 hours. Thanks, Sacramento.

<comment><USER71> I wonder what you'd say to the lawmakers who caused that change...

<comment><USER70> It's pretty small on the scale of other damage. I liked [https://equilibriabook.com/](https://equilibriabook.com/) for an interesting recent perspective on this sort of thing, not limited to politics. Still, nobody _made_ them go into that field.

</comment></comment></comment><comment><USER72> 'More bosses give 4 day workweek a try'. How weak is that? What does 'more' mean anyway? .001 more? 40% more. Of course there is no answer to that. What about 'more bosses think wearing blue shirts in the office is fine' (Everyone would laugh at that right on the surface right and say 'how many exactly percentage wise'?

Unclear why people seem to think there needs to be some kind of 'one size fits all' approach. If a job is such that 32 hours works fine. If it's not fine. And the media saying things like 'a move toward' and 'more companies are' when clearly there is no significant push in this area appears to be just some kind of evergreen story to sell advertising. Media does this frequently. Keys are statements not backed up by anything but anecdotes such as 'and questions are being raised' and so on. That one 'questions are being asked' is literally a nightly occurrence on network news broadcasts (says me using the same technique but it is happening).

Guess what? Some people don't mind working 5 days. Some people like working 7 days. Some people would rather sit and not work at all. Everyone is different.

</comment><comment><USER73> I feel like my best work happens in about 6 hours on most days. Beyond 6 I feel like I'm less motivated/productive, I get things done but it goes a little slower.

I've previously done a 9/80 schedule with every other Friday off. The 9 hour days made my personal life harder, harder to meet family obligations like pickup/dropoff. I'm cool with 5 shorter days, I would be happier and probably more productive.

</comment><comment><USER74> My current job is a 4-day workweek (not the whole company, just me), but it's also not the most interesting job. I've seen other jobs posted that look more interesting in the last year or two (and would likely be for higher pay), but after doing this for almost 2 years I decided that the chill work-life balance is more important than total comp or having "interesting" work.

</comment><comment><USER75> I met with someone recently who offered 4-day workweek as a benefit, but it wasn't a 32-hour week over 4 days, it was just 4 longer days with the same number of total hours. It would be great to have 1 less commute, a 3 day weekend etc but where are the benefits of these computers that were supposed to save us all time?

</comment><comment><USER76> It's interesting to note that in Europe that 32 hour workweek is fairly standard and nobody would even bat an eye or think this is special in any way.

[https://smallbiztrends.com/2018/11/working- hours.html](https://smallbiztrends.com/2018/11/working-hours.html)

<comment><USER77> Source for this? I'm from Europe and I have friends working in 2-3 different countries in Europe, but 32 hour workweek is not standard anywhere. Never even heard of such a thing being standard in Europe.

<comment><USER76> It depends on the country. Sweden, Denmark, Norway, NL, Germany, Switzerland, France.

Others probably less so, depending on how well the economy is and general attitude towards workers rights. Eastern Europe much less so, in some cases (Romania, Bulgaria) conditions are still terrible.

<comment><USER78> Lawful workweek in nl is 40 hours I'd wager the others are similar, with perhaps one exception.

<comment><USER76> That's the 'normal maximum' in NL (overtime is also a thing). Plenty of people on part-time contracts working 32, 24 or even 20 hours per week.

<comment><USER78> Yes, we're the part-time champions of europe.

</comment></comment></comment></comment></comment></comment><comment><USER79> I worked 4 days a week on one project that lasted 14 months. It's really great for motivation and productivity. I actually started to enjoy Mondays first time in my life, and I'd be coming to work full of inspiration. The downside is obviously that as a contractor you earn 20% less that way.

</comment><comment><USER80> I would love to go to a 32 hour work week, but not for the obvious reason. I would still put in 50 hours but it would give me more of an edge over everyone else. I don't feel like I'm in direct competition with my peers, but I always hold myself to a sometimes unreasonable standard for what I "feel I should be getting done," and I use those around me as a ruler. I always just want to be better, and especially faster, but without losing the clean thought process. For as long as I have been doing things slightly outside my comfort zone, so always, I only get there with more time. Am I totally alone or does this resonate?

</comment><comment><USER81> Everyone always asks "why don't well all do this". Well, let me tell you. The system doesn't reward productivity like you imagine it, profit / per time work. It rewards profit / hours. Never mind if working more makes you less productive per the first measure, as long the extra time spent offsets the loss in productivity you will be compelled to do it.

Well, almost. If you are willing to be paid less that helps. But how many people are rich enough to be able make that choice? Enough to change the cultural and mores?

We need UBI or laws to break that. There is no distributed / individual way to escape the baton of the market here.

</comment><comment><USER82> I'm just about to start a job where I'll be working 30 hours a week. This is nominally over 4 days, but I'll have the right to do it over three. I haven't been so excited about work in years, and I'm sure it'll be challenging but the rewards - time for hobbies, study, side projects and family - promise to be massive.

I was a pretty high earner before and have given up 60% of pay to do this. The premium I place on my time is huge. It'd be lovely to see more companies who understand this and offer the same kind of arrangement.

</comment><comment><USER83> I've recently come up with a crazy pet theory. If we are indeed living a simulation, maybe this simulation is just to test whether 5-day workweeks make better modern civilizations than 4- or 6-day ones...

</comment><comment> bash-j In Australia it's pretty common to be paid for 38 or 36 hours a week and take a RDO (rostered day off) once a month or fortnight depending on what you choose. This plus minimum 4 weeks paid annual leave for full timers, 2 weeks paid sick leave, 13 weeks paid long service leave if you have worked at the same company for 10 years, paid parental leave, carers leave, grievance leave, volunteer leave, etc. If you work casual hours then you usually receive a 17.5% more per hour. Weekends and public holidays usually attract higher wages too.

</comment><comment><USER84> 9/80 schedules are common in my industry. We are paid based on 80 hours/2 weeks. Week 1 is 36 hours (4 days x 9 hrs/day) and the Friday is off. Week 2 is 44 hours (4 days x 9 hrs/day, 1 8 hr Friday). There's flexibility around this with management approval.

I think most people like this arrangement, especially those with long commutes. A full free day for appointments, errands, or just relaxing can be a big help.

</comment><comment><USER85> Apart from occasional experiments, I can't imagine this ever catching on as the "norm". Another reason to become a freelancer though. If you're a freelancer, you could alternate between 4 day workweeks and 3 day workweeks, and take a few months off every year.

</comment><comment><USER86> Some shameless self-promotion: I run a job board for jobs like this.

[https://30hourjobs.com](https://30hourjobs.com)

</comment><comment><USER87> Four day work week sounds great, but how do you prevent employers from taking advantage of that and saying, "Hey, as an hourly employee working four days a week, we don't have to cover your insurance because reasons".

I'm sure there are a lot of loopholes or rules that companies can't wait to exploit to pay people less money or fork over less money overall.

</comment><comment><USER88> I feel like I'd probably be as-effective with a four-day work week. I monitor and respond to issues when I'm at home anyways. But I think it'll still be a while until this becomes substantially more popular.

At a previous job I was furloughed one day a week for a while, and it was definitely time I enjoyed having available, I just wasn't fond of the 20% pay cut that went with it.

</comment><comment><USER89> We have No Meeting Wednesdays, which being salaried and having generous work from home policies, is roughly a four-day work week if you want.

</comment><comment><USER90> As another thing to try, how about making the "standard" workday 9-4 instead of 9-5? This way, it ends up being 3 hours of work, 1 hour of lunch, then another 3 hours of work.

It's more balanced, people get an extra hour in their day to spend on themselves, and it seems that for many people, the extra hour from 4-5 is relatively low productivity compared to the rest of the day anyway.

<comment><USER91> I think it's already that way in many places. You just have to pretend to work for the other hour or two.

</comment></comment><comment><USER92> In Spain it's somewhat common to do 9 hours Monday to Thursday and only working 4 hours on Friday. Unfortunately I only worked for a company that did this only for one year, but it is the one thing I miss of this company.

Personally, I'm reluctant to the 4x10, but doing 4x9 and 1x4 was simply awesome, plus you could get a 3 day weekend by just spending half day of vacation.

</comment><comment><USER93> Some of our hourly employees are on a 4x10 schedule. One wrinkle that has come up is for holidays and vacation days, which are paid at 8 hours each. The 4x10 employees end up being two hours short each paid day off. The company won't change it to ten hours as that is unfair to the 5x8 employees. Maybe if 4x10 became the standard, they would.

</comment><comment><USER94> Cockroach Labs (nyc) used to have a 4 day workweek as their version of "20% time", looks like it's still in place: [https://www.cockroachlabs.com/blog/can-a-4-day-work-week- wor...](https://www.cockroachlabs.com/blog/can-a-4-day-work-week-work/)

</comment><comment><USER95> These recurring 4-day work week discussions on HN show how non-European this site is.

4-day work weeks have been completely normal for lots of people in Europe for decades. In the Netherlands it's almost the norm to chose whether you want to work 4 or 5 days. 4 day work weeks are not always accepted everywhere, but usually they are in most places.

In France the standard work week has been 35 hours for the past 2 decades, which may or may not equate to a 4 day work week depending on how you organize your work days.

The Netherlands and France are still alive and kicking. They have plenty of successful businesses.

Conclusion: no, 4 day work weeks will not destroy your country, economy, business or lifestyle. The one and only reason to have 5 day or longer work weeks is: greed. IMHO.

Having said that IMO a more important factor in time savings would be remote working or not. Assuming a commute of an hour a day to and from work (2 hours total per day, reality for lots of people) you waste 10 hours per week of your life commuting. Unpaid.

5 days a week without commute = -10 unpaid hours spent on work related things (vs with commute)

4 days a week with commute = -2 unpaid hours spent on work related things.

<comment><USER96> > The Netherlands and France are still alive and kicking. They have plenty of > successful businesses.

Are they? I can't think of a single technology company coming out of either.

<comment><USER97> Booking.com, TomTom GPS are both from Amsterdam. As is Adyen, the payments provider used Linkedin, Uber, Spotify, Microsoft. Philips is also from the Netherlands.

<comment><USER96> Booking.com - sold in 2005. TomTom - dying since smartphones. Philips - an old appliance company. Ayden - hadn't heard of it, but granted.

I hear of new companies from China all the time.

<comment> the-dude Philips is succesful in pivoting into medical.

</comment></comment></comment></comment></comment><comment><USER98> > Also, he did away with open-floor office plans and saw workers spending far > less time on social media.

While mentioned as an aside late in the article, I wonder how much this contributed to overall productivity. The author may be undervaluing this change in the work environment.

</comment><comment><USER99> I'm still waiting for someone to do a study of a three-day (24-hour) work week.

<comment><USER47> I've been doing this for 3 years now and it works great for me. 3/4 of our company are 4 days or less a week and in the last 5 years we've turned a loss making company into something quite profitable. We generally have one short meeting a week, outside of that we do 1 on 1s when necessary. The rest of the time we can sit down and focus 100%.

</comment></comment><comment><USER100> I feel burned out from time to time.

Then I found this really works for me: don't spend vacation all at once, instead, spend it on every Wednesday. It's not just one day off, it actually changes the workdays from 5 days to 2 days.

</comment><comment><USER101> I did this (4x10) for about a year at a previous company, really enjoyed it.

The hardest part was coming back after the 3 day weekend, it always felt like coming back from vacation.

<comment><USER102> If were an a 4 day week I would like to have Wednesday free instead of Friday.

<comment><USER103> I thought so too, but it turned out for me that having a 'break' in the middle of the week interrupted my work momentum, and I also never got the luxurious feeling of a 3-day weekend. 4+/3- worked a lot better for me (both work-wise and emotionally) than 2+/1-/2+/2-.

</comment></comment></comment><comment><USER104> As a software developer, how do I advocate for a 4-day work week in my current and future workplaces?

Can I demand a 4-day work week in my future contracts?

</comment><comment><USER105> I fear this is likely an advantage just a few will have... a lot of folks who are poor with multiple jobs will still have to muddle through.

</comment><comment><USER106> I feel like the "bosses" Should work 4 day weeks. The rest of us would get more done on the 5th day than the other 4 combined.

<comment><USER107> This is the work from home day each week.

</comment></comment><comment><USER108> Wonder how hourly employees who work 4-days weeks at 32 hours would feel about this proposal.

<comment><USER109> If they increase the hourly pay by 20% then probably quite happy.

Edit: 25%.

<comment><USER30> Conversely, I'd accept lower pay for 4x8.

I'm close to financial independence and would rather have my time than more money.

<comment><USER110> > I'm close to financial independence and would rather have my time than more > money.

I'm not close, but I'd still take time over money. I need enough money to live healthy and have a bit of fun sometimes. After that, I just need time and energy to actually live my life.

</comment></comment></comment></comment><comment><USER111> Karl Marx saw it as of vital importance to the workers' health, writing in Das Kapital (1867): "By extending the working day, therefore, capitalist production...not only produces a deterioration of human labour power by robbing it of its normal moral and physical conditions of development and activity, but also produces the premature exhaustion and death of this labour power itself."

</comment><comment><USER112> What companies in the Bay Area have a 4-day work week?

</comment><comment><USER113> Unpopular opinion: It's not 5 days that wear people out but the routines[0].

[0] same commuting, same people, same updates, same stand-ups, same gossiping, same negativity, same office politics

</comment><comment><USER114> I have a regular five-day workweek but to be honest, I work productively only 4 days a week. I find it hard to work productively all 5 days. On the day's I am not working productively, I just pretend to look busy to my manager. It would be nice to formalize this working pattern as a four-day workweek.

Where can I find such four-day workweek jobs?

</comment><comment><USER115> I encourage everybody to work as little as possible, that way the competition for me is lower.

<comment><USER116> Many people optimize for life quality, they are not competing with you

</comment></comment><comment><USER78> honestly would be pretty bad for singles who just want to hustle and make some money to afford plans later in life. i can see the appeal for families to take some time off, but currently there are enough facilities for dad-days and the like (at least, where i am). yes you need to pay for those, as is only fair. If this becomes law i'd guess the 'solution' for a lot of people would be to take two jobs. suddenly these plans dont look so amazing anymore.

<comment><USER117> I don't follow your logic. If you're working 4x8 rather than 5x8 for the same pay (as discussed in the article) you are not losing any money and have another whole day to "hustle".

<comment><USER78> Well, i made a few leaps. I will try to explain. In economics there are no free lunches. That's a pretty basic economic dogma (it might sound extreme to an outsider, but take a 101 class and it's what they will tell you). So you don't really get to have your cake and eat it too. The article's 'proposal' therefore doesn't really make sense. My reaction kind of assumes people already sort of know this, perhaps intuitively. my apologies for not explaining. What pm Medvedev (as mentioned in the article) is proposing is, to me, the only interesting thing to talk about, a reduction of the lawful workweek to 32 hours. Even if he requires (as you propose) the salaries in existing contracts to stay the same countrywide, salaries for new positions will be affected as they can be set by the employer. As for those already employed, well the country is likely to be producing less because of less input (labor productivity being mainly a function of technological progress, ie, it doesnt change in the short term) and thus their trade balance will suffer, because more needs to be imported and less is available for expot. So in the end the rubble will get cheaper to make up for it and the employees get their salary deduction anyways. Whether that is the exact way the price will be paid is not certain, but what is certain is there are no free lunches in economics. Because of the reduction in salary, employees will have reduced spending power. Which is particularly relevant if you are without a partner and/or don't own a house yet. In that case, your best (and only) option to stay competitive might be to take two jobs and work 7 days a week to make up for it. I hope I made my argument more clear now.</comment></comment></comment>


Tell HN: Shutterstock is changing its commission structure - <AUTHOR> // sorry if I'm wrong but I believe that a significant number of tech companies buy Shutterstock's packages or subscriptions
// throwaway because I'm involved with stock image production
Today Shutterstock announced[1] their new payout levels where they now start to reset authors' commission rates every year. Level 1 starts at 15% per sale, then it goes to 20%, 25%, 30%, 35%, and finally 40% per sale after 25,000 sales which most photographers and illustrators will never achieve in a single year.
They are also switching from the $0.25 flat-rate commissions per image bought via subscription packages to a percentage fee that will result in payouts as low as $0.10 per image. And with the aforementioned yearly commission reset, even popular authors are going to receive these miserable royalties during the first months of each year.
In other words, total payouts are going to drop for 50% or more for the absolute majority of authors (who are usually from low-income countries like Ukraine and Thailand). There is no good reason for this except for Shutterstock being a stagnating rent-seeking company in need of higher quarter earnings. Of course there's no way to influence them because the contributors can't simply delete their portfolios from the largest stock platform out there, even if it pays peanuts per sale.
Most authors upload their content to multiple stocks at once, so please switch to any alternative out there to help them earn more (except for Bigstock because they're owned by Shutterstock).
[1]: https://www.shutterstock.com/blog/contributor-earnings-update <comment><USER2> There is a producer platform cooperative, Stocksy United ([https://stocksy.com](https://stocksy.com)), that is competitive in this space. I think the photographer payout is at least 50%; critically, profits are distributed to the producers based upon the revenue they are responsible for. They don't have equity owners.

<comment><USER3> A producer cooperative is a company that is entirely owned by its members, the producers. There are no outside shareholders. One of the important implications of this is that unlike with a for-profit company, where shareholders might be tempted to squeeze out extra profits at the expense of employees, a co-op has no motivation to put the screws to their workers, because those workers are also the owners of the company.

But I'm a little curious about the profit distribution structure you describe. Generally profits are calculated after paying salaries for founders/administrative staff who keep the service running. So you subtract those costs from revenue and then whatever's left is profit/surplus, which gets distributed to the worker-owners according to their contributions.

</comment></comment><comment><USER4> For photos there's also istockphoto (the classic who started micropayments, now owned by Getty Images), and for vectors there's Adobe Stock (where I used to buy when they were still NL-based Fotolia/before they went all-subscription and raised prices). There are also indie type foundries left who haven't bought out to Monotype and who don't insist on draconian analytics to gauge prices but on trust.

</comment><comment><USER5> the problem with trying to find platforms that give more money to contributors is that the big platforms which take more money have more money for marketing. Historically big sites with low payouts have out preformed smaller sites with higher payouts. you need to find a way to both give out more money to contributors but also out advertise the big names to win in this space.

</comment><comment><USER6> Elements.envato.com has moved to unlimited subscriptions. I expect shutterstock is responding.

Sucks for creators but the downward pressure on pricing will give customers more amazing content to use in marketing material.

<comment><USER7> Just a random note, Elements did destroy the Envato marketplaces for authors. I was an author on CodeCanyon (until yesterday), sold an analytics script[0] and earned $65k+ over 7 years now, but since they released Elements they drive all their traffic away from the marketplaces, they no longer care about authors. Yesterday I actually deleted my product from CodeCanyon, it was pretty sad to delete an 8 year old item with 1500+ happy customers and 5 stars rating, but the way they treat authors should not be encouraged.

Just one of many examples of how the authors are no longer respected on the marketplace: Imagine that you launch a paid marketing campaign for your product, you drive traffic to Envato's website on your product page and the first thing the customer sees is a prominent banner promotiong Elements where they get unlimited everything for $15/mo, when your product alone costs $99 (even though your product is not even on Elements).

[0]: [https://www.usertrack.net/](https://www.usertrack.net/)

</comment></comment><comment><USER8> Is there a business opportunity here? Would it make sense to open up a competitor to Shutterstock? How well is Getty doing?

Or has that ship sailed and the service (as it is, anyway) can't grow any more due to having satisfied the market demand?

<comment><AUTHOR> I think it's quite saturated and the success depends on how well you can attract companies who already use some other stock.

Currently, the best-paying stock is Adobe. Getty isn't as bad as "new" Shutterstock but they also lowered their rates years ago. The same portfolio earns 52% at Shutterstock, 25% at Getty/iStock, 12% at Adobe, 6% at 123RF, 5% at four more small stocks.

On Shutterstock more than 50% of sales come from outside the US, so it doesn't seem like there's much room to grow globally. The problem with Shutterstock is being a public company with growth expectations while not diversifying whatsoever.

</comment></comment><comment><USER9> Isn't this inevitable? The number of new things to take photos of is not going to increase that much year over year and digital photos last forever.

The squeeze is going to come simply because at some point there is far more content than buyers.

<comment><USER10> Stock photography has to catch up with lifestyle, technology, fashion, society, culture and architecture, among others. On top of that, stock sites sell news images as well.

So no, there always will be something to be photographed.

<comment><USER11> Sure, there will always be a market for hyperlocal and hyper-relevant stuff, but most of it is fairly timeless. Many of those landscape photos will be good 30 years from now.

Add in that an image competes globally and is infinitely scalable and that is essentially perfect competition with the prices to match.

<comment><USER12> There are trends for what looks good. If you look through some stock photos you can easily spot things uploaded years ago just from the style and quality alone. Just like all UIs are essentially the same thing, but you can tell which era the XP windows decorations came from.</comment></comment></comment></comment>


Russian Scientist Claims Signs of Life Spotted on Venus - <AUTHOR> http://news.yahoo.com/russian-scientist-claims-signs-life-spotted-venus-070321311.html

<comment><USER2> "Let's boldly suggest that the objects' morphological features would allow us to say that they are living."

I would have liked a more in-depth explanation and some photos indicating the morphological features.

This is the only photo I could dig up: <http://i.imgur.com/dfv0m.jpg>

<comment><AUTHOR> I couldn't dig up any additional details re: the photos in question.

Some are claiming the crab-like object in the photo linked to above is a fractured piece of the probe's protective shield. The fully intact probe can be seen here pre-launch: <http://www.myspacemuseum.com/v_venera13i_24.jpg>

</comment></comment><comment><USER3> While he really seems to be a well known scientist, the photo of a "scorpion" [1] is not the best confirmation of his theories.

[1] - [http://www.mk.ru/science/article/2012/01/20/662678-na- venere...](http://www.mk.ru/science/article/2012/01/20/662678-na-venere- nashli-skorpiona.html)

</comment><comment><USER4> Are this the same scientist who thinks the U.S. shot down the last Russian mars probe?

</comment><comment><USER5> Hmm, are this photos the article mentions available to the general public?

</comment><comment><USER6> There has always been life on venus under the clouds. Search for valiant thor.</comment>


DevLocal: Seattle's new coworking space for developers, by developers - <AUTHOR> http://www.geekwire.com/2013/devlocal-coworking-space-specifically-developers-developers/

<comment><USER2> Love the concept. Hope these start popping up in other cities.</comment>


Show HN: ZeroHTTPd: A web server to teach Linux performance, with benchmarks - <AUTHOR> https://unixism.net/2019/04/linux-applications-performance-introduction/ <comment><USER2> Had a quick glance and while the content seems worthwhile I am a little saddened by the code.

There are numerous calls to strcpy() which is a buffer overflow waiting to happen. I know this is not production code but it's just as important. This code is to be used as a learning tool so I think it's important to use correct idioms.

Apologies for nitpicking, but code gets copied, often in a hurry and you get bugs all over the place.

One more comment: in the intro you mention that while the code is mostly tested on Linux, it's likely it works on other Unixes such as Free/OpenBSD. You might want to remind the reader that epoll() is Linux-only (bonus points if you mention the BSDs have something similar called kqueue() :)).

<comment><AUTHOR> Points well taken, marios. Will try and fix strcpy(). Should certainly mention kqueue(), too. Will fix. Thanks.

<comment><USER3> OpenBSD doesn't have sendfile as far as I know so maybe s/Open// there too

<comment><AUTHOR> OpenBSD and FreeBSD do have sendfile(), but args are different compared to the interface presented by Linux. It should be trivial to write a wrapper, though:

[https://man.openbsd.org/FreeBSD-11.1/sendfile.2](https://man.openbsd.org/FreeBSD-11.1/sendfile.2) [https://linux.die.net/man/2/sendfile](https://linux.die.net/man/2/sendfile)

<comment><USER3> That manpage is an import from freebsd, not part of base -- As far as I can see on my system it's not there:

OpenBSD:

        $ man 2 sendfile
        man: No entry for sendfile in section 2 of the manual.

        $ grep -rni sendfile /usr/include | wc -l
           0

FreeBSD:

        # grep -rni sendfile /usr/include | wc -l
              30

edit: typo

<comment><USER4> On Openbsd you have sosplice, which can be used much like sendfile.

<comment><USER3> Oh neat, I had no idea that existed. Will have a play, thanks for the tip!

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> Interesting. Reminds me of when I worked on the Zeus Web Server: [https://en.wikipedia.org/wiki/Zeus_Web_Server](https://en.wikipedia.org/wiki/Zeus_Web_Server)

It was a static content focused poll-based (might have had epoll too) web server written in non-STL C++ which dramatically outperformed multi-threaded Apache. I remember it had a "stat cache" to reduce the number of syscalls made, and a nice set of string classes for passing around substrings of e.g. HTTP headers.

<comment><USER6> I don't think the epoll/kqueue version ever got an official release :(

The syscall reduction was pretty extreme, even down to keeping a shared-memory copy of time() to share across processes. IIRC that was only a benefit for HP- UX/IRIX or something like that...

</comment></comment><comment><USER7> Need a uring based one! [http://kernel.dk/io_uring.pdf](http://kernel.dk/io_uring.pdf)

<comment><USER8> that looks interesting; it would make the project clearer to others to add some title, date, institution or other mark to find project backing, at the top of the doc, and the same with details in the endnotes.

<comment><USER9> he's a fulltime kernel developer and maintainer of the block layer subsystem.

</comment></comment></comment><comment><USER10> Another project in the performance oriented Linux HTTP servers is [https://lwan.ws/](https://lwan.ws/) (using pervasive zero copy), but as far as I know it does not cover a lot of features yet.

<comment><AUTHOR> Never seen this before. Very interesting. Thanks for sharing!

</comment></comment><comment><USER11> Great work! But it should say somewhere which version of HTTP it implements. I guess it is 1.1 and will likely stay so?

<comment><USER12> > I guess it is 1.1

Negative ghost rider, it's hard-coded to 1.0: [https://github.com/shuveb/zerohttpd/blob/master/01_iterative...](https://github.com/shuveb/zerohttpd/blob/master/01_iterative/main.c#L468)

(in reality it's barely even that e.g. it only handles GET and POST methods, discards every header, …, so it's an HTTP server in the sense that it kinda sorta will respond to HTTP requests).

<comment><USER13> So there is no keep alive in these tests including lb to application? Makes sense why the qps is so low on a single core for all versions tested if nginx is having to reopening a new socket each time to zerohttpd. Not sure how useful this is as keeping your connection alive to your lb is important for throughput.

<comment><USER14> Not in all use-cases. If your backend is serving long-lived HTTP streams (big downloads; chunked SSE streams; websocket sessions), it may make more sense to close and re-open those sockets between sessions, since they live long enough to establish TCP window characteristics that may not apply to the session succeeding them (e.g. an interactive-RPC websocket session, reusing a TCP connection previously used to stream a GB of data using huge packets, will start off quite a bit slower for its use-case than a "fresh" TCP session would.)

<comment><USER13> Thats fair, always need to optimize for your use case. I run thousands of small transactions per second so no keep-alive would absolutely kill us.

</comment></comment></comment></comment></comment><comment><USER15> Correct me if I'm wrong, but don't modern web servers often use a handful of threads, and use epoll for each thread? If so, could this be a Part VIII?

<comment><AUTHOR> Yes, IIRC, even Nginx uses the general structure you're describing.

<comment><USER16> So does Apache with mpm_event, which has been around for close to 15 years now.

The fact that you _can_ run Apache in a process pool model doesn't mean you _should_. That mode was mostly kept to support CGI scripts and old style mod_php.

</comment></comment></comment><comment><USER9> Needs peak (not averages) latency measurements

<comment><USER17> Maybe p95 makes more sense than both

<comment><USER9> Not really, with pages loading hundreds of assets (especially when relying on http2 instead of asset packing/image sprites) your single-request 99.5th percentile will become the floor for your mean page load time.

</comment></comment></comment><comment><USER18> Very insightful article. Thanks for putting it together. Looking forward to an update with io_uring.

<comment><AUTHOR> Thanks, navinsylvester :)

</comment></comment><comment><USER19> Heh, you beat me to publishing my own simple HTTP server. Though the one I'm working on is even more dumbed down, only supporting GET to serve prepared HTTP messages from a hash table (this requires a creative interpretation of RFC 7230 to avoid including the _Date_ header which would have to be updated each time).

I very much approve of this tutorial, I remember when long time ago I tried to understand how a web server works, and learned that I need to install Apache, then put stuff in CGI directory, or maybe just use a framework and not have a separate server at all... It was quite confusing for me back then. But the core functionality of a HTTP server is just listen on a port, accept connections, read text, write text.

For anyone interested, I also recommend to read "Unix Network Programming" books; the first part is about actual network programming, the second about inter-process communication on a single computer. For example, the old art of using Unix-domain sockets for TCP or UDP on a single computer (harder to hack by shady javascript in your browser!) seems unjustly forgotten.

<comment><USER20> For a more introductory audience, Ruslan Spivak's Let's Build a Web Server series of blog posts is a great hands-on learning resource

[https://ruslanspivak.com/lsbaws-part1/](https://ruslanspivak.com/lsbaws- part1/)

<comment><AUTHOR> Thanks for sharing this. This is such a great resource.

</comment></comment></comment><comment><USER21> Great article, explains things better than most O'Reilly books.

<comment><AUTHOR> LOL! Thanks :)

</comment></comment><comment><USER22> It would be nice to also compare memory use, which will vary between implementations.

<comment><AUTHOR> That should be pretty trivial to implement with getrusage()

[http://man7.org/linux/man- pages/man2/getrusage.2.html](http://man7.org/linux/man- pages/man2/getrusage.2.html)

</comment></comment><comment><USER23> Awesome comparison, super curious how this would scale out on the current generation of big CPU machines. E.g. Epyc with 64 cores, would threads still perform that well?

<comment><AUTHOR> Would be lovely to get my hands on such metal :) I wonder how Linux thread scheduling scales on multi-CPU machines. To keep things simple, I specifically chose to go with a single-core machine to benchmark all architectures.

<comment><USER24> This might be of interest ?[https://www.amd.com/en/campaigns/packet-epyc- challenge](https://www.amd.com/en/campaigns/packet-epyc-challenge)

<comment><AUTHOR> Thanks for sharing!

</comment></comment></comment></comment><comment><USER25> Needs async IO variant as well...

<comment><AUTHOR> Unfortunately, the current POSIX AIO implementation is done in user space by glibc. That's the reason why I covered poll and epoll. The next logical variant to add would be io_uring.

<comment><USER26> There's kernel AIO as well.

[https://blog.cloudflare.com/io_submit-the-epoll- alternative-...](https://blog.cloudflare.com/io_submit-the-epoll-alternative- youve-never-heard-about/)

<comment><AUTHOR> Oh, wow. Never knew about this. This is most certainly worth checking out.

<comment><USER25> Not to mention the new stuff being hacked on: [https://lwn.net/Articles/776703/](https://lwn.net/Articles/776703/)

</comment></comment></comment></comment></comment><comment><USER27> Notably lacks part VIII, kqueue-based server.

This is because Linux doesn't support kqueue. Got to make do with their pointless NiH syndrome fueled epoll().

<comment><AUTHOR> I've never really done any serious work on anything other than Linux. But I always wanted to try out kqueue(). Even if I don't add a separate section on kqueue(), I think it warrants a clear mention.

</comment></comment><comment><USER28> Very nice writeup!

Although I've noticed that it's written in C. I would suggest educational materials to be written in Rust, unless the topic is very low-level optimization.

That way you can be sure that even if some novice blindly copies your example code, it won't cause any security issues, thus saving you from the liability :)

<comment><AUTHOR> (Glances at the "Programming Rust" book which has been sitting on his desk for months and thinks about writing an indemnification clause in the LICENSE file)</comment></comment>


Show HN: Girl – GitHub README link checker - <AUTHOR> http://bamos.github.io/girl/

<comment><USER2> Rather ironically the link to the Github source page doesn't work unless you open in a new tab.

(The link in the header)

<comment><AUTHOR> Thanks, I'm hosting on a nonstandard port on a server. I put the main page inside a frame hosted on GitHub pages for a better URL, but this broke the links. Fixed now. :-)

</comment></comment><comment><USER3> Maybe it's just me but it would be nice to have a tick or OK or such next to the repos that pass and have no issues.</comment>


PORM: PHP ORM project - <AUTHOR> http://porm-project.org/ <comment><USER2> 1\. ORMs are bad. Don't use them.

2\. PHP has a billion ORMs, and some of them are just as simple as this. It makes no sense to write another.

3\. No Composer compatibility, no support for PSR anything. This is PHP as it was written in 2006. Get up-to-date.</comment>


Interview With Steve Huffman From Hipmunk  - <AUTHOR> http://lambdaphant.com/blog/interview-with-steve-huffman-from-hipmunk

<comment><USER2> In the article he stated that they're currently using Python, I wonder if they're using Django, Pylons or something else?

<comment><USER3> The article also mentions Tornado, so they're probably not using Django. (It's totally possible - just unlikely.)</comment></comment>


DSVPN – VPN using TCP at port 80 and 443 - <AUTHOR> https://github.com/jedisct1/dsvpn <comment><USER2> > WireGuard doesn't work over TCP.

I see this repeated in a lot of places about WireGuard but is there anything wrong with UDPTunnel ([http://www.cs.columbia.edu/~lennox/udptunnel/](http://www.cs.columbia.edu/~lennox/udptunnel/))?

Why would one prefer this instead of WireGuard + UDPTunnel?

<comment><USER3> There's also udp2raw-tunnel: [https://github.com/wangyu-/udp2raw- tunnel](https://github.com/wangyu-/udp2raw-tunnel)

It allows you to tunnel UDP over a fake, non-lossless TCP connection. That is, it wraps packets in TCP headers to make them look like TCP to firewalls, but it doesn't actually implement TCP; instead, each "TCP" packet corresponds to one UDP packet, and it makes no attempt to resend dropped packets. This way you avoid the problems with TCP-over-TCP.

<comment><USER4> If you're going to pretend to be TCP, you probably need to look like TCP to middleboxes. When we investigated this a few years back, we found that on port 80, only 85% of the client locations we tested would pass TCP if there were holes in the sequence space. In fact this heavily influenced the design of Multipath TCP (MPTCP). The paper is here, relevant section is 4.3: [https://conferences.sigcomm.org/imc/2011/docs/p181.pdf](https://conferences.sigcomm.org/imc/2011/docs/p181.pdf)

<comment><USER5> ctrl-f "seq"

In FakeTCP header mode,udp2raw simulates 3-way handshake while establishing a connection, _simulates seq and ack_seq while data transferring_.

        --seq-mode            <number>        seq increase mode for faketcp:
                                              0:static header,do not increase seq and ack_seq
                                              1:increase seq for every packet,simply ack last seq
                                              2:increase seq randomly, about every 3 packets,simply ack last seq
                                              3:simulate an almost real seq/ack procedure(default)
                                              4:similiar to 3,but do not consider TCP Option Window_Scale,
                                              maybe useful when firewall doesnt support TCP Option

\--seq-mode

The FakeTCP mode does not behave 100% like a real tcp connection. ISPs may be able to distinguish the simulated tcp traffic from the real TCP traffic (though it's costly). seq-mode can help you change the seq increase behavior slightly. If you experience connection problems, try to change the value.

</comment></comment></comment></comment><comment><USER6> It's cool but the author's motivation doesn't make sense.

OpenVPN was too hard to setup so they decided to write their own VPN from scratch? It's cool as an academic endeavor but by actually using it, they not only tossed out all the years of security work and the audits OpenVPN has gone through but also spent a ton of time creating something that they now will have to personally maintain.

<comment><USER7> OpenVPN is more than just hard to setup, it's legitimately absurd and the documentation isn't even close to navigable.

<comment><USER8> I'm glad it's not just me...

I've tried 3 separate times now to set up the necessary pieces. I get all the way to the end and it just... doesn't work. And I'm just not a good enough network engineer to sniff out why.

<comment><USER9> A lot of people in the low-end VPS community use this [1] -- and I've used it ever since. The installation script just works. Adding a new user? Run the script. I don't think we're alone in the struggle.

[https://github.com/Nyr/openvpn-install](https://github.com/Nyr/openvpn- install)

<comment><USER8> Thanks for the resource! It's always a pet project to try and set it up, so I never researched any install helpers very heavily. I'll definitely try this next.

</comment></comment></comment></comment></comment><comment><USER10> 3 source files, amazing. This is a great opportunity for folks to learn more about implementing a VPN.

I'm planning to re-implement it in rust (to learn from) and then contribute to Wireguards rust effort.

</comment><comment><USER11> I automatically cringe and walk away when I see tcp over tcp. I've been bitten by it too many times. Someone correct me if I'm wrong, but it's fundamentally incorrect and is pretty much guaranteed to devolve into pathological cases.

<comment><USER12> Here is what the author of DSVPN says in the readme about that: « _TCP-over- TCP is not as bad as some documents describe. It works surprisingly well in practice, especially with modern congestion control algorithms (BBR). For traditional algorithms that rely on packet loss, DSVPN couples the inner and outer congestion controllers by lowering TCP_NOTSENT_LOWAT and dropping packets when congestion is detected at the outer layer._ »

<comment><USER13> This is wrong. BBR still does retransmission if packets do not arrive on time, and any retransmission in the inner TCP stack automatically becomes badput that wastes the outer TCP stack which is likely at the same time also doing retransmission for packet losses at lower layer.

TCP_NOTSENT_LOWAT is not a solution to this either. It is a solution for HTTP/2 to be more aware of the congestion state and prioritize traffic properly, which itself does not do retransmission. It makes the buffer smaller so congestion is reported to upper layer earlier but still much later than when the actual congestion happens, distorting the upper/inner TCP congestion control. Also, a 128KiB value is hardcoded here for this knob, effectively rendering it only useful for a bandwidth delay product of 5Mbps * 200ms RTT.

<comment><USER14> I've noticed a pattern where crypto people don't seem to understand the edge cases of tcp congestion control, so I agree that this workaround is suspicious. Of course, it's better than no VPN if your UDP is blocked. I like sshuttle's way better (but I'm biased).

However, it's not broken in the exact way you're thinking. TCP_NOTSENT_LOWAT is diffent from TCP_LOWAT. The latter would imply a hardcoded bandwidth-delay product. The one they're using is a margin on top of the bandwidth-delay product, which mostly just depends on a fast enough CPU. They're using a surprisingly high value for it though.

</comment></comment></comment></comment><comment><USER15> > Uses only modern cryptography, with formally verified implementations.

That's a bit light on details. Does it have hardware acceleration? Replay attack protection? Perfect forward secrecy? What are the underlying algorithms? Implementation verified by whom?

> Small (~25 KB), with an equally small and readable code base. _No external > dependencies._

This looks cool, however I don't like the fact that it doesn't use a trusted crypto library such as libsodium. It is likely to get less review and if weaknesses are detected in the algorithms, it is less likely to be improved.

<comment><USER16> > This looks cool, however I don't like the fact that it doesn't use a trusted > crypto library such as libsodium. It is likely to get less review and if > weaknesses are detected in the algorithms, it is less likely to be improved.

That's somewhat amusing given that the author of dsvpn is the author of libsodium.

<comment><USER17> all the more reason for dsvpn to use libsodium!

</comment></comment></comment><comment><USER18> Reminds me this: [https://github.com/unbit/vpn- ws](https://github.com/unbit/vpn-ws)

Too bad that it never evolved further.

</comment><comment><USER19> > Maybe:

> * Support for multiple clients.

As long as it doesn't support multiple clients that can connect to each other, it's more of a proxy/gateway than a VPN.

</comment><comment><USER20> > OpenVPN is horribly difficult to set up.

OpenVPN is dead easy to setup with a shared secret, and it can work over TCP in pretty much the same way.

<comment><USER21> While I don't think setting up openvpn is "difficult", in the sense that it's a hard problem to solve, I would definitely not go as far as to say that it is "dead easy".

Setting up openvpn is definitely involved[0]. And I think being concerned that you've configured something incorrectly is a real issue, especially when it comes to security.

[0] [https://wiki.archlinux.org/index.php/OpenVPN](https://wiki.archlinux.org/index.php/OpenVPN)

<comment><USER22> But you would trust this toy project in terms of security? The point of something like OpenVPN is that all security cases and bugs are worked out already, and there is tons of information for all use cases, and everything is already polished.

Sure you might need to learn some new configuration options, but you won't just use them in this project, they will serve you for the rest of your life for all possible VPN usage cases.

<comment><USER20> The more complex the project, the less secure it is.

</comment></comment></comment></comment><comment><USER23> > WireGuard doesn't work over TCP

Can somebody well versed explain what the difference between TCP and UDP in this case? I obviously know what these are, I just don't understand why it's such a debatable choice applied to VPNs.

<comment><USER24> 01CGAT's link sums it up as: TCP is not designed to be stacked and doing so results in the exponentially increasing retry timeout feature, used for reliability optimization of the protocol, conflicting to provoke excessive retransmission attempts by the upper layer TCP.

The detailed explanation is in the linked article: "Why TCP over TCP is a bad idea"[0]. It was broken for me so I dug up an archive.org copy.

The upper layer transmission control and and retransmission attempts are completely unnecessary as transmission is already guaranteed by the lower layer TCP. The upper layer TCP, unaware of TCP underneath and having an increasing timeout on acknowledgment failure, can begin to queue up more retransmission than the lower layer can process increasing congestion and inducing a meltdown effect.

Explained better here: [0][https://web.archive.org/web/20190531210932/https://sites.ink...](https://web.archive.org/web/20190531210932/https://sites.inka.de/bigred/devel/tcp- tcp.html)

<comment><USER25> mind you that this is not only applicable to any VPN setup, but any tunneling or overlay protocol.

<comment><USER26> It's applicable to any tunneling or overlay protocol that encapsulates TCP in TCP.

</comment></comment></comment></comment><comment><USER27> What's the significance of emphasizing port 80 and 443? You can assign basically any ports to any application. If some firewall blocks all traffic but 443, you can configure the service yourself to listen on 443.

<comment><USER28> 443 is a nice default since it's the most likely port to be both unblocked and left alone by middleboxes. But I agree that it's not exactly a unique feature. "DSVPN - Dead Simple VPN over TCP" would have been a better headline

</comment></comment><comment><USER29> Is openvpn really that hard to set up? I don't remember having any issues just tweaking the default config file. If you want tcp 443 you just:

      port 443
      proto tcp

Is that really too hard?

</comment><comment><USER30> I wonder how it fares compared to VPN over ssh, [https://help.ubuntu.com/community/SSH_VPN](https://help.ubuntu.com/community/SSH_VPN)

<comment><USER31> When it comes to simplicty, DSVPN beats it.

</comment></comment><comment><USER32> But does it look like SSL traffic? That's the problem with OpenVPN, it's quite easy detect. For restrictive environments I much prefer Ocserv (uses OpenConnect/AnyConnect protocol) or mirosoft's sstp protocol.

I was back in Dubai recently and sadly WireGuard didn't work, so I had to use OpenConnect, which while doesn't have the connectionless-like behaviour of WireGuard atleast worked.

<comment><USER33> [https://en.wikipedia.org/wiki/SoftEther_VPN](https://en.wikipedia.org/wiki/SoftEther_VPN) > Firewalls performing deep packet inspection are unable to detect SoftEther's VPN transport packets as a VPN tunnel because HTTPS is used to camouflage the connection.

<comment><USER32> Exactly. SoftEther is also one of the only linux servers I know of that can do Microsoft's SSTP protocol, which is convenient since it's built in to Windows and looks like HTTPS. I'm not sure SoftEther's own SSL protocol is widely used, or it's more used for site-to-site.

</comment></comment></comment><comment><USER34> Or you could encapsulate OpenVPN inside stunnel to make it indiscernible from regular HTTPS traffic

[https://www.perfect- privacy.com/en/manuals/linux_openvpn_ste...](https://www.perfect- privacy.com/en/manuals/linux_openvpn_stealth_stunnel)

</comment><comment><USER35> That's a great tool. Easy to use and really robust in daily use. thanks for writing ;-)

</comment><comment><USER36> A simple noob question: in this context where I want to access a private remote machine, what are the advantages of a VPN (let's say over TCP, I don't know if it matters?) vs. a simple ssh tunnel?

<comment><USER37> I think that really depends on whether you need all traffic routed through the tunnel/vpn and what else you were trying to accomplish. For just basic system access there isn't much advantage to vpn, but it would really depend on what you're trying to accomplish (keep people out? Just secure your connection to another machine? Etc.).

</comment></comment><comment><USER7> >Doesn't perform any heap memory allocations

That's fascinating, I wonder how they managed that (unless they used cheats like sbrk of course).

<comment><USER38> `sbrk` modifies the heap [0].

[0] [https://linux.die.net/man/2/sbrk](https://linux.die.net/man/2/sbrk)

<comment><USER7> Oh right I was confusing it with alloca() [http://man7.org/linux/man- pages/man3/alloca.3.html](http://man7.org/linux/man-pages/man3/alloca.3.html)

</comment></comment></comment><comment><USER39> > Blocks IPv6 on the client to prevent IPv6 leaks.

No IPv6? That's a no.

</comment><comment><USER40> Any plans for a version on Windows?

<comment><USER41> Seems like it's a personal project, and the author is absolutely ruling out supporting anything he doesn't like, including anything peripherally related to systemd, which seems a bit childish to me; but heh, it's not _my_ work.

<comment><USER42> How is not doing something you don't want to do childish? Is it childish go to Barcelona instead of Paris on holiday?

<comment><USER43> > How is not doing something you don't want to do childish

Actually that's kind of the definition of childish isn't it? Being an adult is often about recognizing you need to do things you don't want to do.

<comment><USER42> He's a developer who doesn't feel like doing something. It's childish to expect him to do what YOU think he should be doing, isn't it? Why should he? It's his project - he doesn't want to do it, doesn't have to, doesn't owe anyone anything? I don't get this at all. Shifting change in society's attitudes, maybe? It's not enough to take someone's work for free; now there's an obligation that he answers to a higher power - anyone with an internet connection?

<comment><USER43> > He's a developer who doesn't feel like doing something. It's childish to > expect him to do what YOU think he should be doing, isn't it?

If we're being asked to care about this developer's project, then I don't think it is unfair at all to criticize. Let me see if I can explain where I'm coming from with a short play representing many, many real dialogs I've had and read in my years of computing:

Evangelist: "hey, you should use this thing I made!"

Me: "No, it doesn't seem to do what I want."

Evangelist: "You don't really need that anyway..."

Me: "No, I really do."

<20 minutes of pointlessness later>

Evangelist: "It's wrong of you to criticize all this hard work I've given you for free!"

Me: "I didn't ask for it!"

So maybe too many years of dealing with open source software evangelists has lead me to assume that anyone posting a project like this is doing so in this vein.

</comment></comment></comment></comment></comment></comment><comment><USER44> no one could have predicted this!

</comment><comment><USER45> Again, no Windows support. The code base isn't that big though, maybe it's the time to implement one myself.</comment>


Talking to Duplex: Google's phone AI feels revolutionary - <AUTHOR> http://www.osnews.com/story/30527/Talking_to_Duplex_Google_s_phone_AI_feels_revolutionary <comment><USER2> It would be interesting to learn how many jobs could be replaced with this type of service.</comment>