Using D to Create the World's Fastest File System - <AUTHOR> https://dlang.org/blog/2018/12/04/interview-liran-zvibel-of-wekaio/ <comment><USER2> I have wondered for awhile now why Rust is getting all this attention of being "Like C but safe and cool!", but no one would mention D.

I personally don't do systems programming because I'm not smart enough but the little bit I have done, I found D to be the most-natural feeling (even over Rust), and D has been around a lot longer.

I suppose timing is everything for these kinds of things.

<comment><USER3> The Rust community is extremely hostile, especially against other languages, and D in particular.

<comment><USER4> Its not hostile. Its aggressive in selling the strong points of the language. Having said that, I do wish newer languages spring up that adapt the good stuff from Rust. I can never like Rust syntax.

<comment><USER5> A ludicrous amount of engineering has gone into the Rust compiler, the extensive documentation in RFCs about its design, the huge language docs that took a million man hours to make, RLS is another huge undertaking...

I do forsee Rust getting a Coffeescript of its own. I'm in love with the control flow model of the language but always felt some things that were in from day one (like double colon :: namespace delimiters, ampersand references, asterisk pointers and dereferencing, semicolons, curly braces, etc) were just wholesale copied from the languages de jour of the day because the focus was on the borrow checker as an innovative feature. So the semantics and ergonomics were completely phoned in early on, and by the time the modern development process around the language and compiler matured the glyphs were so totally entrenched there was no way to reconsider any of it.

A syntactic wrapper that gives you the types and behaviors of Rust with beautification like whitespace significance over mandatory brace delimiters and semicolons (like Python) with single colon (or maybe even dot) namespacing and such would be an insanely hard project (because parsing Rust is already insanely hard, and a lot of work went into minimizing compiler passes to parse grammar so keeping that with less control characters to work with in an intuitive way sounds like a substantial exercise in ergonomics) that compiled to ugly normal Rust would be fantastic to help newbies avoid the "glyphic overload" I easily see happen to anyone I try to preach Rust to.

<comment><USER6> I totally agree re the ergonomics. It really feels to me as if a lot of C/C++ conventions were copied over, with no justification beyond "this is what system programming languages look like".

</comment></comment></comment></comment></comment><comment><USER7> I would have liked to hear more about what exactly made D so great -- reading through it it's kind of vague. He mentions generics and finally getting LLVM support working as a target, and being able to use D at a high and low-level but I don't see anything here that's groundbreaking.

Could someone who uses D

Hate to be that guy, but if you could compare it with rust that would be double A++ good... I know the targets are somewhat different but I find that I can write high level rust _and_ low level rust. Also, I get the feeling that you could very easily have used Go for the same purposes (D was around long before Go IIRC so maybe it was just not being present).

<comment><USER8> My experience, which of course is anecdotal, is that the advantage is it's easy to change the algorithms and data structures.

I've maintained C and C++ code bases for decades, and I've found that the first algorithm I tried has stayed there in the code. It gets tweaked, optimized, refactored, but it's the same algorithm and data structure.

With D, when I developed the Warp preprocessor, [https://github.com/facebookarchive/warp](https://github.com/facebookarchive/warp) I continually tried different algorithms & data structures to see which was faster.

One reason it's easier is that in C/C++ the . is used for value field access, while -> for pointer field access. In D, . is used for both. So you can easily switch between a value and a pointer to the value by changing little code.

<comment><USER9> > In D, . is used for both.

Yes, this is a great feature. Rust also does this, and I attribute substantial portion of ease of refactoring Rust to this feature.

<comment><USER10> Oddly enough, so does Cython.

</comment></comment></comment></comment><comment><USER11> For those commenting on the name: weka is not only the name of a storage company and some machine-learning software, but originally a flightless bird native to Aotearoa / New Zealand.

[http://nzbirdsonline.org.nz/species/weka](http://nzbirdsonline.org.nz/species/weka)

Not to be confused with weta, which is a large scary looking (but actually pretty harmless) insect in the grasshopper family and also the name of another company that did most of the digital effects for the LotR movies.

<comment><USER12> Weta Digital ([https://www.wetafx.co.nz/](https://www.wetafx.co.nz/)) are named after the grasshopper, not the bird.

</comment></comment><comment><USER13> > Our previous company, XIV (that IBM acquired in 2007) used a private version > of C that had polymorphism, generic programming, and integrated RPC, for > code that was a mixture of XML, C, and weird header files.

Super interesting. XIV was a great system, but "weird" is a good description for some of the source (IBM of course neglected/ruined it). Thought most of the XIV folk went to Infinidat.

In the storage world, C is still king, so nice to see a challenger. But some of the hurdles he describes in the article, ouch. No wonder people stick with un-sexy languages and toolchains.

</comment><comment><USER14> I discovered D is a secret weapon at several companies, but not all of them want to make it widely known...

<comment><USER15> Is this true? Mind speaking on which types of projects it was mostly used?

<comment><USER16> Congrats for Weka.IO. They managed to pull it through after the CEO visited the DConf and asked for help.

D is a brilliant language. I got drawn into D by this article[1]. I've used D to replace some of the test tools where Java/Python were used. GC is a friend in such cases. I could've written them in C++ as well, but Phobos wins over STL hands down!

Initially the "solution" test application for one of our REST services was written in Java. It covered the functional, performance and longevity tests. The REST service itself was written in C++. Ultimately the customers reported that under heavy load the response time of the REST service is too long (> 400 ms) and we fixed the code as well. But during tests we were unable to really load the application to the fullest. 48 cores & 48 threads in Java and we still couldn't overload the REST service. We had no way to prove that our fix actually worked. Ultimately, we rewrote the test app in D and boom, we were finally able to achieve the load that customers created in their production env - both in terms of response times and throughput. I could've written it in C++. But D's std.parallelism + template mixin is a boon, thanks to David Simcha. Based on our tests, the D test app was __20 __times faster than the Java equivalent (written by one of the finest and the expert).

Sure, there is a lot of visual noise due to @nogc, etc, etc. But beneath that there is a beautiful and readable language that's waiting to unfold, if and only if the D authors realize that they stop the feature creep and revert to sane defaults.

On the other hand, I started to convert the REST service from C++ to D last year and it didn't go well. Blame me! There are _very_ rough edges in D as well that are result of over engineering. One such thing is the const'ness in D. It make it impossible to use const, ever, by library authors. I don't care to go and fight in D forum. Manu has already screamed many a times. Lately I found that one of the reasons for poor performance of my D port was also because of auto-decoding! Duh! It was not even GC. (The default should be fast, isn't it?). I spent a considerable amount of time for this port and eventually it failed to meet the performance vs maintainability trade-off. C++ is getting better year by year, at least every 5 years :-). std::vector, std::map, etc are safe for concurrent reads (at least on POSIX). std::vector has erase with iterator. Phobo's std.array doesn't have an equivalent features, albeit it is much more readable than STL.

FWIW, D doesn't deserve the negative publicity that it usually gets. It's a fantastic language. Try it and if you like it, enjoy using it for the right use cases. After all choose the right tool for the job at hand.

[1] [https://wiki.dlang.org/Component_programming_with_ranges](https://wiki.dlang.org/Component_programming_with_ranges)

<comment><USER8> The difference between const in D and const in C++ is that D's const is transitive, and C++'s is not.

Transitive const is necessary for things like pure functions. It's more difficult to use because the compiler really, really means it. But when it's there, you (the user) knows that function is not modifying the const data structure, not no-how, not no-way.

</comment></comment></comment></comment><comment><USER4> D standard library is so well documented. Its criminally underrated.

</comment><comment><USER17> Random Fact: I can't help but smile when I read that D's "STL" is called Phobos because of my Doom 2 nostalgia :)

Have a nice day, everyone o/

<comment><USER18> Well, Walter's company is Digital Mars so that's where he gets his naming scheme from. Nothing to do with Doom except they both are using the same Greco-Roman deity astronomical naming scheme.

<comment><USER19> Originally D was supposed to be named Mars. The stdlib is named Phobos and there is a project called Deimos which is about providing bindings to C libraries.

</comment></comment></comment><comment><USER20> Perhaps an unfortunate name, though. For some reason my brain involuntarily auto-corrects "WekaIO" into "WeakIO". I think advertiser sometimes even play with this auto-correct feature of the brain to make suggestions without stating them.

</comment><comment><USER21> Weka is a name of a Machine learning product from New Zealand.

The IBM system had 24xHGST N200 SSD, 830 000 random read, 200 000 random write. that is 24 * 200 000 IOPS=4.8Million random writes.

The Matrix system had 64x1.2TB Micron 9100 SSDs. 750 000 random read, 300 0000 random writes. 64 * 300 000=19.2 Million IOPS

Ok so you have benchmarked hardware with 4.8 Million write ops vs 19.2 Million write ops.

<comment><USER22> I clicked on the story in the hope that there was a New Zealand connection, and was disappointed that it seemed to be an Israeli operation.

</comment></comment><comment><USER23> It seems this article is not accurate anymore? (the reference is from March). It's not far off though:

[https://www.theregister.co.uk/2018/11/30/wekaio/](https://www.theregister.co.uk/2018/11/30/wekaio/)

[https://www.hpcwire.com/off-the-wire/wekaio-places-in-top- fi...](https://www.hpcwire.com/off-the-wire/wekaio-places-in-top-five-of-the- virtual-institutes-io-500-10-node-challenge/)

</comment><comment><USER24> Ah, just looking at this. When I was looking at D back around 2005 it was a closed shop run by one guy - I had the feeling it did not take off because it simply wasn't an open enough project.

It is a shame, as since then we've had go, Swift, Rust all come along and it is a lot more competitive for mindshare in that space... not to forget the merits of modern C++ (it is a far better language post 2011)

<comment><USER25> "it was a closed shop run by one guy"

You do realize Walter Bright is a frequent HN resident :) ?

<comment><USER24> I don't criticise him, I just think the structure of the project meant it failed to really launch. There are people like me (20y+ C++) that when certainly I think of D, I think of it being a closed project. I spent quite a bit of time looking at it and thinking how great it was, but it seemed confusingly proprietary (which is not a great place for a programming language to be.)

</comment></comment></comment><comment><USER26> Sounds to me like they would be better off with Rust as they are actively avoiding GC. How are the two languages compare in this problem space?

<comment><USER27> You can avoid GC with a non-GC standard library that they actually wrote:

[https://github.com/weka-io/mecca](https://github.com/weka-io/mecca)

<comment><USER28> Here's the thing though: They wrote a new compiler and a new standard library to make the language work for them. How exactly is that good publicity for D?

D itself looked and still looks very interesting to me, as it can be very performant, without having insanely ugly syntax such as c++ or rust (inb4 rUsT iS VeRy ReADaBlE).

<comment><USER29> > D itself looked and still looks very interesting to me, as it can be […] > without having insanely ugly syntax such as c++ or rust (inb4 rUsT iS VeRy > ReADaBlE).

I did a quick dive into aforementioned stdlib only to stumble upon something I would rather prefer any Rust/C++ version over: [https://github.com/weka- io/mecca/blob/f5dc6d9f71983ea7b852ad...](https://github.com/weka- io/mecca/blob/f5dc6d9f71983ea7b852ad85a99aca2496674f98/src/mecca/lib/exception.d#L284-L293)

Some might want to exempt standard library from the "readable code" argument, but I'd argue that readability argument was lost the moment language designers allowed anyone to write things like `whatisthis!"whatever"({t.__ctor(args);})` (regardless of best practices that regular devs might unanimously follow). You can't just say that "A is bad 'cause it allows unreadable code" and follow that with "nobody's doing bad things in B therefore it's much better".

<comment><USER28> that's just nitpicking. I bet you can find equally ugly examples in the other 2 languages. My point is that "standard" code is infinitely more readable than either c++ or rust.

<comment><USER29> > My point is that "standard" code is infinitely more readable than either c++ > or rust.

Still I'm struggling to see any code that is _significantly_ more readable _because of D 's design decisions_, or details on what makes D more readable than $lang (especially compared to modern C++/Rust that you seem to despise so much).

<comment><USER8> 1\. Template syntax. For example, a struct template in D is:

        struct S(T) { ... }

A function template is:

        T func(T)(T t) { ... }

2\. No forward reference declarations required. This cuts down on a mass of unnecessary boilerplate. Even better, it allows the coding style of ordering the functions from most important to least important, rather than the reverse that is typical of C/C++ source files.

3\. Terser declarations:

        ulong x;

instead of:

        unsigned long long x;

4\. No ugly #preprocessor code interspersed with your nicely formatted code.

5\. Nested functions mean they can be nestled close to where they are used rather than much further away in the file.

6\. None of that awful

        #ifndef __INCLUDED_FOO_H
        #define __INCLUDED_FOO_H
        ...
        #endif

<comment><USER29> I already find function template syntax (1) a bit more confusing because of consecutive parentheses (I can get used to it pretty easily, but it will always be a bit slower to read), and 2–6 does not make me want to convert to D from Rust.</comment></comment></comment></comment></comment></comment></comment></comment>


Melinda Gates: Here's Why I'm Committing $1B to Promote Gender Equality - <AUTHOR> https://time.com/5690596/melinda-gates-empowering-women/ <comment><USER2> >In 2018, there were more men named James running Fortune 500 companies than there were women.

Nothing is stopping women from being CEOs. This has nothing todo with "equality"

>It's frustrating—even heartbreaking—to confront evidence of the many ways our country continues to hold women back.

Nothing is holding women back. What is this author talking about? Women have the same rights as men.

>That's why, over the next ten years, I am committing $1 billion to expanding women's power and influence in the United States.

So now its okay to be sexist because men have held higher positions, worked longer hours and with positions of power. Melinda wants to shame men for this very reason.

>Gender equality in the U.S. has been chronically underfunded.

Because Gender equality is a buzz word. Men and women are equal.

I have to stop.. This does not belong here, and hits nothing but a feminist piece to put men down.</comment>


REvil Publish First Trump 'Dirty Laundry' Emails Since Branded Cyber-Terrorists - <AUTHOR> https://www.forbes.com/sites/daveywinder/2020/05/17/hackers-publish-first-169-trump-dirty-laundry-emails-after-being-branded-cyber-terrorists/ <comment><AUTHOR> 'In a far more sinister tone, though, the ransom note ends with the following warning seemingly to President Trump himself: "I would hurry up. In the place of your competitor, I would buy all the data and put it right at the start of the election. That would be fun. But you can get ahead of him."'

Original title lacked context and was too long. It was:

Hackers Publish First 169 Trump 'Dirty Laundry' Emails After Being Branded Cyber-Terrorists</comment>


Intel's Ivy Bridge Architecture Exposed - <AUTHOR> http://www.anandtech.com/show/4830/intels-ivy-bridge-architecture-exposed

<comment><USER3> I kept reading this and wondering why there was going to be so little improvement when dropping down to 22nm. Turns out they are mostly just bumping the GPU which is useless to anyone with a discrete graphics card.

"Intel isn't disclosing the die split but there are more execution units this round (16 up from 12 in SNB) so it would appear as if the GPU occupies a greater percentage of the die than it did last generation. It's not near a 50/50 split yet, but it's continued indication that Intel is taking GPU performance seriously."

<comment><USER4> What percentage of users _use_ a discrete graphics card, though? Especially on ultra-light laptops?

<comment><USER5> And what percentage of Ivy Bridge users are going to be using ultra-light laptops? It's a desktop part as well.

<comment><USER4> It is, but I would guess the majority of desktop users are in offices and will be just fine with the on-core CPU (keep in mind it is pretty powerful - <USER2> current ones are on par with medium-low range discrete cards, and Ivy Bridge's are likely to be much better).

What really is the percentage of gamers and video editors that need the high- end GPUs?

<comment><USER6> Saying that current integrated GPUs are on par with medium-low range is still generous. Based on the article, Ivy Bridge GPU is approx 60% faster than in Sandy Bridge. I'd estimate that it would it near the performance of Radeon 6450, which is the weakest discrete card in the series.

That said, I agree that with Ivy Bridge, the GPU performance will be good enough for a lot of uses.

</comment></comment></comment></comment></comment><comment><USER7> The thing I found most interesting was "supervisory mode execution protection (SMEP)", AKA rings, available in 64 bit as well as 32 bit modes. This is something that AMD punted in their 64 bit macroarchitecture (which Intel was then forced to copy) and is sorely missed for various low level stuff. Unfortunately the long 64 bits interregnum without rings means it will be a long time before you can depend on others being able to run software depending on it.

<comment><USER8> What's an example of something that depends on this?

<comment><USER7> I remember that some things depended upon it before AMD came out with their 64 bit architecture, but not what they are.

One thing I do know it's useful for is allowing your GC to run in an intermediate level of privilege between user and supervisor code. Also, if you do it right (i.e. Multics) a system call can be much cheaper because the supervisor isn't running in its own address space etc. Instead, your user level code calls a carefully vetted bit of system gateway code that has a foot in both rings.

<comment><USER9> At least on Linux, there is no address space change when you make a syscall - entering ring 0 _grants access_ to the top half of the address space, where kernel code and data lies, but there's no change in page tables (with all the overhead that implies).

As for code having a foot in both rings, Linux has its VDSO (and Windows has ntdll) running at a user privilege level; I don't really see how having an additional intermediate level would help much.

<comment><USER8> I'm not the world's expert on this kind of thing but I don't think I've seen anything much more complicated than the basic 'supervisor mode bit' get much use in practice.

Even the venerable 286 (yes 2 not 386) had this four ring model and 'tasks' which continue to exist as vestigial organs of the architecture. Not used by anything I'm aware of.

<comment><USER7> Well, I think it's fair to mention that more than a few of us are appalled by how ... conservative the systems development community is. E.g. people persist in building systems that are less advanced than e.g. Multics and ITS (notice some of the comments on BeOS and IO). E.g. the biggest action here other than hypervisors (which are a pretty old concept, it's been a long time since an IBM OS could run on bare metal) and perhaps smartphones (an area I'm just not familiar with) is Linux, which ... foundationally in't very advanced. The base concepts are straight from the early '60s (pre-Multics).

This was true for languages as well; at least at the beginning of the last decade I noted that nothing seriously popular was based on concepts that had been developed any earlier than the '60s or maybe early '70s depending on how your scored OOP (Simula vs. say Smalltalk). Don't know if this applied to Ruby, though, or really even Python, languages with I don't know. Fortunately that Dark Age didn't last long (I suspect because the dot.com crash forced companies to "work smarter, not harder" because of resource constraints).

As for the 286, using it as anything more than fast 8086 was so painful, so crippled and so slow few bothered (OS/2 is the famous and famously not successful exception). Remember the hack with the keyboard controller to get back to real mode? If you didn't need to do that (mostly a device driver issue), it still was _extremely_ expensive to switch segments in protected mode which were still limited to 64KB.

<comment><USER8> _people persist in building systems that are less advanced than e.g. Multics and ITS [and] hypervisors_

I find it interesting that the VMware-style hypervisors were originally implemented not using, but _in spite of_ all the virtualizaton features of the CPU. Yet today VM virtualization is considered the most reliable security boundary on shared hardware. No large security-conscious company would share user accounts on a Windows instance with untrusted parties, yet they will share virtual private servers.

I think what it says it that chip designers are lousy at developing what OS developers want and OS designers are lousy at developing what customers want.

 _286_

Remember, this chip was designed before anyone realized that DOS (and DOS- based device drives) was going to take over the world. They never imagined anyone would want to switch from protected mode back to the obviously-inferior real mode. :-)

They were darn lucky IBM thought to put that auxiliary keyboard controller there to do a reset on the main CPU.

<comment><USER7> " _I find it interesting that the VMware-style hypervisors were originally implemented not using, but_ in spite _of all the virtualizaton features of the CPU._ "

Errr, I've not directly studied this but I've read that the x86_32 architecture is particularly hard to virtualize, and that VMWare does it by rewriting the binaries it runs and Xen obviously started out by paravirtualizing the hard stuff.

You're second point speaks more to how horrible Windows security is than anything else, I'd say. The security conscious are more willing to do that sort of sharing in the UNIX(TM) world, but of course it started out as a classic time sharing system. And then Linux at least got seriously hardened by a whole bunch of people, most notably the part of the NSA that does this sort of thing (it's no accident a lot of SELinux is _very_ familiar to someone who knows and/or studied Multics).

But all that said, separate VMs raise very high walls between parts of a system that must be protected from each other. A system with very serious real world security requirements that I'd providing some advice on right now is using XCP and separate VMs to help achieve that. Of course it helps that nowadays we have CPU to burn (and with caches bigger than the main memory of any machine I used in the very early '80s) and that e.g. 2 4 GB sticks of fast DRAM (DDR3 1333) cost ~$80. So I suppose this is in part a "if you have it, why not use it?"

It's certainly the case " _that chip designers are lousy at developing what OS developers want_ " (see the 286, AMD's dropping of rings, the 68000's inability to safely page ... although all of these examples at least have been or will be fixed). As for " _OS designers are lousy at developing what customers want_ " ... very possibly. It's certainly a problem that developing a serious OS is for almost everyone a once in a lifetime effort (David Cutler was famous for doing 3 or so). There's also the curse of backwards comparability, which has also cursed the CPU designers.

But it's worse than that. It's hard to keep the original vision going, and counterwise sometimes part of that vision is wrong or rather becomes wrong as things change. E.g. we all thought the Windows registry was a _great_ idea ... and then it got dreadfully abused (my favorite: using autogenerated 8.3 file names as values, making restores problematic). There are some great and I gather correct screeds about Linus refusing to create an HBI so that keeping existing device drivers from regressing is ... a very big problem. (Of course, that a _big_ competitive advantage for Linux as well, but ... not a very nice one).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> Whoa: mov is a rename and _doesn't take a uop_. In the leadup to Sandy Bridge this seemed hinted at (the SB renamer handles 'zeroing' registers if you use the right cliche) but SB still didn't do movs as renames. The fact that Ivy Bridge does is pretty cool, and more applicable than a shift to 3-operand forms, as it won't need a recompile to run older code more quickly.

This is pretty cool, at least for those of us who care about this sort of nonsense. I think I have a performance-critical 105-operation loop somewhere that might shed about 8-10 pointless execution slots burned on movs...

</comment><comment><USER11> Interesting how the focus has shifted from performance / frequency to power consumption. I guess Intel is starting to get a bit of a scare of ARM's impending Cortex-A15 attack on the laptop space..

<comment><USER12> I hope that once we have quad core 2.5 Ghz Cortex A15 chips (probably next year), ARM will also start focusing on lowering power consumption after that, or at least split the product line in 2: one that continues to double up the performance every year, while maintaining the same TDP, like they do now, and one where they maintain the performance, but cut the power consumption in half every year.

That kind of performance should be more than enough for smartphones, and probably even tablets, though I could see how we might need more on clamshells. But by having a product line that focuses on lowering power consumption every year, while maintaining the performance will also ensure Intel will never catch-up with them in chips with extremely low energy consumption, and in the same time our smartphones will start lasting more and more.

<comment><USER13> ARM already has that strategy in place. They don't stop licensing the A8 core when the A9 MPCore hits the market. They're perfectly willing to let you produce an A8 on 22nm silicon if that's what provides the power/performance balance you want. You should take a look at the full list of cores offered by ARM; there's a lot you won't have heard of if you only pay attention to the flagship phones and tablets.

</comment></comment></comment><comment><USER14> The evolution of technology has certainly been interesting. I remember a lecturer once told me that everything old is new again. Basically we go in cycles.

We started with mainframes, then mini-computers and then micro-computers (PCs/Macs). What happened in the last 10 years? Through the "cloud" we basically went back to large computers and timesharing again.

Another turning point in the last 10 years is that basically any PC made since 2000 will probably be sufficient for what most normal users want. We get increasingly powerful CPUs that most people just don't need.

This is part of the reason for the move to lower power consumption. A smaller form factor and lighter computer is something most people care about. Having 6 cores instead of 4 just isn't.

Many pundits have predicted that Web applications will take over. 5-10 years ago there was a reasonable basis for this opinion. Computers would get increasingly powerful and that headroom would make the otherwise horribly inefficient Javascript medium (compared to the compiled languages like C/C++ or even the bytecode languages like Java/C#) dominant as the inefficiencies become irrelevant.

The rise of native apps on mobile is another example of this cycle. Part of this is that native apps have access to libraries that Web pages simply don't but part of it really is performance and the fact that performance once again matters.

Personally I find the manufacturing of chips at 22nm to be simply amazing. When I started paying attention to this stuff IIRC the 386/486 were done on 500nm+ lithography.

I do wonder what the future holds because that number just can't physically get much smaller (with current lithographic techniques).

It's amazing how much power a small chip can get now. I have one of the latest Macbook Airs and it can decode 10 video streams without the fan coming on. A friend has the Core 2 Duo MBA (last year's) and his machine is dying under the same load.

<comment><USER15> "Another turning point in the last 10 years is that basically any PC made since 2000 will probably be sufficient for what most normal users want. We get increasingly powerful CPUs that most people just don't need."

That's being quite generous to the Pentium 4. Really the last 4-5 years is when acceptably good CPU power in any circumstance for normal users became the norm. The Core series of processors is what first gave us the sort of power that we've come to expect and Nehalem, Westmere, Sandy Bridge and now Ivy Bridge are all just improvements on that.

Also, according to cpu world, the original 80386 was done on on 1.5µm lithography.

<comment><USER16> Depends on your software stack, too: the Athlon system I bought in 2000 had no trouble running a web browser with multiple windows while simultaneously compiling, transcoding DV, having email & IM open, etc. on BeOS.

We've gained in many areas but I think it took the hail-mary SSD migration to dodge the usability hit from poor I/O scheduling on Windows, OS X, Linux, etc. This is far from saying BeOS was perfect (e.g. networking was wretched, there was no pervasive color management or visual quality from the switch to GPU compositing) but rather that some of our memories are colored more by the software than underlying hardware.</comment></comment></comment>


Meta: The Most Advanced Augmented Reality Interface - <AUTHOR> http://www.kickstarter.com/projects/551975293/meta-the-most-advanced-augmented-reality-interface/ <comment><USER2> The videos there are misleading. The level of quality shown is nowhere near what that hardware can achieve. For example, in the "video from the lab", virtual objects are shown occluding someone's hands. That is not possible with the display technology they're using. Your real experience with the device will not be anything like the videos shown. The display will be more like a ghostly, low resolution overlay, with significant latency.

The sad thing is that the hardware actually looks pretty neat. This device should be cool enough that a realistic demo could easily sell it without misleading people. I hope Kickstarter starts cracking down on projects using pie-in-the-sky concept videos to raise expectations that they can't possibly deliver on.

<comment><USER3> > The videos there are misleading.

I was thinking the same just based on the repeated "there is nothing like this being developed", which I may have believed if I didn't come across Oculus Rift just a few hours prior.

<comment><USER2> I think that claim is actually accurate. The Oculus Rift is much different: it's virtual reality, whereas Meta is augmented reality. They are different things, and augmented reality is much harder. The Oculus Rift completely occludes your entire field of vision and replaces it with something else entirely. Meta modifies the real world with virtual objects.

<comment><USER4> Couldn't one mount a camera ontop of the Oculus Rift (just like with Meta) and stream the camera feed into the Rift + process the video stream to offer augmented reality?

<comment><USER5> This would work much better. The main reason is latency. The added image will always lag behind the real world by some milliseconds (16ms minimum refresh latency for 60hz). There is also the image capture and processing latency which is considerable. This is true for both the Meta (hard augmented reality - hard AR) and the occulus rift (virtual reality - VR).

The difference in experience is for VR, the whole world lags so an added object will always be at the right place. With hard AR, the added object will be trying to catch up as the image moves.

From what I gather on google glass, they mostly aim for soft AR. This is where you add information on top of the real world but it doesn't map directly to a location in the real world: if you move your head, the added image stays the same. This is much more resistant to delays and could be useable for extended periods of time without discomfort.

For a better and more technical writeup:

[http://blogs.valvesoftware.com/abrash/why-you-wont-see- hard-...](http://blogs.valvesoftware.com/abrash/why-you-wont-see-hard-ar- anytime-soon/)

</comment></comment></comment></comment></comment><comment><USER6> I think this stuff is cool, but I think it is going to be held back by a romantic attachment to "real".

Why not use something like the occulus rift? Instead of projecting new objects over the top of existing ones; replace the users field of vision completely.

I'd love that.

One of the guys in our hackerspace (plug: heatsync labs, Phoenix AZ) got an occulus, and we've been talking about how cool it would be to build a "virtual office" of sorts. Sit down with an occulus and some noise cancelling headphones, and have an infinitely large workspace.

2 monitors? or 1000 monitors; it doesn't matter because your entire field of vision (or your entire environment) is being rendered for you.

\--

I think people are very attached to the idea of your eyes seeing the "real" world instead of a re-displayed one. I understand that, but I think that ideology is going to hold AR back for a while.

<comment><USER7> My housemates and I have one coming in the mail.

My idea was to make a window compositor for X--the idea being that all open windows would be scattered around the inside of a sphere or hemisphere or perhaps hypercone with the user's head at the center.

You look at a window and slowly turn to face directly forward, and the window blows up and moves into focus. A shake of the head dismisses the window, and a sharp snap to either side cycles through open windows.

Shoot me an email if you'd like to talk more.

EDIT: X programming is fucking arcane. :(

<comment><USER8> Skip X, jump to QML and QWayland.

<http://www.youtube.com/watch?v=_FjuPn7MXMs>

Take that and extrapolate. Doesn't seem that "crazy" really. Compiz and KWin both already have window animations you're describing. There was even a Wii- head-tracking plugin for compiz that would give your desktop a third perspective dimension. (Moving your head would reveal the edges/bits of the other windows underneath higher ones).

It'd be a neat demo, but it sounds like a nightmare for daily usability, etc.

<comment><USER7> I'm quite happy doing it with X/GLX--I'm only interested in chasing one kind of shiny at the moment.

(I reserve the right to eat my words and recant this misguided decision later.)

</comment></comment></comment></comment><comment><USER9> Interesting to note that Meta is in fact YC-funded: [http://allthingsd.com/20130517/meta-wants-to-become-the- next...](http://allthingsd.com/20130517/meta-wants-to-become-the-next- augmented-reality-glasses-phenom/)

</comment><comment><USER10> Is it just me, or is there very little "real software" being shown here? Everything in the video was just "artist's interpretations" of what it "could look like", no?

<comment><USER11> Yeah, I'm seeing a lot of "what it could be like," in a video that probably cost thousands to produce. The big round $100K number is suspicious to me as well. They're making... a dev kit? For an environment, device, and service platform that doesn't exist (nor the technologies to enable it, just yet), and their budget to create all this is exactly $100K? If so, that's not gonna happen. If not, and this is just cherry on the cake funding, I don't think that's what Kickstarter is "for," as much as Kickstarter can be "for" one thing and not another.

<comment><AUTHOR> Hey, You're right, $100k is nowhere near enough to build all the supporting technology. Our software development is covered by investment, including YC. The Kickstarter is purely about covering hardware costs and the $100k threshold is for minium production runs.

Filming stereoscopic video through the glasses is very complicated which is why we used concept visualisation to give an idea how it will feel. We're working on a rig to film through the glasses, but right now there's no way we'll be able to convey how impressive it is in person through live video.

<comment><USER10> You should really consider being more up-front about that in the video. A little disclaimer along the bottom of "Artist's rendering" or something would go a long way.

<comment><USER12> Has Kickstarted backed off from their recent stance? As of last September their position was that "Kickstarter campaigns will be unable to use simulations or design renders to illustrate what a completed product may look like or how it may function. Instead, creators must provide photos or video of prototypes as they exist at the time of posting." -- <http://www.kickstarter.com/blog/kickstarter-is-not-a-store>

</comment></comment></comment></comment></comment><comment> z-e-r-o This technique, as it is shown, is not going to be possible for at least the next 5 years. They either know it and are making a huge fake marketing campaign (for a possible Google acquisition) or haven't realized it yet will have a really hard moment when they realize it.

Couple of components which are not going to work:

1\. A see-through glass with Field of View as shown in the video just doesn't exist today. The model they are going to use are more like a 'tiny TV-screen floating in your view' and not even close to the visualization they created.

2\. Real time 3D gesture recognition from point cloud data on ARM (+ overhead for applications + games all in low latency)

3\. Real time 3D environment reconstruction from moving point cloud data (requires something like quad-core i7 + 32 GB RAM + desktop-class GPU processing)

They want to achieve it on an ARM running from tiny batteries!!!

\+ On top of this would come the whole application / game experience, something they seem to be concentrating on, instead of getting the basics right.

4\. Then there is latency, which is just not going to be solved for the next 5 but more probably 10 years, just read Michael Abrash blog about the reality of Augmented Reality glasses (<http://blogs.valvesoftware.com/abrash/>).

To be clear, I'm not saying that they won't be able to make what they promise, I'm saying that not even Google or anyone will nearly be able to achieve it for at least 5 years, and everyone knows this who is even a little bit into augmented reality.

So personally I find the Kickstarter campaign to be a fake campaign and it is just bending the rules of Kickstarter which requires a real-world hardware prototype. So they made a glued together prototype with a fake visualization, with the whole campaign built around the video.

Nonetheless, the campaign has a chance of being a massive hit, because every sci-fi fan is dreaming about it for decades and is willing to back it if he has the funds. In that case, it might have a chance of the biggest Kickstarter failures of all time. The best case for them would be a quick Google acquisition and integration into the Glass team.

</comment><comment><USER13> I'm a little bit skeptical of some of the artist renderings here. Being a researcher in the computer vision field, rendering accurately onto arbitrary surfaces simply is nowhere near this precise. It requires an extraordinary amount of scene understanding. Factors like shape, surface normals, illumination, reflectance, etc. all need to be separated. These properties are extremely entangled together and state of the art methods require a great deal of computational power to do significantly worse than what's being shown here.

</comment><comment><USER14> I own an Epson Moverio, which the Meta 1 glasses appear to be based on. I have a small bit of firsthand experience with hacking on it to do ARish things.

* The Moverio consists of two parts, the glasses and the control box. The two connect via a seemingly proprietary connector. The control box runs Android 2.2, archaic by today's standards. USB host mode was introduced in Android 3.1, so there would be no straightforward way to feed the depth camera's information into the control box.

* Unity3D, which Meta's software stack claims to be using, does run on the control box once you output your Unity project to an Android application. For the app to run, I had to tweak the build settings to support both ARMv6 and ARMv7 (The app failed to start when built for ARMv7 only). This was doable in Unity 3.5.x. However, Unity 4 removes support for ARMv6.

So I'm full of question marks:

* Did the Meta team somehow obtain/reverse-engineer the specifications for the Moverio glasses' connector, plug it into a more powerful device, and ditch the control box?

* Did the Meta team replace the Moverio control box's OS with a more modern version?

* Is Meta 1 stuck with the older Unity 3.5.x?

* Or am I doing it wrong, and is it indeed possible to run Unity 4-built apps on the Moverio control box?

Also, other have mentioned but the field of view is disappointingly small with this device - just a small window in in the middle of your view.

Overall, confused.

<comment><AUTHOR> Thanks, the dev unit allows software to run on Windows x86. We're not building for Android. Use the latest version of Unity that you wish.

<comment><USER14> Ah, I see. If so, how did you guys manage to connect the Moverio's glasses to an x86 PC? IIRC the glasses use a proprietary connector, and no info on the specs/protocol of the connector (nor the Aux connector on the back of the control box) is publicly available.

Did you guys receive the specs from Epson directly, receive dev glasses which doesn't use that connector, or reverse-engineer it yourselves? Is that information confidential or under NDA?

I strongly feel that ancient control box is holding back the full potential of the glasses and would love to connect different hardware to it. The connector spec/protocol is the only thing preventing that. I'm not very hopeful but if there's any information on it I would love to know.

</comment></comment></comment><comment><USER15> To be fair, they do have a real-video below the pitch video ([http://www.youtube.com/watch?feature=player_embedded&v=o...](http://www.youtube.com/watch?feature=player_embedded&v=oioSBP9XBNg)) which is much more honest and realistic look at what's being developed.

This is actually pretty exciting tech, but it's going to be absolutely nothing like what they have to show in the pitch video.

</comment><comment><USER16> Wow, what completely uninspiring consumerist bullshit. "Hacker's, this one's for you". Right.

<comment><USER17> It's an SDK, not for the general public, so what's wrong with saying that?

</comment></comment><comment><USER18> Isn't the camera just Intel's 3D gesture cam? It also has an SDK that integrates very well with unity. [http://software.intel.com/en- us/vcsource/tools/perceptual-co...](http://software.intel.com/en- us/vcsource/tools/perceptual-computing-sdk)

The first screen shot from the second video shows exactly what their gesture tracking looks like. When doing the perceptual challenge, this was mainly the stuff we were thinking of as applications for the hardware, funny to see someone now taking it and simply mounting it on glasses.

</comment><comment><USER19> What I'm not seeing is anything about positioning. I don't see the usual white balls for the camera (or colored ones as used in Sony's Move). So is it relying entirely on the 3D camera and dead reckoning with accelerometers to figure out where the user is? Because that stuff inevitably fails the moment you start walking around the room.

I'm mostly thinking about ARQuake and the like, where the AR objects are walking around the room or hallways rather than being confined to a table in front of you.

<comment><USER11> The white balls are a color-separation process for location, the Kinect uses an IR emitter.

The Kinect is perfectly capable of creating sets of objects based on its depth map. Normally it's a "skeleton" in a whole body, but it can just as easily make a skeleton of your hand, with the fingertips automatically tracked and used as activation points.

<comment><USER19> Yes, but the kinect camera isn't moving around a space. That's what I'm talking about. Figuring out the camera's position in an unknown environment using a depth camera is much more difficult than figuring out the position of objects moving through a static space with a depth camera.

</comment></comment></comment><comment><USER20> Okay. Yet another hardware Kickstarter with egregious claims? No, thanks.

<comment><USER20> Because there's so much technical information about this project on the campaign page... There's just _no way_ you are probably throwing your money into a hole by backing it.

</comment></comment><comment><USER17> Meron (founder) came to my computer vision class the other day to talk to us about Meta. He took the same class at my uni and has since hired some professors. Seemed like a great guy and a great product. I hope this takes off and isn't eaten by Google.

</comment><comment><USER21> I like it. But they're shooting for the stars here. I'm not sure they'll be able to achieve the quality shown in the video (done with nice Hollywood VFX) in real-life. Like others mentioned, latency might be an issue, but generally the augmented 3D interaction (i.e. spreading a pool apart in an architectural setting) will be difficult to reproduce as-shown. Misleading videos. Kickstarter is like the Wild West these days.

</comment><comment><USER22> Backed. If they can deliver on this the value of the application potential is completely worth the relatively low up front risk.

<comment><USER23> Backed as well. Even the prototype shown in the video below, rough as it may be, is good enough to try a lot of things.

Looks really promising and they are not asking for much.

First thing I ever back in Kickstarter, too.

</comment></comment><comment><USER4> I'm rather skeptic. No real-life videos, only unrealistic concepts. The bold "there's nothing like this being build" statements and then they use off the shelf components.

Sounds like a great recipe for disappointment. They should have at least posted a real-life video (or a realistic rendition).

</comment><comment><USER24> Does Google Glass have stereo cameras? The specs suggest no:

<https://support.google.com/glass/answer/3064128?hl=en>

I have to feel v2 will, given the possibilities of applications as demoed here.

<comment><USER25> Google glass only outputs to one eye, so 3d vision isn't possible.

3d input is still useful, but less fun.

<comment><USER11> Furthermore, Glass doesn't put itself 'over' the world, but out of the way - it's not about augmented reality. That's part of why I think its approach is ultimately going to be abandoned.

</comment></comment></comment><comment><USER26> Totally just backed this. I haven't been so excited about a piece of tech in _ages_. This is truly a game-changer if it works anywhere near as well as they're showing.

<comment><USER27> Sorry, but it's not going to work anywhere near as well as they showed.

Look at the quick "From the labs" video down the page. It's grainy, messy, and raw. There's simply too much noise for it to look good. Without a significant bump in sensor resolution (it's only 320x240! [https://forum.libcinder.org/topic/future-is-here-time-of- fli...](https://forum.libcinder.org/topic/future-is-here-time-of-flight- camera-for-150-from-intel-with-sdk)), it's not possible to have both smooth and performant results.

<comment><USER22> I am more optimistic. While they could have done a better job disclaiming the early videos, I don't believe that they are dumb enough to make such exciting claims to an educated audience if they cannot deliver.

I have also seen the Intel depth camera in action first-hand and that alone is a very promising piece of hardware.

</comment></comment></comment><comment><USER25> Showing a pixel-art 3d bike is a good idea. It's going to appeal to the Minecraft crowd.

Give me something like this that I can run through my MC worlds on and I'm paying.

<comment><USER28> This reminds me of Minecraft Reality: <http://minecraftreality.com/>.

</comment></comment><comment><USER29> Consider me skeptical. I predict the camera will not have low enough latency to ever make this device usable.

</comment><comment><USER30> Seriously one of the coolest things I've ever seen. Can't wait until this vision is a reality.

</comment><comment><USER25> I'd love a 3D interface to HN.

Upvoted, busy, threads float nearer me.

Flame-fests shrink back from me.

</comment><comment><USER31> Meta II: a revolutionary meta circular compiler, circa 1967</comment>


Find a new city - <AUTHOR> http://austinkleon.com/2016/08/03/find-a-new-city/ <comment><USER2> This jumped out at me:

> "I'm trans, so I need to live somewhere progressive so I feel safe day-to- > day and don't feel like I'm going to get beat up for using the wrong > restroom."

This is a pretty damn good reason to live somewhere like Seattle or Boston, and a pretty damn good reason not to live somewhere like (edit:) North Carolina or Tennessee or Georgia. The reality is that many of us are limited by not wanting to live in a city or state that basically wants us dead. The fact that tech companies tend to be clustered around progressive, blue areas is a major advantage.

It's easy to say "just move to the middle of nowhere!" if you're privileged enough to not worry about these things. But some of us kind of want to keep our asses safe and, honestly, alive.

<comment><USER3> Have you actually spent time in Raleigh or Atlanta? The idea that trans people are getting murdered in the street is just not correct.

I'm gay and I've spent a lot of fun nights in Boise, Idaho because a gay friend of mine lives there with her wife. We always have a blast. She has a great career in Boise and I don't think she's experienced more homophobia there than when she lived in New York City. (I know she had at least one bad experience in NYC as she was cat-called once right before I met her and her then girlfriend.)

I think a lot of coastal elites have no idea what they're talking about when they speak about the extreme danger of being different in middle-America.

<comment><USER2> The difference is that North Carolina has HB2 and Massachusetts does not. Cities are great and all, but don't forget that state and federal laws take precedent over city ordinances.

<comment><USER4> Building on this, see, for example: [http://www.lgbtmap.org/equality- maps/non_discrimination_laws](http://www.lgbtmap.org/equality- maps/non_discrimination_laws)

(Note the states with little warning triangles, indicating that the state has passed legislation that _prevents_ cities or other municipalities from enacting their own non-discrimination rules.)

</comment></comment></comment></comment><comment><USER5> Many New York artists talk about NYC as if it was cheap but it is simply not true. There is no other place in the US that concentrates so many different types of people. Patti Smith, David Byrne etc all benefitted from there being billionaires, millionaires, celebrities, thespians, high profile doctors, lawyers, and more than a century of civic dedication to arts and culture. There is a shared communal love and support for creative things in NY. Like all cities that grow, gentrification happens. But if you think the LES or east village was cheap in the 80s it's because you were white and middle class. When this author speaks he's talking to white middle class liberal arts types (like me!) and bemoaning the fact that getting direct access to world class culture isn't "cheap anymore" when the reality is if you want that in NY now you move to crown heights. And there will be some myopic look back in 25 years saying the same shit about that place too.

Ask Patti Smith what happened to the Puerto Ricans who lived there before her. Was it too cheap for them?

<comment><USER6> I think you make a good point that 'cheap' is very relative to your means and access, and the LES may not have been cheap for _everyone_ even in the 80s. Definitely important to remember.

But I'm inclined to believe Smith that it was cheap for her and people like her in a way present-day NYC isn't, for similar people today. I guess we could try to look up rent statistics over time etc.

> if you want that in NY now you move to crown heights.

Pretty sure Crown Heights ain't affordable anymore either. (idle googling suggests median Crown Heights studio apartment price today is $2000. Yeah. "Studio" means "one room (usually very small) apartment" in U.S. rental listings, not something cool like 'giant warehouse an artist can make into an art studio', heh.)

Maybe somewhere I haven't heard of (cause I don't live in NYC) in Queens or the Bronx? I don't know if you'd have the same access to culture and money living in some far-off non-subway-served part of the Bronx though.

I think Manhattan in the 80s really was kind of unusual in being cheap _and_ still a place with lots of money floating around and cultural institutions. This is unusual. It was sort of a mid-point on the re-organization of American urban geography, with NYC being a special case as usual as the biggest city in the U.S.

<comment><USER7> _> idle googling suggests median Crown Heights studio apartment price today is $2000._

It's not quite _that_ bad. Here are some actual listings for one-bedrooms in Crown Heights that rent between $1500-1700:

[https://www.padmapper.com/listings/17067721.-1-bedroom-1-bat...](https://www.padmapper.com/listings/17067721.-1-bedroom-1-bathroom- apartment-at-240-schenectady-avenue-new-york-ny-11213)

[https://www.padmapper.com/listings/17206256.-1-bedroom-1-bat...](https://www.padmapper.com/listings/17206256.-1-bedroom-1-bathroom- apartment-at-49-herkimer-st-new-york-ny-11216)

[https://www.padmapper.com/listings/17246561.-1-bedroom-1-bat...](https://www.padmapper.com/listings/17246561.-1-bedroom-1-bathroom- apartment-at-256-hancock-st-new-york-ny-11216)

But everything is relative. Those apartments would rent for around $700-800 in my city.

<comment><USER8> I don't think it's worth splitting hairs on Crown Heights real estate prices being exorbitant. They are. I moved here two years ago right when the 2nd wave of gentrifiers flooded the area. It's stark.

You might be able to get a 1500-1700 if you _compete_ for one because landlords are beginning to mobilize crappy housing stock (like these apartments).

<comment><USER7> Plus, let's not forget that $1500 is still _a lot of money_ to most people.

<comment> compiler-guy Especially if you are working as a server in a small restaurant or the floor of a small music shop, which is how starving artists survive while trying to build a career.

All the focus on absolute cost misses the income side of the equation, which hasn't kept up with the cost side.

</comment></comment></comment></comment></comment></comment><comment><USER9> I used to live in Nowhere, Florida, and would move back in a heartbeat, but from an employment standpoint it became too risky. Most places outside of The Usual Tech Hubs are one-horse towns when it comes to tech employment, major opportunity risk.

If you're a software engineer and live in the Bay Area and suddenly lose your job, depending on the economy you're probably in for a 1-6 month job search at local companies where you can show up for an interview at any moment's notice. If you're a software engineer and live in flyover country and suddenly lose your job, you better plan on moving somewhere else. Interviewing involves 2-5 hour plane trips all over the country, and then when you finally find something, you need to negotiate relocation costs or fork over $5-10K to move. The prospect of repeating that cycle is pretty unpleasant.

So we put up with 2 hour commutes, tiny homes, and sky-high cost of living, because that's where the companies are.

<comment><USER10> > If you're a software engineer

I don't think the article is aimed at you or me. It's aimed at young people that want to be artists, musicians, writers, and so on. They don't need to be near tech hubs. He argues it is better for them to create their own new bohemian art communities than fight the high cost of living in NYC and SF.

That said, I think there's a case to be made for e.g. the Bronx that he ignores in favor of something like Poughkeepsie.

<comment><USER11> > That said, I think there's a case to be made for e.g. the Bronx that he > ignores in favor of something like Poughkeepsie.

Housing isn't the only cost that drives people out of NYC. For many, if not most, it's actually the school systems that make people move.

Yes, you can get an excellent education in NYC public schools, but it requires you to work the system (applications at every step of the way), and there is considerable risk of not getting into a great school. Even assuming your child does get into one of the great high schools, they might have a ridiculous commute every day getting to/from work.

This explains why when you cross the city line from the Bronx into Westchester County, home prices shoot up. Anywhere with good schools within a reasonable commute of NYC is going to cost you $$$$.

That's why I'd be fairly pessimistic about the case for the Bronx - it might be a pretty solid option for unattached twentysomethings, but the cost of living for a typical middle-aged engineer is going to be no cheaper than it would be for a company in Manhattan (although they may have an easier commute to the Bronx).

<comment><USER10> > it might be a pretty solid option for unattached twentysomethings, but the > cost of living for a typical middle-aged engineer

Again, I think the article is aimed at twenty-something would-be artists, writers, musicians and so on. Not middle-aged engineers (like me).

I get that it was posted on hacker news and people are going to try to apply it to their own lives, but in this case it really doesn't translate all that well.

</comment></comment></comment></comment><comment><USER12> For those looking for cheap cities to live, I've found Zillow's data [1] on mortgage price to income ratio data [2] interesting.

Some choice datapoints:

        San Francisco, CA 9.1817795575535
        Boston, MA        4.9264239374417
        New York, NY      5.5458400782590
        Detroit, MI       2.22905530728586
        St. Louis, MO     2.4588523706753

I think the national average is around 3.1 and around 3.0 is considered "healthy" (your mortgage costs about 3x your yearly income).

[1] [http://www.zillow.com/research/data/](http://www.zillow.com/research/data/)

[2] [http://files.zillowstatic.com/research/public/Affordability_...](http://files.zillowstatic.com/research/public/Affordability_Wide_2016Q1_Public.csv)

<comment><USER13> Interesting to see how much Portland spiked in the last decade, from ~3 to >5\. I wonder how much of the surrounding area that includes? I've seen housing prices skyrocket in Portland, but much less so in surrounding areas. (They've still increased, but I'd hypothesize that they haven't increased nearly as much as within Portland. I'd love to see separated data to check that hypothesis, though.)

<comment><USER12> It looks like they're using a metro region. If you take a look at their "county crosswalk" [1] data that might give more information about it. For example NYC is "MetroRegionID_Zillow" 394913 that has a corresponding "RegionID" in the price to income dataset.

[1] [http://files.zillowstatic.com/research/public/CountyCrossWal...](http://files.zillowstatic.com/research/public/CountyCrossWalk_Zillow.csv)

</comment></comment></comment><comment><USER14> Tech is here because the money for tech is here. It started with the US Gov't putting money into military bases and later Lockheed and other mil contractors. During and after WWII tax regulations changed in such a way that VC become more and more profitable, and the industry grew alongside the talent pool that was being drawn in.

This created a feedback loop of talent and money. But the money is the primary driver here.

It's why if you're an entertainer you go to LA (often after NYC), or go to NYC for finance.

Going somewhere cheap and being in a garage in a vacuum does nothing for you if the climate that allows something like the Homebrew Computer Club (or an underground music club, etc.) to exist isn't there in place _already_. As much as it has done, the internet hasn't wholly replaced that aspect of things yet.

<comment><USER15> I think you're kind of right, but I feel the comparison with LA/NYC is slightly weird. SV is the leader in the consumer web space (and some other areas). If you're into hardware, games or electronic music the choice of SV is far less obvious. It could/would make sense to go to China, Germany or Sweden instead.

One problem is that everyone is so busy to copy SV that they fail to invent their own scene. Probably a result of having to justify yourself to investors. But it really seem like the window in which subcultures can flourish has become much smaller.

</comment></comment><comment><USER16> I love the sentiment. Silicon Valley and NYC became what they are because of people hacking on things in garages / shitty apartments. Now those shitty apartments cost $2,000/month. The equivalent of those places, where things like Apple started, isn't Silicon Valley and NYC. It's places like Detroit. Or wherever people doing cool things decide to move and congregate.

Then again, it is still possible to live cheaply in NYC. My friend lives in Bed Stuy, Brooklyn for $450/month. And there's value in living in or near where the community is already strong. You just have to move out a bit further and live a bit grungier.

<comment><USER17> Detroit is an actual city with deep history. It may be in decline, but it still seems like to have more going on, or at least the potential to have more going on, than small towns. There's likely a lot of other second- or even third-tier cities that are overlooked, but are still more interesting to live in than a town in "Northeast Ohio."

Austin, Portland, Boulder are becoming the new NY/SF because of the process of saturation. We just need to find the next Austins and Portlands.

<comment><USER18> Though primarily my Detroit friends are entrepreneurs or engineers working for them I've noticed that there has been a wholesale movement of artists to the city.

Though in the last five years it's gotten kind of pricey in the downtown area I keep discovering clusters of artists out in the neighborhoods in my travels in the city.

[https://i-d.vice.com/en_us/article/new-york-i-love-you- but-i...](https://i-d.vice.com/en_us/article/new-york-i-love-you-but-its-time- to-move-to-detroit)

Buildings are really cheap though you've got to restore them yourself. Tax valuations though are set at pre-recession values. But if you get a lawyer they can be lowered sometimes up to 75%.

I'm starting to see others following the clusters of artists and slowly these neighborhoods are in the beginning stages of gentrification.

<comment><USER19> downtown Detroit is in a weird state right now where it's bounced back enough and gotten enough hype that it's gentrifying, but the development efforts haven't quite finished fast enough to catch up to demand.

My rent from 2013-2015 went up 35% and I eventually moved to a suburb. I tried to buy a place and even when I convinced myself to overpay would be beat out by a better all-cash offer within 24 hours of a place going on sale. It's nuts here right now.

3 years ago it was a great place to move in cheapish and be around a burgeoning scene, right now it's expensive as hell, and in 2 years will probably be back to being able to support that student/new grad/bootstrapping entrepreneur scene. We need more housing to come online, and it's being built, just not done yet.

</comment></comment></comment></comment><comment><USER20> This idea that cities reach a point of maximum growth, become unaffordable, and should be abandoned by potential newcomers: this is currently true, but it's a broken system, and it's time we look at ways we can improve it.

When a city becomes unaffordable, when rents skyrocket-- those expenses are someone else's windfalls. When people expect the value of real estate to rise and rise indefinitely-- those windfalls are someone else's expenses.

I've come to believe that so much of these structural problems are essentially reducible to issues of land-use (property/land taxes), but there is so little focus at present on reforming this.

<comment><USER21> I think Community Land Trusts are a great example of the sort of thing people should be looking into as an alternative to the current model. Don't see people talking about them much.

The basic idea is that a nonprofit purchases the land in a community and holds it in perpetuity. It _rents_ the land long-term to residents (and for the most part, they're required to be residents), instead of selling it. It's still possible for residents to purchase homes- they just won't own the land they're sitting on top of. That way, you avoid speculation and skyrocketing land prices. Many CLTs also designate some proportion of the land as "low-income", and set accordingly lower rents for those residents.

<comment><USER20> I've wanted to look more into CLTs, but haven't yet--

What's stopping CLTs from existing today? Is it merely the novelty and relative complication of the CLT? Or is there policy that makes them impractical?

<comment><USER21> They do exist! There are, I believe, currently a few hundred in the US. They're just spreading very, very slowly. I imagine the main issue is a combination of lack of public awareness + the difficulty of acquiring land + lack of public policy to accommodate the weird structure.

<comment><USER20> Ah, interesting. I'm familiar with some of the historical land trusts (Fairhope, Arden), but not the contemporary ones... I really need to learn more.

I suppose they're mainly helpful for _before_ when a housing market reaches the breaking point. That is, before the land is unaffordable.

Are people trying CLTs in Detroit? It seems a natural place to experiment with it.

</comment></comment></comment></comment></comment><comment><USER22> This view ignores the benefits of the large cities.

The rents are high for a reason. You want to go there. And not just for the cultural opportunities. Most people want good jobs.

You can't have everyone starting startups, or working remotely.

To put it another way, almost everything important and interesting you do will require other people.

<comment><USER23> > You can't have everyone starting startups, or working remotely.

Not everyone, but let's face it, a HUGE number of existing in-office jobs could be fairly easily made remote, which would cut down on the appeal of large cities. I think if even 10% of all currently in-office jobs became remote, you would see a significant movement away from the big cities.

<comment><USER2> Definitively this. Most in-office jobs involve using a computer a lot for data crunching or whatever, or it requires a lot of meetings that you can have just as well over Skype or Google Hangouts. Even meeting with clients can be done remotely, and there are technical solutions for transferring and handing off documentation and the like.

The only things that absolutely _require_ on-site are things that deal explicitly with the site itself: construction, custodial services and maintenance, hosting parties 'n shit, whatever. The average 9-to-5 pencil pusher job, on the other hand, has no reason not to be remote.

I firmly believe that the modern concept of the "office" will change drastically enough in the coming years that an office will no longer be a physical place, but a state of being - "in the office" now becomes "in job/work mode". We as employees just need to push for this change, now that commutes are getting dumber and dumber. In places like Boston, anyway.

</comment></comment></comment><comment><USER24> For people looking for that 70s NYC like experience, with proximity to NYC, I HIGHLY suggest checking out the Albany / Troy area.

Both are gritty little cities with a bunch of interesting people living there doing interesting shit, all for next to nothing. You can rent a townhouse for under a thousand / month. Shit, you can BUY a gorgeous 19th century townhouse for under a 100k - the same thing that would be 3 million in the Brooklyn where Patti Smith and Robert Maplethorpe lived.

I'm not going to go on about how much there is to offer there, because I could do that for paragraphs. You should just go check it out for yourself.

<comment><USER25> Isn't Rensselaer Polytechnic Institute around there?

<comment><USER26> Yep, there is also a pretty decent tech scene driven by a couple of local successes (mostly RPI affiliated):

Apprenda Commerce Hub Vicarious Visions etc...

</comment></comment></comment><comment><USER27> I really enjoyed this article. I think that if there's one thing that's going to gut the creativity and character of our cities it's going to be hugely increasing rents and housing prices that we're seeing in almost all major urban centers.

> Young folks: Forget New York City. Forget San Francisco. Forget Austin, > Texas. Stay out of debt, live somewhere cheap, make something happen

> This is pretty much what I was trying to say a few days ago, when I posted a > series of Tweets that I thought were fairly uncontroversial, not to mention > unoriginal:

A little off topic, but it's sort of a sign of the state of Twitter today that an unoffensive, positive, and fairly thoughtful tweet like this one is enough to set off the Twitter hate machine (I think that's what he's implying happened here). Many users seem to be put in a concerted effort to read other people's comments as uncharitably as they possibly can.

<comment><USER28> Well, in the first place, contrast the staccato proclamation of the tweet with the article leading up to that tweet. Twitter is a terrible way to try to communicate anything that needs explanation.

In the second place, Austin and especially SF do have locals with well-known and even organized hostility towards newcomers.

</comment></comment><comment><USER29> Everywhere is just a buncha kids trying to make it, until they do, then others want in, so they get there, copy everything, until they crowd others out, repeat the process.

Find a new game server.

</comment><comment><USER30> While cost of rent is lower in nowheresville, the network effects are much, much lower too. There is definitely a benefit to living somewhere that has a thriving community around whatever it is you're doing (software, tech, art, etc). Having only a small community runs the risk of stagnation.

</comment><comment><USER31> This is a good article, in particular the first point that the "super star" cities were affordable places to live from the late 60s through the early 90s if you didn't mind a pretty gritty situation. However, I don't think you can recreate that situation easily in an affordable rust belt city.

The reason those cities were affordable at that time was white flight. The wealthy and middle class white population was moving to the suburbs, causing demand for housing to fall dramatically reducing costs (as well as the tax base, causing decay, increasing white flight). However the businesses that drove those cities did not leave. San Francisco was still a financial hub on the west cost. New York was still the center of finance and business for the entire country. So you had a place were creative people could gather and live affordably as well as an economy that produced enough excess to support the artists and musicians. (a struggling rust belt city doesn't have that many coffee shops and no local money to buy art and pay cover charges and clubs)

I guess what I'm saying is that those times are gone. There are cities where artists artists "are creating their own scene". New Orleans springs to mind, but those cities are getting expensive fast because there just isn't the huge excess of housing there was during white flight.

</comment><comment><USER32> Come to Omaha! Lots of talk about how you can't find jobs or culture in small places, and talk of how the big cities are expensive for a reason. That may be true if you're trying to be an actor, but Omaha has a thriving tech scene, extremely low unemployment, and one of the lowest costs of living of any major metro area. It's safe, LGBT friendly, family friendly, great schools, and the people are nice and laid back.

There is a sweet spot between too big and expensive and too small and isolated. I have lived in NYC and there is nothing I'm missing in Omaha. Although the scale is obviously much different everything I want is within reach, and usually takes a lot less time to get to. Public transportation sucks, but it really is a great city otherwise and has some things NYC doesn't (better beers, and steaks that are better and actually affordable).

There are others within this sweet spot. Minneapolis, the less expensive bits of Denver, Kansas City, and others I am less familiar with. Omaha is pretty much the cheapest of the cities I consider acceptable, but I encourage all of you to find your sweet spot city if you want to live well or cheap.

</comment><comment><USER33> This really resonates with my choice to live in Albuquerque, NM.

Maybe San Francisco, New York, Austin, etc, are better, but (almost) everything those cities have we have too, just in fewer quantities, or more grounded, or both.

I would argue we have a certain cultural richness not found in cities dominated by exposed brick and a 1920s rough aesthetic complemented by modern accessories.

For starters, the state is home to 20+ separate nations that predate the United States.

<comment><USER34> I've been considering a move from PDX to ABQ this year, for reasons of geography and social culture; however the job market here has completely spoiled me and I haven't followed up on many job leads over there. It does not seem to be exactly what one could remotely consider a tech hub, which is actually part of the draw for me, honestly.

</comment></comment><comment><USER35> He has a decent point. He is, perhaps, not saying it very well. It generally doesn't work to use imperatives, like "Find a new city." His point might go over better if it were framed more like 'Artistic youth need a new option."

I totally get where he is coming from when he says you just need to move to someplace cheap. I am a big fan of doing what is within my means, regardless of whatever is going on in the world. But you have to be careful with how you frame such thoughts. Framing in a way that can be read as "It is your fault your life sucks" instead of "It sucks that places like New York and San Francisco aren't what they were a few decades ago. But maybe the piece within your hands is picking a new place to live that meets your needs better."

</comment><comment><USER36> I agree with the sentiment of that tweet mentioned in the article, except that Austin isn't really comparable to NYC or SF in terms of living expenses. Perhaps more expensive than the average American city these days, but definitely not in the stratosphere like those other two.

</comment><comment><USER37> There's a difference between attracting artists, and attracting engineers. Both thrive in communities surrounded by like minded people. The difference is entry level artists can't live in high priced cities, so they _must_ find new habitats. Otherwise art goes back to a hobby for the idle rich. Engineers can get by (if not save a ton) on entry level jobs in places like Silicon Valley or SF. It just takes a willingness to have roommates.

I left Manhattan because you had to be in a hedge fund to have a good life. For all the talk of Silicon Valley being expensive, you don't need to add private school costs to a $6K rent.

<comment><USER38> _I left Manhattan because you had to be in a hedge fund to have a good life. For all the talk of Silicon Valley being expensive, you don 't need to add private school costs to a $6K rent._

Manhattan vs. Silicon Valley isn't exactly a fair comparison.

<comment><USER37> My point is that engineers aren't priced out of Silicon Valley like artists are of New York City.

</comment></comment></comment><comment><USER39> I definitely understand the need for a progressive city -- I grew up in the midwest in a place that was decidedly not.

But Paul Graham gave a talk about how Pittsburgh could be the next startup city [1]. And price factors in for both artists and entrepreneurs.

[1] [http://www.paulgraham.com/pgh.html](http://www.paulgraham.com/pgh.html)

<comment><USER30> If that's true, then why isn't PG holding Y Combinators in those other cities? I mean, he's the one running it; he should (relatively) easily be able to set one up wherever he wants.

<comment><USER40> Techstars (am I even allowed to post about them here ;) ) has franchised to different cities: [http://www.techstars.com/programs/](http://www.techstars.com/programs/)

</comment></comment></comment><comment><USER41> Depends on the field and type of work.

If you work from home then sure, the location doesn't matter much. But for more traditional occupations (pretty much anything other than creative work or location-independent business), big cities are better because they offer more opportunities and often higher paying jobs.

</comment><comment><USER42> I used to live in Fargo, North Dakota, and might suggest that as an affordable town that embraces weirdos.

</comment><comment><USER43> Cleveland is a great city

<comment><USER26> Cleveland is fine if you are reasonably well off. Like many run down urban areas it is currently going through a substantial revival (driven mostly by "hipsters" opening vegan restraunts and the like.)

I can only imagine it would be miserable to be truly poor in Cleveland, especially as it continues to gentrify.</comment></comment>


Australian Institute of Applied Sciences? For Real? - <AUTHOR> http://www.aias.edu.au/courses

<comment><USER2> I do not see the issue here. My girlfriend went to AIAS and studied an Advanced Diploma of Naturopathy and the course was very thorough, they are a very good educational institution (on par with the likes of QUT, UQ, SCU). She had no problem finding a job after graduating (well before) and their courses are accredited and recognised.

It is my understanding that "applied science" translates to solving practical problems using science and there is a science to everything. I think you're overreacting here, calm down it's just a name.

<comment><AUTHOR> Naturopathy is a hodge-podge of mostly unscientific treatment modalities based on vitalism and other prescientific notions of disease. As a result, typical naturopaths are more than happy in essence to "pick one from column A and one from column B" when it comes to pseudoscience, mixing and matching treatments including traditional Chinese medicine, homeopathy, herbalism, Ayurvedic medicine, applied kinesiology, anthroposophical medicine, reflexology, craniosacral therapy, Bowen Technique, and pretty much any other form of unscientific or prescientific medicine that you can imagine.

<http://www.medscape.com/viewarticle/471156> [http://www.sciencebasedmedicine.org/index.php/naturopathy- an...](http://www.sciencebasedmedicine.org/index.php/naturopathy-and-science/)

"Do you know what they call 'alternative medicine' that's been proved to work? 'Medicine'." — Tim Minchin

From your girlfriends experience learning pseudo-science you have concluded "the course was very thorough, they are a very good educational institution". How?

Enough Said?

</comment></comment><comment><AUTHOR> Since when have Beauty Therapy, Natural Medicine, Hairdressing, Massage Therapy or 'Health & Fitness' been defined as applied sciences?

I think it's pretty outrageous that the Department of Education allows them to carry this name.</comment>


Eye-catching advances in some AI fields are not real - <AUTHOR> https://www.sciencemag.org/news/2020/05/eye-catching-advances-some-ai-fields-are-not-real <comment><USER2> This article is biased as it only cites those couple of fields or problems where neural nets have not made significant improvements (even that part is shady as I am not familar with that much).

There have been significant improvements in the architecture of NNs in the last decade unlike what this article claims. This article doesn't mention anything about GANs or Autoencoders or VAEs or Flow or recent NLP advancements which are clearly way way better than what we have seen 5 years ago. Seems like the authors are living in 2015.</comment>


Ruby Currying - <AUTHOR> http://www.khelll.com/blog/ruby/ruby-currying/

<comment><USER2> As mentioned elsewhere, is this currying? Or partial application?

Currying:

lambda { |x,y| x + y }.curry => lambda { |x| lambda { |y| x + y } }

Partial Application

lambda { |x, y| x + y }.apply(2) => lambda { |y| 2 + y }

And given #curry, #apply is trivial:

class Proc; def apply(param); self.curry.call(param); end end

...or at least, that's _my_ understanding...

<comment><USER3> i think you're right.

</comment></comment><comment><USER3> After learning about these concepts in Haskell, the Ruby code seems downright ugly (I never thought I'd say that)... but still probably quite useful in some cases.

</comment><comment><USER4> raganwald, u r totally right, i have updated the post to show the diff.</comment>


Ask HN: What to do now - archmase-dev

I'm 23, I've a Bachelor of Science degree in Computer Engineering and I'm "taking" another degree in physics. Between exams and "life" I've some free time to spend and I don't know what to do... I'd like to help the "community" with it. The problem is that it's hard to find that community. I mean, in computer science is born every day a new linux distro, a new programming lanquage, a new "revolutionary project" etc.. It's really hard to find THE project in which devote my free time. So I could have some potential and I'm wasting it watching films and unlearning english. Is there anyone who have already been experiencing this ? And how did you get out of it ? <comment><AUTHOR> > The problem is that it's hard to find that community. I mean, in computer > science is born every day a new linux distro, a new programming lanquage, a > new "revolutionary project" etc.. It's really hard to find THE project in > which devote my free time.

I think you shouldn't let it distract you. I think it's great that so many people are making new things, but the fact is that main distros five years ago are still the main distros now, and same for the programming languages (with the possible exception of Go lang).

Instead, you should find something _you_ care about and work on it, at your own pace. Maybe something related to the Physics class you are taking or a CS course you liked, you're the only one to know.

</comment><comment><USER2> Find a project on github that is related to your interests and written in a language you're at least moderately good... or create something from the scratch. Find a problem and try to fix it. Even if someone already did that, doesn't mean you can't make it better.

Don't pick large projects for contributions - you'll spend too much time just making sure that your contribution at least will be reviewed.

You say you like movies, I'm sure there must be something related to that entertainment medium that you can contribute to.

</comment><comment><USER3> Spend your time coding. If you have free time, improve your craft. Find something to write that you find interesting. You'll get better at your core skills, and quite likely you'll find one or other open source project that you use in your code that needs improvement. If you do, that's going to be your worthy cause. It's something you'll find interesting and relevant, and you will definitely feel like you contributed.

</comment><comment><USER4> So I could have some potential and I'm wasting it>

I was reminded of the U2 song "I Still Haven't Found What I'm Looking For."

The search for that community is a worthwhile endeavor in and of itself. Perhaps if you could define certain desirable community criteria: Who, What, Where, etc... It might help connecting quicker.

</comment><comment><USER5> Why did you decide to go back and get a second degree in physics (a BS?). Was it to delay your entry into the full-time labor market, or because you are passionate about physics? Also, are you still living in the same city you lived in during college? Have you changed schools?

<comment> archmase-dev I know that I'll delay my entry into the market :( It wans't a easy choice.... At time I loved each physics and computer science but I came from a school with really few hours of maths. So I had two choices try to take a degree in computer science or in physics. For many people physics looks like "writing evil symbols on a blackboard"; those many people convinced me that computer science was the best choice (because of my rudimentary math). Obviously also computer science study involved lot of math, so after it, because I still love both subjects, I decided to study physics. And yes I live in the same city and I haven't changed schools.</comment></comment>