Don't deploy on Friday and 3 other unwritten rules of software engineering - ben-clubhouse https://clubhouse.io/blog/dont-deploy-on-frida-3-other-unwritten-rules-of-software-engineering <comment><AUTHOR> Point "2\. Maintain regular backups." should rather be "2\. Maintain regular backups and validate your restoration process."

How painful it can be when you realize that your backup process was wrong from the beginning and you're left with a useless gigabytes sized blob when in need to restore your DB...

</comment><comment><USER2> hmm I dunno... If you have CD working correctly you should be shipping multiple times a day depending on the product. If there is a problem with the deploy it should be as simple as rolling back to the container image of the last version...with K8s or ECS this takes seconds.

I really hate the whole "let's plan for a midnight deploy" paradigm... and find it very unconstructive.

<comment><USER3> How do you rollback a DB schema change?

<comment><USER4> You deploy in phases. You only remove data in the final phase. I wrote about this at [https://engineering.edx.org/django-migration- donts-f4588fd11...](https://engineering.edx.org/django-migration- donts-f4588fd11b64).

</comment></comment></comment><comment><USER5> It's funny because I'm reading this from my work, instead of doing somethink productive

<comment><USER4> If reading this increases/reaffirms your knowledge of good practices, that _is_ productive.

</comment></comment><comment><USER6> It's called Read-Only Friday for a reason. Unless of course you enjoy spending your weekends debugging and rolling back. No thanks.

</comment><comment><USER7> "Slack is famous for its role in increasing connectivity between team members, but, at what cost (aside from the monthly fee)?"

And what's bikeshedding?

<comment> g-erson > The term was coined as a metaphor to illuminate Parkinson's Law of > Triviality. Parkinson observed that a committee whose job is to approve > plans for a nuclear power plant may spend the majority of its time on > relatively unimportant but easy-to-grasp issues, such as what materials to > use for the staff bikeshed.

\-- [https://en.wiktionary.org/wiki/bikeshedding](https://en.wiktionary.org/wiki/bikeshedding)

</comment></comment><comment><USER8> A corollary to "Don't deploy on Friday": "Don't deploy on Monday."

Unless you really want to work over the weekend.

<comment><USER9> Why would deploying on a Monday result in working over the weekend?

<comment><USER8> I guess it depends on why you're doing the deploy. If the whole point of doing the deploy is to pick up new code changes, then the people responsible for doing those code changes run the risk of having to work over the weekend to make sure they're ready. This can be a big problem at (for example) startups where the same engineers are responsible for writing new code and doing deploys. But it can happen at organizations of all sizes.

If all you're doing is rolling out a new version of Postgres and it's supposed to just work, then a Monday deploy makes perfect sense. However, as a software engineer, the primary reason I've been involved in deployments is because we've written new code and we need to release it. In an ideal world, the code would be completed _and_ rigorously tested by no later than Friday at 5pm. In the not-so-ideal world we actually live in, this isn't always true, which is why I prefer to target deploys for Wednesdays.

<comment><USER3> If you were working on a weekend on a feature and I were the release manager, I would not be confident in your delivery and I would ask you to wait for the next release in order to test calmly your changes.

<comment><USER10> You assume management is generally "sane." There's a reason why the likes of Dilbert's Pointy haired Bos (PHB) often ring true.</comment></comment></comment></comment></comment>


No, Seriously. Root Cause Is a Fallacy - <AUTHOR> http://willgallego.com/2018/04/02/no-seriously-root-cause-is-a-fallacy/ <comment><USER2> This is a deliberately click-bait title.

It intentionally misuses the word fallacy, when it actually means that root cause analysis is an essential step in the correct direction and must go even further in that direction. All it's really saying is "cause should be plural in root cause analysis."

The fact that perhaps an incident had multiple simultaneous causes doesn't invalidate root-cause-analysis. The fact that 5-whys diverge after level 3 or 4 means that once you get to to a high-enough level there are numerous solutions on how to prevent a problem (to use the car-battery example, there are dozens of solutions. The car could show a message when the alternator doesn't work, the dealer could call the car-owner at service times, they could invent a belt that doesn't ever break, etc)

<comment><USER3> Yep, this article's framing is poor. The 5 Whys are just a simplification that proved useful to get people to dig deeper that previously couldn't be bothered. There is nothing stopping you from turning a linear sequence of questions into a fanning-out tree of questions so that you can go both deep and wide. ...well nothing other than time and resources. It's like suggesting that riding bicycles are a fallacy and that if you really want to get somewhere fast, you need to take an airplane. It's true that bicycles are slower but they are usually better than walking and the cost/benefit ratio is often better than taking a flight.

</comment></comment><comment><USER4> Aristotle's distinctions among types of causes are, I think, very useful compared to root cause analysis. It's not that some why's are more important than others in an absolute sense. Rather than having four different "why?" questions one after the other, he pointed out there are four kinds of "why?" you can ask simultaneously, and depending on what your needs are one may be more important than another at a given time.

So, for "why is the table flat?", the four causes are:

1\. (Material cause) because it is made of wood, and wood is rigid, and so holds its shape.

2\. (Efficient cause) because a carpenter took a plane or chisel and cut away all the wood that wasn't the flat surface.

3\. (Formal cause) because the blueprint the carpenter used was of a flat rigid surface suspended over 4 legs.

4\. (Final cause) because if it were not flat, your jug of wine would fall over when you set it down on it.

This is in some ways superficially similar to the "five why's", but it is more flexible, because you do not _have to_ go in that order. You might look at two tables and ask why this one is flat and this other one is curved, and realize that it's because this other one is made of canvas rather than wood, and the canvas has started sagging. This framework also lets you categorize each type of "because" as you receive it.

<comment><USER5> This is cool. Where did you learn this?

<comment><USER4> I majored in classical philosophy.

This is actually a fairly common background for sysadmins, I've found, anecdotally.

</comment></comment></comment><comment><USER6> This article could better have been entitled, "Root cause is overrated". It's not always the right way to address a problem. (a good example is modern medicine which is almost always about addressing symptoms).

The best part of this article is "5W tends to diverge after the second or third question."

<comment><USER2> Divergence isn't a problem though. Divergence shows how complex cause and effect are, and how many different ways there are to prevent a problem.

If it diverges then people simply need to get in a room and list the tradeoffs of different solutions (robustness, cost, reusability)

</comment></comment><comment><USER7> > _One root cause implies one problem with one answer._

I don't know that root cause was ever ONE thing. The root cause(s) can be many roots within the root cause.

A tree has a trunk, it goes down to the root, the roots are multiple on some instances.

The 5 Whys, 5-Ms, 8-Ps and 4-Ss help determine root cause(s). The idea of root cause is to find all the real reasons something isn't going as planned. Many times it is one thing but sometimes it isn't, there is also process that need retrospectives if the root causes are not fully solved or continue to happen, in that case the true root cause is still out there. When you only find part of the root cause you haven't found the root cause fully.

Root cause is not a fallacy, if it isn't just one thing you just haven't found the root cause(s) fully yet just a symptom and you need to go deeper or the roots have grown/changed.

In logic, root cause is usually easier to find because it is more objective, in policy there is a constant of misunderstanding that is rarely factored in enough or is caused by unknowns that can be ever-changing.

Sometimes, especially in policy, the cause can never be solved and it should be accepted as a known part of the solution or accepted as a constant problem. Example: to stop drug addition we will make all drugs illegal, or to stop alcohol addiction we will prohibit alcohol, yet people will continue to do them because of the human condition. These are clear examples of root causes that have deeper root causes, some causes don't need solving or can't be solved due to misunderstanding, they need objective acceptance of them being part of the system always and solutions within that reality. Another example is hacking or fraud, those expectations have to be built into the system, they aren't going away because they are evolving around the root cause solutions put in place into a cat/mouse game ad infinitum.

</comment><comment><USER8> Provacative title, but I am unconvinced. The 5W example seems completely valid as it stands and author's attempt only leads to (to my mind ) another valid version of 5W. Even if the article had won me over, I would change the title to 'Root Cause can sometimes provide insufficient results'

That said, I do agree with the author on one thing: gif with a soft 'g'.

</comment><comment><USER9> The fish bone diagram in addition to 5W can help account for multiple factors of root cause [https://en.m.wikipedia.org/wiki/Ishikawa_diagram](https://en.m.wikipedia.org/wiki/Ishikawa_diagram)

<comment><USER10> No, they can't. Both approaches are linear and sequential chains of cause/effect, which do not work with complex adaptive systems.

Five whys give a cherry-picked paucity of data in an investigation: [https://www.oreilly.com/ideas/the-infinite- hows](https://www.oreilly.com/ideas/the-infinite-hows)

</comment></comment><comment><USER11> That five why's ends up with a different resolution depending on who you ask doesn't need to be a problem. You're not trying to fix all causes, just avoid the specific problem you had from reoccurring. All you need to find is _a_ cause that when addressed will ensure the problem does not reappear in the same form. In fact, it is better if multiple independent causes can be found because then multiple causes can be addressed.

<comment><USER12> Avoiding specific problem from reoccurring is not the goal either though. What is the root goal? Why do you want to prevent specific problem from reoccurring? Maybe you just want to limit the scope of the problem or of all such problems and maybe it will have much better overall effect on the system.

I think the point author tries to make is that root cause analysis is a broken thinking model that doesn't lead to actual quality improvement.

</comment></comment><comment><USER13> For me, when I talk about "root cause", what I mean is:

What is the most generic thing, that, if changed, would have prevented that problem?

Generic things are: Team setup, planning process, development process, choice of framework and programming languages, coding conventions, ...

Less generic things are: Database constraints, ORM validation, ...

Even less generic: Server side API validation, frontend validation, a frontend bug that caused a bad value to be submitted, ...

From this comparison it is clear that all levels of genericness have to be correct and need to be fixed if necessary. The question for the root cause simply encourages to follow the lead all the way up the chain of genericness.

</comment><comment><USER14> The example I give of a problem in 5-Whys analysis deals with Snowden's leak of classified materials.

One RCA ends up dealing with how computer system security doesn't match up with organizational security, another ends up with the problems of outsourcing security, a third concerns the dissonance between internal and public views of American military policy, and so on.

Every single one ends up with a very different resolution. As the article quotes, "5W tends to diverge after the second or third question."

<comment><USER15> We saw some convergence on the 4th or 5th why frequently being "Because we were lazy..."

</comment></comment><comment><USER16> The purpose of a root cause analysis is often not to find the {only,all} root cause, but to prevent the incident at hand from repeating by removing something which is necessary.

Event Y happens if and only if factor X. Factor X is what the RCA is supposed to find to prevent event Y. There may be many factors which satisfy this equation which means there may be multiple RCAs which are correct and functional in achieving our goal, to prevent event Y.

</comment><comment><USER17> "What's the root cause of success?" really is a nice and succinct way of illustrating the problem with root cause analysis.

Of course, a million business book writers fancy themselves capable of answering that question, in about 300 pages or so.

<comment><USER18> >> What's the root cause of success?" really is a nice and succinct way of illustrating the problem with root cause analysis.

No it's not. Success is usually the result of a lot of things going right. The implication is that root cause analysis is like asking why a new business failed vs succeeded. That's what a post-mortem is for. Root Cause Analysis is primarily used to find the cause of a failure in something that is otherwise working normally. Why did the rocket explode? Why did the aircraft go down? Why did the car have sudden uncontrolled acceleration? The results of an RCA are specific and actionable things that can prevent future occurrences. There may be multiple "contributing factors" discovered along the way, and it's sensible to address those as well. Nobody says to ignore all contributing factors along the way.

The author also takes the failed car example and proposes a bunch of things that _were not the problem_ and acts as if they were overlooked in asking 5 whys. Each of the why questions had a specific answer in the example, but there may have been other things looked at prior to finding each answer. He suggests that other things may have been ignored while overlooking the specific actionable items that were identified.

<comment><USER12> Ultimately the role of root cause analysis is to help reach said success. There is no other reason to adopt this technique, hence the fallacy.

<comment><USER19> No. That's like saying one could conduct a root cause analysis on a pile of parts on the ground, asking why they haven't formed themselves into a car.

Root cause analysis, by its definition, assumes that you are starting with a functioning system (turns inputs into the proper outputs) that failed unexpectedly.

<comment><USER12> Functioning system doesn't imply success. You believe you can reach success by adopting certain techniques for solving problems. Doesn't mean they are net positive for it though.

<comment><USER18> >> Functioning system doesn't imply success.

It is almost a definition of success. One can refine it to include functioning under a range of conditions, or at a desired price point, or something else. But a system that functions as desired is the end goal of all engineering projects. Even if you're most of the way there in development, root cause analysis can often be used to figure out why something did not perform as desired.

</comment></comment></comment></comment></comment></comment><comment><USER20> I think root cause analysis is perfectly capable of scaling to the type of system that we're talking about here. It just means you need to iterate and backtrack. Maybe consider something like fault tree analysis or whatever, but tailored for your system.

Yeah, we get it, complex systems fail due to multiple failure points. So iterate your root cause analysis until you find multiple failure points.

The entire point of root cause analysis is to stop from mitigating the wrong things without thinking. Where you mitigate is purely a business value decision. Sometimes mitigating at a higher level (either by stopping your root cause analysis early, or by deciding that mitigating at a lower level is not possible or desirable) is the way to go. Case in point, the root cause of my car (I live in Canada) rusting out early is cause we salt the shit of our roads every winter and that my car is made of corrodable materials. I mitigate that by applying undercoating that I have to reapply, instead of addressing the root cause (I live in a terrible climate, and my car is made of metal).

Having the causal tree of events is only useful when paired with the set of possible solutions.

</comment><comment><USER21> I find the arguments weak and lacking convincing power. Each has a pretty obvious gaping flaw. The author seems to depend upon RCA being executed poorly. For instance, "we take short-cuts and the investigation for the root cause is shallow." If you begin with the assumption that all investigations are shallow and bad, well of course you're going to conclude that RCA is bad.

Title claims it's a fallacy but all the fallacious thinking I see is in its arguments.

</comment><comment><USER22> I tend to aim for two solutions: how can we prevent this from happening and how can we detect this kind of failure ahead of time (to alert).

</comment><comment><USER23> 'No. Wrong.' Such binary thinking. Reminds me of the quote "Google uses Bayesian filtering the way Microsoft uses the if statement" which points out how unsophisticated purely binary statements are. The Jain's captured this idea in the philosophy of Anekāntavāda.. that reality is multi-faceted. The philosophy teaches one to approach a situation and make statements such as "in some ways, it is","in some ways, it is not","in some ways, it is, and it is not"...

</comment><comment><USER24> This article explains nicely why, despite a strong bias to seek deep causes, I've always felt skeptical of formal RCA.

It's the formality and constraints. The key is in the example of the '5 Whys' exercise diverging after 2-3 steps if people do it individually & separately. It is simply too confining to seek a single cause -- occasionally 'true' but rarely complete.

Seems a good first improvement could be to implement independent/separate 5W analysis as an early step, then use those as a broader roadmap.

</comment><comment><USER25> The problem with the analysis that he is talking about is that it tends to lead to too many problems. Is this situation worth that amount of effort to fix? If it is, then when we would have done an RCA we would have looked for those additional measures, if not we've saved ourselves a lot of time and argument about whether or not something contributed to the problem.

</comment><comment><USER26> My problem with root cause thinking is the belief that there is only one thing that needs fixing when there are many contributing factors. Fix one thing and you have a system that's just stable enough, not more.

</comment><comment><USER27> No, seriously. Thing is a thing.</comment>


Most iPhone Apps Are Failing To Leverage The Network Effect - <AUTHOR> http://www.techcrunch.com/2008/08/07/most-iphone-apps-are-failing-to-leverage-the-network-effect/ <comment><USER2> I think mobile apps which do this are coming, and the iPhone SDK hasn't been available long enough for really spectacular stuff to have come out. It takes a while for a neat, massively-socially-networked (how's that for a neologism) mobile game to gestate.

Here's a freebie idea for someone adventurous: a few years ago, I read about some online game, where players would sign up for some kind of a spy, murder, and conspiracy thriller. They would then periodically get emails, phone calls, faxes, and letters, to which they should react in the real world, and which advanced the plot. I don't think this was particularly multiplayer, in that I don't think that players interacted with one another.

I think using the location awareness of an iPhone could make a thriller game like this incredibly exciting and immersive. Imagine a beeping device guiding you up the stairs in a building, telling you where to find the next clue? Telling you to quickly contact another investigator, because she found something and needs to share? Pitching teams one against another to follow a trail of clues in a race to find a hidden object somewhere in the city where they play?

Implementing this would, without a doubt, be hard. Dealing with the liability issues alone could possibly sink this idea (e.g., how can you safely put random people in touch with one another, how can you ensure the safety of a particular building or other locale, and so on). In addition, it probably would require a fair amount of coordination and manual work by the organizers, so the game would have to cost a pretty penny to play. It would also have to have settings like "only play the game between 7 and 8:30 in the evening," which would of course be an even bigger nightmare of logistics. Of course, if someone figures all this out, it could become a huge hit.

<comment><USER3> I think the game was Majestic by EA.

</comment></comment><comment><USER4> Ugh, I'm tired of the "march to free" crap. There's not always a march to free. Downward pressure, sure, but free? All iPhone apps will be free just like all software will one day be free. Anyone who believes that is just not aware of capitalism and psychology. People will want to make money off their applications, and people will want to pay money for applications. People making money have more incentive and capital to make a better program than someone giving away something for free. Sure, there will be exceptions, but it doesn't mean your iPhone app will be forced out the market any time soon by a free alternative.

</comment><comment><USER5> Trough third-party apps my Windows Mobile phone has automatic number-lookup, gmail, ability to look up my contacts location on google maps and what not. That is all cool. It is all subtle.

I assume it's not what the author meant, but reading that, the way he phrased himself, the only thing I could think of was having reddit invading my phone and all my calls interupted because there was new Obama news.

No I don't want that.

I wan't application that works. If they need network or not is irrelevant. They need to work, and most importantly: I shouldn't have to go to a Apple AppStore to get them.</comment>


Surviving the Framework Hype Cycle - <AUTHOR> https://speakerdeck.com/tehviking/surviving-the-framework-hype-cycle <comment><USER2> You can draw lessons out of this for your career, too, in addition to your personal intersection with the lifecycle of one or more technologies.

Video of talk is here: [https://t.co/sk99UiZCtA](https://t.co/sk99UiZCtA) Haven't watched yet; on basis of slides and seeing Brandon speak previously, strong recommendation.

<comment><USER3> Thanks for the video link - the slides are great, but the video is even better, since a bunch of the slides are animated. Actually, 'animated' describes the whole presentation pretty well. :) Clearly a thought-out and well-crafted presentation, and lots of insights.

</comment></comment><comment><USER4> Here are my notes on the talk: [http://pchristensen.com/blog/articles/surviving-the- framewor...](http://pchristensen.com/blog/articles/surviving-the-framework- hype-cycle-brandon-hays/)</comment>


Ask HN: How to handle employee requesting inflated salary/title? - <AUTHOR> How do you tactfully and delicately handle the situation where an employee requests compensation and/or title above his/her performance?<p>On the one hand, you don't want to bruise egos, but on the other hand, you need to maintain fairness to other employees and don't want to let title/salary inflation cripple your startup. <comment><USER2> Tell the employee that you think it's a good idea and setup a plan to get them there with objective goals and touch back in 6-12 months. If he doesn't succeed in meeting those objectives, you didn't lose anything and you could point to it in not giving him the new title/promotion. If he does succeed, then you got more out of him. You could turn this around to be a positive growing experience.

<comment><USER3> This is basically how the game is played. The other half is that managers hire their unqualified friends into those same high level positions no questions asked. No hoops. no career development carrot and stick bullshit. Welcome to office politics. You are a fool if you jump through the hoops. Smart employees will just go get the job they want somewhere else.

<comment><USER4> This is how even senior management positions are filled.

<comment><USER5> I had my first and last experience ever working for a family owned business where the 3 daughters of the owner (straight out of USC) were hired to be the "Directors" of their own departments... with no employees. These girls had nothing to do so they started killing time making insane mandatory dress codes, spirit events and MANDATORY halloween costume and cubicle decorating contests. They drove company Porsches and took private jets to golf tournaments with clients. When they brought in the daughters boyfriend got brought in to be the biz dev guy, who also went to USC and also had no experience other than being the "biz dev" guy of his father's chain of carwashes... He told me one day he was going to "dev the shit out of some biz" .... I put in my notice. I think I still have PTSD from working there.

</comment></comment></comment></comment><comment><USER6> This is poignant for me as tomorrow I'll be speaking to my boss about my current title compared to what I actually do, and the accompanying wage.

I've clearly laid out what I've done in the last 6 months and how it has benefited the company (justifying the change) and what I have planned in the upcoming 6 months, to show him what he will be getting from me.

BKO mentions you should 'setup a plan', but I'd suggest putting that on the employees shoulders. If they are asking for the title and salary, let them know you're not against giving it to them, but have them explain what they have done in the last X months to feel they deserve it, and/or what they plan to do.

From there, you can discuss what your expectations would be of somebody in that position with that title. You can then help them fill the gap. But I think having the employee do the introspection first might bring to light where the employee sees their value.

</comment><comment><USER7> It's hard to say no, especially to someone you work with everyday. So find a way to arrive at a "yes" that benefits both the company and the employee.

Fortunately you have several factors in your favor, and potential strategies to getting to "yes".

1) It's A Startup - resources are scarcer than a larger, more established company. Any employee who works at a startup should understand this.

2) No Process - there's no formal process for handing out promotions. Co-opt his self-interest to craft a process that treats employees and the company fairly. As a side benefit this will force him to think of the company's needs in addition to his own.

3) It's A Startup Redux - working for a startup often means sacrificing short- term gains for a long-term payoff. Structure any promotion so that while an employee may not get as much now they have an opportunity to earn much more in the future. (Usually, this comes in the form of stock options with a vesting cliff).

4) DIY - in a startup the best way to get a promotion is to build it yourself. A single Google worker is unlikely to move the needle on Google's profitability, either up or down. A startup employee can have a much greater impact. Inventing or improving a feature. Helping expand into a new market. Creating a process that saves every other employee an hour each day. These are all huge gains that can improve profits, either presently or down the road. Find the metrics to measure each employee's contributions and reward them appropriately.

</comment><comment><USER8> This is why companies put in place formal policies for hiring, firing, and promotions. If you give in to this one instance, you've set a bad precedent that will have the rest of your employees soon coming to you for inflated salaries & titles.

You should be able to precisely define what it looks like to perform each job function at a given compensation/title level. That way, when a person comes to you looking for a raise or promotion, you can say "Well, these are the skills you will be evaluated on and the expectations for what you can do to earn that, and this is the process and timetable for this evaluation. Get to work." And ideally, you'll have built the process with employee input so that everybody buys into it, and sucking up to anyone person doesn't measurably change your chances of being promoted.

<comment><USER3> Formal policies are meaningless. Management is an unregulated group. Inexperienced people will learn their lesson when they go through all those skills and expectations and nothing happens. The job market is the only real test of who is valuable and who is full of it.

</comment></comment><comment><USER9> I'm assuming the title doesn't exist now and you want to hire form the outside with more experience. Just realize your probably not going to keep this person. They probably feel they are doing the job they are asking for(right or wrong).

</comment><comment><USER10> Be honest. But not too honest (like showing them this post).

Lay out the (not "a", but "the") roadmap that would define what they think they're worth. Make it clear and transparent.

Use lingo like "next level" and "investment" and "personal development". Be super positive.

If you're small enough, and you think it's worth the investment (in this individual), touch base regularly about the roadmap you laid out and how you think they're progressing. Be ready to come with concrete, factual stuff, too.

</comment><comment><USER11> What I learned at our last company that I'm applying to our 4-person company:

1) Set up performance reviews and tie them to salary reviews every 6 months. It sounds very corporate-y, but it sets a cadence. People know when their compensation is up for review.

2) Talk about salary/title/equity expectations before performance reviews. Then, during performance reviews, if your grant differs from the expectations, it's a time to set objective for how to achieve those goals during the next round of raises.

</comment><comment><USER12> Its about how you state it:

Instead of saying "no fucking way you can't do that job", You say "at this time were going to have to refuse this request", "here is the things your good at today (elaborate on list of items), You need to keep that up and do the following if you want me to give you that title and raise (give list)"

The problem might be you, not them. They may see needs you haven't identified yet, and aren't articulating them well. You may also have currently unstated expectations that you can get out on the table too. Lots of people are happy having a plan/path and might reach for it if they see it is possible.

There may be other mitigating factors in the ask that you aren't stating or aren't making us aware of as examples:

\-- Are they asking for a role your hiring for?

\-- Do they have life changing events going on that your unaware of, and a need for increased compensation?

\-- Are you below market on pay, and pushing equity as an alternative? Stock options and free lunches don't mean shit if you have a sick family member or a kid on the way.

<comment><USER2> > Do they have life changing events going on that your unaware of, and a need > for increased compensation?

I disagree that personal circumstances should be a factor in making managerial decisions. It's not fair to the other employees, company or investors. If you feel strongly enough to intervene, you should do so on a personal level (offer to lend the person money with no expectation of having him return it, let him crash on the couch, etc) because the other employees and investors may not share the same values as you and you need to act in their interest.

<comment><USER13> It's a valid disagreement, but compensation is arranged so the employee is getting the least amount possible the company can get away with paying. Exceptions exist, but generally, if somebody needs more money and you're already paying them the least amount you can, it's time to look at losing him / her vs paying more to keep somebody reliable. It's expensive to rehire, more expensive in almost every case plus risky.

<comment><USER2> I agree that if you need to pay them more to keep them and they're worth it, you should. I think the argument that employers pay employees the minimum amount is true on the surface, but it is too cynical and unrealistic. The firm isn't "getting away" with anything same as you're not "getting away" with a wage/working conditions higher than your next best alternative. You're engaged in a mutually beneficial agreement, although the gains may not be evenly distributed among parties.

Economist Ronald Coase had an interesting perspective as to why firms exist:

> Mr Coase argued that firms make economic sense because they can reduce or > eliminate the "transaction cost" of going to the market by doing things in- > house. It is easier to co-ordinate decisions. At the time, when > communications were poor and economies of scale could be vast, this > justified keeping a lot of things inside a big firm, so carmakers often > owned engine-makers and other suppliers.

So paying someone no more than you have to would be the model of purchasing contract work rather than decisions made in the firm. In the firm, you accept some inefficiencies in order to minimize transaction cost, including those associated with finding, vetting and hiring a new employee.

[0] [http://www.economist.com/news/leaders/21584985-anyone-who- ca...](http://www.economist.com/news/leaders/21584985-anyone-who-cares-about- capitalism-and-economics-should-mourn-death-ronald-coase-man)</comment></comment></comment></comment>


Red Hat takes over IBM - <AUTHOR> https://www.cringely.com/2018/10/29/red-hat-takes-over-ibm/ <comment><USER2> Remember that Cringely did a kickstarter and didn't follow through and kept all the money, attributing it to his kids.

60-odd days left...

[https://en.wikipedia.org/wiki/Robert_X._Cringely](https://en.wikipedia.org/wiki/Robert_X._Cringely)

On May 22, 2017, Stephens published an update on his personal blog[25] claiming that he had run out of money and had decided to turn the project into a startup. On January 2, 2018, Cringely announced that, while the Mineservers had been burned along with his home during the October 2017 Northern California wildfires, there would be "a spec update and a new shipping schedule in a couple more weeks."[26] In a comment on his personal blog dated May 21, 2018, Cringely announced that "every supporter will get their Mineserver before the end of this year."[27]

</comment><comment><USER3> Mark Bob ran with the 'NeXT takes over Apple' meme also featured here.

Did not make a bad job of it.</comment>


The Agony and The Ecstasy of Steve Jobs - <AUTHOR> http://www.betabeat.com/2011/10/18/steve-jobs-sold-out-says-playwright-behind-powerful-drama-i-steve/

<comment><USER2> I have seen his performance and it is excellent. Possibly the best geek performer I have ever seen. That being said his message is quite biased against outsourced manual labor. While he addresses he problems that are caused to Chinese workers it doesn't in any way address the fact that Chinese workers are joining companies like Fox Con every day in order to get themselves away from an even worse life.

I encourage everyone who can to go to one of his performances but keep in mind that this is one part of China that is actually raising the quality of life for its citizens. It is a horrible situation from our perspective but it's not as easy as blaming one company for all these problems. If Apple pulled out of China it would nOt fix anything.

If we want to help the developing class we need to look at the classic issues: education, employment and a government that recognizes the freedom and rights of it's ciizens.

<comment><USER3> We talked about exactly this in my Ethics in Technology class and came to the same conclusion you've stated. Yes, this is terrible from our perspective because we outlawed those kind of working conditions years ago. But if there were better options, then there wouldn't be so many people working for Fox Con. And if it's bad to us but manageable to them, then there is worse out there that they are trying to get away from.

Thinking and talking about the situation in terms of our lives sensationalizes more than it informs.

<comment><USER4> _And if it's bad to us but manageable to them, then there is worse out there that they are trying to get away from._

If every person's situation is relative, then how do we oppose slavery or abuse? It's better than starving to death, right?

The real problem here is that there's no recourse in our current economy. China makes well over half the electronics we buy so it's not like a boycott of Apple would necessarily help.

I see two approaches that could help. We can appeal to the humanity of CEOs, boards, and investors and try to press them to enact change. Or we can use their vanity by embarrassing them with productions like "The Agony and Ecstasy of Steve Jobs."

<comment><USER3> In response to: If every person's situation is relative, then how do we oppose slavery or abuse? It's better than starving to death, right?

While I get what you are saying and am by no means arguing in favor of Fox Con, I believe you are turning my shades of gray argument back to black and white. There isn't a strict dividing line between the acceptable and unacceptable; it's a gradient. There is worse than Fox Con and there is worse than what is worse than Fox Con (and so on, ad nauseam).

My point is that it is foolish to use Fox Con as the poster child of this issue when there are far worse situations. It does a great disservice to the argument. Most people will stop at Fox Con in their exploration of the situation and say to themselves "That's horrible. We should do something about that," instead of "It's horrible that Fox Con is a better option for most people and that there is worse out there. We should dig deeper and fix the problem from the ground up until Fox Con is the worst of the worst and then we can fix that."

</comment></comment></comment></comment><comment><USER5> If, say, a Motorola or Samsung device garnered such status, I wonder if people would dig up shit on said devices.

Lets face it people. If you bought something from China, you are complicit. If you bought something from a country poorer than China, say, oil from Nigeria, you are probably worse than complicit.

Don't like it?

My parents come from one of these modernizing nations. Should we be more humane? Sure, but this sort of journalism is juvenile. The general sentiment amongst expats and exchange students alike is that these countries will rise up. The only thing worse than being exploited by capitalism is not being exploited by capitalism.

<comment><AUTHOR> I think you're probably right that this kind of inhumane labor extends to all gadgets. The article says as much.

But isn't the point that Apple is lionized as a "revolutionary" company and Mr. Jobs as a "genius" and a humanitarian?

And BTW, how is the opinion of expats and exchange students enough to speak for the whole nation? They are likely not the ones working in the factories.

<comment><USER6> Exactly! It is the reverence given to Steve Jobs that makes this particularly interesting. We all _assume_ other companies are screwing someone over to get us cheap goods, but somehow Apple marketing made buying their products practically a _religious_ experience.

<comment><USER7> > Apple marketing made buying their products practically a religious > experience.

Not sure buying one is a religious experience. However, using their products definitely can be. It's annoying to have to reboot a device because it isn't connecting properly anymore after being on for a couple of _weeks_ but it's nice knowing all you have to do is reboot. With other devices, a reboot is a hit or miss fix and you need to do it more often. I've only had one serious issue with macs that isn't fixed by a reboot and that's the network configuration holding on to dhcp leases or old certificates when they shouldn't.

The _it just works_ stuff people talk about isn't completely accurate.

* My apple tv 1 shows up in itunes but nothing can connect to it. It's gone wandering again after a few weeks without a reboot. I think it's lonely.

* I couldn't get openvpn to compile on Lion, I had to find a workaround. Most of the issues I deal with are small things. The video drivers have never crashed on me.

It's not that everything just works. It's that more of it works than it does with other products. It also has a high amount of polish. I love the way OSX renders fonts. So much that using ubuntu makes me cry.

</comment></comment></comment></comment><comment><USER8> > For all I know, my Motorola may have been made there as well.

Yes, Foxconn makes Motorola phones too. Farley admits the obvious: that making it about Jobs and Apple sells more tickets and makes a more interesting story, and that it's really a rant against the entire electronics industry. And given the very ugly history of industrialization in the West, I can't help thinking there's a certain naiveté behind the moral outrage.

<comment><USER9> And other electronics: <http://en.wikipedia.org/wiki/Foxconn#Clients>

</comment></comment><comment><USER10> All Apple had to do to be different was to have their own factory in China (as opposed to contracting FoxConn), use the cheaper workforce, and treat the employees better. Blind outsourcing is the culprit here I believe.

<comment><USER11> _All Apple had to do to ... was to have their own factory in China_

Like that is easy.

Companies use organizations like FoxConn for a reason: cost is one of them.

Expertise is another. Apple is good at what they do. Being able to make the stuff they design requires a whole 'nother corporate skill set.

<comment><USER10> Corporate greed is always about blind outsourcing. You get the savings and you don't care how you get them. I have no doubt that Apple is capable of manufacturing their own devices. They chose not to. If workers were getting treated like crap, Apple is to blame. period.

I'm not saying don't make stuff in China, I'm saying we can be good employers in China and set a standard by treating employees like we would expect NA employees to be treated, with respect and dignity.

</comment></comment></comment><comment><USER12> For the sake of those who do not refuse to think for themselves, let me say this: there was no agony in Steve Job's life, only the exaltation of living a full, rich, happy life in the course of which he saw the realization of his highest values. Steve Jobs was a true hero: an extraordinarily productive and creative man who inspired and gave hope to so many by showing them what incredible achievements are possible to a human being. He showed them a life worth-living. And, most importantly, Steve Jobs was a PROFOUNDLY MORAL man.

He was moral because of his values - the relentless pursuit of beauty and perfection in his work and life, to the utmost of his ability. He was moral because those values came from within himself, from the functioning of his own mind, and not second-hand from the morass of ideas going by the name of "morality" today. He was moral because he never gave up his ideas for the sake of others' approval. He was moral because he did not give the unearned and undeserved and he did not seek the unearned and undeserved from others. He was moral because he had a SELF that embodied the best in man.

Those who measure morality by how much you give away to others, known or unknown, deserving or undeserving, do not understand that. They do not understand that before you can give, you have to create, but before you can create, your primary concern must be the process of creation itself, not the potential beneficiary of that creation. Yet, that is the only mechanism through which all can truly benefit. They do not understand the difference between forcing or cheating or defrauding and signing a voluntary contract. They feel guilty for buying a phone, but never question the morality that tells them they should feel so and never seek the roots of that guilt. They rail against the capitalist creator, but ignore the fact that bad working conditions are the logical result of a controlled economy, as if hundreds of millions of victims of communism were not enough to prove that. They scream in defense of the poor Chinese worker, but never ask how it happened that that worker never rose against its real oppressor.

Yes, Steve Jobs is my hero. And my other hero is Ayn Rand, who helped me understand what makes people like Steve Jobs possible. But she only showed me - my mind had to do the rest. I thought for myself, taking nothing for granted. I urge everyone to do the same.

</comment><comment><AUTHOR> I don't understand how this guy can be so self righteous. If Apple's labor practices are so bad, why doesn't he stop buying their devices?

<comment><USER13> They cover this in the article:

"Wasn't it a bit hypocritical of Mr. Daisey to condemn Apple when he continued to buy the company's products? "There are no alternatives in our ecosystem," Mr. Daisey pointed out, noting that FoxConn makes more than half the electronics purchased by Americans each year. For all I know, my Motorola may have been made there as well. "What I can do is to force people to wrestle with the reality of how their precious gadgets are made.""

</comment></comment><comment><USER14> As far as I'm concerned, anything with the "Made in China" label has to be equally scrutinized. We in the US are complacent in buying these products, but this also applies to toasters, refrigerator magnets and just about everything sold in the dollar store.

I refuse to make my quality of living worse because this nation is undergoing it's own industrial revolution and hasn't worked out all of the humanitarian kinks. I buy US products whenever I can, and don't when it's not possible- buying and entirely "American" smart phone is not possible.

Singling out Apple here is not going to fix the issue, China as a nation needs to address this aggressively. With a population of about 1.5 billion people, the governments needs to protect it's workers like a union would here.

</comment><comment><USER15> If people are working at FoxConn _voluntarily_ (i.e, they choose to go to work there because they believe their lives are better that way), who cares?

If people are being _forced_ to work there by the government, then U.S. and European governments need to decide if they're willing to allow trade with a government that uses slave labor. (I highly doubt people are being _forced_ to work there, though.)

<comment><USER16> _If people are working at FoxConn voluntarily (i.e, they choose to go to work there because they believe their lives are better that way), who cares?_

Now you are moving the goalposts from discussing Foxconn to the question of whether we should regulate free will.

I'm not asking you to agree with my stance on any of the following questions, but I do ask you to recognize that they are equivalent to your question, and to recognize that many other people hold differing views from your own:

* If people want jobs working at a construction site that doesn't follow safe practices like wearing a hard hat, who cares?

* If people want to work for $1 a day, who cares?

* If people want to work for an employer who insists on sexual favours as a condition of their employment, who cares?

I think you can recognize that while there are folks who don't care about any of these questions anywhere in the world, including North America, in the US and in Canada there are a sufficient number of people who do care that we can readily say that our moral standard is such that we claim to care as a society.

As for being _forced_ to work somewhere, I'd say you're rarely forced to do anything, you just find yourself in an environment where the alternatives are so drastically unappealing that you effectively have no free will in the matter.

This is why we choose to impose safety standards in the workplace: We have discovered that the free market will act in such a way that safe workplaces are extremely rare, and in turn people seeking jobs will discover that they have few if any options available to themselves.

<comment><USER15> I think that the questions you raise _are_ extremely pertinent, so I agree with you there.

 _We have discovered that the free market will act in such a way that safe workplaces are extremely rare_

I just don't buy that. I think "extremely rare," there, is a very gross exaggeration. And I think the frequency of dangerous workplaces greatly decreases, as national prosperity increases (which, modulo other kinds of interference, happens over time).

I mean, come on - even Foxconn is _relatively safe_. I'm not hearing accounts of people getting killed, I'm hearing (at _worst_ ) accounts of people being fired after acquiring certain kinds of repetitive stress injuries.

On the other hand, I _do_ have a moral problem with someone forcefully interposing between two trading parties (in this case, employer and employee).

In fact, _that kind_ of case is the _only_ kind in which people are forcibly prevented from exercising their free will.

</comment></comment></comment><comment><USER17> the big question for me is how far down the pipeline does steve's vision extend. i think his passing won't affect the care and quality for maybe the next 2 years but after that i'm worried.

<comment><USER18> People like to say that Apple will be fine in the post-Job era, while simultaneously paying him credit as one of the most amazing CEOs in history. But I find this an interesting bit of cognitive dissonance.

Either Steve _was_ the key to Apple's top-notch products and meteoric rise, in which case Apple has lost their magic; or he wasn't, in which case Apple will be fine. It really can't be both ways.

<comment><USER19> It can. As CEO, one of his responsibilities was to create an organisation that would endure. Apple itself may be Steve Job's greatest creation. The test of the next 10 years is to see if that is true.

<comment><USER20> As far as we know he didn't even organize his own succession, which is one of the most basic responsibilities of a CEO of a multinational. Even when he knew he was terminally ill. So I don't see much hope that he organized the rest of Apple as some great enduring company either.

<comment><USER21> Where do you get that? He recommended in his resignation memo to the board of directors that they make Tim Cook CEO, as per their succession plan.

</comment></comment></comment></comment></comment><comment><USER15> _"There are no alternatives in our ecosystem," Mr. Daisey pointed out, noting that FoxConn makes more than half the electronics purchased by Americans each year._

Does anyone have a citation for that? That's hard to believe.</comment>


The Staggering Death Toll of Mexico's Drug War - <AUTHOR> http://www.pbs.org/wgbh/pages/frontline/foreign-affairs-defense/drug-lord/the-staggering-death-toll-of-mexicos-drug-war/

<comment><USER2> When Mexico can fix it's corruption issues where any cop can be paid off with a few thousand pesos, the violence will stop. It's the same reason why we had so much violence and crime during the prohibition era and again during the 70s and 80s in Miami.

Legalizing drugs in the US will not fix this. The main reason is because the labor in Mexico is cheap. Much cheaper than in the US. Legalizing drugs will only make it easier for companies here to outsource to now legitimate cartels in Mexico.

Why do you think we still outsource to China?</comment>


Ask HN: the risks of blocking IPs - <AUTHOR>

So, I am seeing some obvious bots and exploits hitting my server. They don't pose an immediate problem yet -- they mostly get 404s as they search for known exploits.
My instinct is to block the IP addresses, but I am concerned that it might have the effect of blocking legitimate customers. Maybe the abuser is sitting in a Starbucks, for example, and I wouldn't want to ban the people at the next table. Ditto for a corporate firewall.
What has your experience been? Is blocking IPs a bit too brute-force? Has it ever caused a customer complaint?
Thanks. - <USER2> <comment><USER3> here are a few things you can do:

1\. instead of blocking, throttle the IPs. Rate limit them to making no more than 1 request every 30 seconds or so. Most script kiddies get fed up if their attack gets painfully slow.

2\. if you see a high rate of traffic coming from an IP, quarantine it for say 2-5 minutes (ie, block all traffic from it) and after that time throttle it.

3\. If you notice patterns in the IPs, eg, they all come from the same block, then redirect those IPs to a different box (you can set up a VIP to do this). You can do what you want on this box (eg: don't bother opening database connections here), but the main thing is that your primary web server has all its resources available to serving legitimate customers.

4\. Never give an attacker any indication that you've noticed their attack. It only makes it more fun for them and they'll persist longer. So, if you see abusive traffic, don't return a 404 or a 403. Just return a regular 200 with a cached version of your regular page.

</comment><comment><USER4> If you block IPs, try to be as specific as possible. There was a popular site I couldn't reach for months from my home connection, but full of info I liked. I finally emailed the owner from work and found out that he had blocked my entire class B (xxx.xxx) range due to spamming. This has happened more than once, unfortunately.

My rule of thumb is to block small first, then wider based on the registrant of that IP. Russia and China seem to have the most spam-bots running (or at least the most aggressive), but as long as you block at the xxx.xxx.xxx level, you shouldn't impact actual users very much.

Like barredo said though, include some information on your 403 page.

</comment><comment><USER5> I always ban IPs. If they are bots, they are highly unlikely to be real visitors too sharing those ip addresses.

Ban the IPs temporarily, say, a month, and put a message in your '403 forbidden access error page' saying sorry: "your ip is blocked because of weird-things-happening-from-your-ip, if you are a customer you should check for trojans or virus on your computer and send us an email"

</comment><comment><USER6> I've done IP blocking for about 5 years on my site and will continue to do so. I put up a special page when the IP is blocked that has my phone number and I explain, "Hey - this sucks for both of us. Here's the problem and one of the possible reasons your IP might have been blocked. Those stupid spammers - it's all their fault. If you are a human, we apologize and here's our phone number." I get probably 2-3 calls a year.

Is this ideal? Of course not - bluesmoon's solutions are far more elegant. But how much time will it take me to code/manage those solutions over the next five years? Lots. How much more money will I have made as a result? Probably none. So I made the choice to be more aggressive but to be humble on my "You're blocked!" page and the customers that do call get it; they understand.

<comment><USER3> depending on scale, your method might end up being better. It all comes down to a trade-off of effort. Will investing a bunch of time building infrastructure now help you in the long run or can you wait 1-2 years before you build that infrastructure?

For a startup that doesn't yet know if they're going to make it big or not, it may well be worth it to delay the infrastructure and just put some heart behind it :)</comment></comment>


How to instantly share files from your computer with anyone in the world? - <AUTHOR> https://labstack.com/docs/tunnel/cookbook/file-sharing <comment><USER2> A similar method can be used via Tor where you don't want to trust a third party and want guaranteed end-to-end encryption. Also bonus points for not needing a STUN server or having to open ports.</comment>


Drawing Christmas trees with TeX and LaTeX - <AUTHOR> http://tex.stackexchange.com/q/39149/213

<comment><USER2> I think I'm missing the point, but wouldn't it be easier if you just made it inside a vector graphics program?

<comment><USER3> Hah, so true. I almost never use LaTex for anything other than text. Sure, you can draw DFA's/NFA's and trees with it... but it is so much easier to use other resources such as CS6 or sites like [http://madebyevan.com/fsm/](http://madebyevan.com/fsm/)

<comment><USER4> GraphViz is awesome for drawing graphs.</comment></comment></comment>


R.I.P. Frank Frazetta (1928 - 2010) - <AUTHOR> http://www.nytimes.com/2010/05/11/arts/artsspecial/11frazetta.html?hpw <comment><USER2> What an incredibly sad story to see children fight over the estate of their parents.

I know it is quite common but I never understood it.

</comment><comment><USER3> I carried Frazetta's sketchbooks with me for years. They provided an immeasurable amount of inspiration for me.

</comment><comment><USER4> Wow. Sad new. He was a big influence on me when I was drawing and painting.</comment>