Hacker News new | past | comments | ask | show | jobs | submit login
Steve Yegge: Have you ever legalized marijuana? (steve-yegge.blogspot.com)
121 points by dmytton on April 9, 2009 | hide | past | favorite | 50 comments



One important difference between credit card buckets and marijuana legalization is that the latter can be done in increments. With credit card buckets, you'd have to produce a complete working system before it benefits a single person. With marijuana legalization, you can make relatively minor changes to the law with immediate benefits which don't have far-reaching repercussions.

For example, the federal government can stop making raids on places that provide medical marijuana to cancer patients. Eric Holder has already announced this, and he's not even in favor of legalization. This has immediate benefit without interfering overly much with the other systems mentioned.

Also, many (though not all) of the issues described are state issues rather than federal ones. Whether you can smoke cigarettes in bars varies by locality, and presumably this would be the same for marijuana.

Ultimately, many of these issues would be decided by the courts rather than the legislature. We have a common law system that thrives on vague laws being interpreted and refined by rulings on specific instances of conflicts between different laws, principles, and common sense.

Obviously I'm hand-waving, and the essay is 100% correct about how difficult this would all be. I've thought about some of these issues before, but others were mentioned that had never occurred to me, and I don't have good answers for many of them.

Still, we can legalize incrementally, let states and localities handle the minutia, and allow the courts as always to hammer out a set of standards over time. This legalization a lot more doable than the impossible-once-you-really-think-about-it credit card buckets.


I think it's a key insight that we can incrementally improve the law, but a credit-card bucket system must be fully implemented before anyone uses it. We can and do use this feature of the US legal system on a near daily basis to make meaningful improvements over time.

However, I think this point is significant: "People will die. It's a certainty. Some people are going to die as a direct consequence of legalization of marijuana." It's okay to release a crappy messaging website and iterate it into goodness, but it's irresponsible to do the same with medical software. In the same way, when people's lives are at stake, we have a responsibility to produce good laws from the start, so even if we don't get it perfectly right immediately, all of the complicated details that Steve brings up have to be thought through, or else there could be major negative consequences during the stabilization period.


'However, I think this point is significant: "People will die. It's a certainty. Some people are going to die as a direct consequence of legalization of marijuana." '

People are already dying as a result of current marijuana laws.

If your current medical software is buggy and causing deaths, you want the replacement to be solid but you also can't wait until you are 100% sure. You need to be sure enough that the consequences, bugs and all, are an improvement.


On the other hand, thinking through the details is not a hallmark of many current laws which already cost lives (e.g., war on drugs, overly conservative regulation of new drugs by FDA). So the hurdle to be met by ironing out the details of changes in laws shouldn't be whether they will cost lives; it should be whether they will cost fewer lives than what currently exists.


The recent post by Daniel Tanner on how to be relentlessly resourceful, and Joel's long favoured essay on "smart and gets things done" seems fine when resourceful means "smile and make a couple of phonecalls", but it fails somewhere on the gradient up to where this post discusses changes at Amazon. Steve Yegge seems both 'smart' and 'gets things done', yet he wrote this post on how difficult changes can be, and how many they regularly turned away at Amazon. I think the "smart and gets things done" meme is really saying don't stop so soon.

Our laws grandfather in certain accepted behaviours which would be enormously difficult to retro-fit. Can you imagine trying to get gas (petrol)-fuelled vehicles going if they weren't allowed already? Driving tankers full of explosive fuel on public roads to gas stations on every corner where it will be kept in big tanks underground and pumped by untrained people into vehicles easily up to 25 years old maintained on an ad-hoc basis...

Our systems and businesses behave in the same way, too. As a startup you can get away with anything you can get away with. Had no backups for the first year? Ha ha, that was lucky, eh? Ran on a friend's server for 6 months? Left some customer details on a laptop that was stolen? Good thing you were small enough that nobody picked up on it and it made no scandal and caused no problems. Billing done mostly from one person's head? When you get bigger, you can't do that. Which means just starting a project becomes many times harder.

I think we overlook this effect quite a lot on dicussions on HN, where big companies are considered slow moving because they are inefficient and bureaucratic, whereas really, a lot of said "bureaucracy" covers things we want the companies we deal with to handle properly.

As Daniel's post said, as a consultant his task was to 'do the impossible'. I suspect quite a bit of this comes from being able to drop enough "important" "must have" requirements to be able to get moving again.


Lawmaking is not programming. In case you haven't noticed, Congress can pass vague, incomplete, and self-contradictory legislation, and it won't generate a compiler error or crash the system. Steve Yegge underestimates four things:

1. How vague, illogical, and incomplete most of our laws are.

2. The capacity of lobbyists and congressional aides to generate thousands of pages of detailed (though absurd, incomplete, and self-contradictory) legislation.

3. The capacity of lobbyists and regulators to generate thousands of pages of regulations specifying how legislation should be interpreted in concrete situations.

4. How well this apparent clusterfuck actually works in practice.

Is it a problem of "vast, unimaginable complexity?" Sure. Can we commit to an underspecified version of it and let the chips fall where they may? YES. It's the only way we get anything done in the US, and probably the only way to get anything done in any democracy.


Actually, by law, no California law can unintentionally contradict another California law. (You can repeal laws or parts of them, however.) They have an entire state agency whose job it is to make sure that this never happens. I have no idea how successful they are.


On the credit card question, these already exist - they're called Corporate Purchasing Cards. The reason credit card companies don't do buckets is, as Steve alluded, the merchant data isn't granular enough and in order to place restrictions on what cardholders can buy you have to know the bucket type of every item that merchants sell. That's a huge problem which even the best Corporate Card companies have trouble solving. American Express is #1 in terms of data but the cardholder often still needs to explain which bucket the purchase goes into. (One reason you need a special POS cardreader for Amex is to inform the Purchasing Card transactions which bucket to use.)


Just some information about the legality of marijuana in The Netherlands. I know very little about this, but the knowledge I have by virtue of living there and the discussions that are going on about it is probably more than that of some other people here.

Basically, Steve is right: shit's not easy.

Also, it's not legal here. What actually happens is that the laws regarding possessing pot aren't enforced when you have less than a few grams. You can smoke it on the streets and in your home. It may offend or annoy some people when you do it on the streets, but it's generally accepted. I'm not sure what would happen if you "walk into a restaurant, roll a joint and start puffin' away", I've never seen it happen, but I suppose you would be asked to put it out. (Like you would be if you were smoking tobacco.)

There are shops - we call them "coffee shops", an interesting story of euphemisms - where you can buy some pot. Not too much. And you have to show some ID and be older than 18 years. (Beer and wine, by comparison, can be legally bought at age 16. Spirits are also available from age 18.) These shops are checked quite well and will be closed when there's even a minor thing "off".

Now, here comes the interesting part. They're allowed to buy and sell, but there's no one that can legally sell to them. It's illegal to import the stuff and it's illegal to grow more than a few plants. There are crackdowns on pot growers. It's an interesting case of double-think that leads to some minor discussions.

A big issue is international pressure, mostly from Belgium. Border municipalities on our side of the border do have pot bars and drug tourism happens. This actually attracts a lot of criminals on both sides of the border. In Belgium people going to The Netherlands are stopped by drug "salesmen" looking to make a sale.

These border municipalities also have a lot of hindrance from the drug tourists who generally cause a lot of disturbances of the peace.

International treaties (ranked above the constitution in the hierarchy of law here) prohibit most of the inconsistencies to be solved and gives other countries a bit of a bat to hit us with. The whole issue is pretty fragile here. The current largest party is slowly moving it's position to oppose the current policy of "tolerating" soft drugs. At present, it's unlikely that they'll get a majority in parliament. I don't think it will become illegal again anytime soon, but there will probably be additional restrictions on the use and sale of marijuana. As for the long-term future, I don't know what it will bring. Currently the country is getting more conservative every day, but there's also a bit of a backlash growing.

So, yeah, Shit's NOT Easy.


> It's illegal to import the stuff and it's illegal to grow more than a few plants.

Say that a thousand people each grew one plant, and then sold them all to a single person, serially, so that that person only owned one at a time, but was constantly "in stock" when anyone else wanted to buy from him. It sounds like that particular situation would be perfectly legal.


It's important to remember that legal systems have humans in them, too. It's one thing to read a law, spot a loophole, and exploit it relative to what a hypothetical law computer[1] would say the law is. It's another to see a loophole, exploit it, and convince a human that what you did is not covered by the law.

Yeah, sometimes it happens, but I think we hear about it when it does because it's news. Much more likely, somebody's going to jail anyhow with your scheme. Judges are not stupid, in general.

1: You know, this guy: http://futurama.wikia.com/wiki/Computer_Judge


Sure. But you're only allowed to sell in a "coffee shop". And demand there is probably too high to support such a model.


Steve has a giant Obama button at the top right of his site. One of Obama's core platform issues is universal health coverage in the United States.

Which do you think is easier: Ceasing to incarcerate marijuana users, or running a giant new universal entitlement? This post reads less like a serious inquiry into the complications of legalization and more like an apology for the administration's maintenance of the status quo.


Hear hear. I do not doubt that shit ain't easy. But that doesn't stop politicians from doing half-assed implementations of much more difficult projects, so I don't think that's any kind of excuse for not legalizing pot.


Difficulty must be weighed against importance - far more people care deeply about universal health coverage than legalization of marijuana, so the same amount of effort provides a far greater return in the former case.


Do you mean a far greater return in terms of votes? ("far more people care deeply...") I care fairly deeply about UHC, but mostly that they put some sensible cost ceilings on it.


Shit's hard, sure, but that's why we have a full-time government and all their associated aides to do it.

Complexity is not something that should be carte blanche ignored, but it also should not be the determining factor for any major decision. Prohibition, repealing prohibition, abolishing slavery, women's suffrage, and desegregating schools were also hard, but that wasn't a reason for not doing it. In the software world, search engines, networking protocols, transaction programming, and email were also much more complicated than their simple descriptions imply, but that doesn't mean they didn't get done.

My point is this: everything has a cost, but that doesn't mean it's not worth that cost. The reason VPs and others think at that level of abstraction is so they can clearly see the benefits without having to immediately balance it against the cost. If they can sell these benefits to the implementers, stuff gets done. If not, it doesn't. They're not living in a dream world where anything is possible; they're doing the "benefit" part of a cost/benefit analysis, because benefits are not always as tangible as the costs.

Complexity is just another cost to be considered, and it can be overcome with hard work.


How about this idea, for a start?

Legalize possession.

Then create a single government-owned company that will be the only entity legally allowed to sell marijuana.

That way everything stays under control. It solves the quality issues, and all of the current sellers and distributors of marijuana are still illegal so the DEA can keep doing what they were doing.

It seems to me like this option would require very minimal legal changes.

Afterwards, if it is successful, we can slowly expand. Have the government slowly issues licenses to sell marijuana to some of the larger pharmaceutical companies, slowly legalize some advertising of the product, etc.

You don't need to completely legalize it and make it a free-for-all on the first day.


> Then create a single government-owned company that will be the only entity legally allowed to sell marijuana.

Just in case you've never been to Pennsylvania, we still have to buy wine and liquor from the single government-owned entity legally allowed to sell them that was set up at the end of (alcohol) Prohibition. These monsters have a habit of taking on lives of their own.


I don't think the government will see that as a problem. The point is to end the drug trade, not provide the best weed at the best price to the most people.


They have this in New Hampshire, too. The big stores near the border have the best prices in the northeast and are a tourist attraction for visitors from other states.

There are advantages and disadvantages, but it can work just fine.


Definitely another entertaining rant, both about the difficulty of legalizing marijuana and the dangers of equating obvious with easy.

My big problem with his rant about the difficulty of legalization is that people are suffering badly, right now, and you have to weigh that against the challenges of "the project".

There's "stop the bleeding" and "cure the disease." Sometimes, you can't wait for a full plan on the cure. In my opinion, denying cancer patients a drug reduces pain and improves appetite counts as bleeding. At some point, you have to deal with the consequences later.

Which we do - California's medical marijuana facilities have been raided by federal police, product was seized, product was returned, appeals were filed, etc...

Sure, I suppose this would have gone more smoothly if we'd denied cancer patients 10 years of relief so a profoundly inept and corrupt bureaucracy could catch up with morality.


If states can do it, so can the nation. Yeah it's HARD, but it's not that hard. Practically every piece of legislation is this much of a hassle. So call me a VP.



That's why the legislative process is amendable. You don't have to get it all right the first time through, just mostly right.

A lot more complex legislation than legalization of marijuana passes on a regular basis.

I'm glad more people don't think like Yegge, they'd be too paralyzed by fear to ever get anything done.


This kind of specification and scenario-planning sounds like a job for a pro-legalization think-tank.

Be like the lobbyists. Write the legislation you want, with options and choices, then present law-makers with a menu. Basically, do their work for them, then get them to rubber-stamp it.


A pro-legalization think-tank, like the Cato institute?

http://www.cato.org/pub_display.php?pub_id=10080


Not Steve's best. I love the guy, but this wasn't well thought out.

1. Everything is complex, some things more than others, but you can't not start a change because it's complex.

2. This change MUST happen. Period. We have to free up the criminal justice system from the silliness and waste. It costs taxpayers billions and only results in destroyed lives. This (legalization or simply decriminalization) has to happen, and it has to happen now.

3. Other countries have successfully implemented this. We can use them as a template. I live in the Czech Republic and it's a combination of legalized/decriminalized here. It works great. Find out what they do and copy it.

I've never tried marijuana and have no intention to, but watching all the lives and resources wasted on a non-problem sickens me.


His part of the payment buckets has a clear definition problem. He is making a hard system instead of a soft system. A soft system solution could be on the customer side, perhaps some JavaScript add-on warning on bucket watermark levels.

  I have more respect for The Average Reddit Commenter than I have for, well, the average
  commenter in any other forum, period, assuming that "period" is stevey-legalese
  for "except for LTU, news.ycombinator and their ilk, mumble mumble."
Lately, it getting more and more like that :-/


But you can already do it yourself customer side - keep track of what you spend per category, either in a text file, spreadsheet or dedicated budgeting program (Quicken, MS Money, etc).


I've done exactly this for the last few years. I have a bunch of text files with likes like

  # 3rd (of march)
  mail     2.23    mailing for bookmooch
  lunch    6.04    soup and sandwich @ riverfront cafe
  espresso 1.29

  # 4th
  groc    29.57    groc run
etc. I was previously totaling it with a short Python script, but now I'm using a tiny awk script (it's exactly the sort of thing it was designed for). Either way, it's incredibly easy to parse simple text files like that, dump the results out to gnuplot, etc. Just plugging in receipts once every week or two doesn't take very long.


Of course, but it is a PITA and a small minority does it. Still, my point is the complexity problem he addresses in that example is due to the monolithic nature of the solutions he envisioned.


Mint.com reduces the PITA level by 99% (for me, at least).


The security and privacy trade-off is way too much for me.


Presumably anyone could just go through your trash and get as much information about you as mint.com has.


It would seem to me that forcing said person(s) to relocate geographically to carry out that work would cut down a large percentage of the actual exploits. Not an all or nothing result, but largely beneficial, nonetheless.


Many people are still unaware of this problem, yes. But that doesn't make giving my passwords and all my information to a single small startup right.


"Because laws are pretty much like programs. You have to specify their behavior at almost (not quite, but almost) the same level of detail, using a language that's almost as crappy as our programming languages today -- English."

A very important point. This is why writing a new law to regulate behavior on some controversial issue doesn't do the whole job of resolving the issue.


Well you could start by undoing the existing laws. Say, just repeal the federal laws and defer to the states. See how that goes for a while.

Rather than creating some grand new plan, how about just undoing the broken old thing for a start.


I agree with this wholeheartedly. The credit bucket thing is something that needs to be done. The legalization thing is something that needs to be undone. Shit may not be easy, but tearing shit down is a lot easier than building shit up.

Then, after tearing shit down, you can build up the corners of life where it makes sense to regulate marijuana, such as on the job, in traffic, et cetera.


Part of what the courts and congresses are for is to handle the lazy evaluation of questions like these. We don't have to figure all this stuff out up front; most of it can keep for a while, so we can figure out what's actually a problem and what isn't, and base the policies on empirical data rather than speculation.


On the credit card question, banks could just provide some sort of standardized (e.g., RESTful) API to read credit card history. That's all.

The rest of bucketing functionality could be provided by iPhone apps, web-services, etc.

disclaimer: I know nothing about credit card processing.


There are huge privacy implications to that sort of thing, and very likely several laws or risks of serious liability that make it a thoroughly unappetizing business plan.


Why oh why can't banks just make an api version of their banking websites? SSL, login, password, server, voila!


What everyone seems to forget is that drugs WERE basically legal prior to 1914. We had lots of laudanum addicts,Seems that there should be plenty of evidence on how workable legal drugs are from that period.


How is it more complicated than ending prohibition?

I agree with all the comments on things being done iteratively and slowly makes sense as well.


The way I see it, the flaw with the argument here is that Steve is assuming that writing law is like writing working production code in a modern imperative or object-oriented language. It isn't. If the law is like code, it's fundamentally different from most computer code you've ever seen before. The closest analogue in the domain of programming languages would perhaps be Prolog and even that is stretching the analogy beyond the breaking point.

The legislature doesn't write complete code or even a complete specification of anything. They just write top level stubs and the stubs are executable because the "programming language" for the law supports intelligent code generation agents (government agencies), an agent-based pattern recognition engine (law enforcement), and an intelligent agent-based JIT conflict resolution engine (the courts) to evaluate the performance of the pattern recognition engine and throw exceptions as needed. The law enforcement part of the system is the only part that even remotely resembles the sort of deterministic computation that we're used to (i.e. if your behavior fits the pattern for an illegal act, the police will probably follow the rule and arrest you).

If the law were code, a legalization law for marijuana would look something like the following:

pattern_rule_class(a : person, b : marijuana)

  def_rule_maker(USDOT; {a.transport(b), a.operate(c : motor_vehicle) && a.consume(b)})

  def_rule_maker(USDA; {a.advertise(b), a.produce(b)})

  def_rule_maker(ATF; {a.sell(b, c : person), a.consume(b, c : location)}

  def_rule_enforcer(FBI; {a.transport(b, c : jurisdiction::interstate), a.sell(b, c : jurisdiction::interstate)})

  def_rule_enforcer(select_agent using state_ruleset; {a.transport(b, c : jurisdiction::intrastate), a.sell(b, c : jurisdiction::intrastate})

  def_rule_resolver(judiciary)
  ifndef ruleset by_date '1/1/2010'
    use default_ruleset
define default_ruleset

  (a : person, b : marijuana) : {

    a.consume(b)->legal where location(a)==home(a),

    a.produce(b)->legal where quantity(b) <= unit_plants(PLANT_LIMIT),

    a.possess(b)->legal where quantity(b) <= unit_mass_ounces(POSSESSION_LIMIT),

    a.sell(b)->illegal,

    a.operate(c : motor_vehicle) && a.consume(b)->illegal,

    a.transport(b, c : jurisdiction::intrastate)->illegal,

    else _default->illegal
  }
define default_penalty_ruleset

.... etc., etc., etc. and so on


I kind of lost my train of thought writing pseudo-code and failed to emphasize the key point. The law does not require a complete specification of all implementation details in order to develop working "production code". The law is a system that supports incremental refinement on-the-fly. The legislature need only designate the appropriate rule-making agents, define the scope of their rule-making authority, designate an implementation timeframe, and define only a very limited incremental change of the status quo rules to be applied if the designated rule-making authorities should fail to generate a complete set of rules to implement the law within the designated timeframe.


So make a crappy version 1 and then iterate.


Have you ever legalized marijuanua... on weeeeed?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: