Europe embraces rent controls, a policy that never works - <AUTHOR> https://www.economist.com/europe/2019/07/18/europe-embraces-rent-controls-a-policy-that-never-works <comment><USER3> Free market works only as long as both parties have the freedom to bail out. In case of essential commodities like housing or healthcare, this isn't the case. Even if a deal is beyond your budget, you can't turn it down and live in the streets. The other option to live further away has upper bounds in terms of practicality. And this power imbalance, creates a reinforcement loop which would spiral out of control without any external corrective measures like Government interference or workforce/business exodus.

<comment><USER4> If this is true, then what about clothing? You can't go around unclothed, you always have to pick some sort of clothing to wear. Does this mean clothing manufacturers have some sort of special power over you, and must be regulated by the government?

Just like picking what clothes to wear, you can pick your apartment, pick how much and what quality of medical care to receive, and this is enough to ensure a reasonably well functioning and competitive market without special rules. These markets aren't that special or different.

<comment><USER5> People can import clothes from just about anywhere, and there is plenty of clothing for everyone (maybe not distributed evenly but enough exists)

Space and time are the constraints that drive housing prices. Building denser housing is expensive and hard, much more difficult than sourcing and importing clothing in today's world.

Localized markets can require localized policies, because applying the same rules evenly to all markets wouldn't make sense, abstaining from creating local rules can make things worse, but creating them can also create new problems.

I think rent control can be healthy as a small buffer. I think fundamentally these are 'microscopic' policy bandaids to larger macrosopic problems. Unfortunately, it takes a very powerful organization with the right incentives to solve the macroscopic problems.

<comment><USER4> While it is true that land is a finite resource which makes it a unique sort of asset, this is a separate issue than what GP raised. In fact, the point you raise goes in the opposite direction - it makes rent control far worse and more damaging!

Locking in pre-existing claims to land - through renters being allowed to stay in units as long as they wish at cheap prices, and enacting restrictive/NIMBY zoning laws - serves to constrict the housing supply. Because land is already a finite resource, any restriction on how many housing units per parcel of land end up being built is an even more harmful policy.

</comment></comment></comment></comment><comment><USER6> Taken with a grain of salt.

Supporting free trade is literally one of the founding reasons for this publication.

From wikipedia "The Economist was founded by the British businessman and banker James Wilson in 1843, to advance the repeal of the Corn Laws, a system of import tariffs.[17] A prospectus for the "newspaper" from 5 August 1843 enumerated thirteen areas of coverage that its editors wanted the publication to focus on:[18]

Original leading articles, in which free-trade principles will be most rigidly applied to all the important questions of the day."

<comment><USER7> Why would anyone be opposed to free trade in this day and age?

<comment><USER8> Because "free trade" does not exist unless all regulations go away. But American mega corps (which includes political parties) like to pretend free trade means just get rid of the regulations we don't like, but keep all the ones that prevent competition.

Rent control is not even close to the only barrier to the free trade of housing. It's one of the most minor, but its one of the few that actually protects consumers verses protecting the interests of mega corps like most regulations do. So of course the mega corps are opposed to it.

</comment></comment></comment><comment><USER9> It's interesting to me how we decide which price-control schemes we like and don't like.

In general, if you think price-controls are bad, you should dislike a wide arrange of programs: farm subsidies, minimum wage, medicare expansion, rent control, executive pay limits, etc.

But it's interesting that most people I talk to support some of those, but oppose the others.

<comment><USER10> I oppose all of those as they all distort the market and make it less efficient. Price-controls have all sorts of second and third order effects that are never considered by those advocating for them.

<comment><USER11> Efficient markets are great for people that have the money to participate in the market. If you do not have resources, an efficient market will ensure you will have a very hard time gaining resources.

<comment><USER12> So give people the money the need to participate in the market. "Price controls are bad" doesn't mean you give up, it means you use less distorting tactics like transfer payments instead.

<comment><USER11> I agree this is a great idea! But a large portion of the taxpayers would decry this as handouts for the lazy, so the less perfect, but more palatable solution ends up being used. Uninformed beliefs that pretend to be ethics are the roadblock to your solution, and these take a long time to be fixed.

</comment></comment></comment></comment></comment><comment><USER13> Sadly as populism continues to rally across Europe, I cannot imagine this getting better anymore soon. Especially since populism tends to lean heavily towards very short term and shallow solutions instead of long term permanent ones.

<comment><USER14> As opposed to..? Letting the market handle it? That worked wonders about a decade ago.

<comment><USER15> As opposed to building more and denser housing.

<comment><USER16> Sometimes, you cannot build more housing, or denser housing, so you use rent control so tenants who do live there don't spend all of their income on housing, and some people don't get to live there (because of housing limits). If you turned San Francisco into Manhattan, and still had unquenched demand for housing while still maximizing every square meter of three dimensional space within desired geo bounds, what then?

"Build baby build" is not a silver bullet.

<comment><USER15> >Sometimes, you cannot build more housing, or denser housing

A hypothetical possibility that doesn't hold true for any city that has enacted rent controls.

"Build baby build" is a silver bullet.

<comment><USER17> In New York City the subway is running at capacity. Building housing isn't enough, you also need infrastructure.

<comment><USER4> Brooklyn resident here. Plenty of room on the subway during my morning commute. Wish they would build more condos here so I could enter the market.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> I am of the strong opinion that governments should have a finger on the scale to a much higher degree than rent control, with the desired effect of making owning real estate somebody else uses a minimally attractive investment.

Control the rent by controlling the price of real estate by removing investors as competition for the purchase of land and buildings for home and business.

<comment><USER9> You want to make real estate cheaper by making it less desirable to investors.

But if you made it less desirable to investors, they'd build less of it -- and you'd make the housing supply worse.

<comment><USER18> Investors aren't necessary to build housing.

If you remove their drag on the economy (taking much more value than they give) there would be _more_ capital ready and willing to build housing. You start removing investors from the housing economy then the capital flowing from workers pockets to landlords profits slow down and stop.

Two effects there

1) The capital that was invested in real estate is going to be invested somewhere else.

2) The capital that was going to real estate returns is going to be invested somewhere else.

1 means more investment in business and R&D.

2 means more people have more discretionary spending, some of which would go to investing in real estate for their own uses.

<comment><USER19> Who is going to build an apartment building aside from an investor?

<comment><USER8> A group of interested buyers who could afford to find its construction if it weren't for investors driving prices sky high.

<comment><USER9> > A group of interested buyers

... so, investors.

<comment><USER18> No.

You are not an investor if you're buying your own home to live in.

<comment><USER19> And who is going to organize this process?

<comment><USER18> The people who would like to live there.

<comment><USER19> Ok. How is that going to work? How will the process be coordinated? Contractors hired? Decisions made?

<comment><USER18> There are lots of options. One is forming a co-op organization and using that to build, then the board of the co-op is in control of that kind of thing. Units are mapped to shares of the entity and there are no other shares. Buying a unit means buying shares. Building upkeep is handled with a regular fee. A significant portion of owned apartments around the world are operated in a similar arrangement.

<comment><USER19> But wouldn't you have to wait until you sign up say, 100 or 200 people to build a reasonably dense apartment building? How is that going to be practical? A co-op is then going to have to run on consensus about what sorts of amenities to build, and what to do with common spaces, etc.

Another question might be: there's nothing stopping anyone from doing this now. You could go start one of these at this very moment if you wanted to. Why do you think it hasn't been done?

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> The cities listed as having rent control are Berlin, Barcelona, Amsterdam and Paris. And you can add New York. When one thinks of failed cities, these do not come to mind.

In fact, one could do worse than being more like them. And clearly rent control does not kill a city or economy or quality of life.

And actually, a list of the most miserable cities is going to be overwhelmingly rent control free.

Edit: for clarification, I am claiming there is _no_ evidence for a causal relationship between the presence or absence of rent control. Any inferred relationship is entirely conjectural and completely unsupported by evidence: cities obviously prosper perfectly well with rent control.

<comment><USER21> You're suggesting there is some causal relation here that I'm not sure exists. Desirable cities have housing crises. Those cities implement policies to attempt to abate these crises. Ironically, theory says that restrictions like this make the crises worse: what incentive does it give renters except to hold their leases, thereby further restricting supply?

That theory seems to hold up in a most cities, see SF, LA, London, NY etc. The introduction of rent control did nothing but to reduce housing availability and increase prices.

<comment><USER22> >Ironically, theory says that restrictions like this make the crises worse

The economic theory alluded to doesn't take into account intangible factors like community cohesiveness, economic precarity and the effects of that on mental health. These things are real and have an impact on the wellbeing of residents.

Housing security is the foundation on which an individual's ability to produce and prosper is based. Housing isn't a commodity to the people living in it and economic theory that reduces the complexities of housing to market-based supply and demand are intentionally selling a value system that prioritizes the transfer and accumulation of capital above all other needs.

<comment><USER23> supply is how much of a thing is available to be had; demand is how much people want that thing. If there isn't much of a thing and people want it a lot, it will be difficult to get. Acting offended at the reference to the existence of these variables does not eliminate their effects.

<comment><USER22> >Acting offended at the reference to the existence of these variables does not eliminate their effects.

That you take my statement of fact as an expression of offense speaks to your limited understanding of the qualitative aspects of housing.

</comment></comment></comment></comment></comment><comment><USER24> It seems rent control is popular in many places.

I read recently that people in California think that rent control is a better solution to the housing crisis than building more housing by a large margin.

It startles me a little because if there is one thing all economists agree on (even the Richard K. Galbraith and Paul Krguman kind of economists) it is that rent control is a bad policy.

<comment><USER25> Why is it so hard to build in California, anyway? And why is it so hard to change the reason it is hard to build?

<comment> et-al California housing discussions are common here. Plenty has been said about it in yesterday's _Approaching Peak Housing Dysfunction in California_ thread:

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

If you want a simple answer, carapace's comment stood out to me:

\- - -

It's because we're hella young out here. Relative to the East Coast anyway (I mean, London has Roman ruins...) Do an image search for old timey SF and you'll see: the Sunset was sand dunes until about last Tuesday, etc. Dudes used to pan for gold out by Lake Merced.

Also, this was the weirdo town. Bohemia on the Bay. Serious folk didn't really come here to be serious and sane. The old line was, "All the crazy people move to California, and all the crazy people in California move to San Francisco." To which residents add, "And all the people too crazy for San Francisco move to Berkeley."

So yeah, you've got a young town full of nuts and flakes that no one really paid much attention to until the last ~50 years or so, whadda ya expect, eh?

\- - -

Before Web 2.0, only the _weird_ Ivy League graduates would consider moving out to the Bay Area. Now the secret's out and _everyone_ wants to move here.

<comment><USER26> > I mean, London has Roman ruins...

Wait until you hear what Rome has!

</comment></comment></comment></comment><comment> munk-a If the government feel that housing should be subsidized for a certain segment of the population (like workers employed locally in the city) then the government should implement direct subsidies in the form of cost reimbursements distributed to renters/owners without the knowledge of property managers - every other scheme for rent reduction that I've seen has been critically flawed.

</comment><comment><USER27> > _Landlords who want to make renovations that would push up prices by more > than €0.50 per square metre will have to seek approval._

So, basically _any_ renovation then. €0.50 per square metre is 5¢/sq ft!

<comment><USER28> On the other side: I live in a country where you can only raise the rent by the rate of inflation, so not a whole lot.

However, if you do renovations, you can raise the rent to whatever you want. So what happens is that home-owners re-paint the interior every 2-3 years, and set the rent to match the market. I have friends who have gotten the notice of renovations (you can break/complete a contract if it's for renovation), and then 3 months later gotten the option of renting the same space - but only with a 30%-50% markup.

Only difference? Fresh coat of painting.

</comment></comment><comment> dfeojm-zlib Rent controls work _if and only if_ there's sufficient authority and incentives to motivate developers to grow housing inventory vertically (skyscrapers) and/or horizontally (sprawl + public transport) just enough to not have a glut while aiming to approximate the desired rent-controlled price(s) such that there's less arbitrage, gaming, property owner loss and/or exploitation. (In effect, rent-controlling with structural market policies, while providing rent controls as a secondary guaranty layer to protect renters, especially vulnerable populations.) Housing is one of the more inelastic markets because everyone needs it, and so even minor constraints in supply can rapidly lead to price spikes.

<comment><USER10> If there were sufficient authority and incentives to motivate developers to grow housing inventory, rent control wouldn't be advocated for in the first place.

<comment> munk-a Why should developers be incentivized to grow housing inventory over independent owners? Large scale developers already have quite a lot of assets to distribute as needed - I do agree that onerous construction impediments should be lowered (those sourced from NIMBYism - not general sustainability and environment concerned) and those impediments - or outright blocks - <USER2> responsible for a lot of the housing crises we can observe today.

</comment></comment></comment><comment><USER29> It's a problem caused by 20 years of monetary stimulus and 40 years of complete freedom by central banks and governments to manage the money supply. Monetary policy has bid up leveraged assets like real estate many times over. Supply follows money, not people, and money has been concentrated in the hands of fewer people. Any intelligent conversation about this needs to include monetary policy.

When people live in little piggy banks....

<comment><USER30> I'm not sure why you're downvoted, but I think that this nails the biggest reason for runaway inflation in housing prices. When money supply is cheap, asset prices will be bid up. The only people who can afford the assets and profit from further increases in their prices are those with the means... in other words, the rich get richer while others are left behind.

<comment><USER31> It's downvoted because it puts the cart before the horse. Monetary policy intervention _interferes_ with the market by forcing interbank interest rates to be higher than they would be in a free market. As any banker will tell you the price of interbank reserves in a free market is zero - as there are more than are required to clear the banking system. In a free market asset prices are naturally determined by the last creditworthy person prepared to pay the current price of money who visits a bank. Which will be higher than zero because ordinary people have no access to the interbank, and therefore the bank can put their risk and cost mark up on the price of money.

You can hardly argue against rent controls but for interest rate controls. Why favour bankers over property occupiers?

<comment><USER29> Oh, a simple misunderstanding! I was arguing _against_ the central bank controls on interest rates that have so distorted to the property market. Glad we cleared that up!

In fact, my post said nothing about interest rates currently being set on a free-market basis, because the whole point was that central bank interventions are _distorting_ and _setting_ those rates in a way that generates huge inflation in the property markets that is then treated as insignificant for purposes of calculating inflation statistics. Property inflation --> Rent inflation. Concentration of wealth + Rent inflation --> Rent control | Homelessness.

</comment></comment></comment></comment><comment><USER32> [http://archive.is/unc4f](http://archive.is/unc4f)

</comment><comment><USER33> Thomas Sowell on rent control

[https://youtu.be/dnj2WRIG11U](https://youtu.be/dnj2WRIG11U)

Edit: and more from Stanford

[https://www.brookings.edu/research/what-does-economic- eviden...](https://www.brookings.edu/research/what-does-economic-evidence- tell-us-about-the-effects-of-rent-control/)

 _. Taking all of these points together, it appears rent control has actually contributed to the gentrification of San Francisco, the exact opposite of the policy's intended goal. Indeed, by simultaneously bringing in higher income residents and preventing displacement of minorities, rent control has contributed to widening income inequality of the city._

</comment><comment><USER34> Never say never.

This type of policies depend on many factors and while they may not work in some circumstance (time and place) they can be more effective in others. The problem is recognizing when that is AND re-evaluating the situation. The latter I feel is almost never done.

For regulations like this it's important to put in the law text that requires a full re-evaluation of its efficacy and roll back when there are more drawbacks than benefits, just because the policy worked at one time it doesn't mean it will continue to be effective forever.

</comment><comment><USER35> I can't comment on whether it works or not because most of the article is paywalled for me, but what I can comment on is on a logical observation of the free market.

It is not free, it's expensive to be poor. It's always cheaper to be an investor, your taxes get a lot lower due to better access of off-shore services you get. The less rich you are the more expensive your financial overhead fees get.

Thus there is no level playing field. In a basic free market you only need to enforce 2 rules. No fraud, and no monopoly.

Instead what you see in many big cities is sketchy capital flying in and a virtual monopoly dominated by Airbnb and their fleet of landlord contractors causing an artificial shortage that results in over half the units being empty by midweek.

If the competition was level then the rental prices and even property prices would be actually be reasonably matching the average incomes of the local population.

This means that rent control is merely a bandaid measure that should be removed once we ensure that everyone in the market is actually paying their fair share.

Given the current status quo I personally think it's better to have rent control than not to have it, even as a just a temporary patch on this problem; but by no means do I think it will solve the problem for good.

</comment><comment><USER36> So funny downvotes in this thread...

</comment><comment><USER37> >, a policy that never works

This might seem a little more credible if it came from someone other than the economist.

The bastions of free capitalism aren't exactly doing great on affordable rent either...

<comment><USER10> Within of few years of enactment, every place without rent control and capitalism is doing better than every place with rent control and capitalism in terms of median rent.

</comment></comment><comment><USER38> As someone who just moved to the bay area for the summer, I think rent control has worked pretty well, I've met multiple Uber drivers who would have had their lives upturned due to rising rents if not for rent control.

The don't build tall building policies however...</comment>


Ask HN: moving my Django app away from GAE, where do I go? - <AUTHOR>

Hi HN,
So I have this Django app (http://www.wysp.ws) that has gathered 1500 signups in 3 months of un-publicized beta, and is growing at an accelerating pace. It's hosted on Google App Engine (and user-submitted pictures are sent to S3).
I want to move away from GAE, because of several huge technical drawbacks:
- The 20 seconds limit for request processing make it impossible for my users to submit anything bigger than small pictures (upload time + processing time (resizing, etc) + time to send the file to S3 > 20 secs). Especially given that outbound traffic from GAE in seriously slow.
- I'm using the DB middleware Django-appengine to keep using Django's native models with the GAE Datastore, and I have come to realize how bad of an idea that is. Can't fetch (or count) more than 1000 objects, HUGE performance issues, etc.
- I can't believe how bad Google treats their paying customers. For instance: one day Google decided it didn't like my credit card info, which caused my application to go down for several hours... because each time I tried to reenter my CC info, after rejecting it Google would prevent me from trying again for 30 minutes (while the app was down). It happened several times in a row. No possibility to get support whatsoever. And that's just an example.
So where do I go? EC2? Rackspace? Gondor? Heroku? What would be the best and cheapest for a Django app with image uploading requirements? <comment><USER2> Linode has always worked very well for me. You do have to have some basic Linux sysadmin skills, but they have good documentation that should get you on your way, awesome support and it's way cheaper than Heroku or Gondor. So my advice would be: Linode combined with EC2 for storage</comment>


Ask HN: What frustrates you most about remote job sites ? - <AUTHOR> <comment><USER2> Are you working on one? :)

<comment><AUTHOR> Why would I, there are tons already out there. The thing that frustrates me the most is that they all have more or less job offers from the same companies..</comment></comment>


The Rich Are Preparing for Coronavirus Differently - <AUTHOR> https://www.nytimes.com/2020/03/05/style/the-rich-are-preparing-for-coronavirus-differently.html <comment><USER2> Seems like sensationalizing the fearful responses of people who are already disconnected from reality and normal people. If you have the cash to throw around, I guess you'd pick the best unless you got to be rich by being super cheap.

If you were in the thick of a pandemic and had to go out: indirect vent ski goggles + anti-fog compound, a tight-fitting N95 NIOSH mask that has enough surface area to not get too humid, soap-&-water hand washing, 70% hand sanitizer, and surface sanitization seems good enough for nearly every pathogen.

Even before this, there's a coffee shop I goto sometimes where they never clean anything but they always have a giant container of hand sanitizer; the trick is about 8 pumps of that on a bunch of napkins and wipe down the table, seats and seat backs. (I'm OCD.)</comment>


What's happening to afraid.org? - <AUTHOR> http://freedns.afraid.org/

<comment><AUTHOR> I get "502 Bad Gateway" and dynamic DNS is down.</comment>


A collection of Unix terminal/console/curses tools - <AUTHOR> http://kkovacs.eu/cool-but-obscure-unix-tools/ <comment><USER2> I know lists like this will almost always contain at least one command that I, or any other sys admin on here, would use fairly regularly. But it would be nice if just once an article about "obscure" CLI commands didn't include stuff that's the most basic of essential every day staples for any *nix administrator.

Including stuff like vi and emacs is just ridiculous, quite frankly. If you haven't heard of them already then you really have no place in the command line, let alone reading a document like this.

Most of these types of articles should be rebanded as "beginners cheat sheet for handy command line tools" or just not written to begin with (because, frankly, they're just repeating all the same recommendations as every other article like this that pops up each week and few of them have any descriptions that are accurate either).

Maybe my job this weekend will be to write my own version of these documents but with a decent selection of programs, descriptions and example usages?

<comment><USER3> > Maybe my job this weekend will be to write my own version of these documents > but with a decent selection of programs, descriptions and example usages?

Maybe your job this weekend should be to get a little exercise before writing on the internet?

It's a nice little summary of cool tools. "Some are little-known, some are just too useful to miss, some are pure obscure".

<comment><USER2> _> Maybe your job this weekend should be to get a little exercise before writing on the internet?_

Maybe you should learn some manners and stop posting wild assumptions about physique of your peers.

 _> It's a nice little summary of cool tools. "Some are little-known, some are just too useful to miss, some are pure obscure"._

It's barely a summary. A summary requires some details about the points being raised; albeit a briefly phrased. That site was more akin to a bullet-pointed list.

The descriptions are lacklustre, the screenshots are useless for all bar the ncurses programs, and including _" just too useful to miss"_ programs like _vi_ and _curl_ but with zero detail nor examples about how to use them is absolutely worthless. Anyone who's every used a Linux / UNIX command line -even briefly- would already know that _vi_ and _curl_ exists - what they might not know is how to use it. And that's where articles like this should focus if they're wanting to incorporate commonly known commands along with obscure ones. Otherwise you're trying to appeal to everyone yet failing to please anyone.

<comment><USER3> Hey man, the guy put together a nice little list of tools, nothing more nothing less.

<comment><USER2> _> little list of tools, nothing more nothing less._

Which was my point. :P

</comment></comment></comment></comment></comment><comment><USER4> I'm a big fan of Joey Hess' moreutils - [https://joeyh.name/code/moreutils/](https://joeyh.name/code/moreutils/)

Examples:

\- sponge: read in all of stdin, then write to the given file. Great for pipelines: sed "s/root/toor/" /etc/passwd | grep -v joey | sponge /etc/passwd

\- vipe: easily drop a $EDITOR instance in the middle of a pipe chain

\- ts: timestamp all standard input; great for long-running output

<comment><USER5> How is sponge different from > filename?

<comment><USER6> For one thing, it allows your pipeline to both read from and write to the same file, as it defers the output until there is no more data to read from "upstream". For instance, this won't work (it truncates the file for writing before it is ever read):

        grep foo <some_file >some_file

But this will have the intended effect:

        grep foo <some_file | sponge some_file

</comment></comment></comment><comment><USER7> The best not-so-well-known tool he mentiions is socat. If you use netcat, socat is like netcat on steroids. It's just a bit hard to remember all the options, but next time there's something crazy you want to do with netcat that it doesn't support, like tunnelling raw packets from a wireless interface on a machine in firewalled corporate network through an SSL tunnel to home machine and dumping those packets locally to a serial port, socat can pretty much do it all.

<comment><USER8> I hear nmap's ncat is great as well but I haven't tried it yet. I agree that socat is invaluable, especially when dealing with serial devices.

</comment></comment><comment><USER9> I don't really think it's fair to call anything that's in a POSIX standard obscure (like xargs).

Most of these are fairly common, and many of the descriptions are terrible, for example: `rsync` doesn't "[Keep] filesystems in sync over SSH"; it's a versatile `cp`-like for dealing with remote systems efficiently that happens to support transfers over SSH.

<comment><USER9> As I can no long edit my comment: when I made the parent comment, the title referred to them as _Obscure_ tools.

<comment><USER10> Yes, the title of the post on HN is now changed, but the url of the original post still refers to them as "obscure" tools.

</comment></comment></comment><comment><USER11> For being "obscure", htop manages to find its way into a very large proportion of *NIX screenshots on the web.

Not to mention vim, rsync, curl, and ack, all of which I (and I had assumed everyone else) use on a regular basis.

<comment><USER12> I still don't use ack, mostly because it's not installed everywhere I go on a regular basis and so my fingers still go 'grep' when I think 'text search'.

(I also rarely use curl, because my fingers are trained for wget -qO. That one is a personal quirk, though, I didn't know about curl until I'd had that one imprinted on my brain. The cool thing there, though, is that wget -qSO will send headers to stderr and content to stdout, so you can get fancy.)

<comment><USER11> Installation is simple enough assuming you have perl:

        curl http://beyondgrep.com/ack-2.12-single-file > ~/bin/ack && chmod 0755 !#:3

</comment></comment></comment><comment><USER13> I'd highly recommend checking out httpie as a replacement for curl. I find the interface much more intuitive.

</comment><comment><USER14> I'd love to see a site just like this, but cataloging all the best Unix console tools.

It sounds ridiculous, but you can tell a lot about a console program from a screenshot.

</comment><comment><USER15> I would like to see a graphical terminal emulator. When I mean by this is that the terminal emulator works the same as usual- it should display normal output, support ANSI escape sequences and have scroll-back. But it also should be able to display graphics. If your UNIX command line program happens to output a graph, it shows up on the terminal. The graph is embedded inline with the text and you can scroll back to it.

Interactive programs should also possible- think of a schematic editor or a figure editor running right on your terminal emulator.

The point of all this is to retain the context of whatever you're doing without having to switch windows. That and to advance the state of the art of console tools- certainly they have not changed in decades.

<comment><USER16> On the topic of ways to improve the terminal, I'd like to see output separated from input.

Put the prompt 1/4 of the way down the screen instead of at the bottom. Above the prompt, we have a backlog of the commands we input. As we press up, it scrolls through the backlog, as normal.

Below the prompt, we see the output of the command.

I'd also like to see tab completion (and maybe some form of hinting) on programs, not just file paths.

<comment><USER17> >On the topic of ways to improve the terminal, I'd like to see output separated from input.

>Put the prompt 1/4 of the way down the screen instead of at the bottom. Above the prompt, we have a backlog of the commands we input. As we press up, it scrolls through the backlog, as normal.

>Below the prompt, we see the output of the command.

That would be more fitting for a shell than for a terminal.

>I'd also like to see tab completion (and maybe some form of hinting) on programs, not just file paths.

bash already does this. zsh and at least one variant of ksh will do completion if you type the first letter of a command. I was surprised that tcsh doesn't.

</comment></comment></comment><comment><AUTHOR> I recently discovered netbrake. Super awesome tool to limit the bandwidth used by a process. [http://www.hping.org/netbrake/](http://www.hping.org/netbrake/)

Also its written by antirez :)

</comment><comment><USER10> Incorrect title for the post. Many of the tools mentioned are very commonly used. Also, except nice screenshots, this article is just a listing of tools with very little useful info to go with them.

</comment><comment><USER18> The author mentions App::Ack, but I doubt you'll go back to using `ack` once you've tried The Silver Searcher (`ag`).

</comment><comment><USER19> I was certain this had already been posted here: [http://news.ycombinator.com/item?id=2567186](http://news.ycombinator.com/item?id=2567186) (from 2 years ago[0]).

I think the difference is in the trailing slash of the submitted link.

[0] Oh god, no.

</comment><comment><USER20> Curl is obscure?

</comment><comment><USER21> I used remind and wyrd a fair amount before joining Google + switching to google calendar. Remind is really powerful, and wyrd is nice.

Here [0] is a post detailing how I got calendar notifications working with remind/wyrd + screen + URGENT hint.

[0] [http://lists.roaringpenguin.com/pipermail/remind- fans/2006/0...](http://lists.roaringpenguin.com/pipermail/remind- fans/2006/000765.html)

</comment><comment><USER22> ITT people who don't think those tools are obscure

</comment><comment><USER23> Good list thank you. Another good one is "VnStat/VnStati" I use it generate traffic graphs.

</comment><comment><AUTHOR> > nethack & slash'em

> Still the most complex game on the planet.

Does anybody know if a HTML5 version of Nethack exists?

<comment><USER24> Very likely, but potentially even better is this WebTiles version of Dungeon Crawl Stone Soup: [http://crawl.akrasiac.org:8080/#lobby](http://crawl.akrasiac.org:8080/#lobby)

<comment><USER25> I think you might be underestimating the complexity of nethack

</comment></comment></comment><comment><USER26> If you like command line Unix tools, the Inconsolation blog is pretty good. He's currently running through the tools alphabetically.

[http://inconsolation.wordpress.com/](http://inconsolation.wordpress.com/)

</comment><comment><USER27> They missed out ls and cd.

</comment><comment><USER28> My latest discovery: jq - command line json processing, formatting and colouring.

<comment><USER29> I was going to mention jq. It's great, and replaces the previous json tool I was using (can't remember the name now, but it wasn't as useful.) I hope it becomes more popular.

</comment></comment><comment><USER30> I'm curious what tools the author doesn't consider obscure.

</comment><comment><USER31> smem is pretty rad and obscure ([http://www.selenic.com/smem/](http://www.selenic.com/smem/)).

</comment><comment><USER32> the full topic is "cool, but obscure unix tools"

most of these aren't really obscure, but i still think it's a cool list. thanks for that.

</comment><comment><USER33> vim and emacs are obscure?

</comment><comment><USER34> s/Obscure/Handy/gi</comment>


Augur V2 Is Live - <AUTHOR> https://augur.net/ <comment><AUTHOR> Augur is a decentralized oracle and peer to peer protocol for prediction markets.

contracts: [https://github.com/AugurProject/augur/tree/dev/packages/augu...](https://github.com/AugurProject/augur/tree/dev/packages/augur- core/src/contracts)

client code: [https://github.com/AugurProject/augur](https://github.com/AugurProject/augur)

</comment><comment><USER2> I'm not super familiar with prediction markets. Could someone explain how exactly these markets create initial liquidity, how they set the number of tradeable shares, etc?</comment>


Ask HN: Ethical advertising platform? - <AUTHOR> I would like to monetize a website through advertising, but am unsure on how to proceed. My main concern is that I don't want to cooperate with such a disgusting industry.<p>Do you have any experience with advertising platforms that take privacy of users seriously? <comment><USER2> Have you considered rolling out your own?

I.E. contact companies that would be a good fit for your website, work to build ads with them, and charge them a premium for a highly relevant audience?

I'll be attempting this in the next 6 months. I plan on:

\- having 6-10 ad spots on the site \- charging a flat fee per week \- placing a company's ads in ALL the ad spots for the weeks they pay for. \- working with advertisers to make static ads with minimal images, fit the aesthetic of the site.

No idea how this work and it'll be a good amount of work. But I think it'll be better for users as well advertisers.

</comment><comment><USER3> If you want to monetize your website by selling advertising, you have 2 main routes:

1) work with an SSP (supply side platform) that will help you sell your inventory, manage your tags, manage your yield, etc. It'll help you make your inventory available to a lot of advertisers. It has a cost and you don't have full control over what type of ad is displayed on your site. Example of SSP: Appnexus, DFP, OpenX, RhythmOne, Sovrn, etc.

2) Directly upload tags from advertisers onto your website. It can be time- consuming, may require infrastructure investment, needs sales team

As far as privacy goes, it depends on what you consider as a matter of privacy. Most likely your advertisers will want to fire pixels on your page to capture information on users, check that traffic is human traffic, etc. Publishers will also want to capture user data as a way to value their inventory more.

Hope that helps.

</comment><comment><USER4> What specifically do you find unethical? This might help people guide you. What is unethical for you, may not be for someone else.

And the obvious option is to have companies you are comfortable with directly sponsor or buy placement in ways you are comfortable with.

<comment><USER5> I think OP probably just doesn't understand how ad tech works.</comment></comment>


Why I Left My 6 Figure Job at Google and What For - <AUTHOR> https://tanastasiu.wordpress.com/2019/08/22/why-i-left-my-6-figure-job-at-google-and-what-for/ <comment><USER2> That was an interesting read. For the author: what are you doing now? Did you do a blockchain startup?

I share some of your inside Google views. I worked as a contractor there, on a passion interest of mine (knowledge graphs and general knowledge management). On one hand I was very, very grateful for the experience. On the other hand, I was also very happy to leave and go back to my own thing (a lot of personal research, some consulting and writing).

<comment><AUTHOR> I'm currently exploring and looking for real world problems that blockchain can solve and use that as my source of inspiration for startup ideas. The systems in the privileged western world already in place work so well (especially in Switzerland) that it almost looks like we don't really need something better, but go to other parts of the world and you'll see that things are not so good for other people. Especially the unbanked and the undocumented. I expect that my experience in Asia will provide me with the necessary insight to come up with something useful.

I know virtually nobody at Google who are of the same opinion, so it's a bit refreshing to see other people who share my inside Google views.</comment></comment>


My Perception of CoffeeScript - <AUTHOR> http://leongersing.tumblr.com/post/11561298378/my-perception-of-coffeescript

<comment><USER2> This essay is fairly amazing -- there's so much emotion and so many assertions packed into it, and yet they're all founded on innuendo and hearsay, not on how things actually are. Most of the things Leon writes are factually incorrect, but at the same time, you can see how listening to enough FUD might make you start to think them...

For example:

        > CoffeeScript classes have attributes and properties that
        > are encouraged to be mutated by reference so a language
        > contrivance was devised (@) to allow OO style encapsulation
        > while still trying to provide Functional referential
        > transparency in anonymous contexts… wrap your head around that.

What? Instances of CoffeeScript classes are just like any other JavaScript object with a prototype -- just like any old string or function or array. The "language contrivance" `@` symbol is simply an alias for `this`. Nothing more and nothing less. `@name` in CoffeeScript is just `this.name` in JavaScript -- I'm not sure how you wind up with "functional referential transparency in anonymous contexts" from there ... but I'll have a little of whatever Leon's smoking ;)

There's many other things in the essay, but the core boils down to this: There are a bunch of folks who are used to ignoring prototypes in JavaScript because they hand-roll objects by manually adding properties or using Crockford's "module pattern". For them, CoffeeScript's `class` keyword feels like it's adding something alien to JavaScript because it makes prototypes accessible. It's not. Using prototypes and objects lies at the core of JavaScript, and it's only the difficult and fragile syntax that leads people to manufacture new instances like this:

        var makeDog = function() {
          return {
            bark: function(){},
            run: function(){},
            ...
          };
        };

Instead of the _far_ more efficient:

        new Dog;

Finally, CoffeeScript isn't encouraging you to do anything in particular. If you truly don't like using prototypes in JS, feel free not to use `class` in CS.

        > Jeremy Ashkenas, whom I do not know but would
        > LOVE to have a drink with (alcoholic drink or
        > otherwise) and pick his brain ...

Ping me the next time you're in NYC. Always happy to grab a drink and talk shop.

<comment><AUTHOR> Nice to have you chime in here Jeremy. I personally use CoffeeScript a lot. I also code in Ruby and understand its appeal from that perspective. However I am curious what your take is on dxbydt's reply below. He makes a very interesting comment about the overhead of objects vs simple message passing/currying/etc.

<comment><USER2> My take is that it's a classic straw man -- you can write inefficient functional code that constantly manufactures and throws away closures ... just as easily as you can write inefficient object-oriented code that constantly manufactures and throws away objects.

The point of object-orientation is that "simple message passing/currying/etc" rarely stays simple for long. Eventually your system wants to have many different pieces of data that all share common functionality, and objects are a great way to model that. But if you prefer to work procedurally, and have a big data structure and a bunch of little functions that operate on it -- that's fine too. CoffeeScript and JavaScript support both.

<comment><USER3> I note the same in another part of this thread, showing how you can write his JS in less CS code.

However, I'd argue that the reason most people are adopting CoffeeScript is for the "class ... extends" as it lets them model their JavaScript code much like they might have in their old Java, and more likely, PHP projects. And once you throw that out, the main draws remaining are default argument values, string interpolation, and the ? operator.

The question is, do those benefits warrant the added layer of complexity? Many of us who have worked with JavaScript for a very long time wonder about this, and dread the deeply nested class hierarchies we might encounter in CS projects because CS makes that so _easy_ to do. But bad programmers will write bad code in any language, and I hate to think what a dev who uses `class ... extends` as a crutch would write in plain JavaScript. So, I have both positive and indifferent feelings about CoffeeScript, the only negatives being with the handling of variable scope/shadowing, which is of course opinionated and neither right nor wrong, and the parser itself which makes for ugliness like

      window.addEventListener 'load', ->
        # Do stuff ...
      , false
      # leading comma is needed above.

<comment><USER4> the only reason i use CS is because I can get away with typing way less than needed. There is a one time cost (huge? or not!) for setting up tooling to compile it automatically.

If not anything, typing is the only reason I love CS. Because studies have shown (anyone got links, i know them from greg wilson's talk from CUSEC)

1) Less lines of code - less mistakes

2) You produce same number of lines of code, no matter the language

and (not related to studies) 3) less lines to debug 4) if you can deal with the idiosyncrasies of JS, that person can deal with CS quite well. (stawman argument anyone?)

</comment></comment></comment></comment></comment><comment><USER5> > If you're a fan of OO you're going to love CoffeeScript from day one, > guaranteed. If you've never tried to see the world through Functional > glasses then I assert that you're going to be missing out on a few beautiful > vistas.

I feel like he's not using the same CoffeeScript I am. Yes, it does make OO- style programming easier than vanilla JS, but it also makes functional programming a heck of a lot more accessible. The terser function creation syntax and the 'everything is an expression' mindset might appear at first glance to be minor improvements, but they add up to a language where working in a functional paradigm is a _lot_ more enjoyable than regular JS.

<comment><USER6> I have to agree with you here. Since using CS my code got far more functional because I could create functions that create functions really easy and the implicit returns make it feel like a functional language.

</comment></comment><comment><USER7> The author has 3 main gripes: backticks to drop back to JS, the 'class' keyword, and the fat ('this'-preserving) arrow.

But these are all features you can blithely ignore: don't use backticks, and stick to native JS prototypes and the thin arrow.

At which point you're left with, from where I'm sitting, a less noisy, more concise, more enjoyable way to program the web browser than plain JS.

<comment><USER8> Frankly his main gripe is that JS = FP, CoffeeScript = OO.

The 3 gripes you point out are mostly a consequence of Coffee choosing to do OO instead of FP & then needing hooks into JS's world to achieve this end. From the article - "CoffeeScript sees the world through OO's eyes. When I see JavaScript, I find beauty in it's ability to be a dynamically typed Functional programming language."

His example is known by various other names, most commonly <http://www.google.com/search?q=lots+of+little+objects>

He wants just 2 "objects" ( he more specifically wants unstructured objects, or plain structs ) - sammy the python & tommy the horse. Functional JS gives him just those 2. But OO CoffeeScript gives you 5, or even 6 if you count hasProp.( var Animal, Horse, Snake, sam, tom, __hasProp. )

The more dramatic way to document this behavior is to have say 100 cats & 500 rats, whoe identity is captured in an int. With FP you'll be able to happily get away with just 2 "objects" - 1 cat and 1 rat ! The int indexing will happen via a function call. With OO you will have 600 little objects plus a bunch more for the classes and the hasProp !!

Here's another one I've seen - If you get two programmers to write a paddleball - one in functional JS, and the other using Coffee OO. The Coffee one will lag pretty soon. The Coffee guy will have a Ball object & a Brick object & a Wall object & each gesture will get captured as an object as well. So when the player moves the arrow keys to move the paddle, each move's x,y coordinates will become a gesture object & then gestures are passed to the ball & the wall to determine collisions....soon you'll have 1000s of gestures & the pgm will slow down unpredictably as the gc kicks in. The functional JS guy won't create a single gesture object, he'll simply call some collision detection function directly with the x & y, so you'll see much better performance.

Ofcourse the coffee OO code will look a lot prettier than the FP one littered with curlies & function calls, but like the author says, "JavaScript's function keyword and curly brackets aren't ugly to me, they are useful indicators of code smells."

So pick your poison.

<comment><USER3> I am not a fan of CoffeeScript for my own reasons (it doesn't offer enough for me to drop drop JS), but there is nothing stopping the author from writing his CS like so:

      move = (aDistanceOf) ->
        it = @name or "It"
        alert arguments[1] if arguments[1]
        "#{it} moved #{aDistanceOf} meters"

      snake =
         name: "Sammy"
      horse =
         name: "Tommy"

      move.call snake, 5, "Slitering"
      move.call horse, 45, "Galloping"

But really, this is just JS wearing some new clothes. The string interpolation is nice, but apart from that, you really gain nothing over the JS version.

<comment><USER9> >But really, this is just JS wearing some new clothes.

And that's not a bad thing.

If you want FP _and_ encapsulation, you can write something like this (functionally equivalent to the OO version, unlike TFA's example)

      move = ->
        alert "#{@move_verb or "Mov"}ing..."
        alert "#{@name or "It"} moved #{@distance or 1} meters"

      snake =
         name: "Sammy"
         distance: 5
         move_verb: "Slither"

      horse =
         name: "Tommy"
         distance: 45
         move_verb: "Gallop"

      move.call snake
      move.call horse

<comment><USER8> Dude. Really ? You've just invented objects, but you'd rather not call it that. You have two attributes ( name & distance ) and you've made an attribute out of the method ( move_verb ?! heh heh ) as well, very clever. You are then calling a function & asking it to sort it all out. If we are going to call this FP, that's a real stretch. What objects buy you is that name,distance & move_verb are common to both snake & horse, so they should be refactored to some base class & then snake & horse should be instances of that class. But then you won't do OO, so you must encapsulate in this roundabout fashion:) I'll grant it does give you FP + encapsulation.

<comment><USER10> shiffern's example uses the same coding style you use in Clojure. It doesn't feel like stretch to call it FP. Start with a basic data structure (the object in shiffern's example would translate to a map in Clojure) and then operate on it with simple functions.

      (def snake {:name "Sammy"
                  :distance 5
                  :move-verb "Slither"})

      (def horse {:name "Tommy"
                  :distance 45
                  :move-verb "Gallop"})

      (defn move[{:keys [name distance move-verb]}]
        (println (str (or move-verb "Mov") "ing..."))
        (println (or name "It") "moved" (or distance 1) "meters"))

      (move snake)
      (move horse)

<comment><USER8> or in scala:

        val snake = Map("name"->"Sammy", "dist"->"5m","move"->" slithers ")
        val horse = Map("name"->"Tommy", "dist"->"45m","move"->" gallops ")
        def move(m: Map[String,String]) = println( m("name") + m("move" ) + m("dist")

         scala> move (snake)
         Sammy slithers 5m
         scala> move (horse)
         Tommy gallops 45m

If FP = OO via dictionaries, then yeah, ok :))

<comment><USER11> The example given by author is very FP and not OOP, since the move function doesn't modify shared state and the only side-effect is output.

We use CoffeeScript for node.js and browser client code. I think classes more useful for control patterns, like EventEmitter in node.js, and much less for wrapping of data, as done in traditional Java/C++ -style OOP or ORM models.

I'll chip in Erlang (real production-grade code with type-specs, not a short REPL example):

        -module(animal).

        -record(animal{
                        name      :: string(),
                        distance  :: integer(),
                        move_verb :: string()
                      }).

        -spec move(animal()) -> ok.
        move(#animal{name=Name, distance=Distance, move_verb=MoveVerb}) ->
          io:format("~sing... ~s moved ~b meters~n",
                    [default(MoveVerb, "Mov"), default(Name, "It"), default(Distance,1)]).

        -spec default(X::any(), Val::any()) -> any().
        default(undefined,Val) -> Val.
        default(X,        _)   -> X.

        -spec main() -> ok.
        main() ->
          Snake = #animal{name      = "Sammy",
                          distance  = 5,
                          move_verb = "Slither"},

          Horse = #animal{name      = "Tommy",
                          distance  = 45,
                          move_verb = "Gallop"},

          [move(A) || A <- [Snake, Horse]],
          ok.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> 'I agree with this' is not same as 'objective and balanced'.

<comment><AUTHOR> True that - I actually disagree with his final conclusion, because you can still program functionally in CS. I embraced JS prototypes a long time ago and have no need for the OO magic offered by CS. That said I still prefer it for a good chunk of my development.

Coffee vs JS rants typically degenerate into emotional outbursts, I was impressed by the author's overall restraint and advocacy for both approaches

</comment></comment><comment><USER13> CoffeeScript's classes _are_ the extend functionality in underscore/backbone. Perhaps they're misnamed a little, but they're extremely simple. Just read the generated code.

<comment><USER14> This is my favorite reply, because it's exactly right. No one is stopping you from mixing and matching paradigms either! You can extend CoffeeScript classes with extra mixins.

I think CoffeeScript's class keyword does a great job at what it's trying to do: make all the complexities of prototypical inheritance accessible to the average person who just wants simple object-oriented classes. CoffeeScript is just JavaScript.

</comment></comment><comment><USER15> This may sound pedantic, but I wish that these type of technical screeds were created with the flexibility/power of online publishing in mind.

There needs to be more thought given to the use of non-prose in communicating these things. More tables, a la Ed Tufte's principle of direct comparison and small multiples, is a huge help. At the very least, it helps break up dense text and forces the author to be more aware of how to best not bury important statements and assertions.

But if you aren't going to go all-in and use tables/graphics because it's a bit of work...then at least use headings, bulleted lists, formatted- text...this is the web, after all.

Or, if you don't even want to do that, at least use line breaks like everyone learns about.

And if you plan on including code, please use a wide enough format (and of course, syntax highlighting, though that is additional overhead).

I don't mean to belittle this author's point on the basis of visual cues alone. It's just that I see a lot of great essays that could be so much more influential and effective with just some additional effort put into presentation.

</comment><comment><USER16> _It's not the that Object modeling metaphor used in CoffeeScript is bad, it's just overly object-oriented and builds on OO style inheritance._

There are lots of people who don't even include inheritance in their definitions of OO.

</comment><comment><USER17> And the next technical book to be published? ... "Coffeescript - The Good Parts"

On a more serious note, I love Coffeescript and am adept at Javascript. But since we have both of them, I get to choose.

<comment><USER18> Then we can move on to inventing EspressoScript: It's the Good Parts of CoffeeScript, and not the bad!

<comment><USER17> Which will of course be forked to LatteScript, CappacinoScript and MachiatoScript. Real non-conformists will insist on TeaScript (or its fork - ChaiScript). After years of infighting, the industry will finally get behind a standard based on the least common denominator - CaffeineScript which will prompty be sued out of existence by the Caffeine JVM (overlay on .NET?).

By then, young developers will be so disillusioned with the whole process that they'll invent something totally different ... and who can blame them ;) Due to the vocal nature of its supporters, RubyRedGrapefruitScript becomes the default scripting language available in modern browsers.

I'm glad I know assembly language ... I can always go back to the beginning ;)

<comment><USER2> As often happens, the truth is more interesting than the satire...

Coco: <https://github.com/satyr/coco>

LiveScript: <http://gkz.github.com/LiveScript/>

IcedCoffeeScript: <http://maxtaco.github.com/coffee-script/>

Parsec CoffeeScript: <https://github.com/fab13n/parsec-coffee-script>

UberScript: [https://github.com/jstrachan/coffee- script/blob/master/TypeA...](https://github.com/jstrachan/coffee- script/blob/master/TypeAnnotations.md)

ToffeeScript: <https://github.com/jiangmiao/toffee-script>

Kaffeine: <http://weepy.github.com/kaffeine/>

<comment><USER17> Haha ... I only knew about a couple of them but that's quite a list. And we haven't even started listing the coffee-named projects related to Java (like Kaffe - <http://www.kaffe.org/>). I think I'd better quit now and get some code written!

</comment></comment></comment></comment></comment><comment><USER19> It makes more sense for CoffeeScript to exists as an independent language, rather than as a JavaScript generator.

The syntax is beautiful, it had potential; why be a difficult-to-debug JavaScript 'compiler' instead?

<comment><USER20> I'd say this "difficult-to-debug" attitude comes from those who did not actually tried to work with CoffeeScript and just think that would be the case. We have a lot of code in it already and debugging was never an issue.

<comment><USER21> +1 here too.</comment></comment></comment>


MI5 agents can commit crime in UK, government reveals - <AUTHOR> https://www.theguardian.com/uk-news/2018/mar/02/mi5-agents-are-allowed-to-commit-in-uk-government-reveals <comment><USER2> Quoting Matt Tait (former GCHQ) here: " _Also worth remembering that "agent" here means "recruited source" and not "employee""_ ([https://twitter.com/pwnallthethings/status/96997040775861862...](https://twitter.com/pwnallthethings/status/969970407758618625)), and further " _This is kind of necessary, since being a member of a proscribed international terror organization is a crime, and were it not so, Mi5 would be unable to recruit sources inside them_ " and " _And also worth noting it is guidelines on the use of sources who participate in criminality. It is not about the government directing sources to participate in criminality._ " The second-to-last paragraph of the article only makes sense using this reading: " _The MI5 website says agents are "one of the most significant information gathering assets we have", adding "intelligence from our agents is critical to keeping the UK safe"._ "

It seems the entire discussion here is based on a misunderstanding, the vast difference between what MI5 calls an "agent" and what the public understands when we hear "an MI5 agent", and thus misses the point by about a mile?

There's an interesting debate to be had about the questions posed by the article, it's just not what's being discussed here right now. For example, in Germany, an attempt to have the far-right ultra-nationalist NPD banned for being anti-constitutional in 2003 was rejected by the Federal Constitutional Court because a large number of agents (called V-Männer in German) were active in the party leadership. This raised the question of whether some of the evidence against the party might actually be influenced by agents of German secret services. Since the secret services did not want to fully disclose their agents' identities and activities, the court found the case to be impossible to decide.

<comment><USER3> I've seen this line of reasoning quite frequently in the last few hours and am a tad suspicious.

Let's frame it this way: Can the police pay criminals to commit crime in order to arrest other people?

Here is a lovely example of my own wealthy first world country scamming one of the poorest nations on earth out of their oil reserves for a handsome profit. The man (Nick Warner) behind it all lives in luxury guarded by guns and the bureaucratic evil protecting him and his ilk. The minister at the time (Alexander Downer) afterwards went on to work for Woodside Petroleum, one of the biggest oil companies in the world who coincidentally was the main beneficiary of the shady deal.

May history judge them all appropriately.

[https://en.wikipedia.org/wiki/Australia–East_Timor_spying_sc...](https://en.wikipedia.org/wiki/Australia–East_Timor_spying_scandal)

<comment><USER4> Duplicity is a norm within the structures of the power elite. We, the people, don't like to ever admit it - it interrupts our comfortable lives - but both sides are regularly played by those who have the advantage of technological, legislative and bureaucratic power. Australia's imperial adventures pale in comparison with those of its allies in the 5-eyes nations, but its still just playing by the same rulebook of its cousins.

"Play both sides, for power." Now, the UK is freely admitting it does this.

</comment></comment></comment><comment><USER5> Whilst discussing this with friends there was a feeling that MI5 certainly need some sort of 'special powers'. I don't see why those special powers should not be in the Act itself and agreed before parliament. For instance the 'Snoopers Charter' grants amazing powers to the security services, but parliament did agree it.

When the executive still feel the need to break the law in order to operate, it gives one a clear picture of their attitude to the rule of law

<comment><USER6> This isn't very dissimilar to being an undercover detective.

If there were very clear rules spelled out in law about what you can and cannot do, then criminals could use these to develop a robust litmus test for undercover operatives.

While I agree its unsettling that government agents could be committing crimes legally, I can also see the argument for leniency if it helps them penetrate further into criminal enterprises and bring them down more effectively.

<comment><USER7> On the other hand, if there _aren 't_ any rules then the security services can simply murder dissidents. [https://en.wikipedia.org/wiki/Pat_Finucane](https://en.wikipedia.org/wiki/Pat_Finucane)

Edit: another recent scandal; is it OK for undercover police to have long-term sexual relations with the people they are informing on? [https://en.wikipedia.org/wiki/UK_undercover_policing_relatio...](https://en.wikipedia.org/wiki/UK_undercover_policing_relationships_scandal)

Until reading that I hadn't been aware that questions had been asked in the Bundestag about Mark Kennedy; understandably Germany takes a view of both (a) secret police and (b) foreigners committing arson.

<comment><USER8> I'll go a step further and say that I am strongly in favor of erring _way_ on the side of less legal immunity for undercover agents. I don't think a world with no undercover agents (especially domestic agents; foreign operatives is a bit of a different ballgame) sounds particularly horrible, but a world with domestic agents with significant immunity is pretty much the definition of dystopia.

</comment></comment></comment></comment><comment><USER9> "Duress of circumstances" is available as a defence for anybody accused of a crime. I would presume that would cover many cases of undercovers committing minor crimes to maintain their covers in threatening circumstances.

I'm not aware that it's ever been a real issue, eg. I'm not sure if there's any suggestion of Bob Lambert being prosecuted for his alleged involvement in firebombing Debenhams.

Edit: I'm a bit confused about what the actual legal implications of this "guidance" are. IIUC it's about guidance given to MI5 agents, as such I suppose in theory the legal implication is that if they commit "authorised" crimes they could argue in court that it's their employer's responsibility.

<comment><USER7> No, but the Met did pay nearly half a million quid to avoid going into the question of whether an undercover policeman sleeping with his target constituted rape.

<comment><USER9> I think, tbf, that was more about dodging the question of child support than rape. I don't think any of the women targeted by undercover police officers are pursuing rape cases.

<comment><USER10> > _I don 't think any of the women targeted by undercover police officers are > pursuing rape cases._

Why wouldn't you think that?

In fact, they are doing exactly that: "11 women (...) are currently suing the police after being tricked into having sexual relationships with men later revealed to be undercover officers (...)".

Especially when the "women targeted by undercover police officers" are not some hardened terrorists living undercover themselves (who'd avoid going to courts at all costs), but people e.g. belonging to some environmental activists group or some left wing protesters, etc.

<comment><USER9> They are pursuing cases, but they are not rape cases. I believe they're human rights and other cases.

</comment></comment></comment></comment></comment><comment><USER11> This should not really come as a shock. The internal and external state security apparatus of most countries almost certainly operate in a hazy gray area on the edges of the law.

<comment><USER12> Espionage is illegal in most if not all countries, so essentially anything you do outside of your borders is illegal. If agents from foreign country do the same things in your country that you ask your agents to do in foreign countries, you throw the former into jail and pay the later. It's an interesting philosophical topic.

<comment><USER13> MI5 is internal security, MI6 is external. MI5 doing eg kidnapping, rendition and torture of British citizens on British soil would be a question of "are they allowed to commit such crimes for an alleged greater good?".

<comment><USER4> "Are these MI5 agents allowed to attend the child sex parties of the MP's, for an alleged greater good?"

\- Doesn't sound so noble to me, honestly.

</comment></comment></comment></comment><comment><USER14> I believe that this has been the case for some time, but given the context of an authoritarian government I am rather worried about this line of thinking by the government today.

I would prefer that they expand on exactly what they mean by criminal behaviour, because, even the police can engage in some criminal behaviours in their occupation as long as it's sanctioned and it has a limit.

I "know a guy" who worked in CID and it was the case they had more authority to do things unsanctioned. Much more than the standard investigators associated with the police were permitted without formal approval. I sincerely hope that is not the case when you go deeper into the secret services.

<comment> shaki-dora While the current UK government is second only to the US in providing that uncanny feeling of both despair and amusement, I would hesitate to call them "autocratic". Save yourself some rhetorical breathing room for when you need it.

Among other things, "autocratic" implies something of a firm grip on power. A quality the current UK government does not seem to have ("get a grip" is probably something Theresa May hears more often than she'd care to admit).

<comment><USER14> As much as they (current gov) are scarecly clutching to power. They have still managed to pass bills like the Investigatory Powers act and banned use of the open internet without ID (under the guise of blocking porn until the line owner provides an ID proving they're over 18)

I stand by my statement. They're authoritarian. Even if they are very desperately clutching to the power they need to keep pushing the authoritarian agenda.

<comment><USER4> >They're authoritarian.

Widely entrenched Child-sex rings among the MP's, covered up in the name of 'national security'. Too damn right they're authoritarian.

</comment></comment></comment></comment><comment><USER12> Well, if there was I new guy around and he refused to steal a getaway car while I and my friends were preparing to steal the crown jewels, I know which guy I would be suspicious of. Also if I knew an agent is allowed to steal cars but not to beat up people, I know what I would ask the new guy to do. Whether the benefits outweigh the costs is a different question but if you concluded that it is a net positive then there is at least this argument to not be too public about it.

<comment><USER15> The argument of the net gain is flawed. A hallmark of modern, free societies is that it's exactly not one for all, but the right and freedom of the individuum.

<comment><USER12> This is not true at all. All modern societies limit personal freedom in countless ways for the better of the entire society. And those limits are not flaws of the current systems, i.e. you will not get a better societies by abolishing them. There are still some instances where we should abolish limits on personal freedom for the better but this is certainly not the general case.

<comment><USER15> This part of the thread is becoming ridiculous.

In all societies at all times there is some system to act against the interest of some people under some conditions. That is trivial. What differentiates modern free societies, then?

Modern free societies are characterized by a system of law that not only the weak must obey, but also the powerful. Everbodies basic rights are protected, even against the government.

Sure, we pay taxes, and cooperate by compromise in countless ways. However, that's not what we are talking about here, at all!

There is simply no way a government can lawfully kill a citizen to help some others, at least not in the EU, _whatever_ the net gain may. That is just one obvious example of how the argument of the net gain is simply overruled by modern principles of basic human rights.

<comment><USER12> But it is not known which laws they are allowed to break and which not, you just mentioned killing people for the first time, neither I nor the article did this. What about breaking into houses to plant bugs? I would actually be surprised if they were not allowed to do this.

And I picked the example of beating someone up not totally at random, people went to court against the MI5 and MI6 because of their involvement with deportation of British citizens to Guantanamo [1] which may or may not turn out to be a worse fate than getting beaten up in a dark alley.

And last but not least, the licence to kill [2] seems to be an actual thing.

[1] [http://humanrights.ucdavis.edu/projects/the-guantanamo- testi...](http://humanrights.ucdavis.edu/projects/the-guantanamo-testimonials- project/testimonies/testimony-of-foreign-intelligence-personnel/guantanamo- bay-detainee-sues-british-intelligence-agencies-over-torture/)

[2] [https://en.wikipedia.org/wiki/Licence_to_kill_(concept)](https://en.wikipedia.org/wiki/Licence_to_kill_\(concept\))

</comment></comment></comment></comment></comment><comment><USER16> aka "black bag jobs": [https://en.wikipedia.org/wiki/Black_bag_operation](https://en.wikipedia.org/wiki/Black_bag_operation)</comment>