What Happens to Stolen Bicycles? - <AUTHOR> http://blog.priceonomics.com/post/30393216796/what-happens-to-stolen-bicycles <comment><USER2> Bike theft seems like one of those quality-of-life crimes (like graffiti and coercive squeegee-monkeys) that's begging for some kind of creative enforcement strategy.

\- If there's an open-air bike market at 7th and Market, it seems like you could use some of the same strategies that have been used to shut down open- air drug markets.

\- Police in the greater Vancouver area have had a lot of success with bait cars, but I'm not aware of bait bikes being used more than experimentally (cf. tocatchabiketheif.com)

\- If one could devise a concentrated enforcement strategy, one might not need to "take six guys off a murder" for very long. Basically the idea would be to tip a high-crime-low-probability-of-punishment equilibrium and into a low- crime-high-probability-of-punishment equilibrium that should presumably remain equally stable. One approach would be to target a geographic area and communicate (and follow through on) a threat to throw the book at anyone caught stealing a bike.

(pretty much all of these are stolen from the book When Brute Force Fails).

<comment><USER3> How about a pressurized U-lock that releases a neon-pink paint cloud if the cylinder or restraining bar is cut-through?

I guess the trick would be making it get on the thief and all over the bicycle.

The best would be if it also stank to high heaven.

<comment><USER4> That's great, until you lose your key

<comment><USER5> That's a problem with cars right now. The combination of a wallet key, a spare at home and always being able to go back to the dealer make it not-that-big-a- deal, in my experience.

<comment><USER6> With bikes, at the moment, it seems to be a significant problem: there are a _ton_ of bikes in Copenhagen that end up stuck somewhere because the owner lost the key or forgot the combination. Sometimes the owners get a bolt cutter and cut the lock off; other times the police eventually show up to an area that's getting full of abandoned bikes, cut all the locks (after tagging them for a few weeks, which basically declares open season for anyone else too), and haul out a whole set of bikes. I'm not sure the economics work out for it to be worth doing the equivalent of going back to a car dealer for a new set of keys, when just buying another used bike costs $150-300. A car's worth doing it for because it's expensive, so even a dealer charging you $200 is worth it. But with bikes, even with the current economics many people don't bother: figuring out how to cut a U-Lock is more hassle than buying another cheap bike, and not much cheaper.

</comment></comment></comment></comment></comment><comment><USER7> When I was a kid (GET OFF MY LAWN!!!)

We used to be able to register our bikes with the police department. They'd stamp a registration number onto the frame of the bike using lettered taps and a hammer. The only way to take off the registration is to either file it down or cover it over, in either case a clear indication the bike is stolen.

I got a bike stolen 3 times. Twice I got one back when the police found it (once the bike had upgrades too. Better front fork, better grips and 2nd rider peddels had been added)

Anyway, I'm sure someone will cite "budget cuts" but I certainly wish they still registered bikes. It seems like in a city like SF there are enough cyclists, revenues from registering the bikes could pay for a few bike police.

<comment><USER8> That's still how they do it in Japan. Registration is mandatory for all bicycles. From what I hear you need to bring proof when there's a transfer of ownership, etc.

<comment><USER9> Yep. The only downside is that if a policeman is in a bad mood you may get stopped and checked to make sure you aren't a thief. Only heard of it happening to foreigners (not myself though) but it's a good idea to keep a card in your wallet or a photo of your registration (which is actually a really good idea for anyone traveling/living abroad: if you can keep them in a safe/encrypted place, carrying a photo of your passport, gaijin card, etc. is a pretty good idea in case you put on the wrong pants one day).

<comment><USER10> I'm in Tokyo and I got stopped twice by police officers wanting to check my bike, on a 3 month period (I do 2 rides of 30 mins a day). For basically no reason (other than being a foreigner in a country where the police is racist?)

<comment><USER11> Many places in Japan are basically bike theft free. I used to live in a town in Kansai where people just left the bikes in the train station for their commutes without any kind of locks, and just found them in the evening when they were back. I was completely amazed by this. In Tokyo they mostly used basic locks that came with the bike, not sure what's the situation now, a decade later.

Now, some "gaijin" saw a business opportunity there and basically this level of safety is over in most big cities. I think it's totally understandable that they target foreigners. Japan is one of the safest places in the world and they want it to remain that way.

<comment><USER12> Do you have any evidence it was a 'gaijin' or is that just racism?

</comment></comment></comment></comment></comment></comment><comment><USER13> It makes sense that large-scale operations are common in locations with a big bike scene. These will likely require a distribution network, so fighting bike theft might benefit from focusing on infiltrating those networks.

I had a friend who bought a bike lock that was insured against any thefts (whether they were quick with the insurance, I don't know). When he went to register it, he saw that there were two exceptions, one of which was the city in which he lived: Eugene Oregon, a town with tens of thousands of students. After asking around, he was told bike thieves there loaded entire bike racks onto trucks in a couple minutes, then removed each lock at their leisure in a storage facility.

I find it hard to imagine that they sold them off individually: it's too suspicious to have a few people selling hundreds of bikes. Likewise, delegating to underlings to sell the bikes also seems too risky, as several people now know about the enterprise. I suppose they sell wholesale to used bike shops in other towns who are in the know.

The solution in this case would seem to be turning criminals into witnesses, a la drug enforcement. Enforcement on an individual-basis wouldn't work: mere possession of a single stolen bicycle is unlikely to prove criminality. I doubt penalizing individuals for owning a bike (as with counterfeit money) would work either: if I go to a used bike shop to buy a bike, they're not going to give me the "stolen discount" - the shop is going to mark it up to the same price as legitimate used bikes.

<comment><USER14> > Likewise, delegating to underlings to sell the bikes also seems too risky, > as several people now know about the enterprise.

It seems to work for drug dealers.

<comment><USER15> Well, but with drugs I assume a lot of purchases are from repeat costumers, so it's easier to call less attention.

</comment></comment></comment><comment><USER16> There is a bike seller in Manhattan who uses an interesting system in reselling his (more than likely) stolen bikes.

Once a buyer contacts him via craigslist, he finds out the persons general vicinity, brings the bike to the area and locks it up with a combo lock based chain. He will give you the address of the bike, and if you like it, can make the purchase online and you receive the combination. If you don't want it, he can pick it up who knows when - or leave it for someone else to check out. If the bike gets stolen, he hasn't lost anything on his bottom line and at no point is he in physical communication with the actual purchaser.

<comment> simba-hiiipower interesting; i'd say that's pretty damn brilliant.

then again, if the risk of being caught (and punished) is as low in NY as it appears to be in SF, that seems like a bit of an overkill; wonder what the scale of his organization is..?

<comment><USER16> This same concept was debated within the realm of drug trade - which obviously is at a different risk level. With special compartment style locks on a chain, the same concept is possible - without a dealer having to ever interact directly with the buyer. Same concept can also exist for hiding information (whistle blowers hiding a SD card with data, a key, who knows what).

I don't know about SF, but it is not uncommon to see just a bike chain hanging on a post - it just fits in to the environment and no one will notice someone just walking up and taking their chain with the right combination.

<comment> simba-hiiipower considered drugs in this case, but couldn't figure out how that would work; how would you prevent theft (from your would-be customer)?

there's no conceivable way i can think of to present a drug for someone to 'check-out' without enabling that person to steal it..

<comment><USER17> I've been reading a lot of books on the subject lately and I think that's exactly how a lot street-level dealers (the lowest ranked members of the empire) are operating. The dealer would hide their product somewhere close by, for example in an empty soda can in a garbage bin or in a crack in the pavement. Once a client has made a purchase the dealer would tell the client where his stuff is hidden and the client can then go and take it.

If a dealer was busted he would never have any product on him, and the risk is relatively low if you consider that these people usually deal in units worth probably less than 20$ each. So if a package gets stolen or lost it's no big deal really.

<comment><USER18> This is illustrated at length in The Wire season 1.

</comment></comment></comment></comment></comment></comment><comment><USER19> I think a useful tactic to curb loss of expensive bikes would be to legally target the people who buy them, these are the people that cause the market to exist and perpetuate the situation. My guess is that most of these people are not crooks, i.e. they are just young people who want to but can't afford a nice bike and they know exactly what they are buying. I don't understand anything about bikes so can't give an example there, but if a person would approach me to sell, say, a 2010 Prius for $5K, I just _know_ that is a stolen car. If knowingly buying a stolen car carries even a small legal charge, most people wouldn't do it.

Tangentially, and pardon my ignorance, I'm not a biker: I can't understand people who shell out _thousands_ of dollars for a bike, are these so much better than a $500 one?

<comment><USER20> "I just know that is a stolen car"

Which is why criminals do not charge half of its used value -- they charge 100% of the used value just like everyone else.

You cannot tell a stolen bike on craigslist apart from a non-stolen bike based on the price alone.

The problem of stolen cars is addressed through licensing and registration. Not to mention, bicycles do not have a reliable and standardized VIN system like cars do. The fact is, the hassle of creating and enforcing such a system probably outweighs the positive aspects of preventing bike crime.

<comment><USER21> I lived in a town that required all bikes to be registered and licensed, and all sales of bikes to go through the local government. It was such a big pain that I would rather just live with the higher risk of theft and the lack of enforcement.

<comment> brown9-2 What town was this?

<comment><USER22> Many towns have laws like this from the 1970s that are unenforced (except, perhaps, as an excuse to bother the people police don't like).

San Diego just repealed theirs: [http://www.bikesd.org/2012/08/02/city-of-san- diego-to-remove...](http://www.bikesd.org/2012/08/02/city-of-san-diego-to- remove-bicycle-licensing-requirement/)

</comment></comment></comment></comment></comment><comment><USER23> I live in the Netherlands, and bikes here are omnipresent. They also get stolen. A lot. Which is why most bikes you see in cities tend to be not too great looking.

About 10 years ago in the city of Utrecht the bike stealing was a really big problem. Here also the stealing of bikes is really hard to get caught with. The police used decoy bikes to catch thieves trying to steal those, but also this only catches small parts of them.

Ultimately this has been solved by also changing the way people handle this. If your bike got stolen, you just went out into the city, found a junkie, and often he had a bike for sale. If not he would have one 10 minutes later.

The police changed their approach to this, and started cracking down hard on the selling of bikes on the street. Not only the people selling them, but also the people _buying_ the bike. Even going so far as police officers going undercover and trying to get people to buy bikes.

Within months the stealing of bikes dropped to near zero.

<comment><USER24> Freakonomics discusses the exact same factor with drug dealing and the oldest profession - adding risk to the seller results in increasing margins which attracts more sellers; whereas adding risk to the buyer results in the margins dropping too low to be worth even a small risk for the seller.

Also, when I see somebody on a re-sprayed bike, that hasn't obviously been re- sprayed with purely artistic intent, I want to beat them in the face until they die (lost too many bikes myself).

<comment><USER25> My bike has been re-painted because the old paint was coming off. I guess that counts as another excuse.

<comment><USER24> Well, luckily I wouldn't hurt a fly, so none of your type have been harmed :).

</comment></comment></comment></comment><comment><USER26> _If Goldman Sachs didn't have more profitable market inefficencies to exploit, they might be out there arbitraging stolen bikes._

Funny how no explanation is needed for this line. Goldman Sachs (and hence, Wall Street) is now the poster child for risk-free crime.

<comment><USER27> It's a curious line, and while when I read it I let it pass with conditional assent, I now think it's incorrect.

Wall Street has poorer-than-usual ethics, and does commit crimes for profit, but in general it is wary of the legal system. Wall Street tends not to exploit opportunities that run afoul of the legal system, even when they are risk-adjusted comparable to other opportunities. They would rather make money legally than illegally, if they can help it.

To use the wording of the article, Goldman Sachs (Wall Street) typically does not commit crimes when "the potential revenue from the crime [is] greater than the probability adjusted weight of getting caught", even if you set the adjusted revenue to average profitability.

In particular, Goldman Sachs (Wall Street) is gunshy with respect to the US legal system. From a charitable standpoint, perhaps this is out of an ethical respect for the law. From a cynical standpoint, perhaps there is another more involved risk calculation which takes into account long-term reputation and the unpredictability of political administrations and legal settlements. Given a long enough outlook cynical self-interest approaches ethics.

<comment><USER28> The point of grandparent was precisely that you let it pass on a first reading. It doesn't matter whether it's true, it's a huge image shift.

</comment></comment></comment><comment><USER29> I've always wanted to buy a cheap bike and create a quick release bolt on the rear wheel that unspools as the wheel turns. I figure the culprit could get 3 or 4 revolutions before the back wheel falls off. Or maybe attach a length of wire to the front brake cable that wraps around the rear axel. Suddenly the wire snaps tight and yanks the front brakes. I figure it would make a good youtube series. My main fear is being stabbed to death by an angry bike thief...

<comment><USER30> This brings to mind Alan Turing's bicycle in Cryptonomicon:

      "So Turing can leave his bicycle anywhere and be confident that, if stolen, it won't go more than a fifth of a kilometer before the chain falls off."

The whole passage (it relates eventually to Enigma and Cipher Text) is a good read: <http://www.euskalnet.net/larraorma/crypto/slide18.html>

Of course, the whole book is a good read, so skip the link and head to a bookstore.

<comment><USER31> Any pics of this mechanism?

<comment><USER32> No mechanism, just a damaged bicycle.

</comment></comment></comment></comment><comment><USER33> The "risk" as described here seems to account for only single incidences of bicycle theft. Seems like the more professional the bike thief, the larger the inventory of stolen bikes, thus the greater the penalty for being caught. Given that the value of stolen bikes on the market is relatively low, this might explain why there is no bike thief kingpin: at a certain point the risk exceeds the reward.

As an aside: I am surprised that the risk to kidnappers is considered higher than the risk to bank robbers. Can anyone explain this?

<comment><USER34> > I am surprised that the risk to kidnappers is considered higher than the > risk to bank robbers. Can anyone explain this?

Kidnapping, if you're holding out for ransom, is like playing a game of hot potato but you have to wait for your opponent's go-ahead before you can toss it.

Kidnapping (if you're looking for a random) is about aquiring something you don't want and nobody wants you to have so that you can make a risky deal that exposes you. You run the risk of being set up, and even if the deal is done successfully I'd imagine you'd run the risk of revenge, especially with any target worth a large value.

<comment><USER35> It's also a more violent crime, and one which gets more police attention. As long as you have a hostage, the police will hunt you like it's a murder case, but with more urgency.

</comment></comment></comment><comment><USER36> I've heard rumors that lots of stolen bikes are exported on container ships leaving the US. The argument is that the shipping is basically free, since most ships are carrying large deliveries to the US and are empty on the return trip.

Does anyone know if this is fact or fiction?

<comment><USER37> Not terribly hard to find out -- the bike generates its own power, and is run outside. A few bikes with GPS and call-home device (powered by the bike) would draw traces to their destinations pretty quickly.

<comment><USER38> Would love for someone to do a long form sting. Install gps on 10 bikes and follow them as they get stolen and passed around.

<comment><USER39> I now have napkin designs of just this.

I got hit by what seems to be some kind of paradox: old casual bikes are targeted more often than expensive flashy ones.

<comment><USER39> For a reason I can't reply to you brk but I used the same ideas.

My last question was about communicating openly or not about it.

        - Openly would make robber aware and probably come up with attacks
          or blocking means, but that would surely render their activities
          a lot more complicated. Could be mass-produced.

        - Secretly a few people would have it and use it as bait, and
          authorities being aware of the scheme would casually catch robbers
          later. No mass-production

Oh one more thing, I was thinking about using a cellular module with custom firmware to reply to text messages with gps position but I'm not sure it's feasible.

<comment><USER14> Sometimes I don't see a reply link on certain comments; clicking on the direct link for those comments, though, shows me the "reply" button.

<comment><USER39> I tried that, without success. It's probably a karma related behavior

<comment><USER40> Actually, it's time-related and everyone sees it. Deeper comment threads have a timer that prevents comments for several minutes. It's to give people arguing with each other time to cool off.

<comment><USER39> Are those rules written somewhere ? I like the tree pruning effect of this one

<comment><USER40> <http://ycombinator.com/newsfaq.html> has some of them, but not nearly all of them.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER41> You are retro feeding the system when you buy an stolen item, even in good faith not knowing it has been stolen. A possible way out is to check the serial number of the frame. Most modern bikes have a serial number engraved in the bottom bracket. Before buying a second hand bike, check the serial number online, just Google it. See if the previous (sad) owner had posted a notice on the incident somewhere: blog, dedicated site to stolen bikes[1] etc. If you happen to find confirmation, you know what to do.

[1] <http://www.bicicletasroubadas.com.br> (Portuguese)

</comment><comment><USER42> I dont know if its common in the anywhere else but in my town here in germany the stealing of bike-PARTS has become very popular. I guess the owners of high-value bikes use better locks, that are actually hard to break ( like those: [http://ebay.muskelkater-sport.de/fahrrad/schloesser/bordo- gr...](http://ebay.muskelkater-sport.de/fahrrad/schloesser/bordo-granit-xplus- maximum-level15-2.jpg) ). But for Parts the risk is even lower and a good break or light system can yield a few bucks.

I personally use a cheap ( 50€ ) used bike as a daily driver, in combination with a 30€ lock, there will mostly be an easier/better target for the thief and if it ever gets stolen, its just 50 (80) bucks and not 1000€.

<comment><USER43> Yup, very popular here in SF. I recently just got my wheels stolen. Also had a few seats stolen as well. Stealing parts is probably more common than stealing entire bikes. And if you look at the pictures of the stolen bikes linked in the article, most of them are missing a front wheel, which to me, implies that the thieves were targeting bikes that were only locked by their front wheel (or they were selling the front wheels of the bikes, as those are pretty common theft targets as well).

<comment><USER44> Yup; recently had my REAR wheel stolen (a large pain to replace tire, tube, wheel, AND cassette). Now I lock both of them.

</comment></comment></comment><comment><USER45> _> In 1968, Chicago economist Gary Becker introduced the notion that criminal behavior could be modeled using conventional economic theories._

We need to start examining the motivations for cracking in the same way. Locks in the real world are far from foolproof, and work as much or more because of societal expectations and economics than they do because of their embodied technology.

What most companies do with DRM ignores reality in two important ways:

        1) Your own technological capability and manpower can be overwhelmed
             by the tech and manpower available to the Internet as a whole.
        2) If you have something of significant monetary or prestige value,
             you are not going to secure it with a single supremely clever lock.

Real world security consists of a defense in depth. Real locks and safes aren't burglar-proof. Instead, they are rated to delay thieves for a certain length of time. Their purpose is to _increase the risk of the transaction_ thereby making it _uneconomical_.

Crackers will always win if the payoff is worth the effort.

Presently, any software downloaded to a user's machine can be cracked. Therefore, do not try to prevent that -- it's a losing battle. Refuse the things that you can economically refuse. (Server-side functionality, service and support, participation online.)

Detection is 1000X as powerful, _if the consequences are separated in time_ from the actual detection. If you give the game away immediately, you are providing your opponent data. If the consequences are delayed by 3 days or even several months, the economics of cracking become like the economics of fixing intermittent bugs and Heisenbugs.

Security needs to focus on _economic leverage_. Since your opponents have more time and capability than you, you need to ensure that they are spending 1000X more resources to combat your actions. Instead of needing to catch them every time, or your game is lost, make them need to catch you every time, or their game is lost. (The robber needs to get away with the heist every time, while the police only need to catch him once. However, the guerrilla fighters only need to get away with a raid occasionally, while the occupiers need to catch them every time. Yet in both situations, the 1st party has far fewer resources. Something to think about.)

</comment><comment><USER46> A woman at work had her bike stolen in SF (off the front of a bus if you can believe that) and decided to go to every flea-market she could find in Oakland that weekend. When she found the bike she just took it and dared the guy selling it to do something about it. She just rode away. :)

</comment><comment><USER47> My experience has been most bike thieves are kids. It's a training in a way for car thieves. They chop the bikes up, and paint them, then ride or sell them. bikes are a valuable commodity in bad neighborhoods cuz lots of people can't afford cars and public transportation might not take them where they need to go.

</comment><comment><USER48> A suitably sociopathic individual could probably have a beneficial effect on the bike theft rates in a city by just going around to the places where stolen bikes are sold and beating the sellers mostly to death with a baseball bat. That'd be an intriguing experiment for an economist with the right sort of anti-social personality disorder (which is all of them, so I feel silly making the distinction).

</comment><comment><USER49> Does anyone actually use priceonomics.com? I'm sorry, but I don't find the service useful at all. They come up with viral blog posts all the time, but the service is not actually something that I would use.

<comment><USER50> When I was looking to buy an Aeron chair, I used it to learn the range of market prices, and even was able to negotiate the seller down with the information from the site. I wouldn't have been able to get such a comprehensive view (in any reasonable amount of time) by just reading through CL. So yes it has been pretty useful to me.

</comment></comment><comment><USER51> If the price of bikes hadn't gone through the roof within the last 20 years there wouldn't be so much incentive to steal them. As it is you can hardly buy a new bike for less than $800 at most shops.

Even if I could attach a weatherproofed Macbook to a pole with a U-lock, it would still be really unwise to do so. This is a pitiful commentary on our society and law enforcement

<comment><USER52> Really? I just went to a shop to look at bikes (and a real bike shop, not Wal- Mart), and there were options in the $300-$400 range. At Wal-Mart and Target and the like, you can get bikes in the $100-$200 range (or really crappy ones for even cheaper).

</comment></comment><comment><USER53> The best workaround I know of for bike commuting is bike share programs. (US examples: "Nice Ride" in Minneapolis or "Capital Bikeshare" in DC). In these examples, the bikes are large, relatively unattractive, limited functionality (3 speeds), have distinctive designs, and these things to me I'm hoping remove the incentive to steal the bike.

</comment><comment><USER54> It would help if every purchaser of a bicycle checked the frame serial number against various online stolen bike databases. I'm not sure how fragmented the bike registration industry is.

<comment><USER55> I wonder how many people record their frame numbers, or even know that they exist?

I have 3 bikes and haven't got the frame numbers written down anywhere. Although I will rectify this now!

</comment></comment><comment><USER56> The current police policy is to not investigate thefts under some threshold, say $2000. So you can steal bikes all day long and never get caught. A better policy would be to investigate thefts of value X with probability X / $4000. It's roughly the same total work, but doesn't create a safe haven for low- value thieves.

</comment><comment><USER57> This is an area where a disruptive technology is due. Imagine if even 10% of bikes had technology that wirelessly sends out GPS coordinates or can identify the owner via an embedded RFID tag. Suddenly stealing bikes is not nearly as risk free and the incentive to participate is greatly reduced.

<comment><USER58> Yes! Or a bar code/serial number encrusted in bikes' structure would do. Only this requires efforts from bike brands, owner, or shops to obtain a sustainable back-end tracking infrastructure.

</comment></comment><comment><USER59> I love priceonomics, every time I read one of their articles I learn something new (for example I didn't realize you could exchange a stolen bike for sex). Approaching this as an economics problem seems like a good approach. I think if bike manufacturers built in ways to uniquely identify bikes, and those idents were economically infeasible to remove, then you could do a bitcoin style distributed database of the current 'real' owner of a bike, then the cops could periodically go into 7th and Market or where ever, collect all the stolen bikes and tell their owners they are recovered. If you remove 1/2 the bad dealers inventory every month its going to cut into their profits, and if they stop buying stolen bikes in bulk you make it harder to flip them etc etc.

<comment><USER60> Most (all?) bikes have a serial number stamped on the bottom of the 'bottom bracket' the part that the pedals go into. These serial numbers are unique per bike brand, but not universally unique.

The serial is pretty hard to remove, without it's removal being obvious to anyone that looks, though the brand can be removed or changed - if that happens the serial wouldn't show as stolen.

If there was a lookup for serials then you could check if the bike was stolen, or if the bike was incorrectly branded (serial doesn't match brand), but there isn't a central place for this, unless the (ex)owner registers it on a service such as immobilise.com

<comment><USER61> My fiance's bike was stolen a few months ago. By coincidence someone who was a friend of a friend of her's ended up buying it off of craigslist. We discovered this when he arrived at a BBQ riding her bike. When we asked about the details of his purchase, he sent us all the email correspondance with the bike thief.

The thief had actually given him the serial number of the bike, which he checked in the online police database and it returned no hits. The catch was that the thief slightly altered the serial number so that it wouldn't yield any hits. When he went to actually look at the bike he didn't notice the subtle difference in the serial number and assumed it to be legit.

<comment><USER62> Motor vehicle VINs in North America use a check digit to detect VIN errors, which consequently makes it hard to modify a VIN without failing checks at time of purchase (such as when the VIN is looked up via CarFax or at the DMV). It's not cryptographically "hard" to modify it, but additional check digits up the difficulty (like appending a hash to the plaintext serial number).

The OCR-A character set used in the MICR numbers on checks makes it easy to spot a modification like the one in your story.

</comment></comment></comment></comment><comment><USER63> Cities should levy a bike tax and use it to fund some snipers that shoot assholes who steal bikes.

<comment><USER64> Although I believe that summary executions are in bad taste, I want to point out that, au contraire, the tax should be levied on car owners (to encourage cycling).

<comment><USER65> Not everyone can choose to bike instead of drive. When my driving commute was an hour longer than it is now, such a tax would not have encouraged me to cycle instead.

<comment><USER66> There's always a choice. Maybe you'd've taken a different job - or maybe that job would've relocated somewhere more accessible.

(I don't believe in "punitive" taxes on cars, but I do think gas should be taxed enough to cover the cost of cleaning up its CO2/other pollution, and the resulting money spent on doing that).

</comment></comment></comment></comment><comment><USER67> With crimes which are lightly prosecuted, I wonder if having infrequent but very high severity punishment works comparably to having consistent but moderate punishment.

In China, they do "Strike Hard" campaigns, where crimes which might normally be gross misdemeanor level (shoplifting, assault) are punished far more severely (sometimes by execution).

This might be a way to raise the expected cost of committing the crime, while not raising the cost of anti-crime enforcement that much.

</comment><comment><USER17> Around where I live there's definitely another factor to consider: Opportunity theft. A lot of bikes get stolen simply because it's very easy to do so, especially downtown. On the weekends when there are lots of drunk people around, a _LOT_ of bikes get stolen simply because people are too lazy to walk or they just find it funny to steal a bike. These bikes sure as hell don't end up at some kind of black market, instead they are simply left at some place and somebody else picks them up. It's like a never-ending cycle of bike theft. Also it doesn't help that most bike locks are ridiculously easy to break.

Another thing that I've noticed (I'm an avid freeride-biker) is that there are actually gangs that target high-end bikes. They have spies at known bike- trails and follow people home. If they see an expensive bike they break into cellars, garages and sometimes even people's apartments just to steal a bike. The bikes are then taken apart and most components are sold right away (a second hand fork in good shape can still go for $1000+ in some cases) and the frame itself is shipped abroad and sold separately. I'm actually very paranoid because it's happened to two friends already... :/

</comment><comment><USER68> One of the links hidden away in the article is actually quite amusing: [http://www.nytimes.com/2012/03/13/opinion/bike- thief.html?_r...](http://www.nytimes.com/2012/03/13/opinion/bike- thief.html?_r=1) It is a video if a guy stealing a bike a few times with saw/crowbar etc. (Except it's actually a hidden camera setup and it's his bike. Spoiler alert: Many people walk by, noone cares)

<comment><USER69> The major deterrent in long public illegal operations is not the fear of a bystander taking action, but in the soon-to-be injured party (or a compatriot of such) taking notice.

Someone trying to get into a car could have just accidentally locked his keys in. Someone trying to get into my car has nefarious intent.

</comment></comment><comment> at-fates-hands The one thing I would've liked to see was the age breakdown of the offenders. I remember vividly in junior high there was a kid who stole BMX bikes, soldered off the serial number and then re-sold them for around $300 a piece. He got to be like a professional car thief in that he would take requests if someone wanted something specific.

It was a very lucrative side business for a 12 year old kid.

</comment><comment><USER70> I'm sure a significant portion especially in the high end can be explained by rational actors with pretty low prospects. But I'm suspicious that there isn't a lot more of the less rational going on. The hoarder mentioned in the article may not be an outlier and bike theft is also sort of a low stakes learning ground.

In anything approaching an urban center I see a lot of abandoned bikes (locked and slowly vultured.) They are generally attributed to lazy owners, but a portion may be decaying inventories of hoarders, joy riders and/or thrill seekers.

I'm reminded of inventories of locks on urban fences. Obviously the collections of not so rational (but social or antisocial) actors.

I think a good urban experiment would be a collection system that pays ~$5 a bike (and gives immunity once you arrive) and charges ~$7.50 to a verifiable owner before selling back into the free market of "used" bikes. A little cross between a repo-man and the can man, to keep the things a little tighter and make it more likely lessons are learnt on the cheap.

</comment><comment><USER50> A few months ago I saw a tweaked-out guy at 6th & Howard in San Francisco (just outside the Techshop) literally trying to saw-off a U-lock in broad daylight. A bunch of other homeless guys were lazily watching with amusement.

I really would love to build a pepperspray-bomb-in-a-U-lock, if only I could do so without being instantly sued by a litigious thief.

</comment><comment><USER71> > He had to learn a life lesson a little earlier than I had liked - that there > are some people in the world who are just plain mean.

We live in a complex world full of complex people with countless motivations. It's always tempting to dismiss someone as "just plain mean", but it's rarely accurate.

I realize this is somewhat off-topic. Just stood out to me.

</comment><comment><USER72> I love these Freakenomic-y types of articles. Really makes you think about very every day occurrences in different ways.

I thought maybe I could add some game theory into the mix, just for the sake of it. For example...

Following an economic perspective it could be viewed, given the suggestions made in the article, that for your average bike on the street it is almost impossible to protect against theft using a lock or by any other "practical" means. Therefore (bare with me) when you park your bike on the street you are in a sense "competing" with other cyclist in presenting the worst return for the criminal. Locks, paint jobs, parking locations etc. are just ways of saying to the thief "Hey, this is going to be difficult. Why not have a go at stealing that shiny looking bike next to mine." You are not solely competing against the criminals but your fellow cyclists!

</comment><comment><USER73> I wasn't surprised by the drugs part, but learning that stolen bikes are considered street currency actually makes me more bullish on Bitcoin. It's still a terrible idea, but it's got to be more convenient than using bikes as currency.

I wonder what would happen if the criminal world started experiencing hyperdeflation?

<comment><USER74> Sure, buy crack with Bitcoins, and wait around for 20 minutes for the block chain to verify. The same delay that makes it irritating for legal in person transfers makes it useless for hand to hand criminal transfers.

</comment></comment><comment><USER75> Some bikes are REALLY expensive. Look at the lengths this guy goes to recover his:

<http://www.youtube.com/watch?v=poBajFv-Dyk>

Don't mess with bikers. Something that's your mode of transit everywhere starts to mean more than just the $ value.

</comment><comment><USER76> A Dutch friend once told me that bike theft in Holland was pretty ripe, but it was more of a social norm; people wouldn't feel bad about stealing a rubbish bike and then leaving it somewhere for someone else to steal.. the bikes would almost become communal bikes.

</comment><comment><USER77> How about a bike with a combo lock built into its gears so that all the gears will only spin if the correct combo is given. The built-in combo lock can also be rigged to detonate some wired-in explosive if someone attempts to forcefully remove it.

</comment><comment><USER78> What kind of insurance options exist in the US for bikes?

Over here your basic home insurance covers the bike theft minus a deductible (often something like 200e). Then you can get a separate bike insurance for 25e/year which will cover the deductible and also register the bikes serial number in a database and they (claim to) do some cooperation with the police and border officials to flag stolen bike serial numbers and return stolen bikes to owners. Your bike also gets a special sticker which probably repels bike thieves. Many retailers automatically preregister bikes with this service and include 3 months of free insurance, and include ads for the full service...

</comment><comment><USER79> When I was a college student, I had my bikes stolen so often that I did two things: First, I started buying hot bikes cheap because, hey, legal bikes were expensive.

Second, I wrapped the frame of one bike in masking tape and smeared grease and paint on it. I kept that one for years; not even the local junkies wanted it. I guess they didn't notice my servicable Campy brakes and shifters, or didn't see the value in them.

I'm not sure the rational-actor theory applies to bike theft.

UNLESS it's the bike dealers behind the theft rings doing it to create demand, and they're just crushing the old stuff. Bwahahahahahaha. There's a batman movie in that villain theory.

</comment><comment><USER80> And of course: the stolen goods are also your means of escape; an added advantage.

</comment><comment><USER81> While we're at it, bike lock advice from one of cycling's old grey beards, Sheldon Brown: <http://www.sheldonbrown.com/lock-strategy.html>

<comment><USER82> That's a flawed lock strategy. I wouldn't ever want to do that. I always include the rear wheel and the seat-tube (or seat-stays) inside my D-lock.

"There is no need to loop it around the seat tube as well, because the wheel cannot be pulled through the rear triangle."

The two simple methods I've seen for defeating it (based on seeing just mangled rear wheels locked up to railings/bike racks) is to:-

a) Stamp on the rear wheel and fold it so that it fits through the rear triangle. (No tools required). b) Cut a bunch of spokes (easy to do with a pair of wire cutters) and press the rear wheel flat so that it fits through the rear triangle.

The rear wheel on one of my main bikes is £100; the rest of the bike is £1500. No chance I'm going to risk that.

Thieves won't care about not having a rear wheel if they're sticking bikes in the back of a van to sort out or sell off at a later date.

Sadly Sheldon isn't alive today to discuss and review that strategy.

</comment></comment><comment> king-ink Here in the Netherlands (with an average of 2 bikes per inhabitant) there is another big class of bicycle thieves: those whose bike just got stolen, and don't want to buy a new one (yet again)...

</comment><comment><USER83> I think there is a decent underground operation of used bikes: I recently bought a bike off a used car bike shop in mountain view ( off of shoreline ). You walked in and there were 500 bikes ( in all shapes and sizes ) available. From vintage to kids to racing. You name it. I always wondered where they got their bikes from. Most bike owners dont report, keep track of the bike ids. And police dont have incentives to track them. If the margins weren't there, people wont steal them.

</comment><comment><USER84> One of the things I noticed when I was in Copenhagen for a week earlier this year was that people don't lock up their bikes as much. I saw lots of people leaving bikes unlocked when going into coffee shops, etc. when in the UK they'd be locking 'em up.

There were many bikes that were locked - but they looked more like "commuter bikes" near the metro and office buildings. Folk using them to get around during the day often seemed to leave them unlocked.

</comment><comment><USER85> What about bike parts? Bike seats, wheels, etc get stolen all the time. Are they just scrapping these parts out for 5 to 10 cents on the dollar as well?

</comment><comment><USER86> My bike is a nice 10 speed I bought 35 years ago. It still works fine, is an excellent bike, and is worth maybe $25.

I doubt it's worth stealing.

<comment><USER22> Vintage steel bikes have gone up in price quite a bit in the last 5 years or so, especially in big cities.

</comment></comment><comment><USER87> This seemed timely, so I thought I'd share: an electric bike company, OHM Cycles (<http://ohmcycles.com>) is running a free contest to win a really high-end bike lock worth $200. You can enter here: <http://www.facebook.com/ohmcycles/app_143103275748075>

</comment><comment><USER88> Crazy idea time: since the problem with the demand end is the difficulty of telling the difference between stolen property and legitimate secondhand sales, what would happen if all sales of secondhand bikes were banned? Would the reduction in theft be worth the loss of end-of-life revenue plus slight erosion of liberty? Not a rhetorical question, I don't know the answer.

</comment><comment><USER89> I wonder if the large number of stolen bikes on the market basically depresses local prices to the extent that even if you have to buy a new bike you don't lose that much vs a world with minimal bike theft. The Japanese market might be relevant, as 10-15 years ago there was seemingly little bike theft and now it's rampant in certain areas.

</comment><comment><USER90> In NYC most stolen bikes are resold to delis and pizza shops for their delivery guys. Ever wonder why the minimum wage delivery guy is riding a $800 cannondale? They usually wrap the frame in duct tape so you don't recognize it. Get flat or a Bent rim? Just buy a new one from your local crackhead for $25 and you are on your way.

</comment><comment><USER91> If I had more time I do believe I'd enjoy getting a fairly fancy bicycle, having a friend park it up, lock it with a fairly crap lock, and then just chill out at a nearby cafe watching it, waiting for some piece of shit to steal it, and then following them and seeing where they go with it/beating the everliving shit out of them.

</comment><comment><USER92> In Berkeley, Karim Cycle is a "used bike" shop infamous for fencing stolen bikes. Everyone knows it, but proving it is too much work for the police. The Yelp reviews are funny but disheartening: <http://www.yelp.com/biz/karim- cycle-berkeley-3>

</comment><comment><USER93> I know of someone who would steal bikes just to get back home from the bar. He was too cheap for a taxi. He had a huge stash of them in his basement because he didn't know what to do with them. So when he had parties at his house he started giving them to people so they could get home.

</comment><comment><USER94> Slightly off topic anecdote:

A colleague of mine has his bike stolen from Ham House in Richmond, but fortunately the police quickly identifed the thief from CCTV footage.

It was a particularly hot day, and they could clearly see where the thief had his name tattooed on his back.

</comment><comment><USER95> Google cache: [http://webcache.googleusercontent.com/search?q=cache:blog.pr...](http://webcache.googleusercontent.com/search?q=cache:blog.priceonomics.com%2Fpost%2F30393216796%2Fwhat- happens-to-stolen-bicycles)

</comment><comment><USER96> What happens to stolen bicycles? Seriously, what happens to them? This article doesn't begin to address the question within the first paragraph, and if they can't format their article properly I can't justify spending time reading it.

</comment><comment><USER97> "Just because the risk of a crime is zero, that doesn't mean that a criminal will engage in that crime. If that were the case, thieves would go about stealing dandelions and day-old newspapers"

Now, that's classic.

</comment><comment><USER98> My guess is that bikes will get GPS devices put in them eventually. Then people will be able to track their routes etc. Maybe when that happens, people will be able to track their stolen bikes.

</comment><comment><USER99> If expensive bikes wouldn't work for the thief or their client, they would stop. RFID tag embedded in the frame, locking the headset? Just have to make it hard enough to not be worth it.

</comment><comment><USER100> "Open Letter to the Guy Who Stole My Bike Wheel" <http://www.youtube.com/watch?v=m68-oWBh9Ow>

</comment><comment><USER101> So the penalty is near zero if you're caught, this says. Does that also go for thefts of other items of comparable price, like TVs? If not, why the difference?

</comment><comment><USER102> We have the same problem in the major cities of Brazil. I live in Curitiba and i lost 9 bikes stolen 'till now.

Jhansen - www.ciclismo.esp.br

</comment><comment><USER103> "If Goldman Sachs didn't have more profitable market inefficencies to exploit, they might be out there arbitraging stolen bikes."

Ouch! LOL

</comment><comment><USER104> Even though I locked it, my bicycle also was stolen in Barcelona in 15 minutes in middle of city.

</comment><comment><USER105> my friends bike being stolen: caught on tape in NYC. Lets find this guy!!! [http://www.youtube.com/watch?v=u1E1ck8LDlE&feature=plcp](http://www.youtube.com/watch?v=u1E1ck8LDlE&feature=plcp)

</comment><comment><USER106> This is why I don't want to buy a second-hand bike.</comment>


Ask HN: New project, pick.im, A Freelancer Marketplace - <AUTHOR>

Hello HN.  Would love to hear your thoughts.
Yesterday we launched a very light version of pick.im.  It is a marketplace for freelancers.  For clients it is a way to search for freelancers in their area, at their pricepoint. For freelancers it is portfolio management, lead generation and (eventually) contracting and payment services.
We are focusing the search to be local (Designers in Portland) and not on specific cost (a 'competitive' search yields the ~65% of the market) This is much different than many other sites that really focus on bidding to the lowest cost in the world.  We are not that.
Our broad statement is: professional tools for freelancers.  Our shorter motto is: celebrate freelance.
We are working to build a site that allows search on: Type of Freelance Availability Cost Recommendations / Connections (linkedin connection)
In the next few weeks we are adding a simple contracting and payment option, essentially adding a 'buy it now' button to a freelance portfolio.
If you freelance and want to sign up put 'HN' in the invite code: http://pick.im/request/invite <comment><USER2> So, the difficulty here is not being able to give enough feedback where it counts: the talent/portfolio section because Austin shows "empty". So to echo feedback already left, perhaps change it to operate like:

I need a [Designer] based in [Anywhere] and my budget is [Bootstrapped].

This would make it immediately more useful until you have critical mass on a per city basis -- and even then, isn't the trend being able to work essentially from anywhere? It's definitely nice to be able to zone talent by city, but in the end I don't really care if a landing-page rockstar is based in NYC if they fit the style and price I'm looking for.

Good idea though, keep at it. Look forward to this getting populated.

</comment><comment><AUTHOR> Clickable links: <http://pick.im>

Invite: <http://pick.im/request/invite>

<comment><USER3> If I'm a developer and designer, should I sign up for both as two separate accounts or only pick one?

<comment><USER4> [insert purist designer _OR_ developer rant here]

</comment></comment></comment><comment><USER5> Two more issues I noticed:

* The keywords I enter on my profile keep getting re-ordered automatically by your software. It wants to put javascript first, but that's not my primary language, so I don't want it appearing first below my name. I've opted to delete it from the list instead.

* I'd suggest that the "time to complete" and "cost for similar" fields in the Add Project form to be optional. I prefer to not have this kind of information posted publicly, so I had to enter dummy values.

</comment><comment><USER5> I like it, but I'd suggest an option for searching "anywhere" or at least by country. I freelance full time, but rarely work with companies near my physical location.

<comment><USER6> Absolutely. I live in New Zealand, and would be happy to hire anyone in my country (it's not a huge place). But because "We're assuming you're in Christchurch, Canterbury.", which is about 5 hours drive from here (and a 3 hour ferry trip), and because I can't change it to just "New Zealand", the entire service is pretty much not usable.

Other than that I really like the simplicity. I don't like services like elance that make me perform the whole transaction through their website. I would prefer a simple classified-like solution like this appears to be.

</comment></comment><comment><USER7> Hi Andrew. I've just registered, looks like a great service.

A few initial impressions: I'd like to be able to express my pricing in both an hourly rate and full project value. Also, support for multiple currencies would be nice, there will be plenty of users who want to bill in EUR or GBP.

<comment><AUTHOR> Added to the roadmap, will let you know when we push it live.

The pricing for day rate is more on an estimate the freelancer can use as an example and build their custom hourly rate from there.

Project rate gets around the 'low hourly rate but lots of hours' problem.

<comment><USER8> relatedly, the profile page asks me to fill out: Budget range [ ] to [ ]

There's no explanation of what you want there, and I'm uncertain what to enter (dollar amounts of the min/max project I'd consider working on? I'm not sure I could provide useful values here). Some help text or suggested answers would be useful.

<comment><USER8> Also, in "Where else can people go to find out about you?" I'd rather have space for a second website (in my case, I'd put in a link to the coworking space I use) than for pre-selected social networks.

[the whole idea of social network as resume enhancement unnerves me, also; I'm comfortable with the idea of potential clients looking me up on FB &c, but I don't want to shove my profile directly in their face. But that's just me being squeamish about these things]

It would also be good to make it clear through the profile-filling process that there is a separate section for a portfolio. I was trying to work out where to fit in mention of things I've worked on.

<comment><USER9> those aren't required fields, if you don't like them you don't have to fill them out

</comment></comment></comment></comment></comment><comment><USER10> Looks like a good idea. I like sites that base your location via IP, but when there is no results I think it is better to show at least the closest result so there is some context. I.e. do I need to put the next town over or do I need to put in the closest big city.

<comment><AUTHOR> Working on this. We launched with zero freelancers yesterday (could have added the initial launch list, but decided to just quickly launch).

After we have a feel for the number of freelancers in areas, we can increase the radius of the search.

</comment></comment><comment><USER11> Looks great. It'd be nice if I were able to put in more than one website address for where folks could find out more about me.

I use stack overflow's cv publishing, but have my own site. Don't want the headache of keeping two CVs up to date.

</comment><comment><USER9> Andrew, look forward to seeing this project grow! I think it will be super useful!

<comment><AUTHOR> Thanks, really hope it helps freelancers find quality clients.

<comment><USER9> also, already it's pretty clear you're going to have lots of people clamoring for new/more features... +1 for saying No.. a lot... somehow I don't think you'll have a problem with this :-)

</comment></comment></comment><comment><USER12> The price range doesn't take in to account rates. For some developers, a two week project is $2000. For others, that's one billable day.

</comment><comment><USER13> What did you use to Geo Location?

</comment><comment><USER14> what about the ability to post jobs?</comment>


The Bayes Impact Hackathon - <AUTHOR> http://www.bayesimpact.org/hack

<comment><USER2> > _Grand Prize: Along with having their hack turned into a Bayes Impact > project, staffed with full-time data scientists [...] meet and eat with > legendary entrepreneurs_

If I'm reading this correctly, the _grand prize_ is having your project taken from you and losing attribution? And the only reward the team gets in return after hours of work is _breakfast, lunch, and dinner_?

If anyone could clarify the nature of the grand prize, I would appreciate it.

<comment><USER3> Hi Max, of course - happy to clarify.

The question actually gets to something we believe in very strongly: real impact on social problems takes focus and commitment. That's why we run a full-time data science fellowship, rather than have volunteers. Many well intentioned skill-based volunteer projects end without results, mainly because at some point (usually when the work get boring or hits an obstacle) volunteers lose momentum. Having full-time fellows allows us to bring really smart people to a great idea and have them fully dedicated to seeing things through, from scoping to implementation and maintenance.

Most hackathons projects (especially the ones for social good) usually don't get continued beyond the event. We've seen this to be true, both from our own experiences at hackathons and from others. We don't want that to happen at ours, especially with such incredible civic and nonprofit organization partners. That's why we're using our own resources to dedicate 2 of our fellows, full-time, in continuing on the winning hack. We want to ensure that the great work done for social impact doesn't get lost post-hackathon.

Of course, if the winning team wishes to continue on their for-good project with our project partners, we'd love that and would do nothing to stop it. I guarantee you that we're not trying to take attribution from participants, but rather want to give teams the opportunity to see their weekend hack come to life.

<comment><USER2> That helps clarify things. Thanks!

</comment></comment></comment><comment><USER4> Pardon me for my ignorance, but how exactly does a hackathon like this work? An how is it judged? Couldn't someone have already done all the work and then just pretend to complete it in the 24 hour period?

<comment><USER3> Hey twelfthnight, great questions - we'll look to include some of these answers in an FAQ on the site.

The hackathon will feature fairly exclusive datasets from our project partners, so it'll be tough for folks to do a bunch of work before the hackathon.

The actual hackathon will be groups working on problem prompts and datasets provided to us by our project partners and likely judged on creativity, practicality, technical brilliance, and use of data. A sample dataset and problem might be looking at a text database of escort ads to pull out pricing data (which is heavily masked in slang) to build a dynamic demand model. The goal would be to help Thorn (one of our partners) and investigators identify movement of child sex traffickers as it happens.

</comment></comment><comment><USER5> I thought that websites forbidding selection and right-click were a thing of the past, I was wrong.

<comment><USER6> They are not actually forbidding selection, just hiding it. If you blindly select text you will see that copy/paste works - at least in Firefox.</comment></comment>


Safety driver in fatal Arizona Uber self-driving car crash charged with homicide - <AUTHOR> https://www.reuters.com/article/uber-selfdriving-int-idUSKBN2663FS <comment><USER2> Comments moved to [https://news.ycombinator.com/item?id=24487825](https://news.ycombinator.com/item?id=24487825).</comment>


How I increased my grandfather's business sales over 200% at age 12 - <AUTHOR> https://medium.com/@LeoHarsha10/this-is-how-i-increased-my-grandfathers-business-sales-over-200-at-age-12-37b6b0bd959e <comment><USER2> Hmmm.

User leoharsha posting a link to an article on medium.com written by Leo Harsha AND the SAME thing (but on linkedin):

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

then commenting how smart was Leo Harsha when 12.

>Why not throw our chocolate and biscuit covers near dustbins,playgrounds,schools and colleges?

Somehow I believe this might be called "littering" ...</comment>


How to build your own startup while working full-time at a big company - <AUTHOR> https://medium.com/@danielfernandez/how-to-build-your-own-start-up-while-working-full-time-at-a-big-company-554cb21f25e0

<comment><USER2> This can work, but it's better to save your money, quit, and start your company.

Why? Most companies these days (especially Tech companies) make you sign a contract that gives them any ownership of your code that you build outside of work hours.

Even if this isn't the case, you will still need to clear it with the legal department at your company (or risk the consequences later). This can bring other consequences..and limit your future at the company (why would they want to train and promote you..if you are just going to leave).</comment>


Teen's simple idea to fix two of Detroit's biggest problems - <AUTHOR> http://www.huffingtonpost.com/entry/abandoned-houses-for-homeless-detroit_us_56cf474de4b03260bf75da6f <comment><AUTHOR> This girl's dad is a noted web designer in Detroit and a good friend of mine. If you're homeless in Detroit and in the minority of people who aren't addicted to drugs and alcohol there are precious few resources available to help you.</comment>


Grain: A strongly-typed functional programming language for the modern web - <AUTHOR> https://grain-lang.org/ <comment><USER2> The main page doesn't do a great job of showing what's interesting about Grain vs. JavaScript. The only hint is this: "No runtime exceptions, ever. Every bit of Grain you write is thoroughly sifted for type errors, with no need for any type annotations."

Maybe show some examples of errors Grain would catch that JavaScript wouldn't, like Elm does: [http://elm-lang.org/](http://elm-lang.org/)

<comment><USER3> > No runtime exceptions, ever.

This is something I wonder about JS: there are a lot of places that exceptions happen in (say) Python that just return `NaN` or `undefined` in javascript. Is it intentional? Is it a good idea?

Examples: the multiplication operator essentially never throws. Out-of-bounds (or "not found") lookups don't throw.

I suspect the logic is "only throw if you have the wrong type for that operation" \-- like calling something that isn't a function, or looking up an attribute on something that isn't an object. (Except multiplication for things that aren't numbers is fine, I guess...)

I'm writing a dynamically typed language and don't know if it's better to go the JS way or the Python way. Or do something horrible like having multiplication return a `Maybe` type...

<comment><USER4> Yeah in general it's good to avoid sometimes returning a value and sometimes undefined.

There's an equivalence you can make between a type and a mathematical set, where you say that the type is the set of all possible values for that type.

In both JavaScript and math, multiplication of numbers is an operation that has a special property called closure, which means that the return type is the same as the input types. Multiply a number by another number and you will ALWAYS get a number back. The inputs and the outputs are in the same set, which means you can go nuts multiplying numbers and you'll never have to check your values to make sure they're still numbers; it can be safely assumed.

JavaScript gives NaN a type of "number" as a clever compromise. Instead of throwing an error when multiplying a number by a non-number, JS allows multiplication to still return a "number" (`4 * 'a' === NaN`) and then you don't need to ever worry about accidentally "leaving" the set of numbers (`NaN * 10 === NaN`).

More likely than not though, multiplying a number and a string is just not a useful thing to do. With a good type system, a program that could wind up in a situation of multiplying a string and a number can be rejected by the compiler.

So in a roundabout answer to your question, a lot of "what then?!" situations can be entirely avoided with a good type system. For the remaining situations like accessing an element in an array that may not exist, a Maybe can make a lot of sense.

(Maybe Float turns out to be just like JavaScript's numbers, but instead of NaN you have Nothing.)

<comment><USER5> Closure is only good in programming if the answers it gives are always useful. Otherwise, you run into the same non local error problem that plagues nulls: the error still happens, but now it happens at some distant usage site, far away from the cause.

<comment><USER4> Good point. This is exactly what JavaScript does with NaN and the set of numbers, and errors are harder to track down because of it.

Computer numbers in general have all sorts of issues like this where clean mathematical theory is broken. NaN, Infinity and -Infinity, for example, are all similar to absorbing elements[1] under multiplication in the sense that once you get that as a result, you can't do the inverse operation (division) to get back to your original inputs.

</comment></comment></comment></comment></comment><comment><USER6> Pretty much the first sentence on the page:

> No runtime exceptions, ever. Every bit of Grain you write is thoroughly > sifted for type errors, with no need for any type annotations.

That's... weird to me. That seems to posit that ALL runtime exceptions are necessarily type errors. Huh?

What about full disk, DB errors, data verification error, parsing errors, network errors, and tons of other errors that don't appear to be type system related?

[A] This language only doesn't realize this class of errors exist, which, um, seriously? That can't bode well.

[B] The language uses the type system to propagate such errors. `Either<Result, ErrorCode>` for example. The language is somewhat unique in that it is designed to enforce such code style for ALL possible error conditions.

[C] The language returns null or blank objects on error conditions, such as how (early) javascript returns 'NaN' when trying to parse "hello!" as a number, instead of raising an error condition. That's a style choice I really wouldn't like, but I guess to each their own.

<comment><USER7> Errors could presumably be provided as return values (similar to Rust's Option or Haskell's Either), though we know from languages like Go that propagating these manually is a chore and an eyesore.

A harder problem is errors that cannot be handled by a simpler type system. For example, consider Haskell's head function, which is defined like this:

        head :: [a] -> a

In other words, it takes a list, and returns the first element. But if the list is empty, it throws an exception (technically called an "error" in Haskell):

        > head []
        *** Exception: Prelude.head: empty list

Haskell's type system is extremely powerful, but it cannot catch this at compile time.

In order to express constraints such as "list must not be empty" or "number must be higher than 1" or "file must be open, the type system needs to understand the semantics of the values expressed by a type system. This can be solved by dependent typing, but that's a complicated concept currently implemented by only a handful of languages (e.g. Idris).

<comment><USER8> > Errors could presumably be provided as return values (similar to Rust's > Option or Haskell's Either), though we know from languages like Go that > propagating these manually is a chore and an eyesore.

Mostly because Go is terrible.

> Haskell's type system is extremely powerful, but it cannot catch this at > compile time.

The problem is not the type system, it's that Haskell's error handling is inconsistent.

Elm, despite having a much simpler type system than Haskell, handles this properly:

        head : List a -> Maybe a

This has nothing to do with the type system itself and everything to do with how the type system is used (or not used). The designers of Haskell's `head` decided to make it a partial function, leading to type-checking inputs not generating any output.

<comment><USER9> This seems like such an obvious solution it makes me wonder why creators of Haskell did not think of it? Lists are a very basic type used all the time if you don't get that right lot of the value of the great type-system is lost I would think.

<comment><USER10> They did. The elm-style version is in the standard libraries as:

        listToMaybe :: [a] -> Maybe a

([http://hackage.haskell.org/package/base-18.104.22.168/docs/Data-M...](http://hackage.haskell.org/package/base-188.8.131.52/docs/Data- Maybe.html#v:listToMaybe))

<comment><USER9> That's a lengthy name for the simple operation of getting the first element of a list if there is one. I would have preferred 'car' :-)

<comment><USER10> It's a bit verbose, but this kind of thing is far less prevalent in Haskell anyway; most of the time you destructure a list through pattern matching, not explicit head/tail functions.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> I mean, this looks interesting, but why was this posted prematurely? Now I have to remember to look this up again in two months when they actually have a website that isn't 3% done. Basically all of the docs are in the "todo" stage. I always get a bit annoyed when people post their pages way too early.

<comment><USER12> What makes you think that the HN poster has any affiliation with the project, or vice versa?

<comment><USER13> Yeah, knowing one of the developers personally, they actually didn't post this. Someone else posted this to Twitter/Reddit/HN.

</comment></comment></comment><comment><USER14> I have a distrust for languages that advertise themselves as "strongly-typed" or "bringing sanity to the front-end" \- the former doesn't have a single clear definition and the latter - while not the case here - is questionable in it's own right.

<comment><USER15> Moreover, they don't really _show_ anything to make their point — I can't see any type annotations on the frontpage.

<comment><USER16> > it's 2018 > type annotations

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

<comment><USER17> Type annotations can be helpful in writing maximally polymorphic code and in self documentation, independent of type inference. When I write Haskell, I still annotate my code.

<comment><USER18> Also, throwing out all type annotations makes code pretty hard to read, especially outside your IDE like in a Github repo.

Taken to an extreme, it feels like reading a dynamically-typed language where you have to keep the various variable types in your head when debugging.

There's a middle ground.

</comment></comment></comment></comment></comment><comment><USER19> How does do handle memory management? If I'm not mistaken, in webassembly programs use a fixed buffer to access memory, which means you need some runtime support to manage that, or apply some kind of technique like this[1].

[1] [http://home.pipeline.com/~hbaker1/CheneyMTA.html](http://home.pipeline.com/~hbaker1/CheneyMTA.html)

<comment><USER20> It appears to allocate memory but never free it:

[https://github.com/grain- lang/grain/blob/master/runtime/src/...](https://github.com/grain- lang/grain/blob/master/runtime/src/core/heap.js)

A lot of new languages start out this way, where they just assume memory is infinite and then eventually add the GC later. That's a really nasty ball of technical debt to be sitting on, and I've seen nascent language implementations die because they couldn't get past it.

</comment></comment><comment><USER21> Since it's pretty ML-flavored, a comparison with Reason [1] would be nice.

I see compiling to WASM as the key differentiator now. This likely means that all the mechanics required for an ML-style language, like garbage collection, must be included in a runtime library.

[1]: [https://reasonml.github.io/](https://reasonml.github.io/)

<comment><USER22> Only until the WebAssembly spec included access to the host GC:

>>> there's already a very efficient, solidly tested, constantly improving garbage collector in your browser that uses all the possible dirty low-level tricks known to mankind, which is the GC being used for JavaScript. What if we could give you access to the garbage collector directly?

[https://blog.benj.me/2018/07/04/mozilla-2018-faster-calls- an...](https://blog.benj.me/2018/07/04/mozilla-2018-faster-calls-and-anyref/)

<comment><USER21> Isn't it still pretty experimental?

<comment><USER23> Well, Grain is as well so is that really an issue?

</comment></comment></comment></comment><comment><USER24> How does the example in Functions section show that function is first class citizen?

It is merely calling a function within another function. I would expect the second function to take in first function as a parameter (which JavaScript already has).

<comment><USER25> I was hoping for currying, but was disappointed when all the functions were fully applied. It don't really see either, how this tells anything about first-class functions :/

</comment></comment><comment><USER26> Why do all new languages aimed at the browser seem to be "strongly typed, functional". I have no objection whatsoever, but we've seen Elm, Purescript and now this. Or is my perception skewed by the "HN Echo Chamber"?

<comment><USER18> Probably because people already have their pick of those languages on the server but not on the browser client where it's even more important to get things right from a UX standpoint.

Static-typing, immutable datastructures, FP... these are things that even the Javascript ecosystem has been moving towards with React, Typescript, Redux, and more.

If you're making a language for the browser, you can offer a lot of value by rolling these into a single tool. For example, it may be much simpler for you to use Elm than to approximate Elm with your own menagerie of JS tools.

</comment></comment><comment><USER27> What is meant by "zero runtime errors?" An example of a "runtime error" is the head of an empty list; how does Grain handle this?

<comment><USER8> Grain seems way unfinished and the stdlib does not seem to have any such function[0], so here's how Elm handles it instead as it has the same target/ethos of avoiding runtime errors: [http://package.elm- lang.org/packages/elm-lang/core/latest/Li...](http://package.elm- lang.org/packages/elm-lang/core/latest/List#head)

[0] it's not very useful either if you have pattern matching on lists, you can just match the list directly.

</comment></comment><comment> c-smile IMO modern web language should have some notion of events as in my Sciter ( [https://sciter.com/event-handling/](https://sciter.com/event-handling/) ) for example:

        event click $(table > thead > tr > th) {
          // click on table header cell
          // 'this' is that th element
        }

        class Widget : Element
        {
           function attached() {...}

           event click $(span.up) { this.increment(); }
           event click $(span.down) { this.decrement(); }

           event mousedown { this.state.focus = true; }
           ...
        }

<comment><USER28> Can you explain how these differ from ordinary callback functions?

I haven't done any web development to speak of, but I've done a fair bit of GUI stuff, doing things like this snippet appears to in languages that don't have "events" as a separate category of thing.

<comment> c-smile This

        observable.on("click", observerFunc);
        // or observable.addEventListener(...);

is an executable statement. And this

        class Widget : Element {

          event click { … observer's code … }
        }

is a _declaration_.

That executable statement needs to be called at some point of time. So the observable can be in two states - with and without that event handler.

While class _declaration_ is an invariant (at least in Sciter) - as soon as element is in DOM it has that class and consistent set of event handlers in place. Such binding is done by, again, CSS _declaration_ :

        widget {
          prototype: Widget url(path); // <widget> controller
          display: block;
          ...
        }

"I've done a fair bit of GUI stuff"

AFAIR VB6 and Delphi allow to declare event handlers without explicit/runtime binding - that's close as a concept to the above.

</comment></comment></comment><comment><USER29> If it's not too late to change, might I suggest doing away with the 'let rec ... and ...' syntax? The way to group mutually recursive bindings can be determined by finding the strongly connected components of the graph of the references between functions, so users don't need to manually specify it.

<comment><USER30> But then how do you shadow previous bindings?

        let f x = if (x == 0) then 0 else (f x)

<comment><USER29> Potentially controversial opinion: shadowing bindings is a bad idea.

</comment></comment></comment><comment><USER31> How does this compare to Elm and F# (Fable)?

<comment><USER32> It seems as if Grain compile to web assembly vs compiling to JS.

<comment><USER8> Nothing requires Elm or Fable to compile to js. I don't know about Fable but both Elm's maintainer and its community are interested in eventually targeting wasm.

</comment></comment></comment><comment><USER33> Why not just compile OCaml to wasm? Why another language?

<comment><USER34> Poking around in the sources, it looks like this _is_ the OCaml compiler, with the frontend apparently tweaked to accept the new syntax. But this is not mentioned anywhere that I can see. The "Copyright copyright 2017-2018 Philip Blair and Oscar Spencer." line in the README is highly misleading in this context, since most of the actual source files are marked with OCaml's copyright header.

<comment><USER35> Many files are taken from the OCaml compiler and then adapted, but changes seems a bit deeper than just a different syntax. It would indeed seem fair for the authors to at least make it clear in the toplevel README that the front- end (parsetree representation and type-checking) is indeed / started as a fork of the OCaml code base.

Considering ongoing efforts to create a WebAssembly backend for OCaml (and thus Reason), I wonder what would be the selling point of Grain.

<comment><USER36> Even syntactically, this looks a lot like if you took ReasonML, _disallowed_ type annotations, did away with its ecosystem, and compiled to WebAssembly.

Aside from the wasm compilation, I don't see why this exists.

<comment><USER37> That was my question only having recently started looking into ReasonML seriously. Sounds like I'll just stick to Reason!

</comment></comment></comment></comment></comment><comment><USER38> To have a JavaScript feel with type inference, which I assume they are aiming for given the syntax, I would like to see extensible records (structural typing), which remove the need to declare nominal record types. Purescript and Elm both have this feature.

</comment><comment><USER39> How does Grain compare with the Reason language from Facebook which is also based on OCaml?

</comment><comment><USER40> Doesn't encourage immutability because variables are not readonly by default. I would advice the language designers to require the "mutable" keyword for variables than can be re-assigned. (Similar to F# approach.)

<comment><USER34> I think you're mistaken. It seems to me that you need to create an explicit "box" (a reference) to make things mutable.

</comment></comment><comment><USER41> The "DOM Interaction" and "DOM Manipulation" sections just show imperative code. So how is this a fundamental improvement over using jQuery? Especially for a language that markets itself as "seriously functional", it feels like a big step backward. I can't see what benefit this actually brings except being easier for OCaml developers to write web apps with. And even then they'd probably have no trouble learning TypeScript which doesn't need a bridge since it's a strict superset of JS.

</comment><comment><USER42> Is the language incomplete like the docs?

</comment><comment><USER43> What's the incentive people have to combine type systems with functional programming? At least in broad strokes I think of typing and immutability (which is the goal of functional-style programming) as solving the same problem in two different ways. If you write control flow that returns values which are immutably bound lexically, what is the point of a type system?

<comment><USER44> Immutability gives guarantees at runtime, a type system gives guarantees at compile time. Or, from a different perspective, immutability guarantees a certain property – the value – of an item, while a type system guarantees different properties for _all_ items of a type. Those two concerns are mostly orthogonal to each other.

</comment></comment><comment><USER45> Moderators: The title should have the WebAssembly in it to avoid confusion. This is not yet another language that compiles to Javascript.

</comment><comment><USER46> This looks nice, but it does need more documentation and an online playground/eco system which understandably should come in time

</comment><comment><USER47> I'd hope this is indicative of wasm precipitating a wave of creativity. From a purely technical point of view I actually don't care. Elm is fast, complete, elegant and has perhaps the most user-friendly compiler on the planet. The fact it happens to target js and not wasm (at this point) is practically irrelevant.

I can see, though, that wasm might encourage experimentation by a wider group of people who are put off by targetting js.

Coming back to Elm, it'd be great to see others consider the wider architectural questions. The Elm architecture and language are beautifully complementary. That's stark when looking at react - which was copied from (or at least inspired by) the Elm architecture. However, being js-based, it doesn't have the mutual consistency of elm - and so has to resort to syntactic gymnastics.

Anyway, that's getting off topic. Grain is clearly early stage. Anyone motivated enough to conceive and deliver a language deserves some encouragement. Will be interesting to see how it evolves.

</comment><comment><USER48> How does Grain prevent bottom with static type checking? Totality is undecidable in Turing complete languages, so "no runtime errors" is probably false (maybe they "solved" the halting problem?).

</comment><comment><USER49> Arch installs some version of dune-project the make command does not recognize. Not in the mood to edit a package build just to try this programming language out.

</comment><comment><USER50> Dart anybody?

<comment><USER51> Grain is quite different. Grain is more functional (no classes or context, tuples). Dart compiles to Javascript. Grain compiles to web assembly. Dart requires you to define types. Grain provides type safety and zero runtime errors without ever defining types manually.

<comment><USER52> The documentation about types says to look at the Readme of the compiler, which is very short and doesn't tell anything about types. Same thing for many other entries in the side menu. The examples don't have any type declaration. So, type inference and no reuse of the same variable with a different type, even when forcing mutation? Unfortunately the documentation is still too skinny.

A note to language designers: I can understand the { } but if you use them why do you also need the ( ) around the conditionals here?

      if (n <= 1) {
        n == 0
      } else {
        isOdd(n - 1)
      }

The parser can find where the condition starts (after the if) and ends (at the {) and we won't have to type two useless characters. It's ergonomics.

<comment><USER53> ( ) are only optional if { } are mandatory, which is not true for some languages. e.g. in Haxe, one can write

        static function isEven(n)
            return if (n <= 1)
                n == 0;
            else
                isOdd(n - 1);

        static function isOdd(n)
            return if (n <= 1)
                n == 1;
            else
                isEven(n - 1);

i.e. An if expression consists of other expressions that may or may not be a block expression ({ }).

<comment><USER52> There is a great deal of variability in languages about that.

Python ends if lines with a : which might help the parser, but maybe not because it was a late addition to help readability. For me it adds work when moving code around because I have to add or remove the :

Ruby does totally without any terminator in that context (in other contexts it has its own {} or do...end). The parser keeps processing successive lines until it understands that what follows can't belong to the conditional. I prefer that approach because it's the language/compiler that has to help me, not the other way around.

</comment></comment></comment></comment></comment><comment><USER54> This is just a prototypal IDEA right? motivation? benchmark? demo? build system?

</comment><comment><USER34> Has anyone found in the sources if/how they treat garbage collection?

<comment><USER32> No, I would be interested in that too. I don't know anything about Web Assembly but maybe GC is handled by Web Assembly?

<comment><USER8> There are plans to eventually integrate GC into wasm, but at the moment the GC has to be implemented and bundled in the wasm file. That is in fact one of Rust's advantages there. And of course wasm supporting a GC does not mean languages targeting wasm will want to use it (and lose the flexibility of providing their own).

</comment></comment></comment><comment><USER55> A functional language with readable syntax for mere mortals?

Sign me up :)

</comment><comment><USER30> isOdd and isEven don't work with negative numbers.

</comment><comment><USER56> anybody try it?</comment>


Ask HN: Convincing Sendgrid, multipart/related to be used when have embed images - <AUTHOR>

We are using Sendgrid, and we have used their SMTP endpoint to send emails. On our end we use PHPMailer to construct the email, and we have emails with embed images (src as CID).
PHPMailer and also Swiftmailer sets Content-type to multipart/related when embed images are used. This is RFC 2387 standard. Our emails are displayed fine on every client.
We considered to switch to Sendgrid API as it turns out it's faster for us compared to SMTP. We are a high volume client.
But, we realized they build the body using multipart/mixed as Content-type. Hence emails on certain clients don't have embed images, instead the embed places are left empty, and there are attached files listed separately. One such client is latest Thunderbird. Other giants Gmail/Yahoo are although displaying emails fine.
We contacted Sendgrid support to get explanation why they are using multipart/mixed. At the beginning of the conversation they didn't understood the problem, and they were not on the top of the issue. Then the ticket was escalated to TAM and engineers and they provided just a generic answer, that their system supports only multipart/mixed and they do not consider changing this. No reasoning why they have that.
We consider this is a bug.
We tried to convince Sendgrid about this bug, but they are sticky on their version. We also asked if this could be configurable via the POST variables, no accept from their end. They even recommended we link or use data uris for our images. We don't want to change this, and I consider these recommendations very cheap, from support personnel. Even more, data uris are not handled well by the email clients.
- are we chasing a wrong point?
- how can we convince Sendgrid they do this wrong?
- how to identify if other clients are displaying embed images wrong? (We know about Litmus, but we need something more as proof).
- would you help us to spread the issue, and also submit the same request? <comment><AUTHOR> When you search about this issue, you will find several topics, all stating the multipart/mixed is the trouble, and multipart/related should be used for embedding images. Swiftmailer has a unit test just to check this. We reported several articles/topics which all had this problem, and it went away switching to multipart/related.

</comment><comment><USER2> In my oppinion: as long as you pay for a service, that service should support your neeeds; This is a major bug that they were not aware of until now that's why you got a cheap answer.

</comment><comment><USER3> Hi @pentium10. I work on some of SendGrid's open source libraries and am a dev evangelist with them. I'm looking into this.

<comment><USER3> Ok, got in touch with you via email.</comment></comment>


A new community for hearing aid users - <AUTHOR> http://hearinghacks.com

<comment><AUTHOR> I grew up with hearing loss and I've started this community to share knowledge and experiences. I am initially targeting tech-savvy users with the hope of attracting people with software and hardware skills who can help me build products and services for hearing impaired. Second step is to include a larger group of people including first timers and older ones.

I've done an AmA on Reddit last week that explains a bit where I am coming from: [https://www.reddit.com/r/IAmA/comments/3gpuj3/iama_tech_star...](https://www.reddit.com/r/IAmA/comments/3gpuj3/iama_tech_startup_founder_product_manager_and/)</comment>


Programmers ineptitude combined with Rails conventions - <AUTHOR>

This is by no means a way to bash on Rails. I actually like Rails and think it's great. I also think the conventions are great and everyone should follow them!
I am just using it as an example since I am familiar with it and it's strong on the (good) conventions... which I am using to exploit.
And calling the programmers inept might be a bit harsh, but their lack of knowledge combined with the conventions followed is what I am pointing out here.
I am not going to mention any names with this issue still open, but this was previously in Diaspora (hoped it's fixed by now). Seen it in soooo many places, it's not funny. Especially when they manage user data and payments.
It's a combination of both Rails convention/predictability and the programmers lack of knowledge.
What I am referring to is the rails CRUD controller conventions to make the controllers RESTFul.
Basically what I am talking about is authorization before CRUD:ing a Resource. Now, I purposfully didn't say authentication, but authorization.
They do not check that the resource being "worked" on belongs to the authenticated user. However in most cases they do check that the user is authenticated. At least it's a start ;-)
In rails terms.. . What they use is @place = Place.find params[:id] @place.destroy
What they should have done  (I am sure there are better ways) @place = current_user.places.find params[:id] @place.destroy
So they are not authorizing that the user have access to the resource, just authenticating the user.
Basically, I can log in in my account (hell, any account). And CRUD other peoples stuff. And since Rails is using jQuery as a default. Things become quite easy for us. jQuery.post("/places/18494", {_method: "PUT", places: {title: "Slaughter house", id: "18494"}, id: 18494}, null, "script") jQuery.post("/places/17760", {_method: "DELETE"}, null, "script")
I can easily check the javascript code and how forms are built in the html source to see how the parameters is built and the name of the attributes.
With the naming conventions following that, things become much easier than having to guess all resources and their actions or go through obfuscated javascript to find the destroy action if it was renamed into something else.
So.... authorize your users access for the resource, not just authenticate. And follow the conventions. Still.
On a side note. I am looking for a job. I'd like the position of a Mobile & Tablet Product Manager - But I'm iOS developer myself, so I can basically estimate, build and to some extent design the things I request as product manager ;-). Can also code on the API (familiar with Sql, Redis and etc - Would prefer it as well). <comment><USER2> Very valid point and I've seen this occurrence in other projects as well.

I'd also recommend looking into using role based authorization (ACL) by using cancan, acl9, or other gems.

<comment><AUTHOR> Well yeah, but for most part, just make sure the user is deleting something that belongs to him. No point in introducing CanCan or ACL unless you got some more role action going on. Moderators, Admins etc.

Also, by delete. I mean version and hide. Not actually deleting it.</comment></comment>


ShopKeep's Point Of Sale Software Rings Up $25 Million - <AUTHOR> http://techcrunch.com/2014/04/24/shopkeeps-point-of-sale-software-rings-up-25-million/

<comment><AUTHOR> Director of Engineering at ShopKeep here. Happy to answer any questions. We're also hiring (like everyone). Checkout our careers pages[1].

[1] [http://www.shopkeep.com/careers](http://www.shopkeep.com/careers)</comment>


"Most parents want their children to be far left in their early years" - <AUTHOR> http://www.nytimes.com/2009/01/11/books/review/Crain-t.html?_r=1 <comment><USER2> From the article: "After all, most parents want their children to be far left in their early years — to share toys, to eschew the torture of siblings, to leave a clean environment behind them, to refrain from causing the extinction of the dog, to rise above coveting and hoarding, and to view the blandishments of corporate America through a lens of harsh skepticism."

I'm not really sure how any of these are even left wing values, let alone far left.

My best guess: the authors of the book are part of the far left (most academics are, particularly outside the sciences) and believe that conservatives are evil racist sociopaths. Therefore, anything teaching children how to play well with others is left wing.

</comment><comment><USER3> From the article: "After all, most parents want their children to be far left in their early years"

It figures that the authors mentioned in the article are professors of American studies and English and not professors of economics or political science or history someone else who would understand what "far left" means.

</comment><comment><USER4> Can someone please explain to these people that the "center" of American politics is nowhere close to the center of political thought of the world as a whole?

Once you understand that, the whole argument falls apart.</comment>


I'll never shop at OfficeMax again–even if everything is free - <AUTHOR> https://arstechnica.com/tech-policy/2017/11/this-is-why-ill-never-shop-at-officemax-again-even-if-everything-is-free/ <comment><USER2> Let's see:

1) Returning a non-defective product.

2) Yelling and making a general asshole of himself to minimum-wage store clerks and phone support people who have no power to change policy (or even, probably, alter what they say to him... I'm guessing that "I do apologize" is probably on the script they're given).

3) Expecting the company to come and pick up his (again, non-defective) product for free at _his_ convenience.

I'm sure he will be deeply, deeply missed as a customer.

"I left with everybody in the store's cavernous warehouse hearing about how dumb I thought they were."

No, actually, everyone in the store's cavernous warehouse was thinking about what a loudmouthed, bullying jerk you are.

<comment><USER3> And the author is the _senior editor_ for Ars? Wow.</comment></comment>


The Inner Ring (1944) - <AUTHOR> http://www.lewissociety.org/innerring.php <comment><USER2> "Of all the passions, the passion for the Inner Ring is most skillful in making a man who is not yet a very bad man do very bad things."

This essay originated as the Memorial Lecture at King's College, University of London. Absolutely essential reading. I discovered it as an undergrad and it's possibly more relevant today than it was in 1944.

</comment><comment><USER3> Thanks for sharing. This is what resonated with me the most:

> It is tiring and unhealthy to lose your Saturday afternoons: but to have > them free because you don't matter, that is much worse.

<comment><USER4> That follows Wilde's quip that "the trouble with socialism is that it takes too many evenings."

</comment></comment><comment><USER5> "The painless death of a pious relative at an advanced age is not an evil. But an earnest desire for her death on the part of her heirs is not reckoned a proper feeling, and the law frowns on even the gentlest attempts to expedite her departure." \- No matter how much I disagree with C.S.Lewis on matters of religion or morality, I simply adore the way he puts words together.

</comment><comment><USER6> A wonderful essay. Have read and reread many times over the years.

<comment><USER7> Can you summarise that?

</comment></comment><comment><USER8> "Man's unique agony as a species consists in his perpetual conflict between the desire to stand out and the need to blend in."

―Sydney J. Harris

[http://izquotes.com/quote/343900](http://izquotes.com/quote/343900)

</comment><comment> dumb-saint Would I be correct in thinking that most participation in HN is driven by the desire to enter inner rings as the ones described in this text? (e.g. access to VC money)

<comment><USER9> Perhaps, but another ring is to be a "real developer" in profession, or a "real contributor" to some project.

Others, meanwhile, want to ever the ring of "anti-VC-establishment enlightened", etc.

And somr just want the fleeting ring of "highly-rated commenters", but they are a silly lot with no self-awareness. :P

<comment> dumb-saint Good answer, although I would argue that rings in the sense that the author describes confer money and status. Rings that only give you monopoly money, such as HN points, are not really going to lead you to compromise your integrity. They are not really rings in the author's sense, they are just silly games or pastimes.

VC money, on the other hand, is real money... And you need "introductions" to get it. They almost outright admit that the entire thing is an inner ring.

<comment><USER9> > I would argue that rings in the sense that the author describes confer money > and status.

I strongly disagree!

First, while those are his early examples, he later discusses how even the _rejection_ of money and public status is another form of wanting-to-belong:

>> People who believe themselves to be free, and indeed are free, from snobbery, and who read satires on snobbery with tranquil superiority, may be devoured by the desire in another form. It may be the very intensity of their desire to enter some quite different Ring which renders them immune from all the allurements of high life.

>> An invitation from a duchess would be very cold comfort to a man smarting under the sense of exclusion from some artistic or communistic côterie. Poor man—it is not large, lighted rooms, or champagne, or even scandals about peers and Cabinet Ministers that he wants: it is the sacred little attic or studio, the heads bent together, the fog of tobacco smoke, and the delicious knowledge that we—we four or five all huddled beside this stove—are the people who know.

Secondly, he explicitly states that money and status are _not_ the desire that tempts people over the line:

>> And you will be drawn in, if you are drawn in, not by desire for gain or ease, but simply because at that moment, when the cup was so near your lips, you cannot bear to be thrust back again into the cold outer world.

TLDR: It's a cautionary speech about people idolizing a group and the corruptive desire to belong to that group, _totally regardless of how the group is defined_.</comment></comment></comment></comment>