Painting with Code: Introducing our new open source library React Sketch.app - <AUTHOR> http://airbnb.design/painting-with-code/ <comment><USER2> Basically, people:

• Design a set of re-usable components in Sketch that get turned into JavaScript widgets and used in a product

• The JavaScript widgets are are modified, extended, and changed. Maybe a line here, a color here. Designers now sometimes have component designs don't quite match what they look like in the wild

• This tool now lets them re-create the Sketch file from the components as the look in the wild. That means when designers work on whole pages, made up of widgets, they'll look exactly like they would in the wild.

<comment><USER3> to complete the explanation, sketch is a vector-based design tool that has an api for scriptable generation of components. this library lets you generate sketch widgets from react code; i presume that those widgets are then higher- level shapes stored as single entitles in sketch, so that when you update the react code, sketch files that use those components now use the updated versions.

also, from their faq, there is no two-way binding; they do not attempt to extract react code from sketch files. the idea is that the react code is the source of truth.

from a programmer's perspective, sketch is sort of like an exploratory repl where you can play with bits of code (widgets here), composing them into larger functions (sketches), and when you're satisfied with the design you edit your source file and reload the state of the repl so you can continue exploring.

<comment><USER4> Can someone elaborate on the programmer's perspective? I understood the first and second paragraph (super helpful thanks!) but the exploratory, reloading repl escaped me.

<comment><USER5> REPL (Read-Eval-Print Loop) is an interactive way to program. You feed bits of the program line by line, in contrast to compiling a bunch of files. This is kinda like giving instructions live vs writing down a list beforehand.

When solving some problems, it's easier and quicker to use a REPL to get something that more or less works, and then to copy the working bits over to a proper source file to reuse. Before this React Sketch, Sketch.app was just the equivalent of the REPL, where you'd only store the result of your work, and not the process. Now you have a way to, as soon as you're happy with a design you drew by hand, write the code to generate it in order to reuse it in the future.

</comment></comment></comment></comment><comment><USER6> Hi HN!

Super excited to open source this — I'm trying my best to bring design & engineering closer together at Airbnb (and in the world), this has been a super useful project.

I'll be hanging out in this thread all day if you have any questions / want to flame me :)

<comment><USER7> Sounds intriguing, but I'm also a little confused about the flow of "code that generates sketch files"... what is the purpose of Sketch in all this?

I would think programs like Sketch are useful in general because they give designers a nice way to design things without adding the extra layers of abstraction that code brings (i.e. they can just draw things with a mouse instead of writing instructions that tell the computer how to draw things). But if Sketch is just another rendering layer of react components, then what is the point of having it... why not just look at the rendering in a web browser?

Or am I misunderstanding and there's a way for react code to be generated from Sketch? (Despite this statement in your blog post: "As the industry has coalesced around Sketch, people have sought to generate code from Sketch. This is exciting, but for our challenges we wanted to do the exact opposite — to keep DLS in sync we have to generate Sketch files from code.")

<comment><USER8> To go the other way -- generating React code from Sketch -- you can use React Studio:

[https://reactstudio.com](https://reactstudio.com)

It has a Sketch plugin that does a rather competent job of converting Sketch layers/groups into components. (For example, you can prefix a Sketch group with "c:", and React Studio will interpret it as a component.)

Here is a live video demonstrating the Sketch -> React Studio -> React code workflow: [https://www.youtube.com/watch?v=Rfd7zmlFZw8](https://www.youtube.com/watch?v=Rfd7zmlFZw8) (It's in realtime with detailed explanations, so it runs about 40 minutes.)

Disclaimer: I wrote a pile of code for React Studio.

<comment><USER9> The idea behind React Studio is awesome.

I think it would be super cool if React Studio could automatically create a GraphQL api based on the structure of the component data.

We are already doing small experiments in this direction at Graphcool (for example graphql-up [https://www.graph.cool/graphql- up/](https://www.graph.cool/graphql-up/))

Do you think anyone at Reract Studio would be interested in talking more about this? They can ping me at firstname.lastname@example.com :-)

<comment><USER8> Sounds really great, I'll pass on your contact info!

</comment></comment></comment></comment></comment><comment><USER10> So, to be clear, a month ago there was an announcement about an app called Sketch (renamed to Snack now apparently) that was a playground for React code, but people said it was a bad name choice because Sketch is already a ui/ux dev/design tool in this space.

But this tool is related to that ui/ux version of Sketch (but with/for React), and not the mis-named Sketch (that was for React)?

Naming is fun.

<comment><USER11> For anyone missing context, naming is hard.

[https://blog.expo.io/expo-sketch-expo- snack-a444f8dec72b](https://blog.expo.io/expo-sketch-expo-snack-a444f8dec72b)

<comment><USER12> its not hard, just don't name a new design app after an already existing one.

</comment></comment></comment><comment><USER13> Do I understand the use-case correctly ? :

1) Create designs in sketch (mainly core components)

2) Code those designs in React that will generate the React translated version of the sketch

3) Use the react generated sketch to build non-core component designs in sketch . .

4) When the core design changes, update the react component to match the new designs

5) All the other components in the sketch will automatically start using the new updated sketch component

<comment><USER14> Here's my variation:

1) Using a text editor like Visual Studio Code, write core components in react-primitives. This code can be largely the same as your real react-native code with all it's handling of layout and internationalization.

[https://github.com/lelandrichardson/react- primitives/](https://github.com/lelandrichardson/react-primitives/)

2) Create a library of core components. In aggregate, this library is your DLS (Design Language System)

[http://airbnb.design/building-a-visual- language/](http://airbnb.design/building-a-visual-language/)

3) Use react-sketchapp to transform your core components in react-primitives to sketch symbols. If you have a large design system and support multiple languages, then this will save you a lot of time as the number of combinations of layout, language and potential input values are explosive.

[http://airbnb.design/painting-with-code/](http://airbnb.design/painting-with- code/)

4) Use sketch to design your new feature. Use sketch symbols to quickly pull in core components. If you need to create a new core component go back to step 1. With all your fancy tooling, it can be as fast as 1 minute to build a new page.

[https://twitter.com/karrisaarinen/status/849733176150773761](https://twitter.com/karrisaarinen/status/849733176150773761)

5) When core components change, go back to the "source of truth", the react- primitives code and modify that. Re-run react-sketchapp. Now all sketch files that depend on that core component will be automatically updated because of updated sketch symbols.

</comment></comment><comment><USER15> This looks great. And Sketch is incredible. I wish there was something like it available on Linux, or I could run it on Linux somehow. Seeing how important a tool it's becoming to web design makes me uneasy as it's shutting out my ability to do anything design related :/

<comment><USER16> I keep an old Mac around for exactly this reason. However since version 43 they've switched to a new file format offering "more powerful integrations for third-party developers".

The new format is a ZIP containing a bunch of JSON files per page, so maybe someone will come up with a cross-platform viewer or similar.

Edit: I found this which works with basic Sketch files: [https://animaapp.github.io/sketch-web- viewer/](https://animaapp.github.io/sketch-web-viewer/)

<comment><USER15> Oh that's excellent to hear. Openly usable formats are great.

Most of the slickness of Sketch is in its UI though, it'll be tough to replicate. Do you know of any project attempting to do so?

<comment><USER6> check out Figma!

<comment><USER15> Yep I've used Figma before. It's not really on par with Sketch, but it's certainly high quality.

</comment></comment></comment></comment></comment><comment><USER17> Would it be possible to use this on the server to create complicated PDF files for download (react -> sketch -> pdf), without using something like this current process (react dom -> html, css -> phantomjs -> pdf)?

<comment><USER6> Yeah sure - the caveat is that you have to run it on OSX rather than Linux. We have a bunch of Mac Pros & Mac Minis laying around the office doing CI funtimes.

I also hear whisperings of a react-pdf renderer but I haven't seen it

</comment></comment><comment><USER18> This will come really handy, thank you. I'm trying to build a better infrastructure at work; do you have anything written up about how you work at Airbnb? Your "bring design & engineering closer together" mission sounds like what I'm trying to accomplish, would like to read/chat more about it.

<comment><USER6> We haven't written nearly as much as we'd like, but here are some you might like:

Design Ops (the org that contains my team - Design Tools) - [http://airbnb.design/designops-airbnb/](http://airbnb.design/designops- airbnb/)

The Way We Build (head of design @alexoid talking about our process) - [http://airbnb.design/the-way-we-build/](http://airbnb.design/the-way-we- build/)

Building a Visual Language (on our design system) [http://airbnb.design/building-a-visual- language/](http://airbnb.design/building-a-visual-language/)

<comment><USER19> This is great, thanks Jon. I've been struggling to find good workflows for integrating design and engineering (especially when there is a disparity in maturity of the processes for each party).

I think there is definitely a gap in the "literature" for this topic and will be eager to follow any other progress you can share.

<comment><USER20> Would recommend joining the Design Systems Slack [1] and attending the Clarity conference [2] to meet like-minded folks!

[1] [https://twitter.com/jina/status/713173129263067136](https://twitter.com/jina/status/713173129263067136) [2] [https://www.clarityconf.com/](https://www.clarityconf.com/)

</comment></comment></comment></comment><comment><USER21> What is a "Sketch document"? I didn't see a link or explanation in that page.

<comment><USER22> Sketch is vector based design tool for designing UI and Sketch document is the format that it uses to save those designs. [https://www.sketchapp.com/](https://www.sketchapp.com/)

<comment><USER21> Thanks!

</comment></comment></comment><comment><USER23> The website slows down my chrome browser to the point where it lags and I have to backout.

<comment><USER24> Noticed the heavy CPU usage as well. The laptop still performed admirably but estimated remaining battery time fell below 2H on a full charge so I smelled something amiss. Turned out the videos on this page continue playing even when the tab is open in the background (not active tab, nor active window). Seems like a complete waste of cycles. (Opera Beta)

<comment><USER6> Sorry - wasn't sure of a good solution for this without rewriting our blog too.

Some things I tried: \- not autoplaying the videos (but they're super short, so it would be annoying to click play) \- playing them when they're in focus & pausing afterwards (would have to mess with our WordPress installation instead of launching this thing) \- using GIFs (they were HUGE - I couldn't get them below like 2mb each) \- YouTube embeds etc (ugh)

I thought this was the best compromise but yeah. Sorry :(

</comment></comment></comment><comment><USER25> The classic way for reusing style and layout in web development is to have the style in CSS-files. CSS-files have a URL, so you can include CSS across web pages and take advantage of CDN's and browser caching. CSS have it's problems, but CSS is far superior to in-lining the style al la components. It's good practice to use the native browser components, the component might work very different on a smart-watch, vs a big screen PC, native HTML component will work on both devices! And native HTML components also work with JavaScript turned off! and for visually impaired people using different kinds of screen readers.

</comment><comment><USER26> Jon was gracious enough to visit us at CollectiveHealth to describe their DLS processes as well as give us a glimpse of what was coming.

Design Systems and related tooling makes total sense at certain scale and I can definitely see both designer and developer efficiency gains from consistent building blocks that Design Systems provide. Jon I'm curious if this would still make sense if AirBnB weren't so invested in React and React Native.

<comment><USER6> Hey Vlad!

You could still use it for styleguides for type & color etc, if you keep those definitions in JSON.

if not, probably not :(

</comment></comment><comment><USER27> We have just recently started using React for new products that our team develops, doing the design in Sketch. This was already a huge improvement in efficiency compared to doing design in Photoshop and building products with Angular. I'm super excited to try this library on our next project and see how it can streamline the design and development cycle.

</comment><comment><USER28> It's great to see a company like airbnb developing and open sourcing so much cool stuff. Are you guys hiring developers?

<comment><USER6> :) always! [https://www.airbnb.com/careers/departments/engineering](https://www.airbnb.com/careers/departments/engineering)

</comment></comment><comment><USER29> A boilerplate project to create react-sketchapps

[https://github.com/brijeshb42/react-sketchapp- boilerplate](https://github.com/brijeshb42/react-sketchapp-boilerplate)

</comment><comment><USER30> Sketch.app name similarity with SketchUp can be a source of some confusion.

<comment><USER31> We're deep into the woods of name confusion now, all the easy names that relate to what an app actually does are taken.

</comment></comment><comment><USER32> Very cool.

It would be even cooler if it could render React components written for the web without modification, maybe in a transparent webview. I'm guessing Sketch would need to add support for that.

<comment><USER6> If we can figure a way to translate React DOM to React Native-style components then this will be doable.

You could write a codemod that turned <div> into <View>, <h1-6> into <Text> etc, but there's complexity in standardizing layout systems & CSS properties too. React Native-style components provide the best chance of us using React as a truly universal platform.

see [https://github.com/airbnb/react- sketchapp/issues/37](https://github.com/airbnb/react-sketchapp/issues/37) & [https://github.com/airbnb/react- sketchapp/issues/29#issuecom...](https://github.com/airbnb/react- sketchapp/issues/29#issuecomment-297435389) for some more context

If you have any ideas on solving I'd love to see them in GitHub so I don't lose track of them :)

</comment></comment><comment><USER33> I'd really like to try to integrate some of this design philosophy (and what your team lays out in that DLS blog post, too) in my team's design flow. Thanks for this!

</comment><comment><USER34> It's not really clear WHAT this is - why would I use it, what would I get if I used it?

</comment><comment><USER35> I don't use anything from Airbnb (and no, I'm not a hotel or against the "sharing economy", much to the contrary).

<comment><USER36> Ok. Why not?</comment></comment>


A 2:15 Alarm, 2 Trains and a Bus Get Her to Work by 7 A.M - <AUTHOR> https://www.nytimes.com/2017/08/17/business/economy/san-francisco-commute.html <comment><USER2> San Francisco has more than twice the area of Manhattan, with half the population.

The San Francisco Bay Area CSA has about the same population as Switzerland, with 2/3 of the area of Switzerland.

Both have similar GDPs.

If someone wanted to live in Germany, and commute to work in Zurich, with Swiss salaries and German cost-of-living, their commute would be about 1h15min.

The housing and infrastructure problems in the SFBA are purely political, and self-inflicted.

<comment><USER3> True.

But a non-political solution to affordable housing could be coming soon in the form of rapid transit via Hyperloop. Hyperloop could put deflationary pressure on housing prices.

If Hyperloop actually materializes, and their route transit times are anywhere near what they say they will be, then real estate prices should decline in the bay area, or at the worst level out.

I doubt people will continue to pay crazy prices in SF when you can commute from almost anywhere on the west coast to SF within an hour on Hyperloop.

[http://hyperloop-one.com/routes/](http://hyperloop-one.com/routes/)

<comment><USER4> The Elon Musk Reality Distortion Field is proving to be as effective as the one surrounding Steve Jobs (praise be unto him.)

<comment><USER5> I wonder how much he spends on PR and other upkeep.

</comment></comment></comment></comment><comment><USER6> While the rising cost of housing is an easy target, why not put the pressure on the companies that are driving the influx of workers and out of control cost of living?

If tech companies are drawing people into cities and forcing out those who keep the city itself operating, why not have them subsidize and improve public transportation? Lower income housing? Encourage more remote work or move their headquarters out of the city centers? It seems crazy to me that people get driven out of their homes by real estate developers who re-develop due to tech-wages.

This example is a bit on the fringe, but it does illustrate the daily struggle of many normal people. 2+ hour commute is insane. And before someone comes in with the "why doesn't she get a new job closer to home?", you know it's not that easy - not to mention unfair to suggest that someone should change their entire life because their profession isn't flavor of the month.

<comment><USER7> This isn't an issue of tech companies forcing anyone out. Bay area municipalities and NIMBY property owners have created a hostile regulatory environment for property developers, leading to a lack of new housing coming onto the market and driving rents upward.

<comment><USER8> Keep going up the chain of causality. Property Owners are so NIMBY because there's an economic incentive to behave that way. This is only the case because Prop 13 caps their property taxes. If California had property taxes that, like other states, could increase as the assessed value of your home increases, the incentive to oppose new building would be significantly lessened and it would then be in everyone's best interest to keep housing costs low, not just those who rent or are looking to buy.

Prop 13 is immoral and has not only wreaked havoc on real estate market in the state but has also gutted the state's public education system. It needs to be repealed before any progress on these housing issues can be made. There can be provisions to ensure that people don't lose their homes to rising property taxes...Texas, IIRC, has one that allows property taxes to accrue and only need to be paid when the title of the property changes hands, which seems like a good compromise. But the state's population is going to go up which means we're going to need to build a lot more housing, and our laws need to create an environment where that can happen.

<comment><USER9> > If California had property taxes that, like other states, could increase as > the assessed value of your home increases, the incentive to oppose new > building would be significantly lessened and it would then be in everyone's > best interest to keep housing costs low, not just those who rent or are > looking to buy.

That might make rational sense but it is not how homeowners actually behave.

<comment><USER10> I'v seen this extensively in multiple upper-middle income communities on the east coast. Houses that have tripled in relative value force their now retired owners to sell because they can't afford the higher property tax. Developers can buy above market because they demo the house and put down 2 houses that each sell for 75% the original home's value.

This scales for quite a long time, and is generally how suburbia transforms into, well, east San Jose.

It's not that homeowners make rational choices as a result, it's that over time they are pushed out and the rational choice is made by the larger market.

<comment><USER9> It seems like if you're retired and having trouble with property tax a reverse mortgage would be pretty attractive.

</comment></comment></comment></comment></comment></comment><comment><USER11> Reporters keep trying to find profiles of the housing crisis but this seems disingenuous. A lot of what this woman is doing is a choice; waking up hours before the train, huge house in Stockton vs condo/apartment closer. She makes $80k/year meaning post-tax $4600/month. She could easily afford a nice 1 or 2 bedroom in Pittsburg or Pleasanton for ~$2k a month, and her door-to-door commute would be well under 80 minutes.

<comment><USER12> That's $12000 extra on rent per year, which is a lot to someone making $80k a year.

<comment><USER13> Take the time to commute (8hrs) into consideration. Is that extra $12000 worth it?

<comment><USER14> In the article she can work from home some days a week (I know for feds in DC, it's mandatory 5 days out of 10, so maybe at least that many for her) _and_ she has a government job which (for many in the non-tech, non-startup world) is the Holy Grail of jobs- incredibly stable, great benefits, pension, etc. She's 61, so in her mind the trade-off might be worth it if she plans on retiring at 65 (and perhaps even earlier if she's got a ton of time in her PTO bank). Coming at the angle of a young tech person raising a family, the trade- off might not be worth it, but for an older person with retirement coming soon, the priorities are different.

<comment><USER15> People are _required_ to work from home 5 days out of 10? I'm for encouraging working from home, but that policy assumes that everyone can spare the space in their home to have some sort of home office. (And since it's not a fully remote job, you still have to live near DC.)

<comment><USER16> Mandatory minimum _allowed_ remote-work days. It's a quality-of-life measure for the employees - not some way to save money/office space on the employer's part.

<comment><USER15> Thanks for the clarification.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> I was going to come in here and talk about how this strikes me more as a personal choice than a symptom of a systemic problem (i lived well in SF on $60k, and I mean for fucks sake Stockton? that is aggressively far. There are many great closer options.), but who cares.

This woman seems to have a really peaceful existence. It would be nice to have such relaxing routines in my own life, especially in the face of stressful realities like a long commute on public transit. It makes me want to develop the fortitude that this woman exercises every single day.

<comment><USER18> ^Agreed, and agreed.

</comment></comment><comment><USER19> I think these articles about extreme commutes are interesting. I recommend you read what Mr. Money Mustache has to say on the subject.

[http://www.mrmoneymustache.com/2011/10/06/the-true-cost- of-c...](http://www.mrmoneymustache.com/2011/10/06/the-true-cost-of- commuting/)

<comment><USER20> Eh. It's reasonable to point out that even a < 1 hr. car commute can be a bigger money leak than a lot of people appreciate. And I also believe that anyone commuting 2 hours each way daily needs to give serious thought to alternatives; it doesn't seem sustainable.

That said, selling and buying houses (or changing jobs) on an ongoing basis so you're right next to your job doesn't seem like a great strategy either. And likely not a plausible one, at least outside of a city, if you have a partner who also goes into an office.

<comment><USER21> When choosing between jobs I try to calculate the true hourly wage I'd receive. I include transportation costs, travel time, expected unpaid overtime etc and pick not the highest salary but the highest hourly rate all things considered.

<comment><USER22> Do you calculate life lost as well? I'm being serious. There is a MASSIVE difference between a five minute commute, and an hour commute when you add it up over a lifetime. That's a stupid amount of your life wasted doing nothing.

<comment><USER21> I do, a job with an hour one way commute will have ten hours weekly of additional work time as opposed to 50 minutes for the 5 minute example. Thus if salaried at the same rate the 5 minute commute is the better deal (and that's before calculation of travel costs)

<comment><USER22> I was referring to literal life time lost. If you're salaried better with a 3 hour commute, it's still not worth it in my opinion. There is a definite maximum commute time, no matter the price.

</comment></comment></comment></comment></comment></comment><comment><USER23> One way to make this better is to support the plan to inline the Capitol Corridor and ACE trains with Caltrain via the unused and abandoned Dumbarton rail bridge [0]. Make sure to tell your elected officials you support this.

[0]: [http://www.greencaltrain.com/2017/08/dumbarton-corridor- stud...](http://www.greencaltrain.com/2017/08/dumbarton-corridor-study-needs- review-august-meetings/)

<comment><USER24> I wonder what they're doing in other parts of the world where the population is much larger?

[http://www.metro-report.com/news/single-view/view/beijing- ma...](http://www.metro-report.com/news/single-view/view/beijing-maglev- carries-passengers.html)

[http://www.chinadaily.com.cn/business/2017-08/15/content_306...](http://www.chinadaily.com.cn/business/2017-08/15/content_30620747.htm)

<comment><USER25> Well, for one thing, Beijing is miles and miles of 20+story apartment highrises. I don't know why San Francisco is so resistant to that, seems inevitable to me.

</comment></comment></comment><comment><USER26> It appears that when local cities have control over housing, they make decisions that are good for them, but bad for the state that needs higher paying jobs that generate tax revenue. Plus low density housing is bad for the environment when compared to high density: [http://news.colgate.edu/scene/2014/11/urban- legends.html](http://news.colgate.edu/scene/2014/11/urban-legends.html)

Other places would move heaven and earth to have a place like Silicon Valley and it seems like California is shooting itself in the foot with this self inflicted housing shortage.

<comment><USER27> Thank you for the article link!

</comment></comment><comment><USER28> If a municipality decides to open 100 seats of office space, they should be required to zone and approve 100 beds for said workers to sleep in. Otherwise you have the situation where towns like Brisbane can build office complexes for the tax revenue and entirely pass the buck to their neighbors for the cost of housing the new workers.

<comment><USER11> This is a major major part of problem and one of the simpler legislative solutions. The extreme example is Cupertino and Palo Alto which have approved 10000s of office desks but resist building any meaningful housing whatsoever. Peninsula towns also need incentives/mandates to upzone around Caltrain. SF also does a huge desks to beds imbalance in approvals.

</comment></comment><comment><USER29> >Ms. James pays $1,000 a month in rent for her three-bedroom house, compared with $1,600 for the one-bedroom apartment she had in Alameda.

She was forced out of her original apartment but unless she had a new situation that required her to have more bedrooms with a lower budget, some part of this extremity was her choice. I think NYT should've chosen a better example if the point they were trying to get across is "tech boom forcing workers out".

<comment><USER30> This really stood out for me too. Her commute is awful, but it seems more like a conscious compromise that she herself opted for (Larger house, cheaper budget, longer commute), given her work situation (able to work from home) and personal lifestyle choices (likes to take her time, takes the stairs at the station, gets off the train a stop early to have a leisurely walk on her commute).

Maybe it was the style of writing in the article, but it didn't give me the impression that Ms. James is unhappy with her choice to move.

</comment></comment><comment><USER31> A little misleading as she needs to catch the train at 4am. Still, an almost 3 hour commute is brutal.

<comment><USER32> Misleading? Do you not include layovers in the time it takes to travel somewhere? Most people do.

<comment><USER33> _But she likes to take her time and have coffee. She keeps the lights low and the house quiet and Zen-like. "I just can't rush like that," she said.

When the second alarm goes off at 3:45 — a reminder to leave for the train in 15 minutes — her morning shifts from leisure to precision._

She could get up somewhat later to catch her train.

<comment><USER32> Right. That's addressed later in the article.

<comment><USER34> Hence the title being misleading.

</comment></comment></comment></comment></comment><comment><USER35> This is a pretty amazing example. It raises more questions than it answers however. The big one is "Why continue working in SF with this horrible commute?"

Market dynamics suggest that in a 'free' market, on an individual basis, a person seeks to maximize their value received. So in this case, if this was an open market, the (commute + $81K/year) > any other option that she might choose.

So what are we missing that there isn't at least an equal paying job available in the Central Valley that would cut her commute by 80 - 90% ? I can imagine lots of things that might contribute like pension eligibility, or specialization. But "Public Health Advisor for DHHS" seems to be a position that is available in many cities in the state. I would have liked to read what about _this_ job in _this_ city was so important.

And all of that is to the meta question of salary growth has been flat for a long time, but for a long time people felt they had to keep their job at all costs. A what point does the advantage change? 3% unemployment? 2%? What needs to happen so that people are confident enough to say "pay me more or I'll work somewhere else." ?

As a result of the stuff I wonder about, I feel like there might a tremendous amount of tension in the economy that isn't as visible as one might hope. And I wonder what happens when it snaps. Do we get the 10 - 15% stag-flation of the 70s?

<comment><USER36> I immediately searched for the word "pension" in the comments, and your comment was the only one to have it. She's 62 years old, and commuting to this job so that she can maximize her pension.

[https://www.calpers.ca.gov/page/employers/benefit- programs/r...](https://www.calpers.ca.gov/page/employers/benefit- programs/retirement-benefits)

<comment><USER37> Getting through tough times is much easier with an end in sight and incentives to keep going. This is truly the right answer

</comment></comment></comment><comment><USER38> I paid about 30% of my salary in 2014 for a SRO [0] in San Francisco with a 10 minute commute. I decided that the quality of living was not worth the potential future earnings for staying in the bay area. In Tulsa I pay about 14% of my salary to rent a large apartment with a 4 minute commute.

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

<comment><USER39> But you make a lot less in the absolute terms. So you save less, you can afford less of cool stuff. Most people in the world want to move in the opposite direction.

<comment><USER40> Both ways of looking at it are problematic.

The way you should look at it: Take your savings. If you suddenly could get no income, no welfare, etc: How many months/years can you maintain your current standard of living before you run out of money?

Being paid more in absolute, and even saving more in absolute, doesn't guarantee a longer time till you go broke. It's the ratio of your savings to the monthly cost of living.

I could move to the Bay area and get paid enough to save, say, $5K more per year than I do now, I'm still in worse shape because of the COL. Effectively, even though I'm saving more in absolute terms, I'll not be able to retire as early as I can now.

</comment></comment></comment><comment><USER41> What's to stop San Francisco from creating a lot more high-density housing? Doesn't that solve many issues with housing supply? Looking at wikipedia, the density is crazy low even compared to other major cities in the US.

<comment><USER28> > What's to stop San Francisco from creating a lot more high-density housing?

Entrenched residents who oppose new construction, primarily. Look at the recent kerfuffles involving residents opposing the replacement of parking lots with housing.

<comment><USER42> Lack of infrastructure as well. Despite the low density, it is pain to get around SF and bay area generally unless you are luck enough to have a trip that starts or ends near one of the few rail lines. Double the density, and getting around would go from bad to worse.

<comment><USER43> That's not necessarily true. More density could allow people to live closer to work and reduce the amount of traffic.

<comment><USER42> Even in dense cities (Manhattan), most people don't live walking distance to work. But they have a great public transportation system, so it works. The Bay Area has a terrible public transit system, and if you add density without improving it will get a lot harder to get around.

Also, the big tech jobs centers (apple/facebook/Google) are in the south bay, and many of their employees (especially those without kids) choose to live in San Francisco because it is a much more interesting vibrant interesting place than Mountain View, Menlo Park, or Cupertino. Someone living in Noe Valley and working at Apple could already live closer to work, for much less, if that's what they wanted.

So adding high density housing will allow some people to live closer, and some to live farther, but it will add incrementally more traffic. That's fine, but let's at least address the infrastructure in tandem, if not first.

</comment></comment></comment></comment></comment><comment><USER44> Why isn't there a good, inexpensive bus? You can fit almost one hundred passengers on a single bus. Buses are pretty fuel-efficient per passenger, easy to reroute if you have more/less demand, and you can go directly to where you need to go. They scale very well - if there are only 20 people or so you can send a small bus, if there are thousands you can send multiple large buses.

Sure, traffic can be an issue, but I'd imagine train delays are roughly as big of a problem.

In this case, it looks like her 3hr 20min commute could become 1hr 30min with a bus that goes from Stockton.

Why has nobody done this?

<comment><USER45> >Why has nobody done this?

You're vastly underestimating how bad rush hour traffic is. Also, the longer the bus is on the road the more likely it will be to be in it. Then you run into the same problem where you're getting a 5am bus for a 9am job even though it's only a 1hr drive on paper

</comment></comment><comment><USER46> So why do we keep commuting for jobs that don't really _require_ our physical presence?

It was a long hard battle for me to be able to work from home, and yes, I sometimes do miss out on face-to-face interaction, but going to the office 2 instead of 5 days a week is still a huge win - I'm not in a car out there, making traffic worse for _you_. You're welcome.

Can we please solve the supposed "interaction" problem with some nice digital pens and white-boards and web cams and just .... work from anywhere?

<comment><USER47> I hate working from home. I'm a social being.

<comment><USER46> Me too - which is why I still go to the office - just not 5 days a week. If we could stagger people's schedules somehow - you go on Monday, I go on Tuesday - and do that on a massive scale - it should help traffic congestion quite a bit.

Or we could actually build some nice mass transit in this country. But now I'm just talking crazy.

</comment></comment></comment><comment><USER48> As the article says, she could sleep 90 minutes longer. And if she drove to work, she does have a car, she could easily leave at five.

She could also get a 3200 dollar apartment where she used to live, have at least two rooms, sleep late and still have 3550 left every month.

Maybe medical insurance and such things that we europeans don't need to buy are very expensive, but apart from that it doesn't seem very difficult to live on 3500 after rent for a single person. My whole family spends less than that after rent, four people in one of the most expensive cities in the world, Copenhagen.

I must be missing part of the equation here.

<comment><USER49> Take-home salary after taxes could be a lot less than $6,750 per month. Health insurance is probably reasonably priced given that she seems to have a government job.

But I do see your point - she could (and many do) live closer, pay more, and sleep more.

<comment><USER48> Good point about the tax, American salaries are quoted pre tax of course! I've spendt the whole afternoon with my nose in P&Ls, where the quoted salary is pretty much what is interesting.

In any case, I feel the headline is pretty sensationalistic, even if she wants to live where she lives, she could probably get up at 5 and drive to work.

</comment></comment></comment><comment><USER50> I don't dispute that Bay Area housing is very expensive, and there are plenty of issue it needs to address, but this person seems so have made a personal choice to have that commute, which I commend if thats the lifestyle she wants.

Perhaps her personal circumstances didn't allow for it (Or she chose not to, which is fine too), but a home can be purchased for as little as 3.5% down (FHA) + closing costs. For someone with an 81K salary, their borrowing limit is around ~460k (@43% FHA DTI Limit [1]), and in 2014 (When the person in the article was evicted) there were plenty of homes in that price range in the East Bay. That DTI won't be easy, but neither is a 6-8hr daily commute.

In fact, there are homes/condos _right now_ [2] still in that price range. The crisis is for those making the _median household income_ of say, 52.9K in Oakland, _thats_ the income where one is basically shut out of the housing market.

[1] [https://www.fha.com/fha_requirements_debt](https://www.fha.com/fha_requirements_debt) [2] [https://www.redfin.com/city/13654/CA/Oakland/filter/property...](https://www.redfin.com/city/13654/CA/Oakland/filter/property- type=house+condo+townhouse,min-price=100k,max- price=400k,viewport=37.93869:37.57279:-121.89166:-122.579,no-outline)

</comment><comment><USER51> It's odd this article doesn't mention what time she goes to bed or how much sleep she gets. I found that was all I wanted to know first reading the headline to the end of the article. It mentions people sleep on the train but never really confirms if she does (the one photo of her in the train she is looking at her phone so I assume not).

</comment><comment><USER52> I feel bad for her, but if she's taking an hour and a half to leave the house in the morning, she's >choosing< to get up at 2am.

<comment><USER53> Is wanting to be fully alert before leaving the house so strange?

<comment><USER54> yes. Particularly when you are driving to sit on a bus, then on a train where you don't have to be alert at all.

</comment></comment></comment><comment><USER55> Just playing the devils advocate by posting some themes discussed on the article's comment section.

\- She apparently can't relocate as she makes $81K as a federal employee. Most commenters seem to point out they make far less for equally brutal commute, and don't even complain.

\- She also works from home every now and then. Something which most other people like Chefs, Janitors, Barbers who are paid way less, don't even have an option to do by very occupational design.

\- She qualifies for pension after some time. There fore it's not too much to expect somebody to make a little sacrifice for a few decades worth of getting paid without doing anything at all.

\- Most other commenters seem to point out that they would love to have a job which pays $81K, with benefits and a pension even at that commute time. Therefore this is not a problem, this is actually an opportunity.

Most comments seem to have a _' Cry me a river'_ kind of a sentiment.

</comment><comment><USER22> Makes me appreciate what I have in Rochester. 5 minute commute if I don't hit the lights correctly. Drive home for lunch in silence, take a nap. Cost of living where I have more money than I know what to do with. The grind a lot of you put up with chasing money, is paid for with your life, literally.

</comment><comment><USER56> My commute is 55 - 65 minutes each way, and 70% of that is spent underground.

That's more than enough for me, don't think I could stomach any longer than that!

</comment><comment><USER57> AS I've gotten older and more experienced I realized my commuting circle has shrunken. When I was dumb and young I was willing to commute 3 counties for work. Gas was cheap and apparently my time (1 hr each way) was cheaper. If it's not close by (<30 min) and I can't telecommute than I don't really care for it. I live in the city so there are plenty of other opportunities.

</comment><comment><USER58> 1\. I wonder what her commuting cost are + having to have a car is a month?

2\. Stockton has a median income of $45k vs $81k in SF [factfinder.census.gov] - so in SF she is right in the middle, in Stockton she is at twice the median income (for households) is it really surprising to anyone that she can get more for her housing $ in Stockton?

</comment><comment><USER54> We should seriously consider following Norways example of moving government buildings to the suburbs.

</comment><comment><USER59> this woman needs a car drive it as far into the city as possible then park it and use transit

<comment><USER25> And sit in traffic for an hour instead of relax on a train for 2? Ew.

What this lady needs is a sweet GSXR-1000 to split all the way to paradise. I don't know why more people don't take advantage of the fact that lane splitting is legal here, it's a fantastic way to cut commute time in half. Plus you get free or super cheap parking pretty much wherever you want.

<comment><USER60> My dear, Bikes aren't cheap if you factor in the funeral costs!

Seriously though, the amount of additional risk of life/limb/etc you'd be taking by biking to work isnt worth saving an extra hour given the raised attentiveness you have to be on throughout the commute.

What we all really need is cheap selfdriving vanpool networks that dynamically optimizes routes based on traffic flows. or better yet hub-to-hub VTOL human transport drones. In all honesty I think we'll see those before we'll see legislative action helping the housing crisis.

</comment></comment></comment><comment><USER61> As a 5-year-long remote worker this seems archaic and cruel.

</comment><comment><USER62> With self driving cars I see this happening even more.

<comment><USER63> Yes, but with a self-driving car you'll be able to sleep during your commute.

<comment><USER64> I have slept and have seen plenty of other people sleep on trains all the time.

Doesn't really change anything.

<comment><USER65> Tokyo is particularly well known for it.

[https://www.japantimes.co.jp/community/2013/03/09/our- lives/...](https://www.japantimes.co.jp/community/2013/03/09/our- lives/sleeping-on-the-train-a-rite-of-passage-into-japanese-society/)

</comment></comment></comment></comment><comment><USER66> I travel 1 hour one way and find it brutal. Can't begin to imagine what this person must be going through.

<comment><USER53> My dad has been doing an hour and a half (each way) commute for the better part of the last decade.

I ended up doing the same commute when I started a new job last week. I'm already dying to move into my new apartment. I don't know how these people do it.

And to be clear, the hour+ commute wouldn't be so bad if it were just driving. But stop-and-go traffic does not a relaxing drive make.

</comment></comment><comment><USER67> This is what happens when you let office space be built without building extra housing.

</comment><comment><USER68> I guess my commute wasn't so bad :)

</comment><comment><USER69> The reason it's so expensive to live near SF is because of people like this.

Your landlord knows how much you'll pay if they know you work in the gay area and will tolerate a 5-hour commute.

It's the same reason NJ is becoming more expensive. They know you'll pay because you're willing to ride PATH every day to get to work.

Don't commute more than an hour to work. If you can't afford to live close to your work, find different work.

People like this are making it even worse, and not just in SF, in NYC, in Boston, in and around Raleigh, in ATX, everywhere.

Commuting is making it harder for other people and yourself.

<comment><USER70> Actually refusing to build more housing is what is raising prices.

</comment></comment><comment><USER71> The odds are that in WWIII it will be lost and then will be able to be rebuilt like a actual modern city with proper infrastructure. All those amazing buildings that we see in the Star Trek movies and shows probably weren't built while Nimby's were still there. [http://memory- alpha.wikia.com/wiki/21st_century](http://memory- alpha.wikia.com/wiki/21st_century)

</comment><comment><USER72> Liberals like to talk big about the public transportation, but when it comes time to deliver they follow the unions' script that results in exuberant costs (to build the system and to run it) and extremely poor performance. And as a result the average folks and the poor suffer the most.

<comment><USER73> I'm not sure if you've ever been to Europe before, where the liberals (and even the conservatives) do public transit right.

<comment><USER74> Furthermore, unions in Europe are much more powerful than they are in the US. It must not be unions holding the US back if Europe can manage to build better transit with much stronger unions.</comment></comment></comment>


Bye bye BetterSlack - <AUTHOR> https://g3rv4.com/2018/08/bye-bye-betterslack <comment><USER2> At GitHub, we faced the same issue when ZenHub [1] came out with their chrome extension. While, Slack is well within their rights to _ask_ you not to modify their user experience, it's short sighted of them to do so.

With ZenHub, we worked with them even closer because we saw that our users were happier using GitHub + ZenHub. We made it super clear that UI changes would likely break their app but that would be a risk for them to evaluate. In the end, it worked out well since ZenHub invested alot in their UI and became a long term partner of GitHub's.

From a technical level, I'd also take issue with this. You're customizing the output of their services once it's in the browser at the request of the user. If you're still interacting with Slack through the API and being a good platform partner (i.e. respecting rate limits), then I think you should be allowed to keep on. Disclaimer: I'm running a company on the Slack platform [2]

[1] [https://www.zenhub.com/](https://www.zenhub.com/) [2] [https://geteventbot.com/](https://geteventbot.com/)

<comment><USER3> Worth mentioning that github ended killing ZenHub, by introducing github projects, which is essentially copycat of the only useful feature ZenHub had.

<comment><USER4> As a daily user of ZenHub for over a year, I would strongly disagree that GitHub projects offers the same feature set. A Kanban view, yes.

<comment><USER5> Also a Zenhub customer. I can't but assume features would be coming stronger and faster had GitHub not implemented projects.

</comment></comment></comment></comment><comment><USER6> I think you can safely ignore this cease and desist. Just change the name and add a disclaimer so your users know that by using your extension they are violating their acceptable use policy.

This is no different than any user writing a Tampermonkey script to modify any website they want to modify. Even further, this is no different than a user opening the Dev Tools console and modifying things there.

<comment><AUTHOR> this _was_ a bunch of Tampermonkey scripts... but I don't want to ignore their cease and desist. I... just don't do it.

changing the name is not an issue... however, if I have to take it down, that's moot.

<comment><USER7> @g3rv4, I understand it really sucks and feels terrible. But I also understand their reaction.

Don't be surprised about legal writing. He/She as a legal person is responsible for writing in a very clear and explicit way since any misunderstanding might cost the reader or themselves in the future. It just shows their accountability. You don't want a misunderstanding cost you trouble.

I have colleagues working in the legal department. They understand you, but they still have to make sure there is no misunderstanding there.

They are serving enterprise companies, Anything goes wrong can destroy their business. It makes sense for them not to risk anything.

Companies are paying them for the security. Otherwise, there are cheaper alternatives to Slack with somewhat similar features.

Slack could allow custom clients. But I'm pretty sure all major customers will require their employees not to use un-official clients for security reasons.

<comment><USER8> > Don't be surprised about legal writing. He/She as a legal person is > responsible for writing in a very clear and explicit way since any > misunderstanding might cost the reader or themselves in the future.

Ok, then he/she can be called out since we are on the front page of HN and there is a lot of noise and harm done. I honestly can't see a single reason why slack legal department, probably worth millions per year, in a company worth several _billions_ , can write such things just to kill a free chrome extension built by a single person for non profit reasons. I never used slack but from now on I will actively advice against using it. When you arrive at the point that you can't even modify your browser to see whatever you like I think that we are almost at the brink of total destruction/anarchy/"choose your not so preferred destination". Disclosure for slack layers: I never used your product, so I never agreed to your TOS and I would never use it hopefully. I am not associated in any way with any of your competitors. I sadly have to admit that sometimes I play with JSFiddle in my browser just for fun. If you want to sue me please go on, there is not much difference compared to what you are suing g3rv4 for.

</comment></comment></comment></comment><comment><USER9> Slack has really jumped the shark. Between this and their cutting off their IRC gateway, I don't really see the point of using it. You can't be openly hostile to people who create "hacks" like this if you're claiming to be a communication medium for "hackers."

<comment><USER10> Slack is no longer for "hackers". It's mainstream now. My company of 500 with only 30 devs uses it.

These are power moves by Slack. They want to have greater control over the communication medium and presentation

If you thought they were ever going to support extensions of their IRC gateway for long, then you misunderstood their product and who their market was or rather who their market became

<comment><USER11> > My company of 500 with only 30 devs uses it.

Same at my workplace. Slack is mostly used by the managers, all the devs avoid it. Even if you don't mind the proprietory protocol, the performance even on beefy machines is an absolute dumpster fire, that nobody wants to touch the app with a ten foot pole.

<comment><USER12> Its the opposite at my workplace. Mostly the developers use Slack. What do your devs use instead?

<comment><AUTHOR> We use bonfire, which is the same tool the community at Stack Overflow uses to interact.

<comment><USER13> Is there a link to bonfire somewhere? You're not talking about Facebook's video call app are you?

<comment><AUTHOR> it's this: [https://chat.stackoverflow.com](https://chat.stackoverflow.com) but unfortunately, it's not open source or available for other teams to use in private.

<comment><USER14> Oh god it's an ugly, slow mess.

\- Why does it have list of users with their avatars and everytime new person comes in it has a huge, slow animation lol

\- ads for other rooms and quarter of the screen is "best comments top list"

\- the chat user avatars are unaligned, some are bigger, some smaller, some have usernames under avatare, some on the right.

I'm not sure if it's a late april fools joke or what's going on here.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> "we prefer that you do not include the word "Slack" in your product's name."

From the people who had no problems naming their product identical to the colloquial name of the oldest maintained GNU/Linux distribution, thereby confusing the hell out of actual technical people for the longest time with press releases.

Also, Bob Dobbs called...

(Edit: you can take away my upticks, but you will never take away my slack. "Hacker" news my ass.)

<comment><USER16> I'm going to go out on a limb here and guess you're in the extreme minority if you honestly confused Slack the chat client for Slackware the Linux distribution. That's...a leap.

Frankly the origin of Slack's name has nothing to do with Slackware Linux (or Linux in general) so I'm having difficulty following your grievance here.

<comment><USER15> 70's counter-culture and early hacker culture are not that far apart. It's more than likely their origins are related.

Now if "Slack" means the pretty protocol-breaking irc-client to you, that's perfectly fine. But if some party starts threatening someone with 'That's not what "Slack" means! We're the authoritative source on the meaning of "Slack"', a hacker should resists. Slack is for everybody. Many may have forgotten, but it's not VC-money that makes the Internet go round, it's Slack.

To quote the prophet:

"If someone is making money off ``Slack'', it better be me."

"Those who cannot remember the past are doomed to trade their precious Slack for worthless trinkets."

"The Slack that can be described is not true Slack."

<comment><USER16> _> But if some party starts threatening someone with 'That's not what "Slack" means! We're the authoritative source on the meaning of "Slack"', a hacker should resists._

Okay but they didn't do that. Slack is concerned about someone using their name in relation to third party, unaffiliated software which is _obviously_ related to their own software. Slack the messaging company doesn't care about the use of Slack outside of that niche.

If you wrote a browser extension called "BetterSlack" that emulated Slackware in your browser, Slack wouldn't care. If you wrote a browser extension called "DontSlackOff!" that automatically restricted the time you could procrastinate on Hacker News or reddit, Slack wouldn't care.

Slack cares about its _brand_ , not being the canonical authority on an English word use of that word in products. The idea that Slack cares about uses of the word that don't have anything to do with its own software seems like a willful misinterpretation of the point. This is a pretty mundane legality and has nothing to do with hacker culture or "resisting" anything.

</comment></comment></comment></comment><comment><USER17> > In order to remedy this, we ask that you please modify your product so that > you are not forcing your own code into our services. We have opened a number > of channels for the developer community to build tools that improve their > experience with Slack. We encourage you to utilize those channels to their > fullest extent.

Except that these channels make it impossible to really interact with Slack, and they pulled the rug out from under the APIs that used to kinda make this possible (XMPP/IRC integration). If you're going to force people to use your client, then you should allow for users to customize how that client looks and feels. Even more so if you're doing a terrible job at that yourself.

<comment><USER18> This. How many "Slack dark mode" haxtensions need to be made? I don't need more emoticon skin tones bloat. I need to save my eyes with hours in this productivity tool forced by my workplace.

Slack Team, just listen to the market (hint: HN score!) and bring such guys like OP into a gig to improve your stuff.

<comment><USER19> This. Who the hell goes to legal and creates PR risk instead of just hiring the dude?

</comment></comment></comment><comment><USER20> You solved on of my biggest gripes (muting spam) and a few others I didn't even know I had. Thanks for doing this. I grabbed a fork for myself. Definitely a big middle finger from Slack to the developer community and when I'm the one making the decisions, I'll be recommending people skip Slack. They mostly lost me when they killed the IRC gateway but they added another nail to the coffin with this.

<comment><USER19> Yep, dead to me too. I decide what code runs on my hardware.

</comment></comment><comment><USER21> Here's a spiffy new fork: [https://github.com/betterlimp/betterlimp](https://github.com/betterlimp/betterlimp)

<comment><USER22> The slogan should be "better Limp than never."

<comment><USER21> I like it.

</comment></comment></comment><comment><USER23> From something I wrote in January 2016 (just one concern of many): "Reasons Not to Use Slack for Free Software Development" [https://pdfernhout.net/reasons-not-to-use-slack-for-free- sof...](https://pdfernhout.net/reasons-not-to-use-slack-for-free-software- development.html) "Slack requires signing up and agreeing with a long Terms of Service (TOS); the TOS can be changed at any time, and historically such TOS have changed for the worse over time for other services once a lot of users adopt the service and become locked in by inertia and interlocking usages with other groups."

<comment><AUTHOR> wow... you turned down an interview at a place you liked because of their tools?

you certainly have stronger feelings about it than I do :)

<comment><USER23> I guess I did not explain that clearly enough in the essay. The issue was not using Slack in itself. I've unfortunately had to use a bunch of proprietary tools and hardware over the years, and in fact (unfortunately) I use Slack where I work now. The issue was that Automattic, the company behind the FOSS WordPress software, was moving from open solutions to use proprietary Slack. That included moving away from FOSS ones they made themselves in-house like o2 ( [https://github.com/Automattic/o2](https://github.com/Automattic/o2) ). And that disappointing choice by Automattic to embrace proprietary communications tools seemed in conflict with my hope to have made WordPress into a better FOSS communications platform while working there. I also did not feel it boded well for the company itself -- since Automattic seemed to be narrowing its business ideals from supporting and expanding the single biggest FOSS communications platform on Earth in terms of hosting much of the web to becoming essentially just another WIX competitor.

</comment></comment></comment><comment><USER24> I dont see any legal reason why you can't publish the extension under a different name. Your extension is under no legal obligation to follow their acceptable use policy, only the users that use your extension.

<comment><AUTHOR> There are two problems with this approach:

1\. I don't want to get involved in that, even if I'm based in Uruguay and they'd have a hard time suing me.

2\. What they could do is put resources to detect the extension and block it. We could start a mouse and cat game that they'd win... I don't have their resources to invest in it. After all, all I wanted was to solve Slack for me, and that would make it harder.

<comment><USER25> Could they really sue you for creating a chrome extension that modifies their webpage? That would be a very dark day for the internet. I can't imagine there's any legal basis for that, but it would be very interesting to hear a lawyer's opinion.

Well done on what you have achieved, keep fighting the good fight!

<comment><USER26> I dont think they can, or all the adblockers would have been removed already.

<comment><USER27> Any extension that Interacts with pages. I have so many of them. Vimium injects itself onto every page.

</comment></comment></comment></comment></comment><comment><USER28> Hey g3rv4 sorry to hear the news. Although I personally don't use slack, when I saw your last post (congrats on the double front page btw) I was super impressed by the stuff you'd added, sorry to see it go.

So this seems rather unfortunate now but the first thought I had on reading your initial post was "wow, I wish he'd come and do some similar stuff for riot[1], but unless slack shut him down there's no chance." However lo and behold here we are, so I thought I might as well reach out. If you haven't heard of it, Riot can be described as "an open source slack" although I think that's unfair on it, it certainly lacks certain features that slack has (although with its current rate of development this gap is shrinking) but also can do things slack just can't.

Full disclaimer I'm not a developer on riot (or matrix[2] the open protocol it implements), just a happy user so I can't speak with true authority but I think they'd be happy for you to make these sorts of changes to riot.

So I invite you to come check it out, I hope you find it compelling. At the very least riot has a means of bridging to slack (along with irc, gitter and more) which you might find helpful in dealing with slack (I know I do).

Hope your future endeavors so smoother, I look forward to seeing whatever you create next.

[1][https://riot.im/](https://riot.im/) [2][https://matrix.org/blog/home/](https://matrix.org/blog/home/)

<comment><AUTHOR> woooooowwwwwww so... I could use riot to connect to my company's slack?

that's a dream come true!!! I'll def check it out

<comment><USER29> Speaking as someone working on matrix and riot, we would _love_ you to come and do BetterSlack style things to Riot - we are getting tantalisingly close to being "as good as Slack" (except entirely FOSS, decentralised, standards based and with E2E encryption) - and positively encourage folks to customise the apps as long as they don't introduce bugs or harm the security model. Plus we can just accept changes straight into the app rather than injecting via an extension. _Pleeease_ come help us make it better - #riot-dev:matrix.org would be the place to come :) And yes, we have bridging to slack too.

<comment><AUTHOR> you will def see me there

</comment></comment></comment></comment><comment><USER30> I think it's really dangerous to choose to take Slack's message seriously here. I've been working on a WebExtension recently [0] at my university that's entire existence is staked on continuing to improve on platforms that are slow moving, and to tie together platforms that otherwise wouldn't talk to each other for political reasons.

A company making the case that their Terms of Service or definition of Acceptable Use applies to users manipulating the data that is sent once it is in the user's browser is a terrible way to go. We should always have the tools and the means to add features and change the display format of data being sent to us.

[0]: [https://homeworkhomie.com](https://homeworkhomie.com)

</comment><comment><USER31> This situation all but confirms that Slack has well and truly become a investor-first, user-second company. Which is a shame because I only just finished listening to an episode of "How I Built This" where they interview Stuart Butterfield who founded Slack out of his failed gaming company and it was a great story.

When you have Fortune 500 companies using you, you know you're not a startup or company for the common folk anymore. As for hostility towards developers, we only have to look at how well that worked out for Twitter when they turned up hositility to 11 towards their developers. Different situation, but same premise of cutting off developers making your product better.

As for Slack, I loved it in the early days. But now, I find is distracting. The numerous bots you can enable on it (most of which are counterproductive) are annoying or distracting (like the Gif bot). I dread opening up Slack because it's not a nicely designed product and it is starting to become dated.

We've been using Microsoft Teams where I work and I must say that it is amazing. You get so much out-of-the-box with it without needing to add in bots and it's more customisable.

<comment><USER32> > This situation all but confirms that Slack has well and truly become a > investor-first, user-second company.

You know how to predict if this will happen? It's pretty easy. It will if the company's product or service is proprietary and centralized. It's just a matter of time.

</comment></comment><comment><USER33> > Injecting javascript into Slack via Chrome extension can have an impact on > the privacy and security of our customers and our product.

So can taking screenshots of messages. If injecting JS can possibly affect the security of your platform then that's a vulnerability you should fix, not send a C&D to some developer about.

<comment><USER34> Hard to solve that if the browser allows that via the extensions mechanism.

<comment><USER35> If your security depends on people not using browser features, maybe don't use a browser then. Ultimately, if your security depends on the client being unmodified, you basically lost. You can make it harder for an attacker, but that's the problem DRM tries to solve (and consistently fails to)

</comment></comment></comment><comment><USER36> I wonder how much longer Slack's web client is going to remain a first class product? Clearly, it was a good way to drive adoption, but seems that at this point they want ever more control.

<comment><AUTHOR> now that they got all that money, I wouldn't be surprised if they killed the web app and moved away from Electron to do native apps that are harder to be messed with.

<comment><USER17> > to do native apps that are harder to be messed with

As someone who messes with native apps: this really isn't true, at least in my experience. Native apps tend to follow platform paradigms, which usually make them reasonably well designed and structured–sometimes more so than web applications. Usually adding functionality is simply a matter of finding the class that manages the component, rather than digging thorough a bunch of broken CSS (for IE 6 support) and minified goop.

<comment><USER37> are you thinking about opensource? I don't think it would be opensource

<comment><USER38> You do it the same way exploit writers do. Attach a debugger to the process, find the memory address of the resource you want to modify, overwrite the address with the address of the modified resource you want to execute. You could also just use the debugger to force the program to execute functions with arguments you specify, that way you don't have to worry about mucking with the memory.

<comment><USER17> Usually you'd create a dynamic library that interposes a function, so you don't have to much around with using a debugger. This way you have a persistent modification that's much more resilient to changes caused by app updates. Exploit writers generally have different goals: their thing only really needs to work once, and only with the current configuration, since usually the bug they're relying on gets patched in the next version.

</comment></comment></comment></comment></comment></comment><comment><USER39> So it lasted 3 days?

[https://g3rv4.com/2018/08/betterslack](https://g3rv4.com/2018/08/betterslack)

From that post:

> I may build an Electron app that patches the Electron app… so far, that's > what makes the most sense to me. But we'll see.

Even if this was against the ToS, could it be stopped? I didn't know one Electron app could target the other.

<comment><USER40> > I didn't know one Electron app could target the other.

An Electron app consists of two parts: HTML5 (which can run Javascript, but within a browser-like sandbox), and native Javascript code, running under Node.js with no sandbox whatsoever. The native half of an Electron app can do anything to your filesystem (including the parts that contain other applications) that any other native app can do.

<comment><USER41> I'm not sure how easy that would be since you're dealing with ASAR (just a binary encoding but definitely not as easy as modifying plain JS files) and code signing.

<comment><USER42> There is a node-js package to pack and unpack asar files. You can modify any asar archive by unpacking, copying/editing and re-packing. The signature would obviously change, but most electron apps really don't check for that (yet).

</comment></comment></comment></comment><comment><USER43> …or maybe just stop trying to play with the cat tail if you don't want to get scratched.

There is plenty of solutions out there to do chat messaging "kinda like" or maybe better than Slack. I'm using Slack daily and I can't find what this platform has something so magical about it.

I am personally building a communication client that can do IM, video- conferencing, file sharing, posting articles… all based on XMPP. It works in the browsers and we are proposing now apps for Android and macOS/Windows/Linux. It's way lighter than Slack, can be deployed easily on a VPS or in your company and is fully compatible with many other XMPP clients/bots (Github is proposing a XMPP bot for MUCs for example :)). If you want to try it out or know more: [https://movim.eu](https://movim.eu).

If you don't like Movim, I still invite you to find open platforms that can be tuned/hacked/adapted to your needs, there's plenty of them in the wild ;)

<comment><AUTHOR> I'd really like to give zulip a try... unfortunately, I don't have voice or vote over that decision on my company.

Also, I love the company too much to resign over a such a small thing that can be fixed with a 20kb extension.

<comment><USER44> I like what Zulip tries to be in theory (the "topics" feature is really great), but there are two knocks against it, in my opinion:

1\. They do not support self-hosting the code on a system with _anything_ else hosted on it. You are strongly recommended to dedicate a server (VPS, Docker, whatever) to your Zulip installation. You can _try_ to install it on an existing server, but it is far from trivial, and doing so is unsupported.

2\. As part of the installation script(s), they blindly wget code and execute it with bash. [https://github.com/zulip/zulip/blob/eb676e8e508df0349662addd...](https://github.com/zulip/zulip/blob/eb676e8e508df0349662addd6245ebf7ab235744/scripts/lib/install- node#L35)

</comment></comment></comment><comment><USER45> It's a shame because Slack is so painful. Reminds me of Twitter fighting 3rd party clients.

</comment><comment><USER46> I just want to say thanks for putting this followup and their email up. I like having these things to point to when I choose alternative services or convince companies to stop doing business with other companies.

</comment><comment><USER47> I understand the naming issue but from the look of it the extension only works locally, where's the issue with that?

<comment><AUTHOR> they don't want people injecting javascript on their website. That's all there's to it. I'm not sending anything anywhere. I'm not storing anything. I'm not profiting from it.

<comment><USER48> > they don't want people injecting javascript on their website

They should send an email to every extension author ever, and maybe even browser vendors for supporting such a malicious feature.

<comment><USER49> ...and then notify every ISP, every place that offers free public Wi-Fi, every airline that has Wi-Fi on their planes, anyone else who injects code into web pages...

</comment></comment></comment></comment><comment><USER50> Pretty moronic of Slack to try and take it down considering it just furthers their own product.

</comment><comment><USER51> As a recipient of many C&Ds for browser extensions I'm off the opinion that you are fine to keep operating your extension, just change the name.

</comment><comment><USER52> One of the nicest cease and desist letters I've ever seen. I think what they're asking in the name change is more than fair, and providing guidence on changing the functionality to comply with their api seems like a good approach. Kuddos to Slack legal for keeping the matter human and civil.

<comment><USER17> Except, of course, for the fact that sending a cease and desist in this case wasn't particularly nice.

<comment><USER53> Well, I mean they are under no obligation to send a C&D. They could have gone right to a Trademark suit.

<comment><USER17> Which would normally cost them must more money. Cease and desists are an easy way to scare people when you don't have much of a case.

</comment></comment></comment></comment><comment><USER54> We canceled Slack in July, let the year run out and didn't renew.

Simply wasn't worth it and frankly more of a distraction than just using Trello (and the client on Linux was just a fucking ballache).

</comment><comment><USER55> This is why you should not use Slack. Open protocols with open servers/clients is what we need such as IRC, Matrix or XMPP. Slack removed the IRC gateway just so they can stop people from using the service as they see fit and instead force on the users what they think it should be.

</comment><comment><USER56> While I completely understand your decision to pull it; both their decision to flex their legal arm and your decision to not stand your ground are equally disappointing.

<comment><AUTHOR> I guess... I'm sorry? and I'll try to do better next time, I promise.

<comment><USER57> How dare you choose not to put yourself in legal jeopardy for the sake of random people on the internet!

Please feel free to ignore everyone here. You made a Cool Thing, it didn't work out, whatever. You'll probably make more Cool Things in the future and I hope they'll stick!

<comment><AUTHOR> <3 thanks :) yes, it's particularly hard because I've never disappointed anyone before :P

</comment></comment></comment></comment><comment><USER58> How is an acceptable use policy even relevant to the developer of this application? Its the users of the app who would be breaking the policy. At worst they can argue that he broke it while developing it... so they can go ahead and shut down his Slack account. Totally fair.

Change the name, obviously. But fuck these companies like Slack who think they run the world and that gives them the power to control what code you run on your computer.

<comment><USER59> IANAL but there's case law around maliciously causing a breach of contract.

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

<comment><USER58> IANAL either, but it seems like that only applies in the case of malicious action on behalf of the accused toward the contract signatory; essentially coercion.

</comment></comment></comment><comment><USER13> We ran into this when we launched AtomicSlack, a digest summary tool for Slack groups.

Yet another reason I stay away from Slack.

</comment><comment><USER60> If someone made a Chrome extension which enhanced our users experience of SabreCMS I'd send them a wholehearted thankyou and probably try to hire them.

</comment><comment><USER22> _except to the extent such restrictions are prohibited by applicable law_

...and here is the key. AFAIK reverse-engineering for interoperability is protected in the EU. IANAL.

As a long-time user (and developer) of web filtering proxies and related software, I also say you should fight this, because it otherwise sets a bad precedent.

Viewing the source code of a webpage is not a crime, nor is changing bits in the memory of the hardware _you_ own.

Also, I know it's too late for that now, but sometimes it's better to be pseudoanonymous when releasing software that you think is somewhat in the gray area.

</comment><comment><USER61> OP: since Slack is saying they own the execution environment running in your browser, send them a hosting bill for running their application in your computers. Multiply it times every user on your instance.

<comment><AUTHOR> lol, wouldn't it be funny?

</comment></comment><comment><USER62> So I don't live in the USA. Can I fork it, rename it, and release it?

<comment><USER63> It is on Github [1]

[1] - [https://github.com/g3rv4/BetterSlack](https://github.com/g3rv4/BetterSlack)

</comment></comment><comment><USER64> Folks, use IRC, XMPP, Matrix, etc. Using proprietary protocols is _dumb_.

<comment><USER65> I worked at a medium-sized company during the transition from IRC to Slack. The problem the company had was a split in comms networks. There was a lack of will on the part of engineers to move to GChat, and non-engineers were unwilling to respond/engage on IRC. Marketing, Sales, and Admin were using GChat, while engineering used IRC. Getting everyone on the same comms platform was a major improvement. I'm not saying it's ideal, but it wasn't _dumb_.

<comment><USER66> I worked at Cisco, who had their own awful IM client. Our team used Hangouts instead with great success.

Company-wide conferences were a ball-ache. The corporate solution didn't mute by default, so with 40000 people in a conf it devolved into a "TURN YOUR MIC OFF" shouting match for the first 10 minutes.

<comment><USER67> The more frightening thing is that Cisco (presumably as developer of the client?) couldn't change the defaults to solve one of their own problems.

<comment><USER66> Can't remember, it was a while ago. I will say that anybody who knows what Blizzard is will know how bad their IM was.

</comment></comment></comment></comment></comment><comment><USER68> I just release a similar extension that I'd love feedback on [https://news.ycombinator.com/item?id=17877737](https://news.ycombinator.com/item?id=17877737)

It's focused on simplifying Slack's interface so that it's easier to focus. It also only uses CSS and doesn't interact with Slack at all, so it is not against their terms of service.

</comment><comment><USER69> I got into a similar pickle recently and did some press about it: [http://www.thoroughbreddailynews.com/getting-from-cease- and-...](http://www.thoroughbreddailynews.com/getting-from-cease-and-desist- to-come-work-with-us/)

I'm also working on a Chrome Extension that modifies the functionality of a website, but this is giving me second thoughts.

</comment><comment><USER70> All they can do is threaten or terminate your access. And even that is debatable. If I create a new browser with BetterStack as one of its features are they going to mandate which browsers I use? What monetary or image damage can they prove? None.

I hope not, but one could argue that the adage that a quality of a product reflects the company that makes is indeed true...

</comment><comment><USER71> Slack desktop app is Electron, right?

This might be a stupid question (it's been downvoted before), but can a user run chrome extensions within Electron apps? Or a debugger?

If not, could a simple website wrapper electron app therefore be much more favourable for a company to run whatever scripts, tracking, and adverts than the same website?

Can the same be said for Progressive Web Apps for mobile?

<comment><AUTHOR> I was able to attach a debugger on any app that I've tried.

I'll share how to do it in an upcoming blogpost... all you need is asar and open the debugger after a reasonable timeout.

</comment></comment><comment><USER72> >The project already has forks. There's no stopping it.

Slack died for me when they stopped IRC and XMPP and used a BS excuse for it.

</comment><comment><USER73> I would write back to them very politely, something like this:

Hello,

Thank you for your email. I initially reacted by pulling the extension, in fear of possible legal consequences. But on reflection I would like to propose a better solution.

There are hundreds of extensions that customise websites, in many cases to help 'power users', or to assist people with accessibility problems not provided for by the websites themselves. These extensions are often made by the websites' most avid users. A great example is the Refined GitHub extension, which GitHub itself has embraced as a proving ground and source of inspiration for new official features. [1][2]

That said, it is of course vital that people understand that such extensions are unofficial, and that they are unsupported and not endorsed by the website owner.

I would like to notify you of my intent to republish my extension with the changes outlined below, which I hope will satisfy your concerns.

• New extension title: "BetterSlack: Unofficial customizations for Slack"

• Modify store description to include an explicit warning that installation and use of the extension is at your own risk, and is not endorsed in any way by Slack, and that Slack offers no support for it.

In the interests of transparency I will publish all of our correspondence on my blog, as I think this is an important issue of interest to the wider community concerning the rights of individuals to control their own computers and customise their own experiences.

Best regards,

...

[1] [https://github.com/sindresorhus/refined- github/issues/1469](https://github.com/sindresorhus/refined- github/issues/1469) [2] [https://blog.github.com/2018-08-28-announcing-paper- cuts/](https://blog.github.com/2018-08-28-announcing-paper-cuts/)

</comment><comment><USER74> There are already 3rd party Slack clients ( [https://github.com/wee-slack/wee- slack](https://github.com/wee-slack/wee-slack) [https://github.com/bkanber/Slackadaisical](https://github.com/bkanber/Slackadaisical) [https://github.com/evanyeung/terminal- slack](https://github.com/evanyeung/terminal-slack) ). Using the same approach as them would let you have more control.

OTOH, like someone else said, please contribute to improving riot/matrix instead.

</comment><comment><USER75> I totally agree you should conform to their request - remove the extension from the store(s?) and remove Slack from the name.

That said, if you can keep the code on GitHub, then everyone can download the zip and load the unpacked extension - you could even go one up and create a (shell?) script with a cron job that checks the diff e.g. once per day and updates the unpacked extension. With our without the script, there's a slight overhead for the end user, but as long as benefits outweigh the overhead, people will use it and everyone will be happy (or at least, not be able to do anything about it :D )

</comment><comment><USER76> When you're spending more time/money sending cease and desist to people trying to make your product better than _actually making your product better_, you need to re-evaluate your priorities as a business.

</comment><comment><USER77> really cool approach by slack. create an environment to look nice to open source community, and make it a commercial, and then close itself to open source. great job slack!

</comment><comment><USER78> Using slack was your first mistake.

</comment><comment><USER79> If you want to make a better version of Slack, go all the way.

</comment><comment> yoz-y After reading this I am quite glad that we made the decision to leave Slack in our company. Moves like these seem either desperate or disconnected from reality to me.

</comment><comment><USER80> Hmm. Can website acceptable use policies really prevent you from distributing/using browser extensions?

Do we really not control our own browsers anymore?

<comment><USER81> I highly doubt it, particularly in the absence of any legal precedence.. I'm vaguely aware of a couple cases where EUAs were enforced, but I believe they were in the context of avoiding monetary compensation.

</comment></comment><comment><USER82> As a riot.im user, I hope it will become a bigger player in the open source space, I am a bit sick of slack for various reasons.

<comment><USER83> Just out of curiosity, why riot.im out of all the open source alternatives to Slack and similar tools?

<comment><USER82> Because of the matrix.org foundations.

</comment></comment></comment><comment><USER84> Not much ground for them to stand on on the first point. Any chrome extension does exactly the same thing they complain about.

</comment><comment><USER85> Mirror of the extension: [https://my.mixtape.moe/byutfi.crx](https://my.mixtape.moe/byutfi.crx) I hate censorship. This isn't any kind of illegal (though the name I can understand, if not agree with). Hopefully Slack recants for being a bunch of twitbrains.

</comment><comment><USER86> Could Slack just defend against people doing this? Similar to how companies defend against Ad Blockers, Password Managers etc? Those also allow you to modify/tamper with elements, hide annoying things etc. Do you join lerna and block everyone now?

I could agree with the name change, even if to not stir up a hornet's nest

<comment><USER87> Much quicker to have the legal team fire off the standard email threat than get the dev team to reverse-engineer the extension and block it (if this wasn't just an automated email).

</comment></comment><comment><USER88> Has anything like this ever been hashed out in court?

I'm curious where the line is from a legal perspective? Ad blocker (purposely deny some scripts from running)? Custom user styling? User scripts (greasemonkey/tamper monkey etc), browser "reader views"? Accessibility tools? The browser dev tools?

</comment><comment><USER89> I've been working on and off on a native macOS slack client. It's showing some promise in terms of speed, RAM usage, it looks prettier because it can use system blurs etc. But yeah i also worry about their lawyers. So i probably won't finish it. Pity.

</comment><comment><USER90> That's unfortunate, the only feedback I'd have for the creator who did a lot of good and with good intentions too I believe, is to pick a different, less "confrontational" name when doing stuff like this. Slack is now just being defensive.

</comment><comment><USER91> That's ridiculous. It's your browser running your extension, you're interacting with Slack in a way they allow (downloading their HTML and JS and talking to whatever internal API they use). How in the world they can prevent you from doing that?

</comment><comment><USER92> Why Slack? Why are their services used by anybody? It is like IRC never happened.

I have been on a couple of projects that used Slack and AFAICT there is nothing in their service that accounts for them being a hugely successful business.

</comment><comment><USER93> I could hardly understand why do people use Slack at all. Once I've read the BetterSlack features list I've came up wit the idea that perhaps it could make Slack useful and I might re-visit it. Such a waste.

</comment><comment><USER94> This is why you shouldn't use non-free software.

Also reverse engineering for the purposes of compatibility is nominally legal in the USA, but like every other so-called right it's pay to play.

</comment><comment><USER95> That is sad! My condolences. That was a very well written letter from Slack and I completely agree with them, but unfortunate for BetterSlack nonetheless. Always room to pivot!

</comment><comment><USER96> > It is okay to be descriptive about what your product does, but we prefer > that you do not include the word "Slack" in your product's name.

How about BetterSlacker? Or some synonym of Slack.

</comment><comment><USER97> Personally, I'd change the name and either not respond to them or send a "8====><comment>~" in response and continue.

(Maybe change the name to "somewhat less abjectly shitty 90s chat monolith")

</comment></comment><comment><USER98> This is such a big shame, especially since the native Slack app is consuming such a lot of processor and battery power and it runs much more efficiently in the browser!

</comment><comment><USER99> There are tons of hosted alteratives to Slack, a good one is mattermost. Why bother with slack? It is better to say Bye Bye Slack.

</comment><comment><USER86> I personally would 100% ignore their letter. Create an LLC, change the name, as you should. But always, always hack the planet.

</comment><comment><USER61> Note to self: never use Slack for anything, ever. Way to go Slack legal dude, you've lost me and my companies as a customer.

</comment><comment><USER100> If this threat is legally valid, doesn't that mean all adblockers/tracker blockers could be made illegal?

</comment><comment><USER101> When you read these bully letters you see the real, rotten soul of these callous companies.

</comment><comment><USER102> And this is why I have private mattermost servers running - I can do whatever I want.

</comment><comment><USER103> guys! IRC still works!

</comment><comment><USER104> Build protocols - not platforms

</comment><comment><USER105> Super polite legal notice tho!

</comment><comment><USER106> Maybe MoreoftheSameSlack.

</comment><comment><USER107> I hate these emails. Why do corporations have to be so heavy handed? How about just a nice message explaining the problem and possible solutions. Love to read about something like that! I now hope someone keeps slack's legal department busy. The product sucks anyways. It was down yesterday and it's a poor excuse for a reliable chat platform.</comment>


The unexpected upside of nuclear bomb tests - <AUTHOR> http://www.salon.com/env/feature/2008/08/31/christmas_island/index.html?source=rss&aim=/env/feature

<comment><USER2> Does anyone have solid numbers on the overall level of background radiation in the environment (air, drinking water, etc) over time? A short search and I found this fascinating site that shows (at least for the various types of radiation I queried (tritium, iodine, all alpha, all beta) that over the past 40 years levels have been steadily declining.

[http://oaspub.epa.gov/enviro/erams_query.simple_output?Lloca...](http://oaspub.epa.gov/enviro/erams_query.simple_output?Llocation=City&subloc=BERKELEY%2CCA&media=AIR&radi=Gross+Beta&Fromyear=1960&Toyear=2007&units=SI)

<comment><USER3> Does this help you?: <http://www.world-nuclear.org/info/inf05.htm>

_Most radiation exposure is from natural sources. These include: radioactivity in rocks and soil of the earth's crust; radon, a radioactive gas from the earth and present in the air; and cosmic radiation. About one quarter of natural radiation comes from the human body itself. The human environment has always been radioactive and accounts for up to 85% of the annual human radiation dose.

Radiation arising from human activities typically accounts for up to 25% of the public's exposure every year. This radiation is no different from natural radiation except that it can be controlled. X-rays and other medical procedures account for most exposure from this quarter. The rest comes from coal burning, appliances, and other industrial and research procedures.

Less than 1% of exposure is due to the fallout from past testing of nuclear weapons or the generation of electricity in nuclear, as well as coal and geothermal power plants._

That link includes a table of background-radiation by nation in millisieverts (mSv).

</comment></comment><comment><USER4> Similarly, the DMZ between North and South Korea has become a habitat for wildlife:

Endangered plants and animals have thrived. The Asiatic black bear, leopard, Eurasian lynx, and Goral sheep have made a comeback, and perhaps even the very rare Amur tiger - which some US soldiers say has been captured on video by surveillance teams. Many migratory birds, including the white-naped and red- crowned cranes and the black-faced spoonbill have made their homes in the DMZ. Environmentalists say over 1,100 plant species and mammal species exist in this wildlife sanctuary.

[http://www.guardian.co.uk/environment/2008/jun/20/conservati...](http://www.guardian.co.uk/environment/2008/jun/20/conservation.wildlife)

</comment><comment><USER5> I propose that YC have a third session each year. On Christmas Island.</comment>