Python metaclasses - <AUTHOR> http://ivansmirnov.io/python-metaclasses

<comment><USER2> Great tool, but not to be put in the wrong hands. The folks at Django got it right. We used it for unifying, simplifying and ensuring consistency of deeply nested configuration data entered using different means. However, in environment with less experience, I have seen "Akira-final-scene-tetsuo" monsters come to life with this.

Another loosely related suggestion: if we could stay away from singleton as examples, I think we would save ourselves a lot of future troubles. ^^

<comment><USER3> "Great tool, but not to be put in the wrong hands."

I wouldn't quite say this - I wouldn't want to discourage someone who's going to learn them to go ahead, but I'd just say "Only use them when you _really_ need to use them and if you're going to use them make sure you _really_ understand them".

<comment><USER4> The problem with this is the "wrong hands" are exactly the kind of programmers who are convinced they _really need_ complex abstractions when a much simpler option is available.

</comment></comment></comment><comment><USER5> This is an interesting and fairly well explained post, but a little light on real world examples.

Can anyone maybe suggest a few examples of where this could be used (or is used already?)

<comment><USER6> We use meta-classes extensively. One of the simpler examples I have used are as follows:

We have a class that has different methods that performs numerical analysis/computations of financial models. These methods need to be tested with different subsets of data. The number of combinations of tests and test- data are huge, whereas the 'testing code' is simple and repetitive. Having these tests in a loop is not useful due to way test errors get reported.

Therefore, we generate a test class using the meta classes, that creates 'test_*' methods that are eventually executed. With such methods in place, we have around 100 tests generated within less than 100 lines of code, without loosing the detailed error reporting in case of failing tests.

<comment><USER7> Could the same thing be achieved by subclassing your base test class and then overriding setUp to inject the correct data for that combination? I'm pretty sure I'm oversimplifying, but I'm really interested in your method.

In Django, when we add a new field type, you need to remember to test all the integrations (admin, forms, migrations, etc) and that's not always done correctly. It'd be great if there were some easier method than just subclassing a template test class and implementing all tests from the ground up.

<comment><USER6> I do not think it would work with sub-classing. With the approach we have it is just easier to add the 'new' method name to test into the list argument of the meta class. The meta class would generate a `test` method with the passed in function name.

With the subclass approach you are required to implement a new class and essentially write repetitive code, or reuse existing functions. Reusing existing test methods does not provide good error reporting as I had stated earlier. It is late in the day. Shortly, I will try to post a gist example of what I am talking about, if you are still interested.

<comment><USER7> Bit late to respond, but yes I would be interested, thanks!

</comment></comment></comment></comment></comment><comment><USER8> This seems to still miss the critical mechanism that metaclasses provide to the language.

There are many ways to enforce a constraint from dervied classes to base classes.

Metaclasses are the only* way to enforce a constraint from a base class to a derived class.

(* there's actually another way, but don't do it.)

<comment><USER9> Well, since you mentioned it... what is the other way? I'm curious. I _promise_ I won't do it.

</comment></comment><comment><USER10> I like Ruby's object model and uniform access principle much better. You don't have to worry about descriptors and meta-classes when doing metaprogramming. Just a few hook methods and `instance_eval` and you're good to go.

</comment><comment><USER11> Metaclasses are the monads of python. Everyone seems to want to write about them at some point.

</comment><comment><USER12> Tangential question, is there anything similar to Moose (Perl) in the Python world?

<comment><USER13> Caveat: I haven't written any Perl except for an occasional one-liner in a decade.

But I do a fair amount of Python, and a 20 minute cruise through the Moose docs leads me to believe that the most similar thing to Moose in the Python world is, well, Python.

<comment><USER14> Not quite. One of the biggest features of Moose is it's concept of roles. They're in some senses similar to typeclasses in Haskell and Traits in Rust.

Effectively, they give you access to parametric polymorphism in perl land.

[http://modernperlbooks.com/books/modern_perl_2014/07-object-...](http://modernperlbooks.com/books/modern_perl_2014/07-object- oriented-perl.html#cm9sZXM)

<comment><USER13> True.

Rather than having the kind of parametric polymorphism you get with roles, Python prefers duck typing. And for the practical use of adding some composed, reusable, but orthogonal state and behavior to a class, Python provides multiple inheritance. For type-checking issues where duck typing is not sufficient, Python has Abstract Base Classes.

Now, I am aware that roles are not the same thing as duck typing or multiple inheritance, or ABCs. Not having roles in Python is a design decision. [http://legacy.python.org/dev/peps/pep-3133/](http://legacy.python.org/dev/peps/pep-3133/)

But I still think in terms of the ability to use the language to write clean OOP code, Python is closer to Perl5 + Moose, than Perl5 alone is to Perl5 + Moose.

(Not a knock on Perl5 or Moose, between 2002 and 2005, I did a bunch of web and systems programming in Perl, and I wish Moose existed then.)

</comment></comment></comment></comment><comment><USER15> This topic has been beat to death. I guess there are more articles explaining metaclasses then people who understand them. There are 11K results for /understanding python metaclasses/ in google.</comment>


Police unions aren't "unions" in the traditional sense - <AUTHOR> https://twitter.com/doctorow/status/1288130941072769025 <comment><USER2> This is a silly argument. His assertion that the union isn't "interested in helping cops" is ludicrous, his actual points completely contradict this (e.g. their pension). Also his notion that "real unions" are about "public interest" is similarly nonsensical -- unions are primarily about benefiting their members, as they should be.

He also completely misses a much stronger point, which is that there _is_ a crucial difference between private-sector unions and public-sector unions. Which is that private-sector unions are _necessary_ because there's no other mechanism for employees to reach a collective agreement. But in the public sector, there is: the ballot box, i.e. all democratic policy ever. Collective decision-making takes place in the legislature.

In this sense, there's an argument to be made that police unions, teacher's unions, etc. are unnecessary and fundamentally anti-democratic. If Coca-Cola workers go on strike that's fine, we can just buy Pepsi. If police and teachers go on strike, the nation suffers -- government unions essentially break the democratic social contract by declaring "we disagree with the democratic decision of the people and will hold the city/country hostage". One could make the argument that in the private sector it's simply negotiation, while in the public sector it's extortion.

Now it's not actually that simple in practice -- after all, democratic representation and legislation often doesn't work as well as it's supposed to. But then again, police and teachers' unions seem to be arguably just as bad of a mess.

<comment><USER3> > But in the public sector, there is: the ballot box, i.e. all democratic > policy ever. Collective decision-making takes place in the legislature.

Do not like this argument. I know you acknowledge it later but there are so many problems with this. It assumes that some 0.5% of the population can affect the results of elections in any consistent manner, that they would even vote consistently given that they probably would have diverse politics, that politicians would care about problems (which can be some bureaucratic minutia) that they have, etc.

If teacher's unions didn't exist, you would never even hear about complaints that teachers have in the political arena except some pity article written by a journalist about the troubles that teachers have.

<comment><USER4> There's a problem with public sector unions - they make a contract with 0.01% of the population, but the rest of the population gets to adhere to that contract.

If teachers want to have unions - they should be free.

If police officers want to go on a strike - they should be free to do so.

What I disagree with - is that police unions take hostage the whole legislative process and force their own interests without a broad debate.

Take police infraction reports in New York - police unions got their members infraction records sealed by law.

Any legal mandate for union or any legal mandate against a union is bad.

<comment><USER3> Yes, police unions need to be heavily regulated since they have so much power both politically and in terms of what kind of levers they can pull. For example, there was a story about Minnesota police slowing down their responses to areas in which their city council representative voted against the interests of the police union.

But the narrow question of whether the police need a union or not, I think they do because they need representation etc., the same reasons why any employee, public or otherwise, needs a union.

</comment></comment></comment></comment><comment><USER5> If police unions aren't "unions," why are some of them part of the AFL-CIO, the largest collection of unions in the nation?

Police unions are unions--according to other unions.

I think it would be more intellectually honest of Cory to admit that unions are not automatically or inherently contributors to social progress, but rather are forms of organization that must be available in order to create the potential for social progress.

Put another way, objecting to what police unions do is not proof of a flaw with unionization in general. It's just disagreement with what those specific union leaders choose to do with the power afforded to them by the union form.

Progressives are plenty comfortable making this kind of argument about nonprofit organizations. It's perfectly consistent to like the ACLU and dislike the NRA, for example, even though they're both nonprofits.

<comment><USER6> The call-to-action at the end of the thread is a call for the AFL-CIO to sever its ties with Police Unions.

Basically the entire thread is "Here are all the reasons, AFL-CIO, that you shouldn't associate with these unions anymore."

Using the fact that the AFL-CIO does support them is a bit of a tautological dead-end, because of course they do, otherwise this thread attempting to persuade them not to wouldn't exist.

Just in case anyone didn't get to the end of the twitter thread, the last tweet is as follows:

[https://twitter.com/doctorow/status/1288130980650205184?s=20](https://twitter.com/doctorow/status/1288130980650205184?s=20)

Fixing policing is a long road, but it must start. We can begin by getting the @AFLCIO to sever all ties with police "unions."

eof/

<comment><USER5> I just don't think anyone will get a sympathetic ear at the AFL-CIO if the lead is "I'm going to tell you what unions really are." The AFL-CIO undoubtedly thinks they are qualified to make that determination for themselves.

Honestly I doubt the AFL-CIO leadership will listen to anyone on this topic unless there is pressure from their membership, like if other unions start threatening to disaffiliate over policing issues.

<comment><USER7> It puts the members who side with a Police lobby-as-union on notice to others and to the public. It's the start of a movement to reform or quit.

</comment></comment></comment></comment><comment><USER8> Doctorow's arguments seems to fall into the categories of 1) police unions exist for the benefit of their members not for society at large, and 2) a list of things not to like about the police in general, not their unions.

It's a decent list if you just want to get someone hot under the collar about the police, but not for arguing that their unions are nontraditional in any sense other than the type of job their union represents.

<comment><USER8> I just see contortion to avoid admitting that it's both possible and reasonable for generally pro-union people to disagree with any specific union. That's ground he doesn't want to cede to people that might be less positive on unions overall.

But it's a crazy stance to take. For any goal it's possible for a group or organization to work towards, there is going to be a non-zero number of perfectly-typical groups doing it that people don't like.

There's a pizza shop downtown that I think makes retched pizza, but I also know people who think they're the best in town. Doesn't mean I go around saying they're "not a traditional pizza shop" because I'm afraid of looking anti-pizza when I say I'm not joining you for lunch if that's where you're going.

<comment><USER9> I believe a more accurate metaphor would be if the pizza shop was known for regularly stealing people's money, or assaulting their patrons. In that case they would in fact not be a traditional pizza shop and there would be no confusion about you being anti pizza.

You're the one using contortion here in my opinion.

</comment></comment></comment><comment><USER10> They should stop calling them unions and just call them "brotherhoods", which is more accurate.

"Just a few bad apples" is never continued to complete the phrase; "spoil the barrel".

I think nearly all the trouble could be fixed if police understood one small thing: good cops that protect bad cops aren't good cops.

<comment><USER11> >They should stop calling them unions and just call them "brotherhoods", which is more accurate.

Like "International Brotherhood of Teamsters", or "International Brotherhood of Electrical Workers", or "United Brotherhood of Carpenters and Joiners of America" ?

<comment><USER10> yes, exactly

<comment><USER3> His point was they are all unions... It doesn't matter what you call a union. It's still a union.

<comment><USER10> In the OP's twitter thread, Doctorow makes the point that unions operate with solidarity to other unions, but the Police unions don't.

</comment></comment></comment></comment></comment><comment><USER12> They don't carry lunch buckets to mine adits or factory gates? I'm willing to hear such arguments for SAG-AFTRA or NFLPA. But the tweeter seems to use "in the traditional sense" as meaning "having a cool image among my friends".

Calvin Coolidge first attracted national attention when he helped to break the Boston police strike in 1919. There are a fair number of unions that can't trace their history back to 1919.

</comment><comment><USER13> The history of the police is filled with police launching violent assaults on every other union.

They're a union in the same way they're law abiding citizens: the rules don't apply to them, and they'll physically attack anyone they feel like.

</comment><comment><USER14> The way they actively leverage their collective power to protect individuals that are painfully obvious in the wrong is kinda alarming.

Sets a very dangerous precedent for "wrong (possibly fatal) decision has no consequences"

</comment><comment><USER15> It's a narrowly political argument, you need to show solidarity with progressive politics to be a union (and not breaking up strikes is insufficient)

<comment><USER16> If you define "workers' rights" as progressive politics then you've kinda hit the nail on the head.

</comment></comment><comment><USER17> As a brit, it seems like there are dozens of causes of US police brutality. Everyone has a favourite cause which fits their wider political/social point of view. Then they just talks about that one, ignoring all the others and their respective solutions.

<comment><USER18> It's hard to build a coalition to end police brutality if you basically ignore the majority of cases in favor of focusing on the _relative_ differences across races wrt population size (even ignoring the frequency of crimes in those populations).

</comment></comment><comment><USER19> This just seems like a very skewed take.

> Front-line workers' unions like teachers and nurses strike to improve > conditions for the people they care for; police unions' main cause is > reducing oversight and accountability, waging a decades-long war on civilian > oversight boards.

Teachers also wage war on accountability. They resist every attempt to measure their performance (for example through standardized tests), never suggesting alternative approaches where they see a flaw in methodology. Most recently teacher unions have started mixing demands for safer reopening plans with a mix of other wholly unrelated demands - asking for charter schools/parental choice to be abolished, asking for police defunding, asking for Medicare for all, etc ([https://californiaglobe.com/section-2/l-a-teachers-union- say...](https://californiaglobe.com/section-2/l-a-teachers-union-says-schools- cant-reopen-unless-charter-schools-shut-down-and-police-are-defunded)). These have nothing to do with safer reopening plans. The teacher unions want protection from accountability by squashing competition (charter schools) and they are bundling this ask with an ask for safer reopening plans and police defunding to garner public support. But make no mistake these are political games.

In Seattle earlier this year, nurses in one hospital system went on strike ([https://apnews.com/106ced24f239ea09b709e8959c385e45](https://apnews.com/106ced24f239ea09b709e8959c385e45)). They marketed the strike as pushing for better nurse to patient ratios but it really was about pay. The hospital had offered a generous pay increase out of the gate that was better than what another medical group had recently offered its own workers, who accepted the new package. The increased pay at this other hospital was the motivation for these other nurses to strike, but the striking nurses rejected that generous offer and demanded double the increase. The strike resulted in numerous patients having procedures delayed by months (waiting for openings in schedule) and expecting mothers scrambling to deliver elsewhere and so forth. I don't see how their strike served patients at all.

The reality is that all unions bring with them dynamics of power that they use to serve their own member's interests. They often market benefits to the public or other parties to present their demands in a less offensive way, but their core purpose is to serve their own member's interests. The lack of competition can cause many negative behaviors - that happens across the board whether we are taking about police or teachers or nurses. Cory Doctorow's Twitter defense, trying to separate out police unions from all other unions, makes no sense and just seems biased.

<comment><USER9> Teachers aren't against measuring progress they're against tests that have been shown to not help the children but instead detract from learning useful things and instead encourage memorization. I recall wasting entire quarters in school learning "meta" subjects about the FCAT. Utterly useless. And biased towards minorities

No nurses are unionizing for lack of oversight asking to "make hospitals great again". Asking for a better nurse to patient ratio really isn't comparable to asking to rollback reforms and oversights. Complete apples to oranges comparison there

<comment><USER8> I don't pay any attention to educational policy. What evaluation metrics do the teacher's groups support?

</comment></comment></comment><comment><USER20> A key part of conservative political philosophy is a set of arguments that the people in governmental bureaucracies are invariable incompetent and act against the welfare of the larger society.

There is, however, one simple way to cure this problem. That is to give them guns and the right to use them in circumstances where ordinary citizens can't.

<comment><USER20> I should have been clear that the idea about guns is what conservatives believe, not that I think it is correct.

</comment></comment><comment><USER21> If they do a rally the army should be there to control it.

</comment><comment><USER22> more deceptive apologia from socialists

of course police unions are unions. unions have always been self interested to the needs of the members of that union even if its add odds of health and well being of people dependent on those workers.

this is the whole anarcho-syndicalist fantasy in a nutshell. collective bargaining will inevitably put you at odds with other groups and their needs. its just collective selfishness instead of individual selfishness. nd usually its not even the whole group its the influential and charismatic leaders of the union who drag everyone in a certain direction. little stalins.</comment>


Jorge Stolfi explains Bitcoin versus Bitcoin Cash versus Segwit2x - <AUTHOR> https://davidgerard.co.uk/blockchain/2017/10/15/jorge-stolfi-explains-bitcoin-versus-bitcoin-cash-versus-segwit2x/ <comment><USER2> Anyone who is up to date with what is going on with bitcoin can see this is a gross oversimplification. But I guess that is to be expected from Jorge Stolfi who is ideologically opposed to bitcoin and has been on a crusade to try and stop it or change it into some neutered version of it.

<comment><AUTHOR> > gross oversimplification

Feel free to go into detail about what's wrong with the analogy, rather than skipping straight to ad hominem:

> ideologically opposed to bitcoin

This is otherwise known as "knowing what he's talking about", which he does to a sufficient degree that the SEC reached out and asked him for an expanded comment on the Winklevoss ETF application last year - it's 27 pages that makes a pretty good critical book on Bitcoin in itself: [https://www.sec.gov/comments/sr- batsbzx-2016-30/batsbzx20163...](https://www.sec.gov/comments/sr- batsbzx-2016-30/batsbzx201630-20.pdf)

He knows the area and the details, and you can't credibly claim he doesn't.

<comment><USER2> > Feel free to go into detail about what's wrong with the analogy

Like I said, it's an oversimplification beyond recognition of the actual situation. It's the equivalent of a 30 second sound bite covering a major contentious issue that has been going on for years and this "explanation" doesn't contribute to the understanding of what is going on and hence doesn't deserve a detailed response.

All I'm saying is he has an agenda and people should keep that in mind when reading this.

<comment><USER3> I'm interested what agenda you are speaking of. To my knowledge, Jorge Stolfi is not affiliated with any financial institution. He is a professor of computer science, not economics or any similar field that you could tie to banks.

<comment><USER2> > He is a professor of computer science, not economics or any similar field > that you could tie to banks.

Makes you wonder why he wrote a 27 page document full of economic arguments to the SEC and boasted about it the notorious anti-bitcoin subreddit /r/buttcoin.

> I'm interested what agenda you are speaking of.

Stolfi has been a long time critic of bitcoin because he determined it could not scale because it is an inefficient system. I can understand that argument because it is true from a computer science perspective; bitcoin is a broadcast network where every node has to process all transactions made. No issue there. But given that fact, doesn't it seem strange then that he is actively participating (in a positive way) in conversation with the people (bitcoin cash supporters) who want to make the bitcoin system more inefficient (broadcast more "redundant" data) by his own definition?

Further, he has been a vocal critic of technologies that have to potential to fix his main concern with scaling bitcoin, namely the lightning network (which is practically not possible with bitcoin cash). Not to mention his use of derogatory terms like "Blockstream/Core" for the open source project that has massively increased the performance and capabilities (and thus scaling) of bitcoin, and calling privacy improvements to the system "money laundering" techniques.

Another particular thing with Stofli is in how many ways he thinks bitcoin is illegal (which has nothing to do with his scaling argument) as you can listen to in this interview: [https://soundcloud.com/bitcoinuncensored/buttcoin-vs- bitcoin...](https://soundcloud.com/bitcoinuncensored/buttcoin-vs-bitcoin-with- jorge-stolfi-of-rbuttcoin-king-of-the-butters)

I could go on and on with these examples. If you are interested you could take a look at his comment history on reddit: [https://www.reddit.com/user/jstolfi](https://www.reddit.com/user/jstolfi) (all my examples and more are in there).

His actions are very inconsistent with his arguments and I don't think he can be trusted for that reason. Gregory Maxwell, one of the most respected and accomplished bitcoin developers, had this to say about him: "Sometimes you encounter a person whos opposition means that you're doing something right. Jorge Stolfi is one of those people."

<comment><AUTHOR> > Makes you wonder why he wrote a 27 page document full of economic arguments > to the SEC

Because the SEC _directly asked him to_ , as an _expert on Bitcoin_.

> Further, he has been a vocal critic of technologies that have to potential > to fix his main concern with scaling bitcoin, namely the lightning network > (which is practically not possible with bitcoin cash).

For scaling he does think big blocks are a less bad idea, and that "sidechains" are hopelessly underspecified. But his objections to the LN are detailed, and really haven't been addressed by proponents. It's questionable both conceptually and in what passes for an implementation (after two years of it being vaporware).

It's entirely unclear how being a "vocal critic" of an idea that's bad on multiple layers is an "agenda".

>and calling privacy improvements to the system "money laundering" techniques.

Uh, that's pretty much what they are in practice. Bitcoin has enough problems as a vehicle for money laundering with full history on the chain; making it less traceable is immediately going to make it more attractive for money laundering.

"privacy improvements" is very nonspecific. Can you link said "privacy improvements" and Stolfi's statement about them?

> His actions are very inconsistent with his arguments and I don't think he > can be trusted for that reason.

I have yet to see an inconsistency.

You _still_ haven't set out the "agenda" you claimed, nor evidence for it. Your main objection seems to be that you disagree with him, and that he thinks the LN is bad.

(Emin Gun Sirer is a computer science professor who is similarly disdainful of the LN, can't wait to hear what his "agenda" is)

<comment><USER2> > Because the SEC directly asked him to, as an expert on Bitcoin.

What makes him an expert on bitcoin in particular? What bitcoin related works has he published? What contributions has he made? What role does he play in the "expert" community? At what conferences has he spoken? What makes him qualified to comment on bitcoin economics (or economics in general)?

Anyway, I think this is going nowhere. I have seen this exact discussion many times and the end result has never been satisfying for either party. Let's just say the experiment is ongoing and time will tell what the conclusion will be.

As for his agenda, I think he is trying to stagnate progress by pouring gasoline on the fire that is the schism in the community. I don't know what his exact motivation is, but my suspicion from reading the SEC document and his comment history is that he thinks that there is something morally wrong with bitcoin. I admit he has some valid technical points, but it is suspicious that he is so negative about it. You would expect that someone who spends so much time thinking about bitcoin could come up with some ideas on how to make it better, but so far he has not produced anything. There are many bitcoin skeptics out there and I don't mind that, it's part of the experiment. But Stolfi is a special case, he is extremely determined.

Thanks for the discussion, I'm out.

<comment><AUTHOR> > What makes him an expert on bitcoin in particular?

It's pretty clear the SEC thought so, given they _directly asked him for comment_. It's not some self-awarded title we're talking about here. You seem to be ignoring this point in the hope it will go away.

> As for his agenda, I think he is trying to stagnate progress by pouring > gasoline on the fire that is the schism in the community. I don't know what > his exact motivation is, but my suspicion from reading the SEC document and > his comment history is that he thinks that there is something morally wrong > with bitcoin. I admit he has some valid technical points, but it is > suspicious that he is so negative about it. You would expect that someone > who spends so much time thinking about bitcoin could come up with some ideas > on how to make it better, but so far he has not produced anything. There are > many bitcoin skeptics out there and I don't mind that, it's part of the > experiment. But Stolfi is a special case, he is extremely determined.

You're taking disagreement as malice. It's possible for something to be trash and yet fascinating - that's the difference between "interesting" and "useful". You're coming across like a creationist trying to make sense of why someone would be an atheist. "They must just hate God!"

I think you need to consider the option that he means what he says, and also the possibility that bitcoin isn't all that. (The LN _certainly_ isn't.)

<comment><USER2> > You're coming across like a creationist trying to make sense of why someone > would be an atheist.

Yeah I get that. I would probably think that as well if I read my previous from your perspective. Especially since there's a lot of paranoid/"conspiracy- esque" thinking going on in the crypto scene. I am fully aware of that and even I am not that confident that bitcoin/crypto will be a success. I too am very critical of many aspects.

But you have a point. I take back my statement that he has an agenda and is trying to disrupt progress. It is certainly possible that someone would do that (divide and conquer is a good strategy), but that is probably not the case. I do however think Stolfi has gone a bit too far down the rabbit hole that he kinda lost track of what his reason was for going there in the first place. You've got to admit, it's kind of peculiar that a guy like him is hanging around with all those /r/btc folks. To me, /r/btc has the right intentions but they are still stuck in a way of thinking like most bitcoiners did in the 2013 era (mass retail adoption, people spending bitcoin directly etc). What is he even doing there? Don't get me wrong, /r/bitcoin is shit too, they just (partly) moved on to to a new unrealistic "vision".

Anyway, Stolfi probably has just found a community of like-minded people that he can discuss a topic with that interests/fascinates him. He has a highly relevant background and can articulate points well which makes him a popular person in that community. Maybe he just enjoys all the attention he's getting a bit too much as the /r/buttcoin superstar. Let's hope he doesn't get addicted to the fame :)

Well, I'm rambling and I need to sleep. Cheers.

<comment><AUTHOR> Apparently I'm the /r/buttcoin superstar now. (killhamster, Queen of all Buttcoiners, has left the sticky for my book up there for two months now ...) At least I can give my reasons, i.e. I'm a horrible sneer culturist.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> why is an explanation from r/buttcoin on HN?

<comment><AUTHOR> 'cos it's concise, clear and from a computer science professor who follows and knows the area, one would think

</comment></comment><comment><USER5> You'd hope the chain with the most utility wins out.

<comment><USER6> They'll all continue. Who wants one bubble when you can have three? The last fork resulted in people doubling their coin holdings. Another fork means another doubling and people will buy/sell on that chain, too. Once again, the current market participants will by extracting wealth from new market participants.

<comment><USER7> Except that Bitcoin Cash is pretty much worthless (~300USD) compared to BTC (5500USD). I _wish_ my money had doubled, it's closer to a 5-6% increase instead.

<comment><USER6> To be pedantic, I said doubling their coin, not doubling their USD equivalent. And who's gonna complain about 5-6% in free gains?

And that's assuming speculation doesn't continue to inflate the price of those alternative coins.</comment></comment></comment></comment>


Rescuing Resque: Let's do this - <AUTHOR> http://blog.steveklabnik.com/posts/2012-09-22-resque--let-s-do-this <comment><USER2> Resque isn't so great after all. We used it with around 600-1000 jobs per minute and not without problems. The failure backends could be better. We need the retry backend and for that you have to install another gem. The retry feature was kind of not working so well and really hard to debug (thanks to EventMachine and Resque's a bit too complicated failure backend).

Our solution was to build yet another queueing and worker system. For queues Beanstalkd is way faster and way more reliable than Redis. Instead of EventMachine I built the workers with Ruby threads and making a retry system on top of it wasn't really a problem.

Our error percentage dropped from around 10% to 0.0001% on average. Maybe some day I might release this as a gem, if world really needs yet another queueing system.

<comment><USER3> > "way more reliable than Redis."

I respect your opinion on different messaging solutions (Resque VS Beanstalkd) however since we spend a lot of efforts to make sure Redis is very reliable I wonder what's the reliability problem you experienced with Redis. Thanks!

<comment><USER4> A different issue, but one that's burned me several times is when things go wrong with resque (or sidekiq), life goes to hell pretty quickly because redis needs to fit everything in memory. E.g., if a third party resource goes down and jobs hitting it all of a sudden start exceptioning and get thrown into a retry queue, all those stacktraces sitting around in memory accumulate very quickly. redis fills up, the OS kills it, it starts back up, loading an older DB, and then restarts processing all those jobs that just failed, without an exponential backoff. And this process will basically repeat ad nauseum.

I'm not sure a whole lot can be done, other than resurrecting the old debate over something like diskstore. And while EC2 is memory-constrained, dealing with this situation isn't a matter of just adding more memory, because that will be filled up as well. redis would either need to be able to spill over onto disk or the processing model would need to be changed. We ended up doing the latter, eschewing stacktraces for retried jobs, adding monitoring to disable queues that have a very high failure rate, etc.

<comment><USER5> I'll second this. It's the Resque backtraces that have caused us a few problems. And on a VPS RAM is your most expensive resource, possibly making Resque/Redis not such a good fit.

</comment></comment></comment></comment><comment><USER6> I switched from Resque to Mike Perham's Sidekiq earlier in the year, and the improvement is just sensational. I'm curious to see how Resque can be improved to bring it up to the same level.

<comment><USER7> ++ on Sidekiq. We've been using it since April and have had no issues at all. From the readme:

"Sidekiq is compatible with Resque. It uses the exact same message format as Resque so it can integrate into an existing Resque processing farm. You can have Sidekiq and Resque run side-by-side at the same time and use the Resque client to enqueue messages in Redis to be processed by Sidekiq.

At the same time, Sidekiq uses multithreading so it is much more memory efficient than Resque (which forks a new process for every job). You'll find that you might need 50 200MB resque processes to peg your CPU whereas one 300MB Sidekiq process will peg the same CPU and perform the same amount of work. Please see my blog post on Resque's memory efficiency and how I was able to shrink a Carbon Five client's resque processing farm from 9 machines to 1 machine."

</comment></comment><comment><USER8> Hello everyone !

We recently released jobco, a simple Resque distribution. You can check it out at <https://github.com/mrzor/jobco>

We attempted to address some of the issues we had with our resque 1.x stack regarding productivity (ease to use both in development, and ease to deploy) and regarding API consistency (rewrote resque-status to keep the Resque API intact).

It doesn't address any of the high throughput issues that were mentioned earlier.

I'm definitely up to help fixing stuff within Resque when appropriate. However, the Jobco project is possibly more appropriate if the feature you're looking after can be provided using plugins, or involves providing better CLI interface to Resque.

You can find out my email address using `git log` on the jobco repo.

</comment><comment><USER9> I didn't realize GitHub had abandoned Resque. What are they using now? Or is it in "works for me" status and they don't feel like changing it?

</comment><comment><USER10> Resque should just be left alone and let it retire. SideKiq is the present and future.

<comment><USER8> Sometimes the forking model have desirable properties.

Numerous past articles covered this in one way or another.

Choosing between SideKiq and Resque is primarily a matter of choosing between forked processes and threads. Retiring Resque and let SideKiq be the present and the future would destroy that choice.

SideKiq, as a threaded impl., can claim some cool benefits : \- shorter job launch times (only interesting if you actually run thousands of second spanning jobs a minute) \- reduced memory footprint (you probably have little to no amount of thread local storage)

I will venture that the reduced memory footprint is mostly the result of the unfriendly to copy-on-write GC we have to live with using 1.9.

Resque has a clean and simple API and a decent ecosystem. It can and hopefully will evolve into something cooler and more powerful - even if worthy alternatives exist.

</comment></comment><comment><USER11> This post convinced me to re-think using Resque in a new webapp of mine. I'm thinking about Celery + RabbitMQ now, does anyone have feedback about this or other recommendations? (i'm in a python wsgi stack)

<comment><USER12> Celery is very slick and low-effort, and should fit in nicely with the rest of your Python code base. Go for it!

</comment></comment><comment><USER13> It may read as tangential, but this feels like the beginning of end of "forget free software, let's get Macs."

<comment><USER14> Someone needs to start a similar project with Ubuntu. Things are clearly getting a bit desperate for them (or so it seems) . If a good number of quality developers finds a good arrangement whereby they can donate a few hours of their time every week to significantly improving it, some real changes could be created.

There are definitely a lot of people who are not happy with the way that Apple has been acting as of late. What if we were to select one (1) laptop model and work on making Ubuntu on it a seamless experience?

<comment><USER13> The best way to improve Ubuntu is to get involved with Debian. That's where the heavy lifting is.

<comment><USER15> This. I started to get involved in Debian a few years ago (though I'm a long- time user) and this is really really interesting work. There are a lot of packages with too little workforce where you can go through a list of dozens or hundreds of bugs.

alrs is true ; in most cases your work is automatically replicated to Ubuntu (where the package-maintainer relationship is less strong than in Debian. Most packages don't have a dedicated maintainer there).

And everyone can do it ; no sign-up or complicated process required. You just have to find a sponsor for your packages which is just a fancy name for "every code needs review". Debian is often described as bureaucratic but most of the processes are very sane.</comment></comment></comment></comment>


Gitpilot, A Git collaboration GUI - <AUTHOR> http://www.youtube.com/watch?feature=player_embedded&v=kmmmNyGxaLc#!

<comment><USER2> SaaS I presume?

For the sake of the business I run (webdev), I will never trust a SaaS Issue tracking or broader project management.

<comment><USER3> Hi, I'm one of the founders of Gitpilot.

Why won't you trust a SaaS? What if you were provided with a link or a way to download all of your data? Would that change your mind?</comment></comment>


HyperTools: A Python toolbox for gaining insights into high-dimensional data - <AUTHOR> http://hypertools.readthedocs.io/en/latest/# <comment><USER2> Quote of the day from HyperTools README [https://github.com/ContextLab/hypertools](https://github.com/ContextLab/hypertools)

"To deal with hyper-planes in a 14 dimensional space, visualize a 3D space and say "fourteen" very loudly. Everyone does it." \-- Geoff Hinton

<comment><USER3> Don't be silly. One can visualize the N-dimensional case and then it is just a matter of setting N=14.

</comment></comment><comment><USER4> Looks neat and wonderful. It's always impossible to compress all structure from high dimensions to 2D or 3D via something like PCA or t-SNE, and the focus on "geometric" insight is also encouraging. Cool/appropriate name too, nice choice of well-supported dependencies, and minimalist design are all appealing. This could become a go-to toolkit for early stage exploration, while it's also pretty and smart enough to wow a coworker / investor. Hope it continues to really develop conceptually and practically!

<comment><USER5> Do you happen to know of a good graphing package for high dimensional data in R?

<comment><USER6> As far as I can tell, HyperTools are a bunch of convenience functions for doing something along the lines of the following dummy R code

        df %>% dim_reduction_function() %>%
           ggplot() + geom_*()

So in a sense, I think you should be looking for a dimensionality reduction library, rather than a plotting library.

<comment><USER5> so it seems, looking at their gallery, and I'd rather just write the lines calling pca, or whatever.

</comment></comment></comment></comment><comment><USER7> The first example

[http://hypertools.readthedocs.io/en/latest/auto_examples/plo...](http://hypertools.readthedocs.io/en/latest/auto_examples/plot_sotus.html#sphx- glr-auto-examples-plot-sotus-py)

seems a little disappointing -- it seems to exemplify more than solve the problems of representing 3D data on a 2D screen. (Is it interactively rotatable or something? I did run it locally in a notebook and it didn't appear to be.)

<comment><USER8> Indeed, all the examples appear to be showing datasets that would benefit from good data visualisation and in some cases dimension reduction, but all of them are terribly represented. I don't think this necessarily a problem with the library, but the examples certainly do not exemplify good visualisation of high-dimensional data.

<comment><USER9> When you say it doesn't exemplify good visualization of high-dimensional data do you have alternate examples in mind? I would like to be able to see examples of good visualization of high dimensional data.

<comment><USER8> I have many examples in mind. Here's an old article with good examples: [https://cacm.acm.org/magazines/2010/6/92482-a-tour- through-t...](https://cacm.acm.org/magazines/2010/6/92482-a-tour-through-the- visualization-zoo/fulltext)

In general I'd say that for any dataset, the ideal visualisation depends on the features and meaning of the data, but almost always some combination of geometry, colour, shape and size can capture all the dimensions. Beyond a small number of categories, colour, shape and size are much less visually informative than geometry. Most often creative use of geometry on different scales is the best first stop for high-dimensional data, for example using faceting (like with ggplot2's facet capability: [http://ggplot2.tidyverse.org/reference/facet_grid.html](http://ggplot2.tidyverse.org/reference/facet_grid.html)). Simulating 3D is almost never required or optimal.

</comment></comment></comment></comment><comment><USER10> EdX has a good course on this (tho' taught in R) [https://www.edx.org/course/high-dimensional-data-analysis- ha...](https://www.edx.org/course/high-dimensional-data-analysis-harvardx- ph525-4x-1)

</comment><comment><USER8> I can't see anything in the tutorials or examples that makes this a good library for visualisation of high-dimensional data. It seems somewhat equivalent to base graphics in R, which is _much_ less useful for visualising high-dimensional data than anything based on Wilkinson's grammar of graphics, like ggplot2 in R.

</comment><comment><USER11> Would this be useful for word vectors/embeddings?</comment>


Presidential candidate website tech, compared - <AUTHOR> https://paulschreiber.com/blog/2015/04/12/presidential-candidate-website-tech-compared/ <comment><USER2> I used to work in support at Rackspace and was fortunate enough to work on 2 presidential candidates and be the lead tech on another. I learned a ton.

The way they raise funds and advance through primaries made scaling out the infrastructure pretty interesting. It was basically, "If we make it through X with a big enough lead deploy gear by next Tuesday if not wait". Would have been a lot easier now that using "the cloud" is an option.

</comment><comment><USER3> I ran those sites through the Sitetruth.com business legitimacy checker. The results are amusing.

hillaryclinton.com - no street address on web site. SSL cert is domain control only validated. Known to Open Directory, so it gets a medium rating of a yellow circle.

tedcruz.org - the robots.txt file redirects to the robots.txt file at "www.tedcruz.org". We interpret this as "robots go away", which is perhaps too strict. The SSL cert is domain control only validated. The site is known to Open Directory as non-commercial, so it gets the grey non-commercial neutral rating.

marcorubio.com - the robots.txt file redirects to the main page, which was interpreted as "robots go away". The SSL cert is one of the low-end Cloudflare certs with a long list of unrelated domains, so that's useless. Known to Open Directory from an old Senate campaign, and Open Directory says it's non- commercial, so it gets the grey non-commercial neutral rating.

randpaul.com - no street address on web site. SSL cert is domain control only validated. Not in Open Directory. No way to validate site ownership, so it gets the red do-not-enter symbol.

Paul's US Senate site, "www.paul.senate.gov", is much better. The U.S. Senate has a good Organization Validated SSL cert with full address info. (Our address parser couldn't parse "The Capitol" as a street address, so there's no map.) Amusingly, the SSL cert covers the sites of a number of senators of both parties. That site gets a green checkmark.

There's also "jebbushforpresident.com" and "jebbushforpresident.net". Both are bogus sites, not from the candidate. No street address, bad SSL certs, not in Open Directory. They get red "do not enter" symbols.

Not one of the candidate sites has a street address, or an SSL cert better than the low end "domain control only" validated certs. None of them except the U.S. Senate site match anything in our business directories, but one would not expect that for sites like these. The SiteTruth engine did properly identify the fake Jeb Bush sites as less than legitimate.

<comment><USER4> Moderately related (in an "it amused me" way): The back of the building Hillary Clinton's campaign headquarters is in faces a Clinton St.: [https://twitter.com/aseitzwald/status/584004566041112576](https://twitter.com/aseitzwald/status/584004566041112576)

</comment></comment><comment><USER5> Have you thought about adding fields for design/consulting firm and CRM? Looks like Hillary is on Salesforce and Cruz is using (and probably overpaying) for Marketo.

The consultants are almost more interesting if you know the industry though. It looks like all the candidates built their sites internally, except for Rubio who is using Push Digital. Will be interesting to see which strategy works better.

<comment><USER5> FWIW, Dems seem to be outsourcing their digital needs more than Republicans. Looks like Bernie Sanders is with Wide Eye Creative and Martin O'Malley is with Blue State Digital. Potentially because there are many, many more successful Dem web firms (including one I work for lol) than there are Republican counter parts... Not sure though, just an interesting data point.

<comment><USER6> Which firms are your Republican counterparts?

<comment><USER5> Because the Dems have been so much "better" or at least more advanced than Republican for as long as anyone can remember the entire Democratic infrastructure is so much more built up than the Republican. Good and bad at the same time though. There are _a lot_ of really good Democratic firms and freelancers but there are also _a few_ really good Republican firms and a lot of not so good one.

For example the Democratic field has some really great players in it like Bully Pulpit Interactive, Blue State Digital, NGP VAN, Wide Eye Creative, Target Smart etc... The Republican field has less but still some good ones like i360, Targeted Victory, Push Digital, NationBuilder, etc.

tl;dr - D's have more and historically better firms. R's have less total firms but this cycle we could maybe see them on an equal (possibly better? probably not, but possible) level as D's.

</comment></comment></comment></comment><comment><USER7> I think it's a stretch to assume that the way a presidential candidate's campaign webmaster chooses to configure a website will be any indication of how the candidate would lead the executive branch of government. It's probably better to look at the candidate's previous leadership performance and his or her positions (as indicated by voting records, not campaign rhetoric) on policy issues.

<comment><USER8> I read the article as exactly that, manufacturing a reason why you'd be interested in the comparison, other than just curiosity.

I didn't read the author's suggestion as serious.

</comment></comment><comment><USER9> This is probably a relevant XKCD:

[https://xkcd.com/932/](https://xkcd.com/932/)

Campaign websites, especially at this point in the race, are as cheap and fast and possible. The tech that will win a presidency will be almost entirely behind the scenes--data collection, email segmenting, volunteer coordinating, etc.

</comment><comment><USER10> Google Pagespeed: hillaryclinton.com 52 (Desktop) / 41 (Mobile) tedcruz.org 69 / 52 randpaul.com 59 / 44 marcorubio.com 76 / 51

</comment><comment><USER11> Presidential campaigns have most definitely gone very high-tech. The Obama campaign was run by some really smart guys ([http://en.wikipedia.org/wiki/Harper_Reed](http://en.wikipedia.org/wiki/Harper_Reed)) using lots of services on AWS. Check out their infrastructure diagram (heads- up its 60MB).

[https://dl.dropboxusercontent.com/u/14405212/AWSOFA- Print-27...](https://dl.dropboxusercontent.com/u/14405212/AWSOFA- Print-27x240.pdf)

Finally, here is a great tech talk video by the Obama for America tech team lead by CTO Harper Reed.

[https://www.youtube.com/watch?v=X1tJAT7ioEg](https://www.youtube.com/watch?v=X1tJAT7ioEg)

<comment><USER12> Ah, AWS/the cloud makes a lot of sense for a campaign. Of limited duration, and the more successful, the more it'll have bursts of traffic tied to events.

</comment></comment><comment><USER13> hillaryclinton.com: Mail server: Gmail

Ironic given she's such an expert on running her own mail server...

</comment><comment><USER14> CloudFlare 3 - Fast.ly 1

PHP 3 - Python 1 :-(

GoDaddy 2 :-((

(well, I guess you can tell what PL I prefer)

<comment><USER15>
        > PHP 3 - Python 1 :-(

Didn't expect that, but not surprised either.

</comment></comment><comment><USER10> hillaryclinton.com has some sweet ASCII art when you open up the console. A fun little easter egg.

</comment><comment><USER16> 3 out of 4 candidate website do not support winxp. Wonder if this finally means that winxp compatibility is no longer worth the extra trouble from a business perspective.

<comment><USER17> I read that line as the opposite, that only Marco Rubio's site requires SNI support to access (hence the red checkmark on his, and the green Xs on the others, suggesting that requiring SNI is _bad_ ). Although I admit that line confused me at first.

The footnote is also suggestive that this is the correct interpretation.

<comment><USER16> You are 100% right. That suddenly make me dislike this list quite a lot, as it suggest that it is a technical achievement to not use SNI. I have seen several times how SNI has been the primary reason for not supporting https, as winxp support was seen as more important.

<comment><USER17> I can't agree more. With IPv4 space so diminished, avoiding SNI to support legacy clients at this point almost seems insane. Suggesting SNI, if required, is somehow _bad_ just illustrates IMO that the list was constructed to make a political point.

</comment></comment></comment></comment><comment><USER18> I have no idea how to read the table on that site.

What is the difference between a red check mark and a green check mark?

What is the difference between a red X and a green X?

<comment><USER19> Green check mark means its presence is good (i.e. HTTPS support). Red X means its absence is bad

Footnote [2] explains SNI support (where the red check mark is "bad.")

</comment></comment><comment><USER20> This reminds when the Joe Lieberman campaign said their site was hacked when it was really just cheap setup.

[http://empirezone.blogs.nytimes.com/2006/12/21/finding- liebe...](http://empirezone.blogs.nytimes.com/2006/12/21/finding-lieberman- site-wasnt-hacked/comment-page-1/?_r=0)

</comment><comment><USER21> I am surprised that only hillaryclinton.com has public whois data. IMHO, hidding behind a proxy is not a good cue for trust. Three among four are very slow to load on my PC. I think this very good article should also compare the performances of the websites.

<comment><USER22> Whois data is more used by spammers than anyone else. It's not like the other sites are purposefully trying to hide their contact information—if they want donations, they'll make sure to prominently display a mailing address.

</comment></comment><comment><USER10> Hillary also uses Webfonts by Hoefler, Modernizr, jQuery, Google Analytics, Font Awesome and possible a heavily modified version of Bootstrap.

</comment><comment><USER23> I'd love to see a comparison of front end tech and general quality of their html/css/js.

</comment><comment><USER24> This chart might be incorrect for [https://www.hillaryclinton.com](https://www.hillaryclinton.com), BuiltWith shows it is using:

\- Microsoft IIS 8 for a server

\- ASP.NET

[https://builtwith.com/hillaryclinton.com](https://builtwith.com/hillaryclinton.com)

No mention of python.

<comment><USER25> Built with seems wrong, look at the server headers:

Requesting [https://hillaryclinton.com](https://hillaryclinton.com)

SERVER RESPONSE: HTTP/1.1 302 Moved Temporarily Content-Length: 154 Content- Type: text/html Date: Mon, 13 Apr 2015 17:07:59 GMT Location: [https://www.hillaryclinton.com/](https://www.hillaryclinton.com/) Server: nginx Connection: keep-alive Redirecting to: [https://www.hillaryclinton.com/](https://www.hillaryclinton.com/)

SERVER RESPONSE: HTTP/1.1 200 OK Date: Mon, 13 Apr 2015 17:08:00 GMT Server: AmazonS3 x-amz-id-2: I7+Tzq0w7Vw6347QHmyedJZfIdyiX4nPiHvXxJw/sD89ltjuop0YG1LgCkf2fo3s x-amz- request-id: 49406508AC541A03 Cache-Control: max-age=86400 Last-Modified: Mon, 13 Apr 2015 16:36:32 GMT ETag: "112d7310ce2add1d77ec28c6ce824fe5" Content- Type: text/html Content-Length: 26723 Accept-Ranges: bytes X-Varnish: 3579276881 3567651786 Via: 1.1 varnish Age: 1837

</comment></comment><comment><USER26> It's bemusing that we are to assume this is the USA presidential candidate - neither of the strings 'usa' or 'america' appear on the page. Other countires that have presidents presumably need to identify themselves so as to not confuse (other) people.

<comment><USER27> "The Royal Family" gets similar treatment. I suspect that it's a language thing---there are only two Anglosphere countries with presidents, and the other one (Ireland) has ~1/50th the population of the US and lots of Irish speakers, so if you see an English language post about "the President", then there's a good chance that it's referring to the US one. I'd like to see speakers of other languages (or Anglophones from outside the Anglosphere) confirm or refute this hunch.

<comment><USER28> In Germany elections don't rely that heavily on the candidates so it is hard to say. But generally speaking there is no clear identification as well, (except for the fact that the address ends on ".de")

</comment></comment></comment><comment><USER29> Why are they using Privacy/Proxy domain registration services?

</comment><comment><USER30> All but Marco Rubio have wildcard certificates without an apparent use for them. It looks like whoever built their websites was keen on using all the budget they were alloted.

<comment><USER11> Who cares, their budget is in the millions. Better to spend the extra couple hundred bucks, and have it. They will most certainly need it (ex. donate.hillaryclinton.com, debates.hillaryclinton.com, vote.hillaryclinton.com).

<comment><USER31> The pervasive mindset is that mailings, tv/radio ad spots, and other traditional media platforms have a known and predictable return on investment. Using the web for organizing and fundraising is the new kid on the block. Despite the impressive showing in 2008 and 2012 on the Obama campaign its not a known/repeatable representative showing.

Every dollar spent on your web presence needs to return 5$ or more to funnel into these more stable predictable forms of outreach. Its not enough to be self sustaining or slightly profitable.

<comment><USER19> Nice username.

<comment><USER31> Nice blogpost :-)

</comment></comment></comment></comment></comment><comment><USER32> How does one achieve origin ip unknown?

<comment><USER19> CDN origins usually aren't public. I found the Ted Cruz one by checking the DNS history.

</comment></comment><comment><USER33> Ah, but _their_ sites are using encryption. What's more important is what they think about _everyone else_ using encryption - and whether they should be using "golden split key front doors" or not. Do a chart for that next.</comment>


SwissCom Tries To Deflect Criticism Of Le Web Internet Failure - <AUTHOR> http://www.techcrunch.com/2008/12/13/swisscomm-tries-to-deflect-criticism-of-le-web-internet-failure/ <comment><USER2> My experience traveling around France this summer was quite eye-opening. At the first household I stayed at, they had no connectivity when I was there. Tech support put them on hold for half an hour, then said they'd send someone to fix it within two weeks.

 _Two weeks!_ Things happen on a different time-scale there. This wasn't rural France, it was in the University area of one of the major cities. The longest I've been without Internet in the U.S in the last 3 years with roadrunner is overnight, during a thunderstorm. And things always get fixed promptly.

That wasn't an isolated experience either. Many French cities, always the same story. Even when the connection did work, half the time it was so slow as to be unusable.

I'm totally with Arrington on the overall coverage of LeWeb. The amount of hanging out, drinking beer and chatting about politics that goes on is pretty absurd (not just in France, other European countries as well). That's actually great if you have a normal job, but definitely a problem if you're trying to do a startup. Europeans need to get real before they can catch up with Silicon Valley.

</comment><comment><USER3> 1800 people attended Le Web 08. If SwissCom charged E100,000 total, that makes 55 euro per person to provide 2 days of Internet connectivity! That costs more than 2 months of residential DSL per person. Ridiculous, even if it had worked.

</comment><comment><USER4> _Day 1 was a complete writeoff and I left mid day to work from my hotel._

He couldn't listen to the talks, take notes, and post them later? Unless he means that the talks were a writeoff because the presenters had no net access.

<comment><USER5> I presume that, like most journalists - just because he was at a show, it didn't mean he was just writing about the show. I was a tech journalist/edit for many years. When I was at a show I spent my time talk to people at the show, yes - but also had commitments - to edit copy, handle other stories that the office was sending me and deal with other administrivia remotely.

Combine that with the fact that half the demos you had booked in advance to see would not have been working and yes... I can imagine having to bail from the hall. Of course, that's why we gave all the journalists cellular data cards for emergencies.

</comment></comment><comment><USER6> Is that really a big deal? What really goes on at conferences that makes any difference to us?

A bunch of self appointed "experts" echoing each others enthusiasm for the next ridiculous meme? How are conferences relevant in our always connected society?

</comment><comment><USER7> It must be the weekend. Nothing but drama on TC again.</comment>


The reactive manifesto is 'not even wrong' - <AUTHOR> http://pchiusano.blogspot.com/2013/11/the-reactive-manifesto-is-not-even-wrong.html <comment><USER2> Here's a real life step by step implementation of it:

[http://c.gg/rm](http://c.gg/rm)</comment>


Red Dead Redemption 2 DRM still has not been cracked (316 days) - <AUTHOR> https://crackwatch.com/game/red-dead-redemption-2 <comment><AUTHOR> Quote from a piracy thread:

"Red Dead Redemption uses some obfuscation written by the same folks that sold previous obfuscation as 'Arxan'. The HWID-bound license probably plugs into the DRM such that it enables continued execution of the game code. This has become a feature of complex DRM."

"It also has a lot of custom checks that Rockstar wrote."

"That's it. There's no grand mystery, it's a classically challenging problem using new ways of writing frustrating-to-reverse bullshit."

src: [https://www.reddit.com/r/Piracy/comments/h0j17y/red_dead_red...](https://www.reddit.com/r/Piracy/comments/h0j17y/red_dead_redemption_2_drm/ftnthhy?utm_source=share&utm_medium=web2x&context=3)

<comment><USER2> I work on anti-DRM techniques for a living.

The experience has shifted my views of DRM. Originally, I saw DRM as highly anti-consumer, and a waste of time and clock cycles. Arguably I do still believe that - but now I have great respect for the technical side of good DRM implementations, and I acknowledge that they provide a time buffer to protect against the first wave of piracy.

I've stripped Arxran's protections from software in the past, and I might just have a look at breaking RDR2 now it's been brought to my attention...

<comment><USER3> It's definitely anticonsumer.

I've no doubt that from a technical point of view, both DRM and the efforts to crack it are fascinating and interesting.

What I don't understand is this: consumers don't crack DRM; crackers and warez groups do. Once cracked, DRM is as good as nothing and it's low effort for an everyday gamer to get and play pirated games.

So this antipiracy "buffer" is only for crackers. For gamers it's just as if the game had a delayed release date.

For legit customers, the DRM is often intrusive and, because it's so complex and fiddly, often breaks in bizarre ways, giving rise to the paradoxical situation that the legit game is harder to use than the pirated game!

Only legitimate buyers lose.

<comment><USER4> >For legit customers, the DRM is often intrusive and, because it's so complex and fiddly, often breaks in bizarre ways, giving rise to the paradoxical situation that the legit game is harder to use than the pirated game!

This is stuff you only read on certain forums. Most people don't even notice DRM

<comment><USER3> No. I remember trying to play Batman Arkham Asylum back in the day and it was a pain in the ass. First Steam. Then it wanted me to log in to some silly Windows Game system. Why? It's a single player game and I bought it via Steam, where I'm already logged in. Anyway, I couldn't register and got tons of errors until I finally managed it. Then it wanted me to download a ton of updates (almost as much as the original download) over a slow internet connection. It's a single player game, for crying out loud -- let me choose whether I want the updates! I had downloaded the game the day before, I had a couple of spare hours and wanted to play _the goddamn game_ (spoiler: I wasn't able to that day).

Had I downloaded the warezed version, I wouldn't have needed: a- Steam, b- the Windows whatever login, c- the updates. Best experience goes to: pirated version. (Had I wanted the patches: pirates eventually release updated versions, too).

For the record, these days I do like Steam, though I far prefer GOG and DRM- free games (when I have the time to play games at all, that is. Which is almost never).

<comment><USER5> There's even repackers who can get the file size down to less than a third of the original size.

I buy all my games these days but there are people who do lots of thankless work and I'm not sure why.

<comment><USER6> Many enjoy exploring the limits of what is possible.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> The frustrating thing about this DRM is that RDR2 requires an internet connection in order to play the single-player game. At one point my internet was down and I couldn't play it. Obviously not the biggest problem in the world, but still an annoyance.

<comment><USER2> The biggest concern for me is, what happens when you want to play the game again in 10 years time, when the DRM servers are offline?

When you buy DRM'ed media, you are merely renting it for an unspecified duration.

<comment><USER8> In 10 years you're better off just playing the 8K remaster on PS6 or maybe just playing red dead redemption 3 which is pretty much the same game but with better graphics and combat.

<comment> arc-in-space Yes, the remaster, on a locked-down hardware platform, both of which I will have to pay for again. Hopefully by then I will also be too old to remember what 'anti-consumer' means.

</comment></comment></comment></comment><comment><USER9> In the meantime the PS4 jailbreak went from version 5.05 (where it stagnated for a long time) to 6.72 in July, which was also old by that time, being released in mid July 2019, but which now can run RDR2 up to the patch 1.13 (last on 6.72).

Or to put it differently... If you can't crack the game, crack the os. At least in the console world, this gives you the advantage that anything works up a certain fw version afterwards.

If I remember correctly, the jump from 5.05 to 6.72, added more than 1000 playable games for those who kept the PS4 on 5.05 (myself included).

Sadly, there is not much talk around HN about console hacking. E.g. Here is the bounty submission of Andy Nguyen (theflow0) for 6.72: [https://hackerone.com/reports/826026](https://hackerone.com/reports/826026)

Sony might have shot itself in the foot by accepting the disclosure at the end... But, then again, they had to and there's not much harm done when the jailbroken fw is a year old.

<comment><AUTHOR> what's the advantage of a jail broken ps4? Other than running 3rd party Linux binaries, and maybe adding ad-blockers, is there a gaming benefit?

<comment><USER10> Check out the Switch or PS3 scenes for some examples: save backups and save editing, game mods, overclocking, normally unsupported game controllers.

<comment><USER11> The Switch is a good example - afaik there's _still_ no official way to back up saves for a lot of games (botw included), and for the ones where cloud saves are supported it's still a monthly subscription. Your console dies, you lose your saves, no way around it other than jailbreaking.

<comment> j-james The Switch hacking scene is also a good example just because of the sheer amount of effort poured into it - Atmosphere, the primary custom-firmware solution, is aiming to be a _full reimplementation_ of the Switch's firmware, kernel and all.

[https://github.com/Atmosphere-NX/Atmosphere/](https://github.com/Atmosphere- NX/Atmosphere/)

[https://old.reddit.com/r/emulation/comments/hygtnx/mesospher...](https://old.reddit.com/r/emulation/comments/hygtnx/mesosphere_opensource_nintendo_switch_kernel_now/)

\---

(also, one more particularly cool application made possible through homebrew is game streaming - from a desktop pc or other device.)

[https://github.com/rock88/moonlight-nx](https://github.com/rock88/moonlight- nx)

</comment></comment></comment></comment></comment><comment><USER12> Maybe it's just me not being a college student with a very constrained budget anymore, but is using cracked games still a thing nowadays? My impression was that it was very widespread until the mid/late 2000s because it was the most convenient way to get a game (ie without going into a physical store or mail ordering games). This should be alleviated by steam/stadia/etc nowadays, right?

<comment><USER13> I'm generally curious about this too.

Cracking got harder and licensed distribution in the 2010s became as convenient and consumer friendly as it unlicensed distribution was for pirates in the early 2000s.

Region locked games started disappearing, coinciding with less physical media needs to begin with.

Flagship titles started being released cross region simultaneously.

Downloads and streaming was available and fast.

The marketplaces and discovery gradually got better too, still limited here but not better than what the marketplaces distributing unlicensed content have.

There is also the part about the budget, but I'm not sure. Expense was a factor, but I'm not sure how big of a factor. The things people do on Steam and other marketplaces is similar to what pirates were doing: downloading a ton of games for free because they could, but only playing the flagship games and never touching the other ones. So the pirates-turned-consumers are still only buying a handful of games, and now also have access to the promotions and plethora of free stuff as the always-consumers.

<comment><USER14> I know a guy, makes minimum wage, poor as shit. Known him a long time, but for how poor he his, he is rich in games. He doesn't even pay for IAP on his phone, somehow he gets that free. It's always hilarious when he messages me: "hey, have you played X yet?" And my response is, "no." He sends me the torrent. I just pay for the games, because I can afford it and I know if he says it's good, I'll probably enjoy it.

I imagine there are other people like me, where the pirating actually drives sales. But yeah, to the people who don't make tons of money, it's often the only way they'll ever play the game.

<comment><USER13> Yes, I was factoring that in but I dont think its that big of a factor, when I was in the scene pirates were estimates to being 1-2% of players. So even thinking about how pirates are advertisements for the game, I'm skeptical of their impact. From what I can tell, technical literacy has gone down in Gen Z.

<comment><USER15> I have seen some youtube game reviewers openly admit that they acquired some of their games through piracy.

</comment></comment></comment></comment></comment><comment><USER16> It's worth keeping in mind that cracking DRM is pretty much universally _criminally_ illegal these days.

In the past (admittedly a long time ago now) you would have just been butting up against the game's terms of service / shrink-wrap license.

Since the WIPO Copyright Treaty has been ratified in local law almost world- wide, no-one with even a semblance of professionalism would even attempt to crack DRM. So it's not like the world's best security consultants have been working on this non-stop for the last year.

 _EDIT: Just to clarify, security firms may of course be hired /green-lit by the DRM's implementer to try break the software. However, DRM is not open season for white-hat security engineers like a lot of other areas are._

<comment><USER17> Are you telling me it's illegal to reverse engineer [DRM] software that I paid for and installed on my PC?

That's like making it illegal to open the bonnet of my car and take the engine apart.

Or are you saying it's illegal to build a crack using my private computer?

Or are you just saying it's illegal to publish that crack?

<comment><USER18> From a legal risk POV, yes, assuming US-based. It is not fair use at all, either.

CFAA and DMCA are quite nasty in this regard. It gets significantly worse if, in the course of your inspection/EULA violation/whatever, you have to interact with any third party DRM [online] services for authn/authz. Then you bring even more crime into scope.

Ianal, but I'm fairly certain the answer is 'yes' to every single question, even individually (the act of cracking and the act of publishing it might even be two separate crimes)

EFF: > The anti-circumvention provisions of the DMCA, 17 U.S.C. 1201, prohibit circumvention of "technological protection measures" that effectively control access to copyrighted works. The law also prohibits trafficking in tools that are primarily designed for circumvention, have only limited commercially significant purpose other than circumvention or are marketed for circumvention. While section 1201 can arguably apply to any security researcher, those studying digital rights management (DRM) of music, movies or other creative content are most likely to face section 1201 claims, since Congress intended to protect these copyrighted works when it passed the statute. Researchers looking for vulnerabilities in authentication handshakes, code signing, code obfuscation, and protocol encryption also have to worry about section 1201 because vendors have argued that these also qualify as "technical protection measures" covered by the DMCA.

<comment><USER17> Right so how could they possibly define/prove/enforce it, since reverse engineering is essentially the act of understanding how something works by looking at it.

<comment><USER16> There are examples of this specific provision of the DMCA being enforced (or at the very least being used to threaten into submission) on EFF's website. Dmitry Sklyarov, a Russian national, was even arrested and sent to jail in the US:

[https://www.eff.org/pages/unintended-consequences-fifteen- ye...](https://www.eff.org/pages/unintended-consequences-fifteen-years-under- dmca)

 _EDIT: Probably worth noting Dmitry Sklyarov was released from jail after testifying at the trial of his employer, who were themselves then found not guilty of violating the DMCA._

</comment></comment></comment></comment></comment><comment><USER19> The game wouldn't even run for like the first 5 days because they required BIOS updates from manufacturers for the game to even work.

<comment><USER20> I wouldn't associate the mess that was motherboard firmware around launch with anything but AMD. The firmware didn't even boost the CPU right either.

<comment><USER21> I have an Intel SKU and I couldn't launch the game for 2 months after release.

<comment><USER20> Because of BIOS issues?

<comment><USER21> I updated the BIOS and nothing changed. After a few months they fixed it.

</comment></comment></comment></comment></comment><comment><USER22> DRM obsessed developers: we need to spend time on this junk and punish our paying customers.

All other developers: we spend time on making better games and release them on GOG on day one.

<comment><AUTHOR> There's some evidence that the DRM noticeably slows down the framerate of the game. Plus there's the bloat required to actually launch it (Rockstar Social Club)

The GTA V crack apparently trims away a lot of the fat and makes for a much less intrusive installation and a faster game (with better access to custom servers).

<comment><USER23> The guard mechanism inserts non-optimal code as part of its obfuscation process. It does slow down the affected code. The amount depends on how the developers configured the tools and what paths are affected.

</comment></comment></comment><comment><USER24> Presumably this is simply a function of not cracking it within the 30,60,90-day critical window?

Sure, cracking it now would give you "street cred", but you probably gain more by cracking something newer and more popular.

<comment><USER11> I'm pretty sure the _only_ reason people crack games is for street cred, or at least for the technical challenge. Seems like "I cracked the game that noone else could for nearly a year" is a great reason to try to me.

</comment></comment><comment><USER25> This is normal now.

Most of the cracking groups have given up, because of Denuvo, they just crack small releases, the few people that were actually cracking Denuvo were not even the big scene groups, most likely individuals with certain skills, but at lot of them just disappeared as it became too hard/took too long to make it worth the time.

</comment><comment><USER26> Is DRM so totally useless that this is a worthy thing of note?

<comment><USER27> RDR2 is one of the biggest of triple-As. It probably has more cracking effort applied to it than most.

I don't think that's evidence that DRM is useless.

<comment><USER26> If no other DRM has withstood for 300+ days before being cracked, then it seems pretty useless. Yay, it worked for one title. I think we can all agree CSS was pretty useless. This stat makes it sound like AAA game DRM is about as easy to crack. At least it's not as bad as the master key leaking for Blu-ray.

<comment><USER28> You do realize whoever wrote the spec for this DRM now has free advertising to be hired for more projects and make bank. If Rockstar did it in house, I'm pretty sure they're going to make a spinoff DRM company. Useless, stupid, whatever you want to call it, they're going to print fun-coupons now.

<comment><USER26> DRM is and always will be a cat&mouse game. The hacker that breaks this DRM will also get level up bonus for their resume. At that point, this theoretical business model you propose will no longer be such a valuable thing. Those fun- coupons will be as valuable as the Chuck E Cheese tickets recently discussed

<comment><USER28> Your argument can easily apply to locks, safes and general physical security. It will always be done. I've been hearing "DRM is will be useless soon" since the early 2000s. Many DRM companies are 10-30+ years old, with multiple international locations and many, many employees.

Look, I appreciate the hobby and skills it takes to crack DRM as a logic puzzle. I used to work security integration and I may have had my own similar hobbies. But at the end of the day, the argument of "DRM is useless" is people truly saying, "I don't want to pay for things". Who likes to work for free? I don't and I'm sure as shit you won't work for free either.

Do I like Rockstar? No. I think their games are shit from beginning to end. They're edgelord, teenage wish fulfillment trash.

Do I respect when someone spends their time and wishes to get paid for it so they can continue their craft with a roof over their head and food on the table for them and their families? Yes.

If you don't approve of mandatory crunch times, story lines or whatever anti- capitalist, anarchist, whatever manifesto you subscribe to... don't buy or play their stuff. Fun part about a capitalist system, the best way to hurt someone is to both ignore them and don't buy their stuff. Pirating their stuff, as a lot of folks like to mention, "Doesn't hurt the company". But it does give them reason to be more aggressive, issue lawsuits, get more press attention and generally be bigger assholes that spiral the system out of control. If they can make a profit, you bet your sweet ass they'll figure it out even if it's a long con.

So yea, wait for DRM to go bye-bye. Let's see, RDR2 was in dev for around 7 years. You go ahead and work, for someone else, for 7 years on something, about 40 hours a weeks (more if you want to include the "controversial working conditions") and don't get paid during that entire time. Not on something YOU want to do. Something that someone else wants done for them. Do that, then come back to me with a real argument for people not to get paid for their work. We're not a society that runs off hugs and kisses.

<comment><USER3> > _But at the end of the day, the argument of "DRM is useless" is people truly > saying, "I don't want to pay for things"._

This is false.

A lot of people oppose DRM because it's a nasty bit of software running on your hardware, or because it's unwieldy or plain doesn't work. Some people buy a game (or ebook, or whatever) then use a DRM-stripped version because it's _better_.

And yes, some people play pirated games because they don't want to pay. But don't make it sound as if that was everyone.

DRM sucks.

<comment><USER28> Dude, that's the biggest load of crap and you know it. That's what everyone tells themselves so they sleep better at night and seem like some self- righteous Robin Hoods to the public.

You pirate because you don't want to pay for it. People don't buy something, then go out of their way to potentially get a bit of illegal virus/malware induced "DRM-Free version". I was a teen back during Napster and Limewire days... goddamn it I'm old... You pirate because you don't want to pay for it. Stop acting like it's some great public service, saving the world, doing-the- right-thing cause.

The folks that do the actual cracking, again, I actually respect for the skills. That kind of stuff is a real fun hobby. They share their work as a way to showoff. However, it's the users that get free-rides who I think are just ridiculous and delusional. "Oh, I pirate games as a political statement for anti-DRM because DRM is soooooo much worse on machines, and, and capitalism bad." Yea... okay. Everything I have is DRM-filth and I never noticed.

<comment><AUTHOR> Anecdotally I own both a legal and a cracked copy of GTAV.

The legal copy was nice in the first year the game came out and I wanted access to all features, so I grimaced and put up with the bloatware required to actually log in to the game and play it. Then I got bored, uninstalled it and didn't play it for a few years.

Recently I got a hankering to play it once more and shuddered at the memory of all the intrusive software bloat, as well as the toxic online community centrer around aggressive play. So I went with the crack (hassle-free and self-contained in a single directory) and joined a FiveM online server for multiplayer play, and the experience was painless, enjoyable even.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER29> Maybe just a sign you can't even give RDR2 away for free ;)

</comment><comment><USER30> Well yeah, it's not going to be cracked.

</comment><comment><USER31> Good for them!</comment>


Never Make Counter-Offers (2011) - <AUTHOR> http://bramcohen.com/2011/12/04/never-make-counter-offers <comment><USER2> The way the industry views raises is bizarre. In my mind, there should be an automatic say 3% raise to everyone's salary every year, performance review aside. If someone's not worth 3% more to you after a year, they should be fired. After that, give performance based raises to everyone. I know so many people who have quit because management never bothered to give out raises (hey, they make $150k a year, they don't need a raise), yet their employers could have kept them for a couple thousand extra a year. After the person quits, the company happily spends $40k on a recruiter to find their replacement.

I started working at a company out of college, and a year in, after a good performance review, got a 2% raise. I found out that this put my salary at slightly less than the company was offering new college hires for the current year.

So I confronted my boss about this, and asked for a 4% raise (including the 2% I was offered). While my boss agreed (or at least said that he did), HR blocked it, and so I was left with my 2% raise.

I did what most people would do - I found a new job and gave a generous 3 weeks notice. The counter offer was $20,000 on my next paycheck, if I promised to stay for at least another year. The raise that I had asked for was $3500 over a year. Naturally, I turned this down.

<comment><USER3> It is bizarre when companies operate this way, but, without defending the practice, you need to understand that few middle managers have the power to change this situation. Moving up the ladder, owners and executives will simply say "this is how we do things" and leave it at that.

Personally, I think this situation exists because many corporate leaders have simply decided to preserve their compensation/authority pyramid at the expense of keeping their best potential employees. There is less short-term risk and disruption to the pyramid, the theory goes, to hiring a new wave of employees than to augment the more experienced staff.

Remember all of this, though, for when you have the power to influence the compensation of others! This understanding can become a competitive advantage when you're building teams of your own.

</comment></comment><comment><USER4> This makes no sense to me. The initial environment of using counter-offers as a substitute to raises is, of course, crazy and must be avoided. But never making counter-offers is _also_ dogmatic and crazy. When something is bad, the answer isn't to do the opposite. Maybe 90% of the time, doing the exact opposite is _also_ bad.

It only seems right to me that counter-offers should be made when the situation warrants, and that they should in no way be made to substitute for proper compensation and raises in the first place.

Ideally, you never have to make counter-offers, because you pay your people properly. But mistakes will be made. If a really good employee gets a job offer with a better salary, and suddenly you realize that _this guy is worth it_ , why _not_ make a counter offer, if you think he's honest and isn't going to just leave three months later anyway? If the situation warrants it, _do it_. Take the situation as a sign that you screwed something up, but that's no reason to not even bother to try to fix it. Likewise, if a guy gets another offer and he's clearly _not worth it_ , wish him well and let him go. Don't be dogmatic.

<comment><USER5> Counteroffers usually fail. The employee is usually in a different company in 12 months, either by getting fired (as soon as a CO is made, the boss is working on a replacement plan) or taking another offer elsewhere. Only if the counteroffer involves a move to another team or up the chain of command does it work.

Money has a surprisingly small effect on employee happiness. Most people who leave do so because they outgrow their role. Giving them more money to do the same stuff isn't going to have a long-term effect.

<comment><USER6> _either by getting fired (as soon as a CO is made, the boss is working on a replacement plan)_

Does this actually happen? Has it happened to you, or have you gotten rid of someone as a manager in this way?

<comment><USER7> Head of Talent at a few different startups here. I have seen this happen multiple times.

<comment><USER6> "Head of Talent" sounds pretty third-party HR, sorry. The fact remains is that this kind of conventional wisdom persists without examples.

<comment><USER8> Used to work for a Fortune 100 tech company everyone has heard of - and have heard this confirmed from multiple members of first-party HR.

You're under no obligation to believe me, but I've heard this corroborated by people in the know.

<comment><USER6> So, "friend of a friend" is all we have for this? Hearsay? I'd think that if this was anything more than received wisdom that there would be more concrete stories about it.

<comment><USER9> Hey, cut it out. Multiple people have now told you they have direct experience with this issue. If you have a real argument against the idea that counteroffers are risky, marshall it.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I dunno about this one. If one of my top engineers wants to leave and there's a chance that I can get him to stay by offering him a decent raise ... then I'm going to try to give him a raise after thinking through a couple of things

1\. Did the ground shift underneath me overnight in terms of engineer salaries? This can happen very easily ... a couple of startups move into town and start trying to poach devs ... guess what, salaries are going to go up and if you don't play, you're going to lose your best guys. that one engineer leaving might just be the beginning of half of your team coming to you going "Hey man, these guys just offered me $140k ... you guys are paying me $95k ..."

2\. What does this guy mean to the team ... and not just in cranking out high quality code? What would the effect of his departure on morale be. If he's very well liked and looked up to as a mentor/leader by younger developers, I'm inclined to try and come up with something to get him to say.

That being said, I'm not a fan of trying to do an exact match, just because, it feels too much like being held hostage. What I'd do is try to find out what they like about the new offer so much and see what I can do ... things like health insurance, shares, flex time and even process changes seem to get far more mileage out of developers than cold cash. I'd try to put together a package for them (with increased salary of course).

If that got them to stay. I'd re-evaluate the current package of my entire team and see about extending the same deal to everybody, to (hopefully) pre- empt another situation like this in the near future. That way, if I got another engineer wanting to leave, then I know that there isn't that much more I can do to get them to stay.

PS: Learn to be distrustful of the the words "always" and "never" ... because in real life its usually more like "it depends"

</comment><comment><USER11> Unfortunately, this is nothing new. I saw this all the time back in the '90s - it was a running joke where I worked (which really wasn't a joke at all) that to get a raise, you quit and come back. Seriously - people would quit, work for another company for 6-months to a year, then they'd come back making massively more than before they left. This company also had percentage caps on how much you could get as a raise, even when changing positions into something completely unrelated - or at least that's what they told me when I changed positions, twice, over the 8 years I spent there. When I finally got fed up with the minuscule raises and ridiculous politics, I had my choice of job offers (was flown halfway across the country for interviews) and got a 50% salary increase with the change in employers (I could have more than doubled my pay, but liked the low-politics in the company I picked). When I submitted my resignation, my boss said to me "I know what you can make out there, so I'm not even going to insult you with a counter-offer." Those words shocked me and proved to me they knew they were underpaying me and didn't care (I made my case multiple times for a raise and promotion that I never received).

Sadly, I'm still seeing it happening and in a completely different industry and in a much higher level position.

FWIW: I'm one of those "too loyal for their own good" types (who get abused for such a trait, as described by others above).

</comment><comment><USER12> _The most devoted, upstanding employees are the least paid, and the most conniving, disinterested ones are paid the most._

Why can't you be a devoted and upstanding and also treat your relationship with your employer as a business one?

<comment><USER4> You can, but as this relationship is obviously toxic, those devoted, upstanding employees who treat the relationship as a business one won't stick around.

<comment><USER13> Why is it toxic? People are under obligation to their shareholders as much as companies are. It's not personal.

<comment><USER4> Requiring people to go out and get other job offers in order to get any sort of raise is toxic because it forces a great deal of effort and risk just to keep up with inflation.

</comment></comment></comment></comment><comment><USER14> An important corollary (learned painfully) is: Never take a counter-offer.

There are reasons you went out into the world, found an alternative and decided to take it. Even if money was part of the motivation, it's not the sole reason. Money can paper over those issues for a while, but they will come back.

<comment><USER15> @fpgeek, Can you please elaborate, what was so painful?

</comment></comment><comment><USER16> Depends on the industry. I think for software development, this advice holds true. We're at a time where really good developers are at a premium, so to get good work you'll have to pay for it.

There's also another side to this: don't create ultimatums for your employer. I don't know about you guys, but I get contacted by recruiters nearly every day. There is a huge demand for our work. This makes it very easy to "hold your boss hostage" but it only breeds contempt and distrust as they look at you as someone with one foot out the door. The best time to negotiate salary is up front, or while being promoted.

<comment><USER6> _it only breeds contempt and distrust as they look at you as someone with one foot out the door._

Are there any anecdotes or anything about this actually having an effect on anybody's job, or that it actually exists at all? Surely there are people here who have managed those who have gone down this path who can speak to its practical results.

<comment><USER17> In my experience it works like this: you go to your boss as part of the review cycle and ask for a raise and your boss goes off and talks to the people that make those decisions. They say no. You tell your boss that you are going to look elsewhere, as you are on good terms, they ask you to at least see if they'll make a counter-offer before you hand in your notice. You end up getting more money than you wanted in the first place, your boss is happy that they've kept you.

Any sensible manager should know that if your staff is underpaid, they are very likely to be looking elsewhere. Personally I've always been supportive of my employees looking elsewhere, do you really want people that only work for you because nobody else will have them?

</comment></comment></comment><comment><USER18> I wish you emphasized _make extremely fair initial offers_ as much as "Never Make Counter offers".

</comment><comment><USER19> Have the mods been editing titles to include the year of the article recently? I've noticed a lot more of the front page articles include the year in parentheses now.

<comment><USER20> It's supposed to be standard HN practice for a poster or moderator to do so if the article isn't from the current year. I'd guess you've noticed it because there are more such articles, not because there's more moderation.

</comment></comment><comment><USER21> Previous discussion: <https://news.ycombinator.com/item?id=3549384>

</comment><comment><USER22> By the time employees think about taking a job elsewhere, it's often already too late. A counter-offer only retains the talent temporarily and more often than not, there's some fundamental dissatisfaction with the job.

One begs the question, what should employers do to retain talent?

The author left us with "Have clear and consistent salary guidelines, and regularly give raises to people who are outperforming their pay level." This takes the approach that prevention is key.

In my last job, I thought about quitting months before actually giving the notice. My employer counter-offered with 10% above what the other guy was offering. This temporarily retained me. However, for months after, I wasn't performing at my peak and eventually sought employment elsewhere.

<comment><USER23> "By the time employees think about taking a job elsewhere, it's often already too late."

Is that really true? Well, not for me. Every time I changed jobs, it was because of the money. The only time I worked in a bad environment, my boss was let go before I quit.

All those times, if I could receive a bigger salary without changing jobs, I'd probably stay there.

</comment></comment><comment><USER24> It really depends. If your company/boss is just lazy to give you a raise (upto his limits imposed by HR mafia), you like your job and boss/team a lot but decide to move _primarily_ because of money, a counter offer may not be a bad idea especially if the boss values you.

However, if you are just not happy with the job/boss/company/team whatever and decide to move, then counter offer may not be a good idea. Also, in certain cases, if the company/boss needs you only for a short critical time period (e.g. accountant during fiscal year end is critical), then counter offer might be tricky since they could always get rid of you later if you are not valuable overall.

So yes, it all depends.

</comment><comment><USER25> I have a policy of never making counter offers when someone says they are quitting. If they say it's about the money, it's never _only_ about the money. In 16 years, I've seen people "saved" by a counter-offer, but it never lasted. They were always gone in 6-12 months anyway.

</comment><comment><USER26> Off topic, but please change the background on your blog, it's not very user friendly.

</comment><comment><USER27> Hiring a new employee, and ramping them up (which results in communication overhead and noise from learning) is very costly. Sometimes, a counter-offer is a good solution.

</comment><comment><USER28> "Your W2 is your review"</comment>