How do you make programmers work 60-80 hours per week? - <AUTHOR> http://brianknapp.me/programmer-60-80-hour-weeks/ <comment><USER3> I seem to be alone in this, but I actually do about 25-30 hours of actual programming work each week. And that's sit-down-and-concentrate-and-build-shit work. I'm pretty ruthless about declining extraneous meetings and I keep my door closed most of the time.

I think it's reasonable to have 25% of a 40-hour week be for meetings, helping other people, eating lunch, sitting in on interviews, and learning/trying out new things.

And yeah, 25-30 hours is probably a maximum, and it needs to be done in three- hour chunks at a minimum. As a manager you can _easily_ destroy that by allowing an environment where a solid three-hour block of time never happens for a dev.

<comment><USER4> Do your worst, skeptical HN, but I swear on my life I've been maintaining more than 80 hours of ridiculously productive, focused coding time per week, for about a year. It so different when you love and believe in what you're working on. I literally can't wait to get out of bed and start working, and the entire day goes by before I notice. The thing I'm working on is a sheer joy to work on, and the conditions are ideal. I'd wager the inability to focus for N hours is related to the stress of having to force yourself to focus on something you wouldn't be focusing purely for the sake of it.

<comment><USER5> You need to be thinking of a career of 30+ years rather than a 3 year sprint.

It's cool you're spending your time producing, but don't forget you need to take care of yourself and hone your fundamentals (linear algebra, data structures, algorithms, your field).

<comment><USER6> Well... As pg mentions in one of his essays: the startup game is about getting the rewards of a 30 year career out of 4 years. If you truly believe that you are building something that matters and you are going to win, 80 hour weeks make a lot of sense.

<comment><USER7> As pg doesn't mention though, statically you won't reap "the rewards of a 30 year career out of 4 years" regardless of how hard you work and whether you "truly believe that you are building something that matters and you are going to win".

</comment></comment></comment></comment></comment><comment><USER8> I both agree and disagree with the premise that programming is a creative process. Donald Knuth calls programming "an aesthetic experience much like composing poetry or painting." The most creative work can be done when it's not clear if something will work or not, that is it might fail, and it requires the ambition of a mad scientist to succeed. The individual programmer must have autonomy and not be micro-managed or ruled by a committee, otherwise they will resort to being creative in ways that are petty and insignificant, like naming conventions, syntax formatting, arbitrary rules, etc.

99% of programming jobs are not creative jobs. Most problems aren't that unique, and most programmers work within well-established boundaries and frameworks. Step out of line or take unconventional risks, and you may find yourself unemployed. This is not necessary bad, it brings stability, but also stagnation (it is why enterprise IT culture is so soul-draining, from first- hand experience). Not only enterprise but many startups operate this way. There is overwhelming cognitive bias towards doing what other people are doing, which will only lead to the same results.

</comment><comment><USER9> A: you hire young one that have no idea what they're doing and jump into problems both feet without thinking a path ahead

and for every programmer claims to work that much, you also get two of them complaining on the costant shit the overworked one produces and have to fix strange bug half their time

eventually the software becomes a mess of tangled issues and advancement grinds to an halt irregardless of amount of time spent

<comment><USER10> My last job was exactly that. I was dropped in as an almost-30 year old, working with young 20 year olds still in school.

I was fired a few months later, with the main reason being that I usually left the office 9 or 10 hours after coming in and only occasionally worked the 12+ hour days that the rest did.

With a small codebase and self contained projects, I can't really say quality suffered. Only the employees.

<comment><USER7> > _I was fired a few months later, with the main reason being that I usually > left the office 9 or 10 hours after coming in and only occasionally worked > the 12+ hour days that the rest did._

Such practices are illegal (or at least frowned upon) in most of the civilized world.

<comment><USER11> _> Such practices are illegal (or at least frowned upon) in most of the civilized world._

It's called "employment-at-will", and it's not that uncommon.

</comment></comment></comment></comment><comment><USER12> The "IPO-ing will make me exceedingly wealthy" scenario is certainly one way to get an 60-80 hour work week.

The other is to be in a business that the employee is passionate about for intrinsic reasons. If the employee is a "true believer" in the company's mission, that can be a motivator to go above and beyond.

Using technology and/or techniques that the employee is interested in learning can be a useful driver. Someone who wants to learn machine learning, for instance, will put in the extra hours if they're given a chance to do it at work while working on a project. Granted it's not a way to get 80 hours from an expert in the field.

Another is to give an employee a great degree of freedom or responsibility in a particular role, and emphasize its importance to the company. Giving a programmer absolute technical authority over a critical project, with high visibility, can motivate them to go hell for leather for a few months.

Ultimately I think working 60-80 hour weeks over the long term, for any reason, will cause burnout. But you can get some short-term boosts if you align the employee's passions with your business needs.

<comment><USER13> Yeah, I hear a lot of people saying essentially "40 hours is the most anyone can be productive for in a week". My more realistic rule of thumb is that people can tolerate maybe 20-30 hours of doing things they don't intrinsically care about.

So, if you give a shit about 20% of your job, and your job tolerates you doing personal stuff (slash miscellaneous browsing) for a few hours a week, then sure, 40 hours can be sustainable. On the other hand, if this job is your passion, work is stimulating, and you've got things you feel positive ownership over, then having 60-80 hour work weeks isn't necessarily unhealthy (so long as you're aware if and when those drives start to dwindle).

The other upshot of this theory is it dismantles argument that side projects hurt employees' productivity. The extra time spent pursuing your own passions simply isn't draining in the same way implementing others' ideas is. If anything, it adds motivation to the day-to-day stuff, knowing you'll learn skills at work that help the side project you really care about.

</comment></comment><comment><USER14> My first programming job (actually, just my first job) was technically a 40 hour/week job, but in the employee handbook it said something along the lines of: "The <company name> day is typically regarded as 8AM to 8PM." They didn't pay very well either. Brian is right, I totally hated my job, hated my boss, hated pretty much the entire company, and quit in 5 months. I was pretty disappointed. I'm still cautious about getting back into the industry. I'm at school now, not studying anything CS related.

<comment><USER15> > "The <company name> day is typically regarded as 8AM to 8PM."

correct me if I'm wrong, but usually such statement means that you can choose your own 8 hour timeframe to work. So you can work 08 AM - 4 PM, or 11AM - <USER2> PM, or whatever. It is not expressing expectation of 12h workday.

<comment><USER16> That's how I would take that too. It sounds like it's okay to come in at 11 as long as I work until at least 7 pm.

</comment></comment></comment><comment><USER17> If you _need_ your employees to work 60-80 hours per week, you need to evaluate your business plan and if it's actually viable.

<comment><USER18> In case an employee has little overhead, get 2 "part-timers" and let them each work 30-40 hours per week. And cut all other distractions where possible.

<comment><USER19> I'll never work in a place that considers 40 hours "part time".

</comment></comment></comment><comment><USER20> Answer:

Be in America where employees are close to slaves, and people are scared of losing their job, so you can force them to do these kinds of atrocious things.

My brother lived and worked in North America for 7 years before returning to Australia. He'd been in Australia for a few months when I asked what the biggest change was. He didn't say no snow, he didn't say driving on the wrong side of the road, food or attitudes.

He said in North America people are scared of and slaves to their jobs because of Health Care, student loans and debt in general, where-as in Australia employers are thankful to employees, and nobody is scared of their job.

I think it's a powerful statement when it's the most noticeable difference after 7 years.

<comment><USER21> Nobody outside of NA are scared of loosing their jobs, is what you believe, because of how enslaved to the system Americans are?

Households in Sweden take on heavy debt. If we loose our jobs here some of us fall back for a while on a (voluntary) system which from an angle looks like a basic income but that cover only a fraction of that household's mortage, enslaving us to a system in the same way Americans may seem enslaved in their.

I always though Americans were used to and didn't have a lost sence of security when job-hopping, the way their employment system is designed.

Edit: clarified the opt-in nature of such an insurance

<comment><USER20> > _Nobody outside of NA are scared of loosing their jobs, is what you believe, > because of how enslaved to the system Americans are?_

I didn't say _nobody_ , and I didn't say _everywhere_ outside America. Don't exaggerate what I said.

I used an example that Australia Vs. America is a vast difference.

In my experience (and that of my brother), Americans not having maternity leave, sick leave, decent holidays etc. and having student debt and health care tied to their work means they are treated much more like slaves than in other high-performing OECD countries.

I'm curious about Sweden now.

\- When one does lose their job in Sweden, what happens when you break your leg next week? or get cancer?

\- How much student debt to those in Sweden incur for a 4 years bachelor degree?

\- How many weeks of leave does Sweden mandate by law from full-time work?

\- How about maternity leave and sick leave?

<comment><USER21> >Don't exaggerate what I said

Alright then.

>When one does lose their job in Sweden, what happens when you break your leg next week? or get cancer?

Care for children is always for free in all clinics except private ones. Care for the rest of us cost 30 EUR, no matter if you have a job or not. There is an upper roof of how much your yearly medical bill is. This roof stays the same if you have a job or not. I have it that roof a couple of times but never for acctual medicine bills, so I don't know exactly how it works for medicine, but doctor bills, the upper roof is 10 doctor visits for 30 EUR then a year of no doctor bills.

Many have extra insurance to conver for events where you loose your ability to work.

>How much student debt to those in Sweden incur for a 4 years bachelor degree?

One part of the debt you take on you never pay back. That part is like a carte blanche check that students get to spend on whatever education they like, at University level. Second part is a loan. Some work part-time while at University and others hit the roof which would be something like 17 semesters and 17*2000=34K EUR. Then you start paying that back as soon as you take on your first job but never over ~1% of your income.

>How many weeks of leave does Sweden mandate by law from full-time work?

5 weeks. Many have 6 weeks. You can get those in money instead of as vacation. 4 weeks is around a months pay.

>How about maternity leave and sick leave?

Everyone have sickleave. First day: no money for you, poor sick fellow. Next day its around 70% of your pay. If you are chronically ill a special incurance takes care of you, puts you in early retirement.

All mothers: around 300 days of leave per child. You get goverment money during those days. All fathers: minimum is 3 months I think? They can also use some of the mother's days.

<comment><USER20> Thanks for the detailed reply, I appreciate it.

As a thought exercise, answer all of my questions above for the USA, comparing the answers to those you gave for Sweden.

Now you know why I said workers in the USA are akin to slaves compared to high-performing OECD countries.

<comment><USER21> Yes, in Sweden we have laws that protect the employer to a much higher degree and we also have a very static work force. You can easily go this route: learn something, get a job, don't steal or do anything criminal, keep that job until you die or get replaced by a robot. And many do. And get very anxious at the prospect of ever changing occupation because of their mortage. I job-hop alot though (without anxiety, because I'm in demand).

I thought the American system would at least to some degree make job-hopping a non-issue, giving you a much more flexible work force, not anxious, since the fact that you can get fired and have to leave the same day goes both ways. But perhaps that worry comes from not having any type of security nets where we have at least a few. So sure, I see where you come from when you say an American employee is a slave to the corporation that gives him health insurance. He can hop only to other employers with health insurance. He will have less options than me.

We are healther in Sweden, perhaps, but slaves to the money system like everyone else.

<comment><USER22> I think you mean employee (arbetar), not employer (arbetsgivare).

<comment><USER21> Yes you are right. I mix up those to.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> If an employer is expecting this, they are setting themselves up for failure.

> No programmers really work 60-80 hours a week, especially in a 5 day span

There are cases when we are required to deliver athletic/marathon-like performance and it can be achieved for a shorter timespan

I have worked on multiple occasions, 14-16 hours per day to achieve 98-100 "productive" hrs per week, working 120 hrs a week for 3-4 weeks. I know it was productive, because I installed time-tracker and used a personal notepad too to track my time. I was invisible to my family, sleeping just 4-5 hours a day and sometimes I could not sleep after the first week. Also note, doing this as a freelancer I was getting paid for all that extra time - and I have a premium price attached for quicker results. I would not recommend doing this if you are being paid peanuts or being paid regular rates because that opens up a world of abusive managers/biz-owners.

</comment><comment><USER24> When I really like the work that I am doing and there are some real challenges, I can get up to 6 hours of work done before I have to take a break for a few hours. Not every day, but 2-3 days out of 5. It means that there is no point in making an appearance before 10 am or working past 4 pm. But when I am really smoking I can put in another 2-4 productive hours in the evening after 7 pm or so.

Of course, few employers understand this kind of work pattern, and most of them prefer having a developer spend more time in the office, even though it results in less productive work getting done. This is often enforced by people who are unable to correctly assess technical skills or the outcomes of technical work. Since they have no clue who is competent and whether any of the work output is usable, they compensate by forcing people to spend more time doing useless activities that they can assess. Like sitting at a desk, having meetings, raising an issue and setting up a meeting of stakeholders to discuss how to solve that issue. Many of us have to work in environments where these enforcers create a lot of churn to make it seem like the enforcer is a valuable member of the team.

I suspect that there are more such useless people in the workforce nowadays because companies no longer try to hire good competent people who will work for one company their entire career. As a result, there is nobody in the company long enough to identify and get rid of incompetents while at the same time, the truly skilled people give up and find a new opportunity every 2 to 3 years.

By the way, the incompetents that I talk about are not skilled developers who make a mistake or two, or who get stuck in ratholes solving the wrong problem. I am referring to the people that are weeded out with fizzbuzz. Unfortunately there is no fizzbuzz for project managers, business analysts and a whole range of other support roles, including managers.

So my take on how to get developers to work at a high level of productivity is to make the environment excellent. Get rid of the people who waste other people's time. Cut way back on meetings and replace them with a good ticket system and some people who make sure that tickets are properly sized with clear requirements including context and acceptance criteria. This pretty much means a mature Agile shop. Focus on all the stuff around the developers and make sure that the retrospectives are as brutally honest as possible, and follow through on fixing problems that are brought up in the retrospectives.

<comment><USER25> The danger here is that this ideal environment created requires external meaning and tasks. Exploratory movement is messy, painful, and inefficient. It often requires you to learn new things on the fly and punishes severly for understandable mistakes.

Most of upper management and management involves strategic plays. Exploring a jungle, trying to find treasure, and doing so while other tribes are out there to kill you. Allies can become enemies and vice versa. Reality is cruel.

Triabl power is amassed through followers, and one of the best perks you can provide for followers is meaning. A cultivated environment where they can do what they want to do and is often what they do best. The messiness of dealing with what makes them feel like fools is hidden away.

The end result is that strong tribes (also known as insitutions or movements) can deploy "happy" specialists defeating other tribes, be it seige mechanics, hackers, or priests. The specialization is possible because they are shielded.

This specialization defines the middle class. Comfort within a bubble. A bubble that depends onthe existence of the institution or tribe they subscribe to. The overspecialization that is a strength ONLY as along as the rules don't change. The disruptor unwittingly becoming the disruptee. Twitter giving rise to Trump.

</comment></comment><comment><USER26> I think it follows from Brian's point that only founders may ever put in that much work, maybe very early employees; as he said, the trick is to be painting your own house...

Having said that, I completely agree that long hours are overrated and maybe unhealthy. Burnout will follow. Everyone has to recover. Such long stints can only be kept up for so long!

<comment><USER27> Is that true? I avoided ever joining startups because I assumed everyone worked 60 hours every week.

<comment><USER28> To an extent, yes.

However, I would say typical early stage startup work is 55 hours/week.

Basically 10 hours day through the week, and a couple hours on the weekend.

<comment><USER27> What's your experience on the average workweek for mid/later stage startups?

<comment><USER28> Again, n=1 but I've experienced and have friends who have experienced around 50 hours/week for mid/later stage startups.

The stress is lower because you usually have more cash flow or significant rounds that make the work more enjoyable and you have a better comfort of working overall.

</comment></comment></comment></comment></comment><comment><USER29> This sounds true to me, but it would take a very uncommon executive to put it into practice. MBA types won't do a thing without quantitative data behind it and attempts to measure real productivity in creative fields usually turn into meaningless self-fulfilling prophecies. I wonder what it would take to break the dogma of the 40-hour week?

<comment><USER30> Running teams of contractors for years, I disagree it's uncommon. I let my guys do whatever they want as long as the work is being delivered.

Sometimes I have to have a standoff with some salaried dragonwoman or other who takes offence but that's on me and doesn't run downstream \-- as long as everything is being done why should this be a problem?

Productivity drops when you force people to work outside their peak schedule and as soon as you force school rules you immediately deteriorate your relationship with a subordinate because you're saying you don't trust them from the outset.

Someone takes the piss then reign them in. Starting from that position makes you a bad boss and an unhappy team is much less likely to scrape across the finish line each sprint than one who isn't...

<comment><USER31> > Running teams of contractors for years, I disagree it's uncommon. I let my > guys do whatever they want as long as the work is being delivered.

I agree with this statement. I would amend it to say "As long as the work _they signed up for_ is being delivered."

<comment><USER30> Who is 'they' in that case? They for me is whoever is paying us to help them with their business.

If it's the contractors/team members then no. Ive unfortunately had several highly paid (4 figures uk/day) contractors who think themselves above certain tasks, or who refuse to do anything they didn't agree with who seem surprised when they get told to fuck off.

You're an overpaid contract dev and you're refusing to implement your points because you disagree with the architecture even after it was discussed fully, while on a k a day? Fuck those ballerinas. They won't be getting more work with us then.

We are there to help a business achieve a goal, nothing more.

<comment><USER32> I downvoted you for arrogance. You obviously think your are better than those you "manage." Are you technical? Can you sling assembly? Ok, what about C? C++ maybe? I'm guessing you can't do any of that. Can you back up your talk?

<comment><USER33> Sounds like a good boss to me, and I know good bosses. Sounds like he doesn't have a lot of time for the kind of prima donna architecture astronaut who can't convince anyone else on a team that he's worth listening to but wants everything done his way anyway. Shall I tell you what you sound like right now?

</comment></comment></comment></comment></comment></comment><comment><USER34> Still trying to apply manufacturing or construction work practices to IT in 2017.

The people of talent and intelligence, like poets and writers, work due to their own vision and inner values to make money as a by-product of their chosen occupation.

Coding factories would inevitable fail like any other kind of a manual labor sweatshops.

To make intelligent people do their best (intelligence implies that this is the only way they approach any task) is to motivate them for the cause. Any kind of naive manipulation, primitive deceptive practices and employee-morale bullshitting would surely fail with reasonable smart people.

There is an economic law - a forced labor is not productive and it produces a lowest quality crap the whole system could get away with. That's why communism failed.

</comment><comment><USER35> I find the numbers somewhat off compared to how it is where I work. We are a small team mostly working remotely.

I would estimate that my team puts in (per person) on average about 5-6 hours per day writing code. About 2 hours go to emails, daily meetings, demos and architecture discussions etc.

I have very few interruptions during the day and usually 1-2 meetings pre- scheduled that are 30 min in duration each.

My phone is usually on silent for all notifications except calls and I turn off email as well when I need to focus. I take a short 5 min break every 45 min or so. I avoid HN/Facebook etc during the work day.

There is very little stress, we work towards a defined goal and have daily updates on the progress and what everyone focuses on. Deadlines are very rare.

</comment><comment><USER36> Fully agree on the office hours aspect of it, but not necessarily on the "you can't get your best work done by someone else's specification" aspect. Either I'm missing some point, or this sounds rather egocentric to me. What is "good work"? Beautiful code? Difficult code? Or is it code that is actually of utility? I'd argue the third. If your code isn't doing anyone else any good (and hopefully enough people to make it a viable business and thus "work". And if your code is supposed to help anyone else, you have to build it to someone else's specifications, implicitly or explicitly.

</comment><comment><USER37> I somewhat agree with the author, but I have some comments.

I do agree that programming is a creative profession and that creative "energy" is limited to just a few hours per day/week.

However, most programming doesn't require constant creative insights. Even if you have to be creative (IE thinking of fancy features/implementations or something yourself) the most time is spent actually writing code.

I tend to think of something (requiring intense creative energy), planning what I'll be doing and when my creative energy is lower or I have plenty of planned work, I actually execute these plans. Writing code based on earlier made plans requires little creative energy usually. Additionally, the "executing" phase usually takes many times longer than planning.

For me, for a 40 hour work week, about 8 goes into planning, 24 goes into actual programming and 8 goes into useless meetings/e-mails/blablabla. Then I have creative energy to spare on my side projects for about 20h/week.

Tbh, I did spent a lot of time figuring out how to optimise workflow privately and professionally, figuring out why sometimes I could get stuff done and sometimes I couldn't. A separation of "creative time" and "doing time" helped a lot.

<comment><USER38> Implementation may be strictly mechanical if you have everything planned out NASA-binder style, but surely there'll still be a need to adjust the plan from time to time? Then there's debugging and maintenance, both of which may not require all your creativity all the time, but if you're creatively sapped, you're walking into it with a few tires already slashed. At least that's what I've found in my own experience. It's not that you have to be creative constantly, it's that you have to be able to summon up the capacity to be creative at any given time.

</comment></comment><comment><USER39> That how I would maximize developer productivity (but NOT working hours) if I owned a company:

\- Let them work at home, at _any_ time they want. Just reserve some hours for meetings or stand-ups if you want. Don't control the hours, control that the tasks are progressing.

\- Open source parts of the codebase, let the developers own some modules or components on their github accounts. This way the quality of the code will be a personal matter to them.

\- If shit goes down or hard deadlines approach (this happens) pay overtime and do a post-mortem analysis of what happened but DON'T turn that into a blame fest just cold analysis because most often than not its random factors of life (downtime for family or health reasons, whatever) and of coding not being a hard science (that external library that looked so sweet turned a minefield for example ) the real causes. Anybody trying to do that in the postmortem should be called out.

\- If the last point happens too much, fire the manager/lead/CTO (normal programmers should be fired too sometimes but only when their performance is substandard and this is sometimes that will be easy to see day by day).

</comment><comment><USER40> Brain Knapp is so on the money here.

So, if attendance is your key metric the best way to get them to attend 60-80 hours a week is pay them by the hour, plus allow them to "work from home" half the time.

</comment><comment><USER41> To answer the actual question:

1\. Pay your programmers per hour, and pay them very well. For example many people who are paid $200/hour would work 80 hours per week.

2\. Provide free taxis or have easy public transportation to their homes.

3\. Offer to pay for their children's daycare if they work extra hours.

4\. Provide free food delivery from nearby restaurants.

<comment><USER42> Why would you work 80 hours per week when a couple of hours a day is enough to get by? Or even encourage that? There's plenty more important things in life than work and funny money, and plenty more important things in work than number of hours spent behind the keyboard.

<comment><USER43> Because you know that you go full throttle for 3-5 years and then you have the possibility to retire.

I would sacrifice 5 years of my life in order to get financial freedom for the rest of it.

<comment><USER42> And then you get run over by a bus.

<comment><USER44> I guess the alternative is to learn very little, have fun, run up huge debt, because why not, you're going to get run over by a bus tomorrow. But, then you don't. Well, crap.

<comment><USER42> Go ahead and postpone life then, no one will stop you; life still doesn't give a shit about plans. You should try being close do dying a couple of times, that will align your perspective with reality in no time at all.

</comment></comment></comment></comment></comment></comment><comment><USER45> Agreed to a point, but there's also several hours a day of non-programming that just has to get done which never features in these SV conversations. Dealing with network guys to get the firewall exceptions you need, getting the DBA to actually do the indexes you asked for, endless ticket updates, meetings, more meetings, timesheets, checking the contractor's deliverables, production issues, interuptions etc. etc. Then add understaffing, UAC policies, sanfus and shifting requirements. So sure, 3 or 4 hours in the programming zone easily becomes a 55hr week.

</comment><comment><USER46> Early in my career, I worked at a few different businesses where management expected us to work 12+ hour days. Mostly web development & design.

We did it, but the secret was that we didn't spend all of that time actually heads-down, working. (Surprise.)

We were in the office for 12+ hours (sometimes until 3am, having client calls and presentations at midnight), but how much of that time were we actually getting creative, productive work done? Maybe half.

And here's the problem: The hard part was, I was managing projects, and I had developers putting in 12+ hour days against my budgets, when I knew that maybe 6 of those hours were actually productive work time. Everything went over budget, across the board, for everyone's projects. At least on paper.

'Moral' of the story: you can require people to work whatever time frames you want. And if you pay well enough, people will do it. (At least until they burn out, or find a more prestigious/higher-paying job.) But it's a waste of everyone's time and money, and it creates more problems than its solves.

Worst of all, you're creating an environment where the culture of working 12+ hours is nothing but theatre. You spend half your time creating and carefully cultivating an artifice, just to meet management's expectations... which they know are unrealistic. Talk about being unproductive.

</comment><comment><USER47> This article also leaves out:

\- waiting for compiles

\- waiting for the CI server to finish running tests

\- waiting for network transfers

\- waiting for VMs to spin up

\- waiting for slow algorithms to process data

\- et cetera

Even if it were physically and mentally possible to problem-solve 16 hours a day, we are still not at the point where our processes and machines can keep up with us, and we probably never will be. The dev-test cycle in itself is very time-consuming and repetitive. I don't know any way of solving this that doesn't involve spending even more time writing a lot of unit tests.

<comment><USER48> provided there are a few tasks to handle at once, some of the time under the general "wait for compute" heading can be reduced by switching between tasks ... just recently (my dumbfoundedness over why i didn't think of this sooner being the main reason i'm posting) i realized "hey, why not clone the local repo into _another_ local repo?". the thing to figure out is how to decide whether waiting for compute or context switching will be more boring (or "less productive").

while i'm blathering, this too:

"good programmers are lazy." \-- anon

</comment></comment><comment><USER49> Yeah, you can demand that people get shit done. But in the end, shit is what you will have.

</comment><comment><USER50> WakaTime is great for tracking time actually spent typing: [https://wakatime.com](https://wakatime.com)

</comment><comment><USER51> Good article but disagree with one of the main arguments that programming is creative work.

Maybe 10% of programming is the creative part,if you're not building artificial intelligence, but for instance consumer apps or UI.

20% is reading the technology API doc to understand how it works, 50% is writing the code down and the rest is bug fixing, so not so much creativity.

</comment><comment><USER52> Title should include (2016). I remember when this went around last year.

<comment><USER53> Why should it include it if you remember when it was ?

<comment><USER54> Because I didn't. It's mostly as a courtesy to me.

</comment></comment></comment><comment><USER55> Quote: "No programmers really work 60-80 hours a week, especially in a 5 day span."

Wow -- this person doesn't know about hackers (granted that it's a term with multiple definitions). The problem with hackers is not getting them to work, it's getting them to stop.

A true hacker will work on a project far beyond any practical termination point, perpetually thinking of ways to improve the code in ways that meet private aesthetic goals unrecognizable to others and having no bearing on earthly considerations.

Programmers that quit after eight hours and go home may fit well into a corporate culture, but they're not the kind of programming addicts about whom legends are born.

Poets have a saying that poems are never finished, they're abandoned. It's the same with programming, but only if you're a hacker.

p.s. found the original quote:

"A poem is never finished; it is only abandoned." \-- Paul Valéry

<comment><USER56> His point is that developers can work a lot on their own project, but you can't get them to work that much on someone else's project.

</comment></comment><comment><USER57> Steve Blank has a nice article about this: [https://steveblank.com/2016/09/07/working-hard-is-not-the- sa...](https://steveblank.com/2016/09/07/working-hard-is-not-the-same-as- working-smart/)

"Our team knows this isn't a 9-5 company. We stay as long as it takes to get the job done."

...the front door of the company opened – and a first trickle of employees left. I asked, "Are these your VPs and senior managers?" He nodded looking surprised and kept watching. Then after another 10-minute pause, a stream of employees poured out of the building like ants emptying the nest. Rahul's jaw dropped and then tightened. Within a half-hour the parking lot was empty.

</comment><comment><USER58> Work or sitting at their desk? (or staying in office doing 'stuff'). From my experience and some studies knowledge workers peak at around 30-35 hours a week.

Astonishingly still many client CEOs ask me how they can make their developers work more, marketing also works 60h they claim.

<comment><USER59> >Astonishingly still many client CEOs ask me how they can make their developers work more, marketing also works 60h they claim.

Some larger software firms try to capitalize their R&D costs by developers to enter timecards. If the CEO doesn't prioritize work culture and labour norms appropriately, it's easy to make the case that developers aren't working hard enough (i.e. >40hrs/week) against anecdotal claims from other departments.

One might think the easy way out of this is to fight data with data and ask the marketing teams to enter timecards. But I've never seen or heard of any marketing department enter timecards, primarily because marketing is considered an operational cost to the busines from an accounting perspective, as opposed to Engineering being classified as a more favourable capital cost.

</comment></comment><comment><USER60> 20 hours sounds right. I don't think I could gain more actual productivity forced by someone even myself to work long hours. Often time, when it feels right, the code just spills itself like charm, and after that my brain just turned south for distractions.

</comment><comment><USER61> Question itself strikes me as only slightly better than "How do you make workers indentured servants?"

Thankfully the article itself proposes the questioner reconsider the realities of programming work.

</comment><comment><USER62> Pay them double the money for half the quality.

</comment><comment><USER63> Few can do real programming work over 30h a week. If you force people, you'll get fake work. Specific individuals can work more, by themselves (challenge, pride, try to show whatever, etc.), but are the exception. And of course, that effort level can not be sustained forever.

</comment><comment><USER64> I wouldn't trust the creative work of someone who does over 35 hours a week. Creative problem solving requires the ability to switch into a relaxed state at will, and I haven't yet met anyone who can do it while under pressure to work 60 hours a week or more.

</comment><comment><USER65> Do people who work like that actually get valued by their employers? To me it seems like they'd be treated as expendable and easy to push around - not a valued trait for promotion.

</comment><comment><USER66> I'm curious — are there any companies who have their programmers work ~4 hours a day? How does the work output compare to more traditional companies?

</comment><comment><USER67> Almost thought that was Ask HN and was terrified

</comment><comment><USER68> 35-40 hours, but we have some guys who work extremely long hours, showing their effort out, which is fair enough

</comment><comment><USER69> Stupid (not very intense) bug fixing > 50% of the time.

</comment><comment><USER69> yeah, I practically don't do meetings (I'm not in USA) and I do 40 hours a week of almost pure programming.

It's very hard

</comment><comment><USER70> > No programmers really work 60-80 hours a week, especially in a 5 day span. > That is a 12-16 hour day, 5 days a week.

Who works only 5 days a week? Saturday... sure take the day, but many of us end up working Sundays to get everything ready for Monday mornings. Making sure all the issues are prepared, reports for the past week have been written, all of our tasks for the week are defined and prioritized... 8-10 hours a day, 6 days a week... seems common to me.

<comment><USER71> You're (presumably) being paid for 5 days a week at 8 hours per day.

If you cannot manage your time reasonably within this period, consider doing some research into that. If you can and yet your employers expect more time, then you're probably being exploited.

Either way this is not normal.

<comment><USER70> I think it's very normal for anyone who owns their own business.</comment></comment></comment>


How Twitch Uses PostgreSQL - <AUTHOR> https://blog.twitch.tv/how-twitch-uses-postgresql-c34aa9e56f58#.b9eili8vm <comment><USER2> First question: I found the credential rotation interesting. The scheme that you describe does seem to provide a highly reliable way to change the login account/password occasionally with nearly zero chance of human error causing the account to become invalid. But what I don't understand is WHY you want to do this. What threat profiles are you protecting against?

(Yes, I know this is HN, and I used "you" as if I were addressing the author of the article. But you know what I mean.)</comment>


How Online Companies Get You To Share More & Spend More - <AUTHOR> http://www.wired.com/magazine/2011/06/ff_gamed/all/1

<comment><USER2> I'm surprised they talked about Zynga but didn't touch upon the model of "Free + Microtransactions", which has been all the rage in Korea/China for several years and is definitely on the rise in the United States. That seems to be the real "spend more" part.

The remarkable thing about Farmville isn't merely about people spending more time to play the game once they're time-invested, but more-so about getting people to willingly spend _real dollar bills_ on a game that is free once they are at a certain point of time-investedness.

I hesitate to invoke a comic to illustrate a point, but I think this one fits quite nicely:

<http://www.penny-arcade.com/comic/2011/6/10/>

<comment><AUTHOR> I think they're interconnected. Once people feel like they're "time-invested" in a game, they're much more willing to be financially invested in the game. The time investment warms them up and turns them into prospects much more willing to spend _real_ money on the game they're already heavily invested in with their time.

</comment></comment><comment><USER3> How are they getting us to "share more", as the title says?

<comment><AUTHOR> The last three examples, Zynga, Groupon and Facebook all have instances where users are rewarded or incentivized to share more.

</comment></comment><comment><USER4> Or how psychology and behavioral economics professors get you to buy more of their books.

</comment><comment><USER5> Meh. Amazon's services are _good value_; there's nothing particularly psychological (read: manipulative) about providing something people want.

Given that we have to buy stuff, it turns out that paying 80 bucks a year for 2-day shipping is really worth it.

There's a popular 'narrative' about psychology 'exploiting' us, when a lot of these mechanisms are just completely fair methods of exchanging value in cash for value in product.

<comment><USER6> What confuses me is that where I live (Germany) packages usually arrive within 2 days anyway, yet Amazon still tries to sell that premium package. I even know somebody who bought it. Why?

<comment><AUTHOR> You'll have to ask your friend, but if Amazon can sell something for $80, you can bet they'll sell it to whoever wants to buy it...regardless of whether or not it makes logistical sense to do so.</comment></comment></comment>


Convincing Programmers They Want To Use Lisp - <AUTHOR> http://pschombe.wordpress.com/2006/04/07/convincing-programmers-they-want-to-use-lisp/

<comment><USER2> _And now no one can forget to close the file, plus it's shorter as well. There is no way to do this in a non Lisp language._

C# has the IDisposable + using construct for exactly this purpose. If you're not happy with that you can write your own using a lambda, just like his example...

      using (open file here)
      {
        // Do work here
      }

      WithNetFile(f => do work here);

Lisp is neat, this is not a great argument though.

<comment><USER3> The _this_ the original author is referring to is macros, of which, with-net- file is merely an example.

The author makes this clear later in the post: "Once you have caught the programmer's interest with simple macros show them some other cool things they can do, like language extensions. Experienced programmers are always looking for more control, and macros give it to them."

<comment><USER2> Yes, but he is giving this as an example of how to hook programmers into learning Lisp. I'm all on board with the macros, but you have to do better than this as an argument.

</comment></comment></comment><comment><USER4> This "thing that can't be done in any other language" looks an awful lot like RAII in C++.

For example I can write:

      {
        ifstream file("filename");
        ...
      } // file closed here automatically.

or

      {
        mutex_grab g(mutex);
        .....
      } // mutex automatically released here

<comment><USER5> In Smalltalk, it's just a normal function you can add to Filename:

        doWithStreamThenClose: aBlock
            | fileStream |
            fileStream := self newReadWriteStream.
            ^[aBlock value: fileStream]
                ensure: [fileStream close]

This allows one to do:

        (Filename named: 'mypath/foo.dat')
            doWithStreamThenClose: [ :fileStream |
                 "do whatever you want with fileStream"
                 "it shall be closed"
            ].

</comment></comment><comment><USER6> I don't get the feeling he's used anything besides Java. His technique that's impossible in a non-Lisp language is the normal way of doing IO in Ruby, only it doesn't take a macro.

</comment><comment><USER7> "adoption of Lisp as a universal language" what a bad idea! I am occasionally an enthusiastic Lisp programmer (and I wrote 2 Springer-Verlag Lisp books many years ago), but I would never advocate that any Lisp be a universal programming language.

For most programmers, they probably need at least either Java or C#, a scripting language (Ruby, Perl, or Python), and a Lisp language (Clojure, Common Lisp, or a Scheme implementation).

</comment><comment><USER8> "There is no way to do this in a non Lisp language."

Wow.

Is it any wonder that you cannot convince someone to use Lisp, when you have no idea what other languages actually have to offer?

Python 2.6 has a built-in "with" construct for this. Java, C#, earlier versions of Python and (gasp!) VB have the try, catch, finally construct. Offhand, I can't think of a language that can't do this, but I'm sure they exist.

<comment><USER9> No, you're conflating two features. He's not talking about `unwind-protect', which he hasn't even used in his example (that would be the equivalent of `try' ... `finally'). He's talking about the fact that in Lisp, you can make a single abstraction that encapulates the entire pattern of opening the file before doing something and closing it afterwards. This is not that common a language feature, though it is catching on. Python's `with' was introduced in 2.5, which came out a few months after his post was written. Scala's "automatic closures" (I would say "automatic lambdas") show another way to provide this functionality, more general than Python's `with'; I think the blogger can be forgiven for not having heard of Scala in 2006. Java has no elegant way to do this.

<comment><USER8> Thank you. I appreciate the correction and clarification.

</comment></comment></comment><comment><USER10> Still not convinced. I find Lisp interesting and even bought The Scheme Programming Language but can't convince myself it's more useful to me than other languages. I have been told about the power of macros before though, so to that chapter I go.

</comment><comment><USER11> This article is nothing other than language fanboyism and I am not sure what it's doing on the front page of HN.

<comment><USER5> I've half a mind to start a wiki for programming language fanboy/troller tropes. That way, we can just link to that.</comment></comment>


Cracking the Q.R. Code - <AUTHOR> http://boss.blogs.nytimes.com/2011/06/15/cracking-the-q-r-code/

<comment><USER2> This is a great example of the use case for QR codes linking to a mobile- optimized website. If I had an offline business, I'd definitely consider paperlinks.

<comment><AUTHOR> Thanks for your support, rdl!!</comment></comment>


Shutdownify is shutting down - <AUTHOR> http://www.shutdownify.com <comment><USER2> Truth is, this service never quite delivered on their promise. When my last two startups closed shop, it took shutdownify over 3 days to process the first one, and the second was still a full two days to get up and running. At that point I could have just put together a page myself.

It didn't help that they rewrote their tech stack from Ruby to Node even as they were trying to find customers. In the end, the user doesn't care what it's built with.

<comment><USER3> They had to transition to Node. The UI was really counter intuitive in Ruby.

<comment><USER4> This is one of those posts for which poe's law was written. (notsure)

<comment><USER5> Challenge accepted!!!! (Possibly missing the point)

         setOfAllPossibleStatesOfWorld.every(s => s.app.isRewrittenInNode) && app.rubyVersion.hasReallyUnintuitiveUI

</comment></comment></comment></comment><comment><USER6>
        $ whois shutdownify.com
           Updated Date: 19-aug-2015
           Creation Date: 19-aug-2015
           Expiration Date: 19-aug-2016

<comment><USER7> Their incredible journey....

</comment></comment><comment><USER8> Haha, brilliant. I believed it for more than a moment. The WHOIS records spill the beans, though:

      Creation Date: 19-aug-2015

<comment><USER9> Haha it's fooling virtually everyone in this thread

<comment><USER10> ... in part due to some hilariously complicit Hacker News accounts that are making serious-sounding comments. Not gonna lie; I was initially fooled.

</comment></comment></comment><comment><USER11> Testimonial:

I've been a Shutdownify client as a CEO of many companies, and I must say it was a joy to shut down my companies using Shutdownify!

</comment><comment><USER12> While I feel bad for the companies who relied on this service and must now write their own shutdown notices, it's their own fault for trusting a SaaS and not using a self-hosted solution.

Edit: Can anyone suggest alternatives?

<comment><USER13> [http://ourincrediblejourney.tumblr.com/](http://ourincrediblejourney.tumblr.com/)

</comment></comment><comment><USER14> Are we sure they're actually shutting down? Maybe this is just a demonstration of their product, and the quality of the shutdown notice is so high that we're unable to distinguish this from the real thing.

As a matter of fact, fake shutdown notices could be a great source of...

=== NOTICE OF COMMENT SHUTDOWN ===

The board has decided that this comment stopped being funny several sentences ago, and has decided to disband the whole thing and go get a sandwich. Cheers!

</comment><comment><USER15> Calling themselves shutdownly or shutdown.io probably would have saved them.

<comment><USER16> shutdownjoy.com

<comment><USER17> drop the 'shut'; downly, downjoy, and eventually migrate to down.io and down.com, they would certainly have succeeded

</comment></comment></comment><comment><USER18> Well-done satire...having the blog run on Tumblr and using a barely modified Bootstrap template, with parallax scrolling over a background image of a Brooklyn coffee house would've made it perfect.

</comment><comment><USER19> You just know there's a startup somewhere saying, "Dammit, that was our idea!".

</comment><comment><USER20> Wow, for a split second I thought that was real!

<comment><USER21> I thought it several seconds. I even thought "wow this idea must be the dumbest...." before I loaded the comments of this thread and immediately realised that it was I who were dumb.

<comment><USER22> Actually, it tells us all a lot about the world when we think, even for the briefest moment "well, I guess, it isn't the most absurd thing I've heard".

</comment></comment></comment><comment><USER23> Does this count as dogfooding?

<comment><USER24> They will be their own customer forever, so they can give themselves $10MM a month for the notice, and hence produces revenues of $120MM, and easily get a $6bn valuation.

</comment></comment><comment><USER25> "Our board has decided that the company should shut down now and sell all remaining assets"

I am floored that someone actually invested in this idea, much less an actual board of directors.

<comment><USER25> Whoops, just realized this is all a joke. Thank God.

</comment></comment><comment><USER26> I really hope this is a brilliant piece of satire.

<comment><USER27> Based on the creation date from it's whois info I'd say it's satire:

       Domain Name: SHUTDOWNIFY.COM
       Registrar: 1 & 1 INTERNET AG
       Sponsoring Registrar IANA ID: 83
       Whois Server: whois.1and1.com
       Referral URL: http://1and1.com
       Name Server: NS1.DREAMHOST.COM
       Name Server: NS2.DREAMHOST.COM
       Name Server: NS3.DREAMHOST.COM
       Status: ok http://www.icann.org/epp#OK
       Updated Date: 19-aug-2015
       Creation Date: 19-aug-2015
       Expiration Date: 19-aug-2016

<comment><USER28> Start-ups these days, eh? Serious lack of commitment!

<comment><USER24> You are so 2013. Fail fast!

</comment></comment></comment></comment><comment><USER29> They really should have tried to find a way to keep going (longer than a day, at least!). There's going to be a lot of demand for this service in the coming year. Someone should buy their assets and wait for the coming bust^Wboom.

<comment><USER30> Unfortunately, I regret to inform you that the sum total of their assets is already freely available and downloadable on the web. I don't think they'll be able to sell them for much after that sort of IP disaster. Another business destroyed by CTRL-S piracy. When will the browser vendors take this sort of thing seriously and put DRM on web pages?

</comment></comment><comment><USER31> For all the satisfied clients, and the investors that just took a writedown on this year's tax return, now's a good reminder that the Internet Archive accepts donations:

[http://web.archive.org/web/20150819204235/http://www.shutdow...](http://web.archive.org/web/20150819204235/http://www.shutdownify.com/)

</comment><comment><USER32> Cue the press release announcing their assets have been purchased by Acquirely...

</comment><comment><USER33> If you guys don't know the author (Shaun Gallagher), he's a pretty awesome guy!

He's also the author of [http://www.correlated.org/](http://www.correlated.org/)

<comment><USER34> ...and [http://www.experimentingwithbabies.com](http://www.experimentingwithbabies.com). Awesome stuff!

</comment></comment><comment><USER35> I had the opportunity to meet the CEO and founding team. Brilliant guys. But they got too caught up with the how. Ruby then to Node and now to Go. The promises - from companies shutting down to pay up, didn't pan out. I wish there was a consumer version of this - I would love to set up a page to survive me after my demise and I prepay for 10 years of hosting. Demisify ?

</comment><comment><USER36> The funny thing is this actually could be a good idea. Big companies do source code escrow as part of on premise software purchases. A SaaS equivalent which handled data portability, ongoing legal/compliance, etc, as a 10% surcharge on invoices or something, could solve this for SaaS, making purchases happen when they might not now.

</comment><comment><USER37> [https://twitter.com/shaun_gallagher/status/63410695062035251...](https://twitter.com/shaun_gallagher/status/634106950620352513)

</comment><comment><USER38> _Shutdownify 's last meal is its own dog food._

Believed it right up to this brilliant bit of snark.

(re)Curse you, Shutdownify!

</comment><comment><USER39> Or, it's real and this is a publicity stunt to get some exposure, or a noncommittal way to see how people react to find out if anyone would actually be interested.

</comment><comment><USER40> Everyone said they were the next unicorn. What happened?

</comment><comment><USER41> I heard a legend that the Shutdownify stack detects that an entry has been created for Shutdownify itself. When that happens, it is treated like a FIN packet: the software serves up the shutdown notice, but schedules an actual shutdown of itself after a configured period.

</comment><comment><USER42> I was in the market for such a solution and tried to use them, but the pricing was really high. I'm not sure that paying per view on a shutdown notice is the best model, I would have preferred a flat fee.

</comment><comment><USER43> JMK: In the long run we're all dead.

Would've made a good corporate motto.

</comment><comment><USER44> I don't know what it says about myself or the current state of startups but I thought this was real until coming to the comments.

</comment><comment><USER45> As a very loyal and frequent shutdownify customer, I am willing to save the business. Offer is equity only.

</comment><comment><USER46> How does something like this even get investors? The business model banks on the fact that start-ups are going to fail-- I could imagine scenarios where potential investors also have money invested into the companies that Shutdownify would be servicing.

</comment><comment><USER47> It was a perfect business that didn't get the timing right. Their business would have thrived during 2000, 2008. Now if they lasted a few more months, they would have been perfectly positioned to take major market share in the Fall 2015 recession.

</comment><comment><USER22> Sadly, my first thought was someone tried to outsource the gathering of company failures to the actual company so they could write an f'd company article for the ad revenue. Worse, this didn't sound as bad as other business concepts.

</comment><comment><USER48> Reminds me of a 30 Rock bit where Jack is talking about Tracy's kooky investment:

(S03E15) "His video game made a fortune and he invested all of it in a company that dismantles bank signs. They're doing very well."

</comment><comment><USER49> This is fucking hilarious.

</comment><comment><USER50> Guess they couldn't compete with ExitPlan.com . They do full shutdowns _and_ acquisitions, as well as auctioning off the redundant employees to the highest bidder.

</comment><comment><USER51> [https://www.reddit.com/r/shutdown/](https://www.reddit.com/r/shutdown/)

</comment><comment><USER52> Business model failure: Bankrupt startups couldn't swing the monthly recurring payments after shutting down. Pity. Goodbye Shutdownify.

</comment><comment><USER53> This is the Silicon Valley version of Möbius Strip.

</comment><comment><USER54> while we are chatting trivialities, does somebody know where the constant "pinterest is shutting down" rumours [http://replycam.com/i/Screen_Shot_2015-08-19_at_22_50_13_1B8...](http://replycam.com/i/Screen_Shot_2015-08-19_at_22_50_13_1B8523A1.png) are coming from?

<comment><USER55> Those google results come from their app crashing and people seeking remedies

</comment></comment><comment><USER56> Brilliant. Considering they can still use their own service, does the recursion mean infinite $$$, or a stack overflow?

</comment><comment><USER57> Shutdownify github page now leads to 404. You would think they should know better than that. Stay classy, S9Y.

</comment><comment><USER58> That's what you get when you bet on other startups failure

</comment><comment><USER59> This should've been their landing page all along.

</comment><comment><USER60> Is this legit? I can't find anything about them.

<comment><USER61> They used to be called startupify, but they pivoted earlier this week to get ahead of the bursting startup bubble.

Unfortunately it looks like they ran out of runway soon after the pivot.

</comment></comment><comment><USER62> Far and away, one of the great trolls of all time!

</comment><comment><USER63> Best HN title I have read in a while.

</comment><comment><USER64> can someone actually build this service? thx.

</comment><comment><USER65> / _checks date_

</comment><comment><USER66> Very meta ...

</comment><comment><USER67> tl;dr :: shutdownify^2

</comment><comment><USER24> The problem with this business model is clearly that if a company is shutting down it has severe cashflow problems and would not be willing to pay for a SaaS service for such a thing as trivial as a shutdown notice. It really is a badly formed business model and is rampant in this 'oh lets get a good team and we can always pivot if we fuck up' world.

This kind of start up irks mes as a sign that we have really reached the top of the bubble. Really sell your SF real estate now. Its is going to crash. It is such a waste of developer talent to put effort into hapless startups like this. I would like to know which fools invested in this so I can avoid taking their investment too.

</ Look someone has to take it seriously ;-D >

Edit: Damn this backfired. The downvoterz haz spoken!

<comment><USER68> Don't feel bad for taking it seriously. I can't tell satire these days. The world is too strange.

<comment><USER69> My thoughts went from satire, to serious, then back to satire. It's worrying how plausible it was that this was a real business at some point in time.

</comment></comment></comment><comment><USER70> Is it just me or does this title keep changing?

</comment><comment><USER71> kthxbye</comment>


Imaginary Worlds. Real Money. - <AUTHOR> http://www.whattofix.com/blog/archives/2007/10/virtual_worlds.php

<comment><AUTHOR> Glad to source any of this material if anybody is interested.</comment>


What internet looks like in a country with no net neutrality - <AUTHOR> https://www.meo.pt/internet/internet-movel/telemovel/pacotes-com-telemovel <comment><AUTHOR> Found it on Reddit. Title was "In Portugal, with no net neutrality, internet providers are starting to split the net into packages. This is the future of the Internet if the FCC gets its way. It's not theory. It's happening already."</comment>


Creativity is risk backed by confidence - <AUTHOR> http://www.maximsformavericks.com/blog/creativity-is-risk-backed-by-confidence/ <comment><USER2> This conflates the act of creation with the public presentation of what has been created.

Lots of people create lots of things that are never shared. They are no less creative for that.</comment>


Ask HN: Should I use a Groupon-like site? - <AUTHOR>

I am a partner in a retail business. We've been inundated by calls from Groupon clone salespeople (we do business in an area where Groupon doesn't exist, but has many successful clones).
To be honest, I dislike Groupon because it causes our industry to engage in behavior that seems to have a similar result as a price war. I think there exist many customers who now say: "I want to buy X, I'll just go onto one of the many Groupon clones and find one where X is being discounted today."
Moreover, I'm afraid that customers who see such heavily discounted items will question the actual cost and quality of our materials. And I'm also very concerned about the quality of these customers - I suspect many of these people are very price-sensitive and thus are not ideal for our business. I'd love to see statistics on the retention rate of Groupon customers, but no one seems to be sharing this information.
I've seen a few repeat business users of Groupon - so apparently those businesses think it's a good deal. Alternatively, maybe they're just being the most aggressive players in a price war in exchange for temporary gains.
On the flip-side, we've held off on working with these clones for so long that the annoyingly persistent Groupon salespeople, seemingly desperate for a deal, are starting to give us decent terms. My partner is more open to the idea than I am. Do any of you know business owners who've used these types of site? Any opinions? <comment><USER2> Think of it less like a coupon site and more like a StumbleUpon for businesses. The prices aren't supposed to be sustainable, they're just supposed to get exposure.

I think it's useful for places that offer something that people would like, if they knew about it. A good example was a cupcake boutique bakery. If I got a Groupon from there and tried it, I would keep going back. Before Groupon was around, I stumbled upon a cute little bakery like that and liked it so much I continued to drive well out of my way to go to it, even though I'm sure there are a million places to buy cupcakes. I also used them as my bakery for cakes, etc.

By the way I use Groupon and have happily tried new places. A couple of times I've even opted out of the Groupon itself but remembered the place at a later date, so it's plain old advertising also.

</comment><comment><USER3> Due to the nature of Groupon, its nearly impossible to wait for what you want to show up. Even in a area with multiple clones, there is only so many deals in one day. So I would not be worried about someone waiting for a coupon.

I suspect most of the people who do buy from Groupon are impulse buys. I know that is my case. In fact I did it yesterday for a something that is not urgent, certainly not something I was waiting for. But now I will be giving business to a company I had never heard of before and probably would not have heard from without groupon.

You should look at it as a marketing effort that pays for itself. If you can do the deal so that you break even or better, then essentially, its free marketing to get your name out there.

</comment><comment><USER4> I use it as a customer mainly to learn about places near me offering services I am interested in.

I rarely care about getting half off on a massage or kayak rental, but I do care about knowing that I can rent kayaks two minutes from here or get gelato one block from where I live, etc.

That said, I bought two coupons which were used as presents (they offered a 60% discount). I think that store will see some repeat business from me or those I gave the coupons to (and/or referrals from us), so they will likely recoup their initial loss — none of us knew about the place before I bought the coupons.

<comment><AUTHOR> The fact that you used them as a gift is particularly interesting. Obviously, the value for us is to raise our brand awareness, so the more people made aware by one discounted purchase the better.

I am lucky in that my product is almost always used in conjunction with half a dozen or more people besides the purchaser, so it has word-of-mouth built-in, but use as a gift stretches that one person further.

I am actually friends with the owner of a Groupon clone. She told me that she thought for most business owners it wasn't a great deal, but due to the "viral" nature of my product, it would probably come down on the positive side for us.

</comment></comment><comment><USER5> I would think that you have a wide range of products; from value for money items to expensive one-off stuffs. In order not to undermine the value of the business, you could try these; \- package a few value for money items together, give it a catchy name. \- just use it for the stuffs you want to clear out of your warehouse. It is also important to understand why are you using such sites? Is it for exposure or to get more customers? I feel that these sites are a good way to get some exposure to your retail store. Plus the selling process do not stop here. It's just getting started with your return policy, how to deal with damaged goods, selling to existing customers, etc. It's really up to you to get creative and make your retail biz stand out from the rest.

</comment><comment><USER6> I don't see how you could be hurt by trying the service. I think some of your fears are paranoia, for example the fear that customers will "figure out" your margin.

Try it out, move some volume at a discount.

</comment><comment><USER7> On a related note, does anyone know how Groupon handles the situations where a deal sells so well that it could kill off the business offering it?

I've seen several cases where a photographer, for example, offers a dramatically reduced rate for a photo session, and proceeds to sell 800 of them on Groupon, booking themselves solid for the next year at loss-leader prices.

What happens in those cases?

<comment><USER8> You can put limits on the quantity of your groupon deal. And once the groupon is sent out, if the purchases get out of hand quickly, you can also put a limit on the deal at that point.</comment></comment>


A computer that learns the rules of a game by watching you play - <AUTHOR> http://www.extremetech.com/extreme/132558-a-computer-that-learns-the-rules-of-a-game-by-watching-you-play

<comment><USER2> The linked paper is worth reading, and an interesting extension to inductive logic programming (ILP), a symbolic-logic-based approach to generalizing from examples.

The more general idea of learning from watching someone play isn't _that_ new, but it's usually in more restricted contexts. For example, the system may be preprogrammed with the rules of chess, and then learns how to play chess _well_ from logs of expert play. The work here has some pretty clever representations to allow it to start with a general hypothesis of any board- like game and then narrow down the rules of a particular game by observation.

</comment><comment><USER3> This is actually very old idea. I remember some game creator program on the Apple II that you could teach games. Probably nothing as sophisticated as chess, but maybe tic-tac-toe and connect four. Unfortunately, this was over twenty years ago, so the name is lost to me at the moment. I'll update if I can find it.

</comment><comment><USER4> I wonder if it would succeed on such a game <http://xkcd.com/91/>

</comment><comment><USER5> > PLAY GLOBAL THERMONUCLEAR WAR

<comment><USER6> I don't like the idea that it needs to watch us do this first.

</comment></comment><comment><USER7> Using chess as an example, and not knowing how the program works, I idly wonder if it would pick up such oddities as: en pessant pawn captures, being unable to castle out of check or to castle across check (e.g. White attempts to castle kingside but Black is attacking f1), the fifty-move rule (I expect it would get threefold repetition), and perhaps even the fact that you can promote pawns to pieces other than queens.

<comment><USER8> Much like how a human learns a game by watching people play. For instance, I learned chess casually by watching people play when I was a kid, and I just now found out about en passant pawn captures. (Thanks!)</comment></comment>


99 Designs for Noobs - <AUTHOR> http://blog.mozio.com/99-designs-for-noobs

<comment><USER2> I don't like the way 99 designs structures their contests. The current system makes it incredibly hard for users to find good designers, since they have to wade through so much crap in the first rounds. It seems like the designers have a bunch of pre-made templates into which they insert your company name and then spam the contest with a bunch of off-topic designs that completely miss the point. Instead, each designer who really wants to participate should be given one chance to show off their stuff, instead of many. This would force them to actually do some work on the task at hand instead of just submitting a bunch of mediocre designs and hoping that one of them gets them into the next round.

</comment><comment><USER3> Even though you picked the final designer as the winner, how did he know you were actually going to pay him?

<comment><AUTHOR> 99 Designs held the money in escrow. I suppose there is no guarantee that he would cooperate with what you want after you had awarded him the competition, but you can withhold the money indefinitely and it worked out fine for us.

</comment></comment><comment><USER4> Yes, I agree! it's hard to work with designers. Especially, online!</comment>


Reasons to Hate Linux: 2020 Edition - <AUTHOR> https://thenewstack.io/reasons-to-hate-linux-2020-edition/ <comment> non-entity > Reason #1? Backwards compatibility. As Lunduke sees it, software built for > Linux years five to 15 years ago is "a massive, massive headache."

That's one of the the things I like about Windows tbh. I end up buying older hardware a lot (often because the only way I'll afford it is second hand and a decade out of date) and the drivers will still work fine in Windows. Meanwhile, a minor kernel upgrade on Linux and a driver source often wont even compile.</comment>


Show HN: Git Money - Get Paid for Commits to GitHub | Live Beta Happening Now - <AUTHOR> http://gitmoney.io/ <comment><USER2> I love your idea, hopefully it works. But, it is incredibly frustrating when websites override native scrolling. I shouldn't have to disable javascript for the optimal scrolling experience.

<comment><USER3> Hey thanks for the feedback. You won't have to disable javascript to issue a pull request for bitcoin here: ([https://github.com/21hackers/git- money/issues?q=is%3Aissue+i...](https://github.com/21hackers/git- money/issues?q=is%3Aissue+is%3Aopen+label%3A%22git+money%22)).

</comment></comment><comment><USER4> "Powered by a 21 Bitcoin Computer."

Are you really serving the webpages via a bitcoin computer?

<comment><USER3> Our webpage is served using GitHub pages. Its our server that handles the automated payments that sits on a 21 computer :-)

</comment></comment><comment><USER5> this is very similar to a post yesterday called codemill.io</comment>


Towards a better keyboard – A Modern Space Cadet - <AUTHOR> https://stevelosh.com/blog/2012/10/a-modern-space-cadet/ <comment><USER2> This post is pretty neat, and I'm happy we've come a long way in just 8 years. All the things he had to hack together can easily be done with QMK firmware.

<comment><USER3> I love QMK, but I do worry about the physical security of a keyboard running a flashable firmware. It would be so easy to snarf passwords off of one, even less detectably than by installing a keylogger.</comment></comment>


Police Violence Against Native Americans Goes Far Beyond Standing Rock - <AUTHOR> http://fivethirtyeight.com/features/police-violence-against-native-americans-goes-far-beyond-standing-rock/ <comment><USER2> "Most tribes don't have an on-reservation media presence"

Well, that is probably the canary in the coal mine for a whole range of tribal issues. A more detailed report might want to look into the history of that particular topic.

Plus, the number of different ways tribes are policed from Local to BIA to State to FBI is rather daunting. The only thing more complicated is who has fish & wildlife jurisdiction.

I notice they carefully chose that picture though. I have friends and relatives on both sides of the pipeline issue and quite a lot of it is much more complicated than the narrative given in the press. It also skips quite a bit of outside money showing up, ignores they already crossed the river upstream of Williston's water treatment plant which control quite a bit of NE area, and doesn't look at why the rerouting happened. I would imagine the losses at the casino are going to be felt this winter when all the outside folks go home. I'm sure they will all feel an amazing sense of accomplishment though.

<comment><USER3> > doesn't look at why the rerouting happened.

There are many ways we can look at it. But lets look at it from the perspective of the natives. They would see it as: "The original pipeline was meant to go under Bismark, a 90% white population. The whites complained. The company immediately rerouted it under the natives water supply. The natives protested peacefully. The company and the cops and the army attacked and started hurting people." [1]

Can we fault a population that has been historically attacked and pushed out to the fringes for perceiving the narrative that way? What more, when our cops blow off a woman's arm during a peaceful protest? [2]

[1] [http://www.snopes.com/dapl-routed-through-standing-rock- afte...](http://www.snopes.com/dapl-routed-through-standing-rock-after- bismarck-residents-said-no/)

[2] [http://www.npr.org/sections/thetwo- way/2016/11/23/503120449/...](http://www.npr.org/sections/thetwo- way/2016/11/23/503120449/woman-injured-at-standing-rock-protest-might-lose- arm-family-says)

<comment><USER2> "peaceful protest" isn't the word I would use, nor environmentally friendly but I get the narrative

Its a lot more complicated than the snopes article would appear much like the history of many other infrastructure projects with some missteps by the pipeline company, the ND Historical Society, and the Oil Board. The Bismarck community did play a part. Most of this is detailed in the local radio and newspapers (Bismarck Tribune & 550 KFYR).

Quite a lot of mistakes were made and misunderstandings, but without the outside money, it probably would have been resolved peacefully. The tribes really have to get involved with this stuff earlier and do the paperwork. The state needs to start doing some serious assistance when paperwork is due. DC has got to be of assistance and not sit on the sidelines and hurl inflammatory comments.

I'm just hoping all these outside organizations sending professional protestors actually give some money to the tribe to reverse the economic pain of the protest. I doubt they will, but hope springs eternal.

As I said, I have friends and relatives on both sides. I'm not hoping for anything more than a peaceful resolution one way or another and economic assistance to the tribe.</comment></comment></comment>


Where else do developers hang out? - <AUTHOR>

Where else, apart from HN, do developers tend to hang, to get news, etc.? Are Reddit and StackExchange good places? Can anyone suggest other places? <comment><USER2> I like StackExchange sites. My favorites stackoverflow.com and programmers.stackexchange.com You can chat with people there, discuss the white-board questions etc

</comment><comment><USER3> Reddit's programmer subs are pretty nice, although they tend to be inactive for smaller languages/tools/topics.

Do people still use IRC? Where is active these days?

<comment><USER4> IRC channels for projects can be quite lively. The busiest channels I idle in are #ffmpeg-devel and #lua on freenode. Clearly these are dedicated towards these projects but sometimes other chat filters in. #lua certainly gets that.

Others can be much more quiet and be usually for tech support of a project but they can still be a good place to contact people working on a project.

</comment></comment><comment><AUTHOR> Thanks for all the good suggestions. Appreciate it!

</comment><comment><USER5> Real-world Meetup.com meetups.

<comment><USER6> I second this. I am a member of around 7 local developer focused meetups. I go to a meetup at least 1 or twice a month.</comment></comment>


Ask HN: Good Programming/Tech Books To Read? - <AUTHOR>

I'm a CS major and I just got finished with finals. Other than working part time over the summer I will have a giant amount of free time that wasn't there during the school year. What books would you recommend I read over the summer? <comment><USER2> \- Design Patterns: Elements of Reusable Object-Oriented Software [http://www.amazon.com/Design-Patterns-Elements-Reusable- Obje...](http://www.amazon.com/Design-Patterns-Elements-Reusable-Object- Oriented/dp/0201633612/ref=sr_1_1?ie=UTF8&qid=1398676541&sr=8-1&keywords=design+patterns)

\- Effective C++: [http://www.amazon.com/Effective-Specific-Improve-Programs- De...](http://www.amazon.com/Effective-Specific-Improve-Programs- Designs/dp/0321334876/ref=sr_1_1?ie=UTF8&qid=1398676597&sr=8-1&keywords=effective+c%2B%2B)

</comment><comment><USER3> For Java development I would recommend 'Effective Java'.</comment>


Go home Twitter, you're drunk - <AUTHOR> https://twitter.com/Abhaxas/status/523780560993267713 <comment><USER2> <__>: it's fake

<__>: the SSL seal is missing

<__>: it's a javascript edit

<__>: open a https site in firefox and look at the addressbar

<__>: sec

<__>: yeah

<__>: it DOESN'T appear if you used a javascript hack to make it go away

<__>: and changed the page

<comment><USER3> It also doesn't look like the standard Linux uptime command, which uses "load average", singular. The BSDs, including OS X, say "load averages"... does Twitter run FreeBSD, or is this copied-and-pasted from an OS X client machine?

<comment><USER4> I thought Netflix used FreeBSD? [https://www.freebsdfoundation.org/testimonials](https://www.freebsdfoundation.org/testimonials)

<comment><USER3> Yeah, there are certainly a bunch of people running FreeBSD in production. I just didn't think Twitter was one of them.

</comment></comment></comment></comment><comment><USER5> anyone care to let me know just why this is so bad? i.e. does it really matter?

<comment><USER6> This is a remote code execution, allowing attackers to run commands of their choice on the server with the user and privileges of the webserver.

Now, if one of the following is true (and thats quite common):

* The webserver has access to sensitive data

* The operating system has a bug that allows getting higher privileges as an unprivileged user without credentials

The machine is hacked and broken. (either the sensitive data can be extracted or the machine can be reconfigured)

This is why remote code execution is rated very high as a vulnerability.

A common way to prove this is by running a command that doesn't do any direct harm. uptime is quite usual, reading /etc/passwd is also quite usual.

<comment><USER7> I'm not sure about the mechanics of this, but at a minimum the webserver probably has access to the HTTPS private key for the subdomain, or at least has it in memory, since the request is shown to be running over HTTPS.

<comment><USER6> Reading the memory of another process is not allowed on modern OS for precisely that reason, so this would be another exploit. ([http://en.wikipedia.org/wiki/Process_isolation](http://en.wikipedia.org/wiki/Process_isolation)) But the keys are most likely on disk, readable by the server ;).

Also, some setups are not prone to this: Twitter most likely uses an proxy terminating SSL and then forwards the request to a smaller webserver running the app. This one will not hold the keys.

Most larger webservers can also run the app workers with a different user than the webserver itself.

<comment><USER8> > Reading the memory of another process is not allowed on modern OS for > precisely that reason, so this would be another exploit.

both Linux and Windows allow processes to read the memory of other processes running as the same user, via ptrace() and /proc/pid/mem on Linux, and via ReadProcessMemory() on Windows.

(how else could you ever debug anything?)

<comment><USER6> Yes, but PTRACE can be disallowed by the process and behaves differently on some kernels, e.g. Ubuntu hardened:

[https://wiki.ubuntu.com/SecurityTeam/Roadmap/KernelHardening...](https://wiki.ubuntu.com/SecurityTeam/Roadmap/KernelHardening#ptrace_Protection) [https://fedoraproject.org/wiki/Features/SELinuxDenyPtrace](https://fedoraproject.org/wiki/Features/SELinuxDenyPtrace)

They usually only allow ptrace from parent to child or as root.

Also, wrt debugging, see the comment in the second link:

> If you are running a machine and do not plan on debugging the applications > on this machine, you should turn this boolean on.

</comment></comment></comment></comment></comment></comment><comment><USER9> I'm not convinced. Anyone could do this "hack" with MS Paint. If it were real, then surely the proof would manifest with some kind of change of the Twitter interface.

</comment><comment><USER10> A stupid 1am question: is it common among ops teams to replace these "common" binaries by a honeypot-like wrapper which notifies the security team immediately, just in case of a complete meltdown on the web developer side?

<comment><USER11> Sorry, I don't have an answer to your question, but in theory, how would it detect an intrusion for automatic notification? It seems to me that detecting a bad operation from a good operation is the same thing as securing the system. A vulnerability would likely sail past any such notification system.

<comment><USER10> A naive approach could be defining that the software stack to use is under /opt/twitter/ and everything under /usr/bin/ and /bin/ is just a honeypot, so any legitimate developer using those would also trigger a notification. But anyhow, it smells like overkill, the wrong place and not worth the extra mileage. The only case I can think of where this would be useful is when management or timing problems prevent proper and secure development -- which is not a problem ops should solve. Would still be interesting if someone actually does this.

<comment><USER12> Well, it would shield against simplistic attempts at exploiting setuid binaries, certainly, but beyond that its effectiveness would probably be limited, especially as it became more widely known.

Another interesting strategy, particularly in the age of widespread use of VMs and containers, might be to extend the basic idea of ASLR beyond address space. Randomize paths and filenames and system call numbers, for example. You'd need to build all your binaries yourself, of course, and run scripts through some sort of mangler (for maximum effectiveness, do this per- VM/container). You'd want to encrypt non-user-visible strings, too.

There'd be a lot of tooling work necessary to make this practical in the real world, of course.

(Edit: Just found this, which looks relevant: [http://research.microsoft.com/en- us/um/people/helenw/papers/...](http://research.microsoft.com/en- us/um/people/helenw/papers/randsys.pdf) )

</comment></comment></comment></comment><comment><USER13> Sorry but could someone please explain to me what the joke is about?

I don't get what's going on, and cards.twitter.com throws an error page saying that the site is down :-(

</comment><comment><USER14> Has this confirmed to be real? Seems somewhat trivial of an exploit for such a large company (url-based RCE)?

</comment><comment><USER15> i hope that twitter has 24/7 team to respond to this.

<comment><USER16> I wonder if he's actually qualified for any bug bounty given the public announcement, even with the dangerous parts blacked out.

<comment><USER17> Terms of their bug bounty program just says "You may not publicly disclose the vulnerability prior to our resolution" ... [https://hackerone.com/twitter](https://hackerone.com/twitter)</comment></comment></comment>


The Six Levels of Reusability - <AUTHOR> https://michaelnthiessen.com/6-levels-of-reusability/ <comment><USER2> I find it annoying with these articles with generic titles. And then when you dig into them it is about specific products. A better title would be "The Six Levels of Reusability in Vue".

<comment><USER3> For the HN title, I suppose. The site seems entirely dedicated to Vue, so I'm not sure it'd make a lot of sense to append "in Vue" to all articles. I wonder if it would help them SEO-wise if they did, though.</comment></comment>


A NYC Student's thoughts on NYC rivaling Silicon Valley - <AUTHOR> http://tanayj.com/on-new-york-city-rivaling-silicon-valley/

<comment><USER2> You should check out Hack and Tell meetup. I think you'll enjoy it.</comment>