A lighter V8 - <AUTHOR> https://v8.dev/blog/v8-lite <comment><USER2> One of the interesting aspects of benchmarks is that they are usually designed and intended to run in isolation. E.g. if you benchmark a database system, you expect that to be the sole system running on your server machine, in control of all resources.

That's not true of software running on desktop systems or mobile phones - desktops usually run many concurrent tasks, so do phones to some degree, and then there's also the question of battery use.

That can create skewed incentives if the benchmark isn't carefully designed. E.g. you can usually make space/time tradeoffs regarding performance, so if your benchmark is solely measuring CPU time, it pays off to gobble up all possible RAM for even minor benefits. If your benchmark is only measuring wallclock time, it pays off to gobble up all the CPUs, even if the actual speedup from that is minor.

This can lead to software "winning" the benchmark with improvements that are actually detrimental to the performance on end user's systems.

<comment><USER3> Aside: Chromium includes regression tests for battery usage.

I saw a fix get reverted because the code change caused a 5% step increase in battery usage.

They have some very good testing infrastructure.

<comment><USER4> How do they test this?

<comment><USER5> this commit[0] might be what's referenced, and this[1] looks to be the test that Google runs (not sure if this is ran in CI, or only done anecdotally for when performance tests[2] show issues).

0: [https://github.com/chromium/chromium/commit/208f274e4bcb5174...](https://github.com/chromium/chromium/commit/208f274e4bcb51748bba83071aa70011ceafa385)

1: [https://chromium.googlesource.com/chromiumos/third_party/aut...](https://chromium.googlesource.com/chromiumos/third_party/autotest/+/refs/heads/master/client/site_tests/power_LoadTest/README.md)

2: [https://chromeperf.appspot.com/](https://chromeperf.appspot.com/)

<comment><USER6> Never heard of [1] before. Impressive stuff.

</comment></comment></comment></comment></comment><comment><USER7> When I saw the title of this article, I got really excited because I thought they were referring to a lighter "build".

IMHO, one of the biggest problems facing v8 right now is the build process. You need to download something like 30 gigs of artifacts, and building on windows is difficult - to say the least.

It's bad enough that the trusted postgres extension plv8 is considering changing it's name to pljs and switching engines to something like QuickJS. [0]

One of the driving factors is that building and distributing v8 as a shared lib as part of a distro is incredibly difficult, and increasing numbers of distros are dropping it. This has downstream effects for anyone (like plv8) that are linking to it.[1]

Also, embedding it is super complex. Referenced in the above conversation is a discussion that NodeJS had to create their own build process for v8. At this point, it's easier to user the NodeJS build process and use the Node v8 API than it is to use v8 directly.

At the beginning of the article, they are talking about building a "v8 light" for embedded application purposes, which was pretty exciting to me, then they diverged and focused on memory optimization that's useful for all v8. This is great work, no doubt, but as the most popular and well tested JavaScript engine, I'd love to see a focus on ease of building and embedding.

0: [https://github.com/plv8/plv8/issues/364](https://github.com/plv8/plv8/issues/364)

1: [https://github.com/plv8/plv8/issues/308#issuecomment-4347400...](https://github.com/plv8/plv8/issues/308#issuecomment-434740000)

<comment><USER8> Meanwhile integrating Lua is as simple as just dropping in a few c files...

<comment><USER9> As is duktape if you for some reason you need it to be JavaScript.

<comment><USER10> I thought the word "duktape" was typo+snark. It's not. 100% legit, thanks!

[https://github.com/svaarala/duktape](https://github.com/svaarala/duktape)

<comment><USER9> Sorry, I probably should have linked to it.

The embedded API is really easy to make use of, and I'd say it's reached production-level stability now.

I've only had to use it on tiny hardware though, so your experience may differ.

</comment></comment></comment></comment></comment><comment><USER11> The most recent version of chrome has made having a breakpoint a painful affair.

* The browser becomes completely unresponsive, each time you hit a breakpoint for 3-5 seconds.

* It also takes chrome much longer to show you the source maps for a page

* If you refresh while on a breakpoint it will remain unresponsive for nearly 10 seconds.

Is this related to these new changes? Is there a way to revert the trade off?

<comment><USER12> > * If you refresh while on a breakpoint it will remain unresponsive for > nearly 10 seconds.

Glad to hear I'm not alone in experiencing this. For a period, I thought I had written bad code that caused Chrome to stumble. Guess it's just Chrome.

<comment><USER13> Can you please file a bug report on crbug.com?

<comment><USER14> How are Chrome devs themselves not experiencing this? I've experienced it too...

<comment><USER15> It's easy to conceptualize a configuration or use case that's common to the people reporting a bug that's not being used by the developers or in their QA process. It's not uncommon.

</comment></comment></comment></comment></comment><comment><USER16> I think Firefox went through something similar many many years ago, a Project called MemShrink started after many user were complaining how Firefox were getting slower and bloated with Firefox 3 - 4* if I remember correctly.

It was Memory optimisation in every part of Firefox and mostly in SpiderMonkey.

<comment><USER17> I think Firefox needs another MemShrink initiative. After Electrolysis / e10 - at least in my experience - the browser uses more memory over time than Chrome.

<comment><USER18> I tolerate (apparently) a 6G memory leak with 50+ tabs and Tree Style Tabs. It was much faster when Mozilla accidentally remotely disabled extensions for a weekend.

</comment></comment></comment><comment><USER19> Great engineering stuff. I am consistently amazed by the work of V8 team.

I hope V8 v7.8 makes it to Node v12 before its LTS release in coming October.

</comment><comment><USER20> Somewhat off topic but this Lite version made me think of something.

Is there any engine/browser mode/something that lets go of legacy JS/CSS/HTML and increases performance/weight/memory consumption?

A browser/JS engine with removed legacy support would in principle be much faster, no?

<comment><USER21> Sciter is maybe close:

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

It allows you to make desktop apps with HTML/CSS, but it has its own custom engine that doesn't support all the quirks the web does.

<comment><USER22> This looks interesting but the code samples look like they include non- standard features (if I'm not mistaken).

Is this compatible out of the box with (most) modern web apps? Because that's the real value of Electron.

<comment><USER20> > _Is this compatible out of the box with (most) modern web apps? Because that > 's the real value of Electron._

No it's not. It uses its own JS-like scripting language, and custom CSS 3 support.

A couple of months ago the author suggested on Reddit he might start working on an Electron alternative that used Node + Sciter.

[https://www.reddit.com/r/programming/comments/a8vkzm/scitern...](https://www.reddit.com/r/programming/comments/a8vkzm/sciternode_as_an_alternative_to_electron/ece54af/)

</comment></comment></comment></comment><comment><USER23> It is rather interesting to me to see that V8 has been packing so many micro- optimizations and special techniques over the years that now it has become actually feasible to just start cutting back on the optimizations to have performance gains.

What all this enables is, beside having more sensible defaults, is the ability for developers who use V8 with Electron or NW.js to tweak the default behavior of the engine, catering to their application's needs. That is always good.

<comment><USER24> That's not what I took away from this at all. They specifically say that Lite mode started out as a way to reduce memory consumption at the cost of performance. Execution time jumped 120%!

Then they figured out how to get the memory improvements without the performance hit. The only place where they actually removed optimizations was in generating stack traces, and that wasn't a gain in performance, it was just considered acceptable for that to get slower.

</comment></comment><comment><USER25> Someone needs to add some heavy complexity to ACID4 so there's a solid baseline for tests.

They should have ACID sub-tests for images, videos, etc so these statistics would actually provide something long term and important.

</comment><comment><USER26> Is there any reason there couldn't be a python interpreter as awesome as V8 is for JavaScript?

<comment> rudi-c I did some work on a Python JIT in the path. The two biggest challenges were:

\- Python is much, much, more dynamic than Javascript. You can override just about anything in Python, including the meaning of accessing a property. You have overloaded operators (with pretty complex resolution rules), metaclasses, and more. And they're all used extensively. There's some Javascript equivalents to those things, but either there are fewer deoptimization cases or are features that aren't commonly used in practice (e.g. Proxy objects).

\- Python has a ton of important libraries implemented as C extensions. These libraries tend to depend on undefined behavior of the CPython interpreter (e.g. destruction order which is more deterministic with ref counting) or do things that happen to work but are clearly not supposed to be done (e.g. defining a full Python object as a static variable).

I guess also economic incentives, there hasn't been an incentive for anybody to staff a 50 person project to build a Python JIT given that it's cheaper to rewrite some or all of the application in C/C++/Rust/Go whereas that's not an option in Javascriptland.

<comment><USER27> I completely agree with you and I'd argue that #2 and #3 are the two biggest reasons.

It is easy to forget the colossal amount of engineering resources that browser vendors have spent creating and rewriting their Javascript engines. And due to the nature of how their JITs work, all that work is tied down to the specific Javascript environment they were written for. (For example, you can't really reuse the v8 codebase to create a Python JIT)

And in Python's case a lot of the appeal of the language rests on the extensive library ecosystem, which has a significant number of extensions written in C. Generally speaking JIT compilers aren't very good at optimizing code that spends a lot of time inside or interacting with C extensions, even if we ignore the significant issues you mentioned regarding undefined behavior.

<comment><USER28> Why is javascript slower than Java despite being both garbage collected and v8 having more engeeners than e.g openjdk?

<comment><USER29> A couple obvious reasons would be compiled vs interpreted, and static vs dynamic, both of which bear some inherit runtime performance cost.

<comment><USER30> Compiled vs interpreted is not a useful distinction. Until fairly recently when Ignition was introduced, V8 had no interpreter. All the JS was compiled by the first tier "full codegen"

The bigger difference is that the JVM is heavily optimized for performance after a long warmup and V8 needs to produce relatively fast code early during page loading.

Java being much more static certainly helps warmup time but ultimately doesn't really affect final performance. LuaJIT can beat C in some cases once it has time to compile all traces needed.

<comment><USER28> _V8 needs to produce relatively fast code early during page loading_ So for e.g backend js programs is it possible to ask v8 to take more time to optimize?

<comment><USER31> Why would would you want it to take longer to optimize?

<comment><USER28> To get more time to generate betten codegen so a faster program (but slower "launch time")

<comment><USER31> Most VMs will recompile long-running hot code; I'd assume V8 does this as well.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER32> This is some cool shit!

I don't know how V8 and JSC compare on memory but I'm happy for this to become a battleground. Nothing but goodness for users if that happens.

(Worth noting that JSC has had a "mini mode" for a while, but it's focused on API clients. And I don't know if it's as aggressive as what V8 did.)

<comment><USER33> I can't speak to JSC, but at least SpiderMonkey has had memory optimizations that are equivalent to the ones described here (e.g. discarding cold-function bytecode) for a while... I agree that it would be interesting to have more competition, including more measurement, in this space.

<comment><USER32> I would love a memory usage benchmark battle. :-)

JS is way faster than it was before the JS perf wars. Let's do it again. Then lets fight over power!

<comment><USER34> Old Carakan (Opera Presto) would win hands down. That browser was using ~1GB with 500 heavy active tabs loaded.

</comment></comment></comment></comment><comment><USER35> Somewhat off-topic, but is there an RSS feed available for the V8 blog? Their posts are always interesting to me, but I've searched a few times with no luck.

<comment><USER36> Here you go: [https://v8.dev/blog.atom](https://v8.dev/blog.atom)

(found through the <link> tag on the blog)

</comment></comment><comment> non-entity I wonder if something like this could be used to build an electron alternative (or modify the existing electron backend to use this engine), since memory usage is a major complaint for these applications

<comment><USER37> Well... Electron is powered by Chromium, but uses NodeJS which is based off of V8, V8 is also the default JS engine for Chromium. So in theory, it would benefit Electron directly, not sure why anybody would waste the engineering efforts to recreate Electron if these changes will find their way on Electron.

Edit: Didn't mean to make it sound personal on my second paragraph, but the rest of what I wrote still applies with the context of the article and the comment made.

<comment> non-entity Dear lord people are getting pointlessly defensive and aggressive. Obviously this article is not referencing the full V8 engine, but a light version that may or may not make it into Chromium

You might want to re-read the HN guidelines

> When disagreeing, please reply to the argument instead of calling names. > "That is idiotic; 1 + 1 is 2, not 3" can be shortened to "1 + 1 is 2, not > 3."

<comment><USER38> Ok, but please don't respond to a bad comment by breaking the guidelines yourself, as in the first sentence above. I realize it's hard to do when someone has replied to you with a provocative swipe, but it's even more necessary in such cases.

</comment></comment></comment></comment><comment><USER39> > If you prefer watching a presentation over reading articles, then enjoy the > video below! If not, skip the video and read on.

This is OT, but I think we can design a format with the best of both worlds. We can have the personal and narrated quality of videos/voiceovers, along with the skimmable/scannable/interactive quality of web content.

<comment><USER40> I agree, having a transcript of a video is very useful. I've done that with some of my own and other people's videos.

It takes a lot less time to skim over an illustrated transcript than to watch a video, and it lets the readers decide if they're interested enough in actually taking the time to watch the video. Plus it's search engine friendly, and lets you add more links and additional material.

I loved the body language in this classic Steve Jobs video so much that I was compelled to write a transcript with screen snapshots focusing on and transcribing all of his gestures (in parens). After reading the transcript, it's still interesting to watch the video, after you know what body language to look for!

"Focusing is about saying no." -Steve Jobs, WWDC '97 As sad as it was, Steve Jobs was right to "put a bullet in OpenDoc's head". Jobs explained (and performed) his side of the story in this fascinating and classic WWDC'97 video: "Focusing is about saying no."

[https://medium.com/@donhopkins/focusing-is-about-saying- no-s...](https://medium.com/@donhopkins/focusing-is-about-saying-no-steve- jobs-wwdc-97-ff0174c171d0)

</comment></comment><comment><USER41> This is a little off-topic, but I find the terminology used in software these days to be a little perplexing. Is "small", a perfectly adequate word to describe less memory usage, not buzzwordy/trendy enough?

"light" or "heavy" just reminds me of that classic story about the weight of software.

<comment><USER42> It's been common for a long time to refer to software as "lightweight", though maybe not specifically "light".

If the title said "A smaller V8", I'd probably assume it referred to the size of the binary on disk,

</comment></comment><comment><USER43> Why not allow the runtime to call the garbage collector (GC)? The GC is very lazy by default, it should be possible to make it collect _all_ garbage. Currently v8 will just let the garbage grow because the GC is so lazy.

</comment><comment><USER44> Probably should be re-titled to match the post as people are getting confused by the reference to V8 lite, which this post isn't directly about.

> _However, in the process of this work, we realized that many of the memory > optimizations we had made for this Lite mode could be brought over to > regular V8 thereby benefiting all users of V8._

> _...we could achieve most of the memory savings of Lite mode with none of > the performance impact by making V8 lazier._

<comment><USER38> Yes, the submitted title ("V8 lite (22% memory savings)") broke the site guideline which asks: " _Please use the original title, unless it is misleading or linkbait; don 't editorialize._"

Doing this tends to skew discussions enormously, so please follow the guidelines!

</comment></comment><comment><USER45> I hoped this would be about this:

[https://grassrootsmotorsports.com/forum/grm/lightweight-v8-e...](https://grassrootsmotorsports.com/forum/grm/lightweight-v8-engines/153797/page1/)

</comment><comment><USER46> This is great, but because you have achieved memory reduction by trading off speed, it would be nice to see charts that show processing time increases too.

<comment><USER19> > Lite mode launched in V8 version 7.3 and provides a 22% reduction in typical > web page heap size compared to V8 version 7.1 by disabling code > optimization, not allocating feedback vectors and performed aging of seldom > executed bytecode (described below). This is a nice result for those > applications that explicitly want to trade off performance for better memory > usage. However in the process of doing this work we realized that we could > achieve most of the memory savings of Lite mode with none of the performance > impact by making V8 lazier.

Copied from article

<comment><USER47> I don't know about "none". Updating the age of the compiled representation of a function on every function entrance doesn't strike me as cost-free. At a minimum that's a store.

<comment><USER48> Bytecode aging actually existed already for other reasons (expiring code caches).</comment></comment></comment></comment>


Interstellar: What the movie gets wrong about black holes, relativity, and plot - <AUTHOR> http://www.slate.com/articles/health_and_science/space_20/2014/11/interstellar_science_review_the_movie_s_black_holes_wormholes_relativity.html

<comment><USER2> Everything in that movie is a joke. But the jokes in the movie were good.

<comment><AUTHOR> Even though I liked the article it didn't mean I didn't like the movie. I think Interstellar is a better movie than most films because at least they tried to incorporate some true science into it (as opposed to 100% wrong movies like armageddon, sunshine, etc). So Nolan, Kipp, et al definitely do get the credit for that!

<comment><USER2> It's not real science because what I saw was a person going into blackhole and still being alive. This movie is not even 30% of what Inception was.

<comment><USER3> That scene was obviously not trying to be rigidly scientific. Either he died and what followed was his death dream, or the hyper advanced civilization that can control gravity manipulated the black hole so he could survive. Technology looks like magic to the unknowing.</comment></comment></comment></comment>


What's the most popular Ruby standard library? - <AUTHOR> http://omniref.com/blog/blog/2014/07/23/whats-the-most-used-ruby-library/

<comment><USER2> I'm really impressed by test_unit hitting #2. Most people who wander off into ruby bring back their TDD enthusiasm to the other languages they use. That's quite an impact for the entire industry when you think about it. Kudos to all involved for that :)

<comment><USER3> I wouldn't read that much into it. That will get pulled in as a dep for most packages, including Rails.

<comment><AUTHOR> It's one of the most frequently required libraries in individual files, too. So it's bigger than just being a dependency that's required by rails.

</comment></comment></comment><comment><USER4> Nice write-up. I find this sort of thing fascinating. When are you guys thinking of tackling more languages? Maybe something that lends itself to static analysis a bit more?

Also how long did that regex take to run on 5.0e8 lines of ruby?

<comment><USER5> About 2 hours. The regex is IO bound, on a text column with 87GB + 68GB postgres toast. It's on a new 1TB 3k iops EC2/EBS ssd volume, which seems to be able to sustain about 20MB/s.

<comment><USER6> 20MB/sec is pretty dreadful, and 2 hours is not timely for that quantity of data.

I'm guessing you're paying a high price for the convenience of using a database? The kind of query you did, I'd run using grep on the command line source, possibly combined with a summarizing program written in Ruby.

<comment><USER5> I love the power of the unix shell. find | cat | grep would get the job done just as well if you had all the source in an accessible file tree, but I don't think you'd see any performance increase as the bottleneck is still random reads from EBS.

The single 3k iops EBS volume being used delivers a max theoretical speed of 24MB/s with 8k pages. I'm fine living with 20MB/s in practice.

In fact, postgres does inline (de)compression and optimizes for sequential reads, so it's likely the shell would be slower for this workload given the apples to oranges characteristics. I'd love to see any performance tests making this sort of comparison, they're always educational.

</comment></comment></comment></comment><comment><USER7> If I'm not mistaken, requiring the "date" stdlib wasn't required until Ruby 1.9, so that might account for its low spot on the list. I'm not sure but the same might be true for "time".

<comment><AUTHOR> Good point. You can definitely instantiate a Time instance without requiring anything:

[https://www.omniref.com/ruby/2.1.2/symbols/Time#annotation=1...](https://www.omniref.com/ruby/2.1.2/symbols/Time#annotation=115&line=5)

<comment><USER8> Clarifying (since I think your post is easy to misinterpret if someone does not follow the link): The Time class is part of core ruby. Requiring time from stdlib adds some additional methods. Thus it is not necessary to require time to use the Time class, but requiring time _does_ add additional functionality.

</comment></comment></comment><comment><USER9> Very interesting. I'm now wondering if Travis CI is collecting any code usage statistics? I'd imagine that they would have a more application-centric view on the rubygems ecosystem. Also, since they are actually executing code, they could potentially collect data on constants and method calls, I believe.

</comment><comment><USER10> I think the title is a tad bit misleading, I saw this and immediately thought "Why would anyone even ask? It's obviously rails" then I checked the link and saw that they meant the __Standard __Library.

<comment><USER11> Thanks for pointing that out. We added "standard" to the title.</comment></comment>


Show HN: Chrome Extensions Archive (158k extensions archived) - <AUTHOR> https://crx.dam.io/ <comment><AUTHOR> I'm improving it but would love if others people want to take on big projects with it (source code search, alternative to the chrome web store, automated Firefox web-extension conversion (already did a working version))

PS: repost was suggested by an official HN email, thanks HN for the nice touch

</comment><comment><USER2> Very cool to see my own extensions indexed there.

I have an obfuscated closed-source extension that I accidentally released with source maps in early versions. Guess I'll have to be more careful next time.

</comment><comment><USER3> I like the idea but are you worried at all about getting take down requests?

<comment><AUTHOR> I get take down requests everyday, mostly non-serious ones, here's the list of extension who asked to be removed: [https://github.com/mdamien/chrome- extensions-archive/blob/ma...](https://github.com/mdamien/chrome-extensions- archive/blob/master/removal_requests.py)</comment></comment>


Ask HN: How do you keep track of your network? - <AUTHOR> As I meet more and more people I'm looking for a way to keep track of things I know about people so that I can stay in touch with them and stay more personal, but I don't have the best memory.<p>Do you use any tools/ methods for keeping track of everyone you want to stay in touch with?  Of course I use LinkedIn and Facebook, but those don't let me say "Remember, Ryan is working at Yelp, is great at design, and has a cat named Tum-tum". <comment><USER2> Once you've made someone a 1st degree connection on LinkedIn you can add a note to their profile [0]. You can either expand the same note in the future or keep adding new ones.

Otherwise, you cannot beat a good old spreadsheet on google docs or local machine. (LI allows contact export) That way when you are looking for a new gig, you can create a new sheet with all your contacts and outline your applications plan with warm leads.

[0] [https://www.linkedin.com/help/linkedin/answer/43370/adding-n...](https://www.linkedin.com/help/linkedin/answer/43370/adding- notes-to-a-contact?lang=en)

If I were you, I would use LinkedIn, and keep a 3 month old copy of their spreadsheet locally.

</comment><comment><USER3> This is your chance to overtake Facebook and create something better. I'm not using FB. Count me in when someone finishes the product.

I think there is a number, the maximum number of people someone can remember. or have as friends. Its about 150.

</comment><comment><USER4> don't be a douche. this is being a douche.</comment>


Why the failure of healthcare.gov is great news for engineers - <AUTHOR> http://blog.thinkful.com/post/64786784477/why-the-failure-of-healthcare-gov-is-great-news-for

<comment><USER2> Hopefully _Learn to Code_ does help to show that it is hard to get right and that if you think you can pull off the same thing by just taking some 8 week class your project will probably suffer the same fate.

</comment><comment><USER3> It's unfortunate that the failures of engineering garner so much more attention than the everyday victories, though it isn't surprising that people expect things to "just work".

</comment><comment><USER4> Someone should start a company "Tech Surge"

Surprisingly the domain was registered 14 years ago.</comment>


Ask HN: Why does every country have its own antivirus software? - <AUTHOR> Does this mean governments don't trust antivirus software from other countries? Is there any proof of antivirus companies being involved in malicious activities/spying?<p>https://en.wikipedia.org/wiki/Comparison_of_antivirus_software <comment><USER2> Every? Scanning them quickly, I count less than 20 different countries.

A better question would be "why does Wikipedia explicitly list the country of origin for anti-virus software?" (It doesn't for word processors ([https://en.wikipedia.org/wiki/Comparison_of_word_processors](https://en.wikipedia.org/wiki/Comparison_of_word_processors)) or file archivers ([https://en.wikipedia.org/wiki/Comparison_of_file_archivers](https://en.wikipedia.org/wiki/Comparison_of_file_archivers)), for example)

Answer is that anti-virus software sits deep into your OS, by necessity, reads all your data, and typically also tries to read all your network traffic. That makes it an ideal place for intelligence agencies to put their software, and it likely is easier for country X's intelligence agency to coerce a company in X to help doing that.

The iOS category on that page is interesting, too, by the way: a discontinued on demand file scanner and two tools that offer "anti-theft" and "backup", both of which ship standard with iOS.

</comment><comment><USER3> If (IF) A/V software is compromised by the authors or a third party, it can have very wide and deep access to the computer or device. So it would be a priority for anyone wanting to overcome a network or endpoint defense to take over A/V. As to whether this is happening, read the allegations around a number of companies.

</comment><comment><USER4> Kaspersky

<comment><USER5> Adding a source [https://www.independent.co.uk/life-style/gadgets-and- tech/ne...](https://www.independent.co.uk/life-style/gadgets-and- tech/news/gchq-and-nsa-broke-antivirus-software-so-that-they-could-spy-on- people-leaks-indicate-10338488.html)</comment></comment>


Researchers created a test to determine which masks are the least effective - <AUTHOR> https://www.cnn.com/2020/08/08/us/duke-university-face-mask-test-trnd/index.html <comment><USER2> Actual study here:

[https://advances.sciencemag.org/content/early/2020/08/07/sci...](https://advances.sciencemag.org/content/early/2020/08/07/sciadv.abd3083)

Essentially the results are all in this image:

[https://advances.sciencemag.org/content/advances/early/2020/...](https://advances.sciencemag.org/content/advances/early/2020/08/07/sciadv.abd3083/F3.large.jpg?width=800&height=600&carousel=1)</comment>


Software was eating the world – now landlords are eating everything - <AUTHOR> https://medium.com/@sbuss/software-was-eating-the-world-now-landlords-are-eating-everything-e21ba6802f54 <comment><USER4> This is a very good point that I wish would get more attention: "Politics is an organizational problem, not a technological one.", "If we want to lower the cost of living, the cost of housing, the cost of doing business in the Bay Area, tech must get involved in politics."

People don't realize how conservative SF is: "The most innovative solutions don't matter when your government has been captured by interests that want to freeze the city in amber" SF won't even allow companies to put more buses on the road (something that would benefit everyone!)

This was news to me: "Support for More HOMES in San Francisco was even stronger, at 74%. Despite this popular support, every member of the San Francisco Board of Supervisors voted to oppose More HOMES, except for Asha Safai and Vallie Brown " It seems that politics in SF doesn't represent the majority view.

This is part of a much larger set of problems. As we continue into the future all the tech problems get solved or already have been solved. What we're left with is all the problems that can't be solved: those are all political. There will come a day when instead of starting software companies, we'll be starting companies that solve political problems.

<comment><USER5> The engineer personality profile is basically allergic to organizing. Too passive and introverted, or delusionally individualistic. Silicon Valley engineers see themselves as temporarily embarrassed hotshot entrepreneurs. The funny thing is to the extent engineers do organize it's usually leftist organization for the lower wage workers (tech workers coalition), which is noble but doesn't advance engineer goals. Police, teachers, doctors, all have political organization and therefore voice but tech workers cede that voice to their execs. I fantasize about changing that but I've come to accept the personality profiles of engineers make it an impossible problem.

<comment><USER6> I have goals. They pay me six figures, but I'm not on track to own a home within biking distance of the office, and as an individual, I can't move the office.

I don't get to control who owns my tech company, which means I don't get to decide what our superordinate goals are. I don't get to decide who our customers are. I don't get to decide the extent to which we participate in the Military-Industrial Complex, or the Prison-Industrial Complex, each of which threatened to destroy people like me.

Due to the constraints of office hours, my social development and creative passions are extruded through a meager four hours before sleep—most of which must be spent on trains, due to housing and transit limitations.

If you don't think tech workers are alienated, you're fooling yourself. It's industry-standars to "burn out" every 3 years, and flee toxic, stagnant positions for a fresh workplace. This tells me that firms are unaccommodating, and foist the risk of personal development on us as individuals. That refusal to accommodate us is precisely the inhumane factor fomenting alienation.

What you've "come to accept" is your own vitality's truncation.

Edit: people are downvoting me for saying "I can't afford to live near my work or my friends"? Or because they're in denial of Tech's complicity in Military- and Prison-Industrial atrocities?

<comment><USER7> I didn't downvote you for being dissatisfied with your circumstances. I downvoted you for whining whine refusing to take responsibility for your actions or take steps to improve the situation. There are cheaper places to live and work.

The harsh reality is that we need a military and prisons, and there's nothing inherently wrong with tech companies selling to those industries. While there are occasional excesses and even criminal acts, those are best dealt with through governmental channels.

<comment><USER6> These are mere justifications of the steps I'm taking.

You don't know what steps I'm taking.

You assume I'm taking none, but actually I am taking drastic, radical steps in light of these circumstances.

<comment><USER8> So domestic terrorism then?

<comment><USER6> No.

Edit: if you think worker-organizing to establish vehicles for collective bargaining is domestic terrorism, then: yes.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> "Choosing San Francisco in 2020 is like choosing Java in 2010... Proven, but makes it harder to do simple things and doesn't give you an advantage over incumbents"\- Balaji S. Srinivasan

[https://twitter.com/balajis/status/1149073637325979648](https://twitter.com/balajis/status/1149073637325979648)

<comment><USER10> Interestingly , he lives and works there.

<comment><USER11> Also interesting what he suggests as the alternative - <USER2> incorporation, configurable nation states, and fully-remote teams.

<comment><USER10> I am also a fan of his YC talk [https://m.youtube.com/watch?v=cOubCHLXT6A](https://m.youtube.com/watch?v=cOubCHLXT6A)

</comment></comment></comment></comment><comment><USER12> As someone who lived in the Bay Area and worked in SF for a while but moved out because I didn't like the mono-culture forming from being surrounded by virtually nothing but my own kind -- cry me a river VCs and early-stage startups.

Maybe spread-out beyond SF & the Valley? There's a whole big world out here.

I'm not a huge fan of excessive NIBMYism, but the industry's inability to take advantage of the entire rest of the world seems like a much easier problem to solve on all fronts, and yet everyone takes it as a first principle that everything must be done in this one place.

<comment><USER13> That's why I like living in Houston. Sure it's Texas but it's so much more diverse here than most cities. And the food is wonderful.

</comment></comment><comment><USER14> If the problem is that too much capital is flowing from productive investments, like tech, to unproductive land speculation then perhaps part of the solution is to capture part of that windfall gain through a land value tax [1], i.e. a tax on just the land and not the buildings, thereby reducing the speculative component from housing investment without reducing incentive to develop more housing stock.

[1] [https://en.m.wikipedia.org/wiki/Land_value_tax](https://en.m.wikipedia.org/wiki/Land_value_tax)

<comment><USER15> You're right that a LVT would help, but the existing regulations prevent people from actually redeveloping their land into more productive uses. When it's illegal to build apartments in over 70% of San Francisco, that's the first and lowest hanging fruit to pick.

<comment><USER14> I agree restrictive regulation are a major part of the problem. But LVT would have the effect of reducing prices even if stock were not increased, leaving rents unaffected.

<comment><USER16> LVT is illegal in California due to Prop 13, so you'd need a constitutional amendment to even consider it.

<comment><USER17> Well let's get one then. Is it really that hard to put it on the ballot every 2 years? Only needs to pass once to undo 40 years of damage.

<comment><USER18> I was born around the time prop 13 passed and it wasn't until I was in my twenties that I realized _why_ everything had been obviously built like an affluent society but crumbling due to lack of maintenance for as long as I'd been aware of it.

One memory in particular was when the San Diego Union Tribune ran a picture of new computers from one of those supermarket programs, sitting under a hole in the roof because the district had been underfunded on maintenance for three decades.

<comment><USER19> Building maintenace is the most readily glaring, but by far the worst aspect of prop 13 passing is how much school districts were and still are defunded. Untold damage to 40 years of students.

<comment><USER18> I'm also curious how it'll work for hiring new teachers: they're usually offered worse wages than the retiring boomers saw at the same point in their careers and the housing market is much worse.

<comment><USER20> It's working poorly.

All the school districts near me have chronic teacher shortages, and there's tremendous teacher turnover. Occasionally a teacher will go homeless before leaving for a district with lower cost of living.

A prominent neighborhood activist has switched from NIMBY to YIMBY because his wife was recruited on an emergency basis to teach high school English without a teaching certificate, and has been teaching for the past several years.

All the teachers I know of my age are living either with parents or with their parents' financial assistance.

The one mitigating factor is that young parents are having difficulty affording this region, so schools are starting to close and not need any teachers anymore.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> The United States has over nine million square kilometers of land area. Why is the most portable industry in the world (software) being held hostage by a few square kilometers along the coast of northern California?

<comment><USER22> This topic has been discussed endlessly over the last 40 years (both by local social scientists and people trying to reproduce Silicon Valley elsewhere). The short answer is "it's a just so story commingling schools, openness, military boom...".

One thing to notice is that plenty of industries have followed this pattern until they became mature (cars, breakfast cereals, aircraft to some degree). And you see this in software: the pressure discussed is at the frothy end of the market.

<comment> iso-8859-1 I couldn't parse:

> it's a just so story commingling

Explanations:

In science and philosophy, a just-so story is an unverifiable narrative explanation for a cultural practice, a biological trait, or behavior of humans or other animals. The pejorative nature of the expression is an implicit criticism that reminds the hearer of the essentially fictional and unprovable nature of such an explanation.

com·min·gle: mix; blend

<comment><USER23> Thank you. I couldn't parse that comment at all. This is where a few quotation marks (or hyphenation) help, so either just-so-story, or "just so story".

</comment></comment></comment></comment><comment><USER24> And Thomas Piketty was right...

Also, this isn't exactly a revelation for those who are in businesses that hinge on physical location (retail, restaurants, etc...). Landlords provide little of value, in most cases did nothing to earn their money (around here the landlords in downtown business districts are the descendants of those who owned that property 100+ years ago) and merely act as parasites.

In the case of those who own residential properties, they merely bought at the right time, and due to the scarcity of land are earning far more than whatever value they're providing.

<comment><USER25> If it is such an easy way to make money, why doesn't everybody simply buy some land. You can pool resources if as an individual you can't afford it.

<comment><USER26> The returns are 1% of capital invested, if you invest the $50 million needed to buy a well-located lot today.

If your grandfather bought the same lot for $600 in 1922, the returns today are quite something.

It's very hard to become a large-scale land owner today, unless you happen to own a time machine.

<comment><USER25> You don't have to be large scale to earn rent.

And why not buy something today that can be worth millions for your grandchildren?

Because it is not so easy, after all.

So you think it is unfair that somebodies grandfather bought land, and it appreciated? Do you think ownership in general is unfair, or what exactly is the unfair part?

<comment><USER19> I think its unfair that the source of these gross profits is due to limiting supply to the market and avoiding as much tax burden as possible. Fair would be if anyone could build anything anywhere however high and were taxed according to todays value. Real estate is not a free market, demand is massive and building supply is continually opposed to keep prices high.

<comment><USER25> Nevertheless, if the rules were known in advance, it seems the game is fair.

For example if you ponder buying a plot of land, presumably the rules there would factor into your decision. If there was already a rule of "no skyscrapers", then everybody could have factored that into their decision.

It would likewise be unfair to change rules after the fact, because it would devalue people's investments.

As for tax rules, I can't comment. But that is a fault of the government, not of the landlords.

<comment><USER26> [https://www.nytimes.com/interactive/2016/05/19/upshot/forty-...](https://www.nytimes.com/interactive/2016/05/19/upshot/forty- percent-of-manhattans-buildings-could-not-be-built-today.html)

Alas, mostly the rules have changed quite a bit to favour the incumbetents and the grandfathered-ins

<comment><USER25> and who gets to change the laws? If it is the current residents at the time, maybe that is fair, too?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Hey all, I wrote this! Feel free to email me at firstname.lastname@example.com with any questions or comments. Also if you have a few bucks to spare for my campaign, please donate at [https://buss2020.org/donate](https://buss2020.org/donate)

<comment><USER27> Steve, thanks for tackling this and popping up.

This past January, the Commonwealth featured a panel on Bay Area housing crisis, featuring Pastor Paul Bains, Fred Blackwell, Priscilla Chan, Janet Liang, Jennifer Martinez, and Erika Aguilar -- an impressive, intelligent, and motivated group of experts.

[https://www.commonwealthclub.org/events/2019-01-24/bays- futu...](https://www.commonwealthclub.org/events/2019-01-24/bays-future-new- solutions-housing-crisis)

What floored me, and several friends I shared this with, though, was the collective response that there was no single silver bullet, no way to throw money at the problem to solve it. Which betrays an immense ignorance or denail of San Francisco history.

Henry George's Land Value Tax is not only a concept that was developed in (and concerning) San Francisco, but literally _raises money from the crux of the problem_ at the same time it solves it, by creating an effective incentive to increase density. Very simply put, San Francisco and the rest of the Bay Area _must_ grow their way out of this mess, and if they don't, other areas will, and are.

And it's not just about outsiders -- it's SF and Bay Area natives who are and have been priced out and forced out of the area, and present residents who will find themselves and their families -- elderly parents, young children -- facing similar fates.

And yes, I'm aware that Proposition 13 is political kryptonite, but it's also increasingly _economic_ kryptonite, killing off what once made California an attractive and viable place to be. Though I've known of the initiative for decades, it's only in recent years I've realised just how toxic it truly is.

I've also become increasingly aware of the economic toxicity of the tendency toward and incentives for asset inflation, most especially of real productive and essential assets -- land, housing, education, healthcare, essential utilities. Some of the most interesting research on this was conducted in the 1930s and 40s by Bernhard J. Stern, for example "Resistances to the adoption of Technological Innovations" (1937). He traces the practice across numerous innovations, from printing and transport to energy and, yes, housing, naming some very familiar names and tactics. (The post-WWII suburban boom broke the logjam for a time. Oh, and you may have heard of his research assistant, a student named Isaac Asimov.)

[https://archive.org/details/technologicaltre1937unitrich/pag...](https://archive.org/details/technologicaltre1937unitrich/page/39)

Markdown/text: [https://pastebin.com/raw/fZajYSGa](https://pastebin.com/raw/fZajYSGa)

You're absolutely correct that this isn't a technological problem. It _is_ an organisational one, and a political one, and pits families and the working class against homeowners, banks, investors, and landlords. And it will destroy California, if it hasn't already.

<comment><USER15> You're right about everything. A LVT would go a long way to solving our problems, but it must also be paired with dramatic zoning reform to actually allow land to be redeveloped into a higher use. Doing that is illegal in the vast majority of San Francisco and the Bay Area at large.

Opposition to Prop 13 is building, and I think we will see meaningful reform within 10 years. Hopefully full repeal within 20. But this is an even bigger political lift than fixing our broken Bay Area governments.

If you haven't already, check out [http://thecommonssf.org/](http://thecommonssf.org/), an org based in SF that's centered around LVT.

<comment><USER27> The trick with LVT may be to find an alternate form of it that skirts Prop-13 restrictions, in the meantime.

As for zoning, that's likely a chicken-egg issue, but once holding nonproductive land becomes nonviable, reversing restrictive zoning may become far more tractable.

Alternatively, cracking the nut _outside_ SF (and yes, I realise you're in the City) might be an option, where if a sufficient alternate jobs-and-housing magnet were formed, SF would be forced to follow suit. Not my first choice, but I'd take it.

Tackling this as a strategic "having defined our point B, how do we get there from A" question, and finding the least-cost path seems the right approach. Finding examples of other areas which have successfully tackled the problem is another.

<comment><USER28> We also need to find a way to crack the nut in the city. Soma is the only place with any movement.

<comment><USER27> The challenge I see is that tackling the asset-protecting interests head on may be too great a challenge.

As a comparison, California in the 1950s represented an alternative to challenging development-averse and innovation-averse practices in points East -- New York, Boston, Chicago, Detroit, and other established centres of population and industrial power.

Rather than fight on home turf, innovation packed up and headed West. A classic example being RAND Corporation, which literally loaded a train with researchers and families and headed to the (then cheap) locale of Santa Monica, CA.

The history of research and academic centres as being _adjacent_ but _removed from_ centres of commerce and power is a long one, dating back to Plato's Academy, an eponymous grove about a 30 minutes' walk outside Athens, then centre of the Western world.

I've been diving a bit into the history of major research laboratories, such a DuPont, Kodak, AT&T, IBM, Xerox, and others. Similar trends. The Manhattan Project is an extreme case, with additional constraints (secrecy, not disturbing the neighbours).

</comment></comment></comment></comment></comment></comment><comment><USER29> If you think paying $1 for every $8 in funding for housing is too much, just move to a different city? Apparently San Francisco is worth it, if it wasn't VC's would have stopped funding startups in SF a long time ago.

There's a bunch of graphs showing rents increase, but no real reason for why that's a bad thing. The big number that's supposed to sway us is the rent increasing by 30%, as funding increases by 300%. Maybe there's better numbers somewhere else, but this just tells me rents are not really a problem, at least for the tech industry.

And the solution? It's just build more houses, so the rents go down (a little). Do you really want more houses? The NIMBY people don't seem to. Infinite high density cities aren't all necessarily the best thing. Maybe if you think too much money is disappearing in these wealthy people's vaults, raise taxes?

<comment><USER30> I don't think it is necessarily as simple as just, "build more housing".

Rent costs are complicated. A big part of the reason that SF housing is so expensive is that it is so desirable to live and work there. Companies want to be there because that is where the talent and capital is, and talent wants to be there because that is where companies and capital is, and capital wants to be there because that is where the companies and talent are. High cost is what keeps some companies/talent/capital away DESPITE the benefits of being in the area... but if we lower real property costs, MORE companies/talent/capital will want to be there and the cost saving won't persist. There is latent demand ready to fill up any extra housing you build.

There have also been studies that ask this same question, and they have found that opening up housing development in high rent areas just means developers build more luxury living places, and costs don't go down.

[https://www.citylab.com/equity/2019/05/housing-supply- home-p...](https://www.citylab.com/equity/2019/05/housing-supply-home-prices- economic-inequality-cities/588997/)

<comment><USER31> San Francisco's desirability is not skyrocketing the way its property values are. The views and weather were there in 2011 too, when things were at half their current level. And of course making it cheaper means making it accessible to more people; that's the point.

<comment><USER25> If desirability is not skyrocketing, why are people prepared to pay the property prices?

It is not views and weather, it is access to the startup environment, venture capital, tech talent and so on.

<comment><USER32> And some speculation. I see first hand a lot of high end apartments bought that sit vacant. Maybe the owners live in Asia or EU 9 months of the year, I dunno. But in some of the swanky towers downtown there are entire floors with at most one owner present year round.

<comment><USER25> In a normal market, I suppose speculation would help increase supply - <USER3> driving prices up, it would become more attractive to build. Of course if no building is possible, that won't work.

Nevertheless, there has to be a ceiling to the prices. If no space for living is available, eventually the tech companies won't be able to grow further because they can't hire more people.

</comment></comment></comment></comment></comment></comment><comment><USER33> Do we honestly believe that the landlords eating everything are not related to the VCs?

No VC worth their salt would be ignoring the enormous potential that lies in investment property... especially if their own VC funds can feed back to them as rental income.

And in the extremely unlikely case that financiers aren't also the landlords... well nevermind. They are smart people; there's no way they are ignoring this opportunity.

</comment><comment><USER34> So end zoning restrictions and build more. It's just a supply issue. We haven't sufficient housing for decades as demand has increased, pushing up prices. I think locals know exactly what they're doing and are fine with it since their homes are likely a significant portion of their net worth.

</comment><comment><USER35> See my old comments:

 _" Startups are ways of exploiting geeks to work hard chanelling money from VCs to local landlords."_

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

Do not feed the landlords.

Just don't live there.

</comment><comment><USER36> Very tall buildings are technology. People don't like them, but they are the only way to make cost of living cheaper in terms of housing and offices. In cities where lots of very tall buildings are going up, rent is going up much slower or not at all. In cities where that isn't the case, it's increasing as population and wealth grow. Building vertically is the only way to prevent if from being zero sum.

<comment><USER37> You can get high density without very tall buildings. On street parking for example has a huge impact on density. As do wide streets, parks etc.

<comment><USER38> A city that starts getting rid of parks is a city I'm not moving to.

</comment></comment></comment><comment><USER39> At some point the bay area will have to become a 1 giant city, instead of a bunch of little nimbism towns.

Soon, we'll all live in Bay City!

<comment><USER40> Turns out the reason this hasn't already happened is because the CA constitution forbids cities crossing county borders: [https://hoodline.com/2017/03/that-time-san-francisco- tried-t...](https://hoodline.com/2017/03/that-time-san-francisco-tried-to- annex-oakland-berkeley-and-most-of-the-bay-area)

<comment><USER39> That's fascinating, Maybe there can be a megacity that spans multiple cities or something like that.

Oakland and SF makes less sense than SF and SJ imo, because there's no space between them. At least Oakland has the bay.

</comment></comment></comment><comment><USER13> Politics in SF are so corrupt that it's laughable. The city is going to have to start rezoning soon or something is going to snap and companies will move away or the best people will decide it's not worth the hastle and go to other parts of the country and start their own startups.

</comment><comment><USER41> It took a minute before I realize this was a San Francisco article; all the numbers and discussion are specific to that one area. (I'd suggest reflecting this in the title.)

There must be some truly special about SF to be so hated...and yet apparently so loved.

<comment><USER42> You can make the very same argument about London

<comment><USER43> do not worry, London will be its own shell 5 years after BREXIT.

</comment></comment></comment><comment><USER44> Not a major deal, but the $1 in $8 calculation is a bit off, since it doesn't take inflation into account. The math still holds for the most part.

Adjusting for inflation and rerunning the same calculations:

* $2,600 -> $2,902.47 -> 2011 median rent adjust to 2018 dollars

* $3650 - $2900 = $750 / month increase in rent.

* $750 / .69 = $1086 / month increase (pretax)

* $52000 -> Increased yearly burn for a 4 man startup.

* $208000 -> 4 year pre-tax burn

* $208000 * .69 = $143520 -> 4 year amount to land owners

* $500,000 -> $558,166.51 -> Average seed round in 2011 adjusted to 2018 dollars

* $2.1M - $558K = $1.5M -> Increase in venture funding

So $143K / $1500K goes to Landowners, which is $1 in $11, not $1 in $8, or 30% less than originally calculated.

<comment><USER45> Few landlords are paying full marginal income tax on their rental income because of the numerous tax advantages of property ownership (mortgage interest, depreciation, etc) that reduce their tax liability. Variation in the tax situation of different landlords makes it a pretty misleading thing to include in the analysis. Besides, how the landlord and the government divvy up the rent money doesn't make any difference to the startup that needs to pony up $208,000 more dollars. Whether rental income is taxed at 0% or 100%, the cost to renters and startups is a large and growing problem.

</comment></comment><comment><USER46> So - I'm broadly supportive of the whole YIMBY thing, but I have to ask this: given how dysfunctional state and local governments have been here, are they capable of managing the giant influx of people that would result from a massive rebalancing of policy towards adding more homes?

Here in Sydney we've had _absolutely no problem_ managing to flood the market with apartments, but there's been a substantial disconnect in terms of funding and regulation to provide transport, education, healthcare and green space for all those new people.

<comment><USER47> I'm glad this angle has been brought up. (I'm in Sydney too, not that that really matters.) Its one thing increasing housing density; it's another providing services (particularly basic ones like water and sewer) and maintaining a quality of living.

It's like, you could fill your bedroom with 4 or six beds, but there won't be enough bathrooms, living rooms, the house internet speed will degrade... it won't be a nice pace to live.

At some point it's sensible to go somewhere else.

Now, about Sydney in particular and Australia in general: we are dry, don't get much rain, most of the continent except for the costal strip is arid and infertile, and that's where something like 80% of the population live. Sydney's water supply is limited and there are only so many people the water resources can supply reliably (we nearly ran out several years ago, and we currently have level 1 water restrictions in force now). That population is much smaller than the number of people that can be housed on the land in high density developments.

</comment></comment><comment><USER48> I think this might have been shared in HN at some point in the past but

[https://www.collectorsweekly.com/articles/demolishing-the- ca...](https://www.collectorsweekly.com/articles/demolishing-the-california- dream/)

was a super fascinating article depicting local zoning as a social shaping tool all the way back to the 1800s.

</comment><comment><USER49> This is honestly one of the reasons why I left NYC. It's not that I couldn't afford to live there, I'm just against paying exorbitant rents in principle, supporting an aristocracy class receiving money for doing nothing.

Same thing with student loans. Feels like the mafia is taking $1.2k/month of my paycheck. I figured I'd rather just opt out than participate in this extortion.

It's funny how tech, by definition the most technologically industry, is so backwards when it comes to things like remote work. But VCs by definition are so wealthy that they have more money than they know what to do with, so there's no real incentive for them to change the status quo until it's disrupted underneath their feet. It's like the whole "nobody ever got fired for IBM" trope.

</comment><comment><USER50> What is the origin of the meme "X is eating the world?" I seem to see these titles posted fairly regularly now.

<comment><USER51> Marc Andreessen's famous "Why Software Is Eating The World" article in the WSJ.

[https://www.wsj.com/articles/SB10001424053111903480904576512...](https://www.wsj.com/articles/SB10001424053111903480904576512250915629460)

<comment><USER50> Thank you!

</comment></comment></comment><comment><USER52> Funny; a sentence bemoaning "unearned rent" immediately following one ending in "capital investment".

<comment><USER15> I mean... investment in productive activity is the opposite of rentier capitalism.

<comment><USER52> The productive activity itself is clearly that opposite.

</comment></comment></comment><comment><USER53> I agree with the problem ("wanting to freeze the city in amber"), but not the solution, at least as the author wants to implement it. The solution would be to deregulate housing (rent control, etc) and let scarcity take over. Yes it'll be painful for a couple of years, but when all the people who can't afford to work at the Starbucks leave the city, people are going to start to notice. Wages and home building would shoot up to meet the demand, and things would ultimately level off. This will never happen in SF (the quasi-regulated NIMBYism the author describes seems par for the course), but we'd see some fast results if it did.

<comment><USER54> Except the supply here is necessarily constrained by the amount of land available to build on. You're treating this like microeconomics 101, which is a fundamentally flawed way to look at the problem.

<comment><USER55> That's not true at all.

Nearly 75% of land in San Francisco alone is zoned for low density single- family or duplex homes. 37% of it is just for single-family homes alone. [1]

Nearly 98%(!!) of land in San Jose is zoned for single-family homes. [2]

Replacing every ~10 single family homes with even a 6-7 story apartment building can easily increase the supply necessary to reach equilibrium, and that's ignoring the fact that you can build affordable apartments that are >20 stories (see: Long Island City, New York).

[1] [https://www.latimes.com/politics/la-pol-ca-single-family- zon...](https://www.latimes.com/politics/la-pol-ca-single-family-zoning- changes-senate-bill-50-legislation-20190513-story.html)

[2] [https://haasinstitute.berkeley.edu/single-family-zoning- san-...](https://haasinstitute.berkeley.edu/single-family-zoning-san- francisco-bay-area)

<comment><USER56>
      Nearly 98%(!!) of land in San Jose is zoned for single-family homes

You misquote your source (it says that NYT says that it is 94%, but that's hogwash given that far less than that is zoned for _any_ form of housing). The referenced NYT article doesn't annotate a source.

More likely, the data says that 94% of _precincts_ have at least one single family home.

 _Well_ over 10% of _land_ is rights of way (e.g. streets, watersheds, etc.), easements, or is public property.

<comment><USER57> The link seems to indicate 94% _of residential land_ in San Jose is zoned for SFH.

But even that could be misleading, since San Jose has massive city boundaries that includes hills and other places that really couldn't be built on regardless of what they were zoned for.

</comment></comment></comment></comment></comment><comment><USER58> One out of eight money units sounds pretty reasonable. I think I capture more than that from the college students who rent with me. But actually property developers do have the option to go outside the law, just like uber. Or maybe not them, but people do anyways. The only way to force political action is actually by ignoring the rules. Building dwellings where they should not exist, using non residential space inappropriately, etc. Build your own slum. People will become homeless if government evacuates them and finding these is hard. so government doesn't like to and cannot do very much.

<comment><USER20> People tried. The regulators catch up and fine away all the profits and force the owner to revert the property back to what the law allows. [https://www.sfgate.com/bayarea/article/SF-sues-landlord- over...](https://www.sfgate.com/bayarea/article/SF-sues-landlord-over-state- of-housing-for-9196374.php) [https://www.sfexaminer.com/news/planning- commission-supervis...](https://www.sfexaminer.com/news/planning-commission- supervisors-condemn-landlord-for-unpermitted-student-housing/)

I get the impression that a lot of the innovation that tech companies have been able to create were because the regulators didn't know what they were doing. No such luck in real estate.

</comment></comment><comment><USER10> Tech companies create software. Software does not require an office. All tech companies could be remote. VCs may have their reasons to make landorlds rich. Software will still be eating the world.

<comment><USER57> Software does not require an office, but the people who create do. And ironically, they work best and most collaboratively in the same place at the same time. This is why cubicles were replaced by open office desks, why companies hire in the expensive Bay Area, and bus their employees to central locations.

</comment></comment><comment><USER59> So, San Francisco = the world? That is pretty amazingly blinkered.

</comment><comment><USER60> > We've shifted the Overton window.

That is hyperbolic. Housing development was never outside the realm of acceptable public discourse, it was just less popular.

<comment><USER15> It absolutely has been outside the realm of acceptable political discourse. Jane Kim, who ran for mayor in 2018, said "The only way to make San Francisco more affordable is not by building a lot more market rate housing as possible, it's by building as much Affordable and middle-income housing as possible." [https://medium.com/@sbuss/no-on- kim-58ef07cf459a#1379](https://medium.com/@sbuss/no-on-kim-58ef07cf459a#1379)

We still have electeds who say it's not a shortage, but an affordability problem. They literally do not believe that building more market rate housing will help.

We almost passed a development moratorium in the Mission in 2015. Public opinion has swung fast in our direction.

</comment></comment><comment><USER61> This is actually called rentier capitalism. There is no glorious competition that happens here. You sit on some asset and generate perpetual revenue from it. Patent trolls blatantly abuse this.

Money is just data if you think about it. How does it flow? What is the government but a gloried issue tracker to deal with the tragedy of the commons?

<comment><USER25> So buy some land, if it is so easy.

</comment></comment><comment><USER62> ...in SF

This issue is localized and not comparable to the pervasiveness of software. Other cities' startup economies will continue to grow and this will be less of a hotspot problem. [Funny in the context of distributed systems, SF is a hot DynamoDB shard and paying the excessive scaling fees.]

</comment><comment><USER63> I think this is all missing the real issue by a mile: greater density would change the city. Those who don't want that have enough power to stop it. Prices start dropping the day after tech companies realize there are other cities that would love to have them.

</comment><comment><USER64> Here's a disruptive thought: Why not relocate?

<comment><USER57> Have market participants somehow not considered this?

</comment></comment><comment><USER65> It would seem for every new house you build, you would convert a YIMBY to a NIMBY.

</comment><comment><USER66> the YIMBYism, the pro-tech business mentality, the emphasis on growth, the anti regulation perspective -- all these things make me think a little bit of Houston Texas or Ronald Reagan or the Chamber of Commerce or something.

</comment><comment><USER67> The rent is just too damn high!

</comment><comment><USER68> > tl;dr: Landlords are taking $1 of every $8 in venture capital investments

That's lower than I expected. Wouldn't be surprised if that's sustainable.

</comment><comment><USER69> Welcome to Hong Kong

</comment><comment><USER70> Move.

</comment><comment><USER71> This is a social problem. Tech will only get in the way. Remote work is available now but it has not put a dent on the problem. The solution falls on policy change, city planning and politics.

Tech is a tool towards a solution not the solution.

<comment><USER72> By "tech" is meant "the community." You can't get policy change without enough people getting involved and supporting that change. Do you want to fix this?

Join YIMBY Action. Support pro-housing candidates at the polls. Tell your friends.

<comment><USER71> We in tech or the tech community live in a world where everything has a solid yes or no answer there are very few grays. The rest of the world is not like that. It's full of grays and they change constantly. If I can pick between a great politician or a great Techie to lead a community I will always pick the politician. They can lead a group of people. Techies can come up with the right answer given solid facts but that's not the real world.</comment></comment></comment>


Why Learning Haskell/Python Makes You a Worse Programmer - <AUTHOR> http://lukeplant.me.uk/blog.php?id=1107301645

<comment><USER2> The author's C# example predated the release of LINQ, which makes the C# syntax much more like the Python's. The author's code:

string.Join("\n", mylist.ConvertAll<string>( delegate(Foo foo) { return foo.Description(); }).FindAll( delegate(string x) { return x != ""; }).ToArray());

can be rewritten as:

string.Join("\n", (from f in myList where f.Description() != "" select f.Description()).ToArray());

which is super-easy to read and understand. Maybe not as concise or pretty as Python or Haskell, but definitely a step in the right direction.

Others' comments that the author should consider F# are well founded, as it integrates seamlessly with other .NET-based code (such as C#) and is a pretty great language. However, it's worth noting that the post was written in 2006, well before F# was widely known about or distributed.

<comment><USER3> Perl:

       join "\n", grep { $_ } map { $_->description } @myList;

Or

       join "\n", grep /./, map { $_->description } @myList;

Ruby:

       myList.collect { |f| f.description }.select { |d| d != "" }.join("\n")

Python:

       descriptions = (f.description() for f in mylist)

Or if we'd like to constrain ourselves to one method `FooClass.description()`

       descriptions = map(FooClass.description, mylist) # `map` returns an iterator in py3k

       "\n".join(filter(None, descriptions))   # `None` means `lambda x: x` here

Or if you don't like `filter()`

       "\n".join(d for d in descriptions if d)

Or if `description()` is a side-effect-free method then It should be a property:

       "\n".join(f.description for f in mylist if f.description)

At the end of the day new features doesn't matter due to most .NET-shops use old C# versions and It will not change any time soon.

<comment><USER4> Which seems the most "readable"? I think the Ruby one might be.

<comment><USER5> Using Symbol#to_proc, the old Ruby

      myList.collect { |f| f.description }.select { |d| d != "" }.join("\n")

becomes

      myList.map(&:description).reject(&:empty?).join("\n")

which is even more direct: take my list, map each element to its description, reject anything empty, and join with newlines.

<comment><USER3> I thought `Symbol#to_proc` is a Rails' extension.

<comment><USER5> I learned about it in 2005, when I read it on [http://pragdave.pragprog.com/pragdave/2005/11/symbolto_proc....](http://pragdave.pragprog.com/pragdave/2005/11/symbolto_proc.html) and it's such a good idea that they've folded it into 1.9 <http://www.infoq.com/news/2008/02/to_proc-currying-ruby19>

</comment></comment></comment></comment></comment></comment><comment><USER6> "The fact is that functional idioms work badly in languages that don't have syntactic support for them."

Then _don't use those idioms_. Work _with_ your language, not against it. Learning Haskell taught the author to be more conscientious with state. Good. But nobody wants to debug imperative/OO code written by somebody newly infatuated with Haskell* -- it's like when people study a foreign language in high school and start dropping little fragments of Spanish/French/Japanese/etc. into casual conversation all the time, oblivious to whether the people around them understand it.

One of the comments (by "tom") nails it:

 _One of the more potent reasons for learning other modus operandi in programming to keep you from building tolerance to the same assumptions._

Learning several unrelated languages will almost certainly make you a better programmer, but code that assumes everybody else you're working with has the same background as you will be difficult to maintain. The language you're working in is the foundation for your shared culture, so do your best to write idiomatically in that.

* I have been guilty of this.

<comment><USER7> Agreed. I think the point of learning multiple paradigms is so that you can recognize when idiomatic programming in your preferred (or employer-mandated) language is _not_ the best way to get the job done--recognizing when it's time to write functional-style code in Python, OO-style code in Haskell, or whatever. But most of the time, you follow the grain of the language.

<comment><USER6> Absolutely. Some languages comfortably support several paradigms, of course (<http://www.c2.com/cgi/wiki?MultiParadigmProgrammingLanguage>).

<comment><USER7> I think any non-toy language needs to make it _non-painful_ to program in several paradigms, but I'm not sure about the "comfortably" part; it's good for a langauge to be designed around a central paradigm that can work for most tasks and that the implementor can optimize for. So Python is OO and Haskell is functional, and there are many problems that you solve in an OO style when writing Python and a functional style when using Haskell, and that's OK. And every once in a while you need to write functional-style code in Python, or OO-style code in Haskell, and that's OK too. I'm OK, you're OK, we're all OK....

</comment></comment></comment></comment><comment><USER8> _Update: I probably should have made it more obvious for some people that the title of the post is not entirely serious, and mainly I'm just griping._

I think this explains the whole article and why there is no serious discussion here.

</comment><comment><USER9> Comparing C# 2.0's functional capabilities to Haskell/Python is terribly misleading. You can perform functional tasks easily in 3.5 using lambda expressions and built in functional operators such as:

listOfTestObjects.ForEach(x => sOutputDescriptions += "\n" + x.Description());

[http://weblogs.asp.net/scottgu/archive/2007/04/08/new- orcas-...](http://weblogs.asp.net/scottgu/archive/2007/04/08/new-orcas- language-feature-lambda-expressions.aspx)

<comment><USER2> I hate to nitpick, but this isn't comparable to the author's code. You're including empty descriptions and your output string will begin with a newline. These seem like small details, but they make a big difference in the conciseness with which you can write the statement.

<comment><USER9> This is very true. I was not attempting to port the author's code to .NET 3.5 as much as to introduce C# lambda expression syntax to the readers here.

<comment><USER2> Yeah, I figured. I just didn't want others coming away with the impression that C# is _more_ concise than Haskell or Python. I mean, I love lambdas as much as the next C# programmer, but there is still a fair bit of clunky syntax to deal with when using C#'s great new features.

</comment></comment></comment></comment><comment><USER10> The obvious answer is to switch to Brainfuck, the any at-work language, even Cobol, will be a pleasure to work in.

</comment><comment><USER11> Actually, there are some serious points here. Consider this:

[http://www.postmodernprogramming.org/stories/fixed_point_mad...](http://www.postmodernprogramming.org/stories/fixed_point_madness)

</comment><comment><USER12> The title is "Why X makes you a worse progarmmer"

Then his conclusion: "I have no doubt that in general I am a better programmer for learning these languages..."

Um, hello?

<comment><USER13> Update: I probably should have made it more obvious for some people that the title of the post is not entirely serious, and mainly I'm just griping.

<comment><USER12> Or you could have titled it "Why using X makes me a worse software engineer" seeing as that's your conclusion.

</comment></comment></comment><comment><USER14> ...when programming in less powerful languages, because they start to seem inadequate.

 _I constantly find myself wanting to use idioms from these languages, or noticing how much less code I'd be able to write if I was using one of these languages._

</comment><comment><USER15> C# was, to me, the best available language in TopCoder competitions. Once I had more than a passing acquaintance with Python, Lisp, Ruby and Haskell, it was annoying to compete in it. I spent a bunch of time trying to imagine a way to write in a language of my choice using code generation. Eventually I just gave up, and stopped playing (though this was one of many contributing factors)

<comment><USER16> C# feels dreadfully underdesigned to me. Despite its massive flaws, I still love Java for how consistent it is, and for how well-thought out it is. For instance, generics in C# aren't getting covariance and contravariance until 4.0, which I consider to be a fatal flaw. "List<? extends String>" makes so much more sense than "List<out T> where T : string".

That said, I am sad that the BGGA closures proposal won't make the cut for Java 7. I hope that some IDEs and APIs support it anyway.

<comment><USER15> I tended to use fairly flat data structures in my own code, so the extra hassle with generics didn't often come up. I did, however, use delegates (closures!) all over the place. They're verbose, but I mapped the delegate definitions to a resharper macro and it only took two keystrokes. That helped while writing code. It still was a pain to read, though, and ultimately the macro language wasn't good enough to do what I wanted.

The thing I like about Fortress is that it's a grown and growable language, with almost all constructs first class and exposed. Just like Lisp. But it's coming from the complete opposite direction in terms of syntax. Lisp barely has any syntax. Fortress gives you the most powerful production parser in a programming language, plus extremely adaptable syntax (where _spaces_ can be operators!) plus a wicked way to render code, plus the ability to make your programs platform portable, adaptable, and parallelizable. It can be looked at as a programming language, true. But it can also be fruitfully imagined as a powerful framework for building one's own programming language. This is what I like to do with it. :-)

</comment></comment></comment><comment><USER17> Enthusiasts always put their language of choice on a pedestal. Python is a very good language, but I often find it to be too restrictive and will use Ruby/Perl for elegant metaprogramming and Erlang for functional programming.

<comment><USER6> You completely missed the point of the article. It isn't about why Python & Haskell are good or bad languages, it's about how learning them doesn't necessarily improve ones' ability to work on projects _with other developers, in unrelated languages_.

There are social factors in language choice, it isn't just about the quality of the language itself.

<comment><USER17> And my point is that every language is flawed. If you only focus on the unique features of the languages you learn, you may not become a better program when working with languages that lack these features. But simply assimilating these ideas will do quite a bit to improve your productivity as well as your wisdom when designing systems because you will be alert for inadequacies that you would have missed before.

<comment><USER6> I agree with you.

<comment><USER17> And I wish I had a silent bicycle...

</comment></comment></comment></comment></comment><comment><USER18> As others have said, stop fighting the language and embrace it. For the Java haters, here's a Java one-liner that is not much longer (though I'll admit, uglier) than all the rest:

result = join(new ArrayList<String>(){{ addAll(list); while(remove("")); }},"\n");

And as a bonus - for the extra few characters you typed, this will fail at compile time instead of runtime when the list turns out to contain FooBars instead of strings.

<comment><USER16> Missing the application of Foo.description(). That said, I feel that compile- time failure is vastly underrated. Java is making even more progress on that front by introducing type checker frameworks with JSR 308.

</comment></comment><comment><USER19> So why not use IronPython or F#?

<comment><USER20> This article is two years old, at which point F# wasn't much more than a research project.

</comment></comment><comment><USER21> That's an extremely rash claim: I'm struggling to adapt to a different language, and so will you.

<comment><USER6> That's not what the article says.

</comment></comment><comment><USER22> Alternate title: Another article demonstrating that trolling works.

</comment><comment><USER23> The title is catchy but imprecise. After discovering the concision of python and haskell, the author has less tolerance for the verbosity of c#, the language with which he earns his living. Perhaps the solution is to earn a living with a more concise language.

<comment><USER8> _The moral of the story: don't bother improving yourself, unless you have the freedom to improve your environment accordingly._

That's the moral of the story? That's not a moral, that's whining.

<comment><USER24> Don't improve? Seems _immoral_.

</comment></comment></comment><comment><USER25> Reminds me of a time I screwed up a Java project (well, not really; just took a long time to write code most Java devs wouldn't understand) by using attempting to use generics and Java's static typing system to build-up an ML- esque ADT system.

4-ply parameterized types (e.g. string array list option) do not attractive siblings in Java-land.</comment>


Red Language: Features and future directions - <AUTHOR> http://www.red-lang.org/2015/12/answers-to-community-questions.html <comment><USER2> It's missing the one key thing every language site (particularly for upcoming languages) should have: a sample program right on the home page. Even if you click over to About, there's a YouTube video followed by what I gather is some kind of Flash file, followed by multiple offers to download a PDF of some slides. Really? Can't you just _show_ me in plain text what the language looks like?

<comment><USER3> I agree it's useful to have an example program or two on the homepage, but to be honest the Red/Rebol syntax may appear a little quirky at first glance, though it's straightforward to use after completing a quick tutorial.

If you're still interested in seeing some samples, there are a couple on the Red Wikipedia page:

[https://en.m.wikipedia.org/wiki/Red_(programming_language)](https://en.m.wikipedia.org/wiki/Red_\(programming_language\))

</comment></comment><comment><USER3> I've never tried Red before, but I've played around with Rebol. What impressed me most was how quickly you could build working applications, and I'm talking insanely fast, IIRC just by following a beginners tutorial I built a working email client with a simple GUI in about 15 minutes.

Perhaps Red can fill a similar niche, for quickly coded apps with a GUI.

EDIT: If anyone wants to see the Rebol tutorial I mentioned before, you can see it here:

[http://easiestprogramminglanguage.com/easiest_programming_la...](http://easiestprogramminglanguage.com/easiest_programming_language.html)

<comment><USER4> Interesting; I can't get very far in this, since after install, hitting F5 and saving my temp.txt just opens the "Viewtop" window again; maybe a problem with command line arguments is causing it to just run "rebol" again?

<comment><USER5> Red 0.6 featuring support for creating GUI's on Windows is going to be released soon. So, you can wait for that. Or else just download the automated build from [http://www.red-lang.org/p/download.html](http://www.red- lang.org/p/download.html) and try the GUI. For any help, just join the Gitter room [https://gitter.im/red/red](https://gitter.im/red/red) .

</comment></comment></comment><comment><USER6> What are the performance goals for Red? Which language will it have similar performance to? Python, Java, or C?

<comment><USER5> Red 1.0 won't feature many optimizations. So at that time the performance will be comparable to python. After that, their plan is to rewrite the codegenerator in a modular way so that more targets, as well as more optimizations can be added. Also, a JIT compiler will be added. The plans for Red 2.0, as much as I know, is to achieve performance as close to C as possible.</comment></comment>


First human Crispr gene-editing trial gets early approval - <AUTHOR> http://www.wired.co.uk/article/first-crispr-clinical-trial-approved <comment><USER2> > The small study, which has been funded by ex-Facebook president Sean Parker, > will augment T cells – potentially a way to treat cancer – but will be used > to see whether Crispr is safe in humans, rather than being used as an actual > treatment.

This is misleading, right? Yes, it's true that Stage I trials are designed (and in particular, _statistically powered_ ) to test safety rather than effectiveness. But that doesn't mean they are making gene edits with no therapeutic purpose. That would be highly unethical. The gene edits are definitely intended to be an "actual treatment". It's just that the number of subjects is so low there isn't any hope of measuring the effect.

<comment><USER3> Typically in Stage 1 trials, they test safety effectiveness by giving doses of varying size, often times below the level of clinical effectiveness. They also give these to much smaller populations, usually fewer than 25 people. The main goal of these trials is to figure out "safety and dosage" \-- so they measure side effects at each dosage and try to discern interactions with the body.

They'll be especially careful with the CRISPR drugs due to the disasters that Gene Therapy trials have previously undergone. Most notably, TGN1412 was given at a dosage about 500x smaller than the safe dosage in animals but caused almost immediate cytokine storms that nearly killed all 6 participants in the trial.

<comment><USER2> > they test safety effectiveness by giving doses of varying size, often times > below the level of clinical effectiveness.

OK, good point. But even then there needs to be a reasonable belief that either (1) the likelihood of clinical effectiveness is nonzero, and is still worth trying compared to the smaller chance of bad effects, or (2) the same patient will be able to receive a clinically effective dose in the future based on the safety information gained testing the smaller, clinically ineffective dose on them.

</comment></comment></comment><comment><USER4> I know the people in this trial probably have nothing to lose, but I do wish there was a way to recognize them (and others like them in similar trials). There are times when human testing must happen. With civilization-altering possibilities like this, these people are pioneers whether it works or helps us figure out why it doesn't and move the needle forward.

</comment><comment><USER5> Since T cells do not reproduce by themselves, I presume the effects of modified T cells will only last until the cells exist in the body. This reminds me of a question I was wondering about since I heard about Crispr: can we use this method to make permanent changes in the DNA of grown up humans, and if so, do we have clear understanding of how to do it?

The thing that puzzles me most is that if we do it by creating some cells and injecting them, how do we guarantee that these cells replace their existing unmodified counterparts?

<comment><USER6> T cells proliferate when they see their target antigen. This technology is being used without CRISPR in a number of clinical trials. See here: [http://www.cancer.gov/about- cancer/treatment/research/car-t-...](http://www.cancer.gov/about- cancer/treatment/research/car-t-cells)

<comment><USER5> Thanks for the correction, I didn't know T cells multiply by themselves. Yet I assume they don't hang around permanently and will be sooner or later replaced by new, unmodified, cells produced by the body, hence, why I was asking about making permanent changes.

<comment><USER6> Maybe. We haven't been doing this long enough to know. T cells can divide into a T "memory" type, but I'm not sure if CAR-T cells do this.</comment></comment></comment></comment>


EMC donates Vatican storage of biblical proportions - <AUTHOR> http://www.computerworld.com/s/article/9237572/EMC_donates_Vatican_storage_of_biblical_proportions_

<comment><AUTHOR> Aside from anything else, and without starting a religious side topic...

EMC is donating hardware, for the good of mankind, preserving our history.

I'm fairly sure, though, that the Vatican could afford to purchase this hardware, rather than relying on a donation. How many tens of billions do they have "lying around"? They just spent 30M euros on a 12 apartment building nearby, and many of the cardinals live by themselves in "10 room apartments".

The Catholic Church may have done good by preserving these works, but realistically, many of them have been steadfastly horded, particularly any the Church sees as 'problematic'. I wonder if these particulat texts will be available digitally, or only to the church's upper echelons?</comment>


ASK HN: What do you think of the Darpa Cyber Grand Challenge? - <AUTHOR>

I would like to know what HN readers think of: http://www.darpa.mil/cybergrandchallenge/<p>Do you think this might rapidly advance the field the way the last DARPA competition advanced autonomous vehicles? <comment><USER2> \- I think it's a good challenge.</comment>


Lenovo laptops "refuse" to install Linux - <AUTHOR> http://www.bbc.com/news/technology-37431299 <comment><USER2> >"I understand why the buyers feel aggrieved and surprised," said Chris Green, an analyst at the business consultancy Lewis. "But at the same time they bought a machine with a pre-installed version of an operating system.

^ Just because it comes bundled with windows doesn't mean it should be inoperable with other software. I'm sure this guy shouldn't be considered an "expert" on this topic.

</comment><comment><USER3> Facts here: [http://mjg59.dreamwidth.org/44694.html](http://mjg59.dreamwidth.org/44694.html)

As I initially suspected when I heard this story, this is more that they use a funky driver, and Linux doesn't support it out of the box. (Believe it or not, neither does Windows!) The Surface Pro 4 also uses NVMe, and things like Acronis had to release software updates to add support for working with it.

</comment><comment><USER4> Full discussion here :

[https://news.ycombinator.com/item?id=12545878](https://news.ycombinator.com/item?id=12545878)</comment>


Is Kenya the next outsourcing hub? - <AUTHOR> http://www.bbc.co.uk/news/technology-12004815

<comment><USER2> I hope so. All of the Kenyans I've met (all in the west, I admit) have been very upbeat individuals with excellent command of English (and they say this is reasonably standard in Kenya) as it's an official language there. Those undersea cables could prove to be life-changers for people with ambition in Nairobi and I'd love to work with them sometime.

<comment><USER3> There are good Kenyans and Bad Kenyans, Upbeat Kenyans and downcast Kenyans, English speaking Kenyans and non-English speaking Kenyans...I could go on , but I think you get my point. You simply can't fit an entire nation into one box, no matter if its positive or negative.

<comment><USER4> Of course, but I think the averages of these are germane to this discussion e.g. I don't think Russia is the next outsourcing hub, but there are undoubtedly nice Russians and English speaking Russians who can't fit with other Russians in one box.

<comment> guard-of-terra The main reason Russia is not the next outsourcing hub is because it's too expensive country already.

And you still think there is one box you can fit most Russians ("other Russians") into.

<comment><USER5> Is it not a major outsourcing hub already? There are hundreds (well, I might be overestimating it a bit) of companies there. 2 out of 5 top Google search results for "software outsourcing" are Russian companies.

<comment> guard-of-terra I think the term "offshore development" is more appropriate. "Outsourcing" is too well tied to "cutting costs".

</comment></comment></comment></comment></comment></comment><comment><USER6> "Instead, he says, firms and government should look at the kinds of graduates that are coming out of the country's universities and offer services based on their skills."

Speaking as a Kenyan software developer, this is a better approach than "the next outsourcing destination". A lot is going on in the mobile app scene, it would be great if more investors focused on that.

<comment><USER7> I(kenyan, developer) thought the same thing when i read it. Why would do we want to go in a business that India's already milked the world? We can find a better use for the broadband, and i would love to see more programmers, more hackers, not them "IT zombies" who have degrees in IT/Computing. Let's do outsourcing but not call centres. The problem is the guys running the IT Policies are out of touch with what is happening(Attending Int'l Conferences instead of reaching out to students and young people). Mobile developing is rising, but not in a healthy way.The software buying(app buying in this case) culture is still too low.

<comment><USER8> Do you guys see much of a community of tech in Kenya? are there adhoc events like barcamp and other meetups going on? Any preferred development language? What do you see as hindering individuals from freelancing for foreign countries or making products that they sell overseas?

I am super fascinated by tech development in emerging economies.

<comment><USER7> >Do you guys see much of a community of tech in Kenya?

There are spaces like the iHub(ihub.co.ke) in Nairobi, and other mobile- dedicated 'labs'. They organise conferences, meetups and barcamps. Not much in other cities/towns(like where i am).We could do better.

>Any preferred development language? Not really, but you'll get a lot of java,some PHP, less python, even less ruby(just me and some other guy:)).

>What do you see as hindering individuals from freelancing for foreign countries or making products that they sell overseas? Get-job-in-nonprofit mentality and an education system that's not really entrepreneur-friendly.

<comment><USER8> Hey I'd love to pick your brain about Kenya if you are up for it.

<comment><USER7> On twitter @sadq70. Same handle for gmail.

</comment></comment></comment></comment></comment></comment><comment><USER9> Some of the people who work in Call Centres here in India end up ruining their health due to the time difference between India and the US. They have to work through the night, and gradually develop a variety of disorders. Since a similar time difference exists in the case of Kenya, some call center employees might start facing such health issues.

More jobs are great. But the long terms costs need to be considered. I worry for the youth of Kenya.

<comment><USER10> _Since a similar time difference exists in the case of Kenya_

There is a time difference between US & Kenya, but Kenya is almost on the same timezone as Europe.

<comment><USER2> Yeah, and it's 3 hours lessened in any case. The ET workday would be 4pm- midnight in Kenya. More natural than the 7pm-3am run in India, in any case.

</comment></comment></comment><comment><USER11> Good luck to the Kenyans, although the really bullish trend for Africa is their heavy use of mobile.</comment>


Ask HN: How does your business/company deal with paper invoices? - <AUTHOR> Does your business/company still receive paper invoices/bills? How do you deal with them? <comment><USER2> Datestamp, manual entry into accounting software, file the hardcopy away with associated billing companies file for the fiscal year.

<comment><AUTHOR> The company I work for does the same thing.</comment></comment>