Late Bloomers: Why do we equate genius with precocity? (2008) - <AUTHOR> http://www.newyorker.com/magazine/2008/10/20/late-bloomers-2 <comment><USER2> In another New Yorker piece, Steven Milhauser explores aged genius in his short story, "In the Reign of Harad IV"

Excert: _he understood that he had travelled a long way from the early days, that he still had far to go, and that, from now on, his life would be difficult and without forgiveness._

Link: [http://www.newyorker.com/magazine/2006/04/10/in-the-reign- of...](http://www.newyorker.com/magazine/2006/04/10/in-the-reign-of-harad-iv)

</comment><comment><USER3> This may be a little off-topic, but as I was reading the article, I started wondering about something. The author uses examples of genius in art and literature, and noted how Cézanne's early works weren't "very good" and how his later one's were much better, whereas Picasso's early works were considered his best.

So I googled paintings of both artists, and I'm perplexed. I have absolutely no clue what is considered "great". Obviously this is because my work is in science and I know next to nothing about art, but I'm still kind of curious what makes a work great in art and literature.

For instance, there's thousands (hundreds of thousands?) of painters in the world right now. And if you select the top 100 and showed me their paintings, and then showed me a Picasso, I wouldn't be able to point out why Picasso's is "better".

Robert Frost's "Stopping by Woods on a Snowy Evening" is also mentioned as one of the best poems of all time. I'll admit, it's very beautiful, but I just don't understand what makes it _that_ much more amazing than a contemporary poet's work.

Imagine if you took the world's population and wiped everyone's memories of great artists, and then asked them to reevaluate which which works are the "greatest". Would we arrive at the same conclusions? Without the bias of knowing "this is a famous artist, therefore his work must be good", would the rankings of art remain the same?

Unlike my literature teachers in high school, I don't believe in "magical qualities", so there has to be some numeric metric one could use to separate the very best from the "just good". What is it? (Perhaps it's not an easily calculable number, but it still must exist; if it didn't, then the whole field of art and literature criticism would be nonsense.)

<comment><USER4> The thing about a work of art being "good" is that it also largely depends on the surrounding art traditions of the time. Picasso's early works contributed most to new aesthetic thinking and the discussion of the nature of art, and within that context they are revolutionary and genius.

To give another example, in my opinion Duchamp's readymades were a genius piece of artistic trolling, great thought-provoking statements on aesthetics and the nature of art. Pretty much everyone who followed missed the point, as they did not add anything significant to the discussion - they just accepted the Fountain as art and proof that _their_ readymades are therefore also valuable art.

Also, with many works of art you really need to see the real thing to even get the opportunity to "get" it. A real Mondrian is much better than you would expect based on pictures, because it's possible to empathise and "feel" how the artist made his brush strokes, the emotion behind it. That embodied experience of a work of art, which is essential to the readability of a painting, or any work of art, is often lost when translated to a digital JPG.

As for your last point, you fall for the mistake of believing that the external objective truth, which applies to the natural sciences, applies to art. Art is about (partially shared) _subjective_ experiences, which can still be quantified to some degree if put in the proper context, but not in the same meaningful way we can calculate the value of Pi. For example, our eyes work mostly the same across our species, so before interpreting what we see the input should be largely similar, creating similarity in otherwise subjective experiences. But it's obvious that this similarity in perception is limited.

I suggest "Philosophy in the Flesh", by Lakoff and Johnson, if you want a nice empirically grounded discussion related to this - they apply empirical insights from the cognitive sciences to philosophy and in the process give you a good non-magical sense of how this subjective but shared experience works.

<comment><USER5> And as an engineer, this makes sense to me. True innovation in the field is respected just as much as if not more than implementation details.

</comment></comment></comment><comment><USER6> This is a really good link to share. Thanks, I also ordered Thinking, Fast and Slow the book because of this posting and the comments. This thread has been pretty interesting to me even from an "at speed of thought" perspective.

Certainly in lower levels of education, "fast" thinking against known problems and problemsets is the norm (at least in the United States). I worked with a few "fast" thinkers that fell into a strange, at the time to me, category of people that I could recognize as intelligent and could solve a certain class of issue or problem easily, but when it came to a more difficult problem space or perhaps one that requires delayed gratification (or no real external recognition/validation/praise) they would give up. The "deep" thinkers seemed to give equal or near equal weight to the validity of options in many cases. There's a time, place, and type of problem that can benefit from each mode of thinking.

<comment><USER7> Prior and subsequent to reading the book, I suggest you read some of the critique the book has recieved, as the topic is quite anecdotal.

<comment><USER6> Thanks, I'm going to read it with a skeptical but open mind.

</comment></comment></comment><comment><USER8> Its interesting to analogize thinking with athleticism.

There are some athletes who just outperform most people in all areas as a class.

There are athletes who are experts in certain fields and useless in others (don't enter a football defensive lineman in an ultra-marathon, etc)

Some athletes peak very young. Some train very slowly, some develop very fast. Some athletes start training late in life.

It is mystifying if you're trapped in the dead/dying idea of mind-body dualism, but if the mind and brain are just another pile of nutrient consuming protein just like muscle, it makes sense that the observations are similar.

I would imagine if it were easy to measure, we'd find similar performance trends WRT pancreas or kidney function.

</comment><comment><USER9> To me, the question of precocity vs. late blooming can be summed up thusly:

1) The 70-year lifespan is a recent development. Producing great work in one's 20s and 30s was a necessity because one's 40s and 50s weren't guaranteed. Social inertia took over from there.

2) The young also have greater marketability (looks, energy) and can usually be controlled more easily. This makes them more attractive to backers. This matters a lot in many fields, but in the arts especially, where the artist receives as much attention as their art.

</comment><comment><USER10> I can think of 2 reasons very quickly - #1, the brain is far more capable and plastic and active in adolescence than it is in adulthood or later. #2, human beings have a finite lifespan. If you wish to get further than others, you have to surpass their development at all stages.

Until we can change biology, no one is going to have a brain that works better than an adolescent, that's just how we evolved.

</comment><comment><USER11> Edward Tufte does a pretty entertaining takedown of Galenson's work in his book _Beautiful Evidence_. The excerpt in question is online:

[http://www.edwardtufte.com/bboard/q-and-a-fetch- msg?msg_id=0...](http://www.edwardtufte.com/bboard/q-and-a-fetch- msg?msg_id=0001Zl)

</comment><comment><USER12> When I read the title I assumed it was an article about the unfairness of the education system, and the whole-life impact of an assessment carried out at an arbitrary point in your 18th year. Perhaps that's an even more pernicious example of the problem.

</comment><comment><USER13> I read this years ago and thought he had a great premise for a book. I guess it kinda ties into Gladwell's Outliers and David and Goliath, but I still hope he writes more on this topic in the future.

</comment><comment><USER14> Offhand remark regarding the title: everyone can recognize the brilliance of a 5 year old doing calculus, because it's still sort of in the realm of something people may have encountered, and can compare to their own experience. Compare with someone who is, say, 30, and doing some topological quantum lattice tensor dilithium crystal quark extractor thing, it's just "blub" \- it's so far beyond most of us we can't tell much more than that person is quite smart at something we know nothing about.

<comment><USER8> I would agree with and extend your remarks that it takes a certain level of competence in a field to correctly evaluate someone at a higher level in the field, and as the level of the evaluated person increases, the required level of the evaluator increases.

Someone with a BS in physics level of knowledge or maybe grad degree can possibly evaluate Feynman vs Einstein as per the debate in the comments today. However, I suspect most people can't do a useful evaluation of those two.

There are obvious HN on topic analogies with coding, system design, database design, network design.

</comment></comment><comment><USER15> Excerpt:

 _Genius, in the popular conception, is inextricably tied up with precocity—doing something truly creative, we're inclined to think, requires the freshness and exuberance and energy of youth._

It is also tied up with the idea that "geniuses" are fast. It was nice to see profiles of Maryam Mirzakhani indicate that she was a deep thinker, not a fast thinker. Maybe we can start changing some of these popular mis-conceptions.

<comment><USER16> Do you or anyone else have any further sources studying this split between "fast thinkers" and "deep thinkers"? I would be very interested in a way to find people who were "deep;" it seems like most of the technical interviewing techniques screen more for "fast" people.

<comment><USER17> I think a better distinction are qualities of intelligence. For example a meticulous person will do well in a hard pattern matching puzzle, but ask them to do symbol substitution and they will be relatively slow and get a low score.

<comment><USER18> interesting. the "fast vs deep" comment intrigued me; i find i can go exceedingly deep when i can let things "simmer." to your comment, i had an intelligence test administered as a teen and the two outliers were basically symbol substation (< avg) and pattern matching (high).

<comment><USER17> It's a common pattern with engineering types. In programming you have to be highly detailed and accurate because computer languages are not forgiving, and you have to notice tricky patterns to fix bugs. It's called being meticulous officially I think. This is why you need someone trained to interpret your IQ test, you cant just feed them into a scantron.

There is a skill component to those things although. You could practice them a bit and improve your scores significantly. But is that really intelligence or just skill? It will always be a combination.

</comment></comment></comment></comment></comment><comment><USER19> I love the meta.

It's pretty obvious as time goes on, unfortunately it's not better. For some who didn't maximise their earlier it looks like they did, but no, they didn't get better.

But it's great art to think it does. So perhaps it's true after all. It's a nice artistic article.

</comment><comment><USER20> older ppl can be genius too. Is that the tldr?

<comment><USER21> If you find yourself wanting tldrs, maybe this isn't the site for you.

<comment><USER22> That's completely mistaken. Everyone has finite time, and we need a way to find out what's worth reading. HackerNews and the Internet in general is filled with unnecessarily bloated articles.

Folks have been using tldr's in the academic sphere for centuries; they're called 'abstracts'.

<comment><USER23> Right, so you need a site that provides tldrs, whereas HN was built for discussion of the finer points of a topic. Neither desire is wrong, but you can't criticize the New Yorker for not being Reader's Digest.</comment></comment></comment></comment>


T-Mobile lays ground for embedded SIMs - <AUTHOR> http://www.theregister.co.uk/2009/04/24/embedded_sim/

<comment><USER2> So long as they still allow unlocked phones with removable SIMs, I guess there's probably a place for this in very small devices or something.</comment>


Google's VP9 web video codec enabled by default in upcoming Chrome - <AUTHOR> http://www.h-online.com/open/news/item/Google-s-VP9-web-video-codec-enters-home-straight-1891686.html

<comment><USER2> See: [http://www.youtube.com/html5](http://www.youtube.com/html5)

Unfortunately the amount of videos encoded _only_ with h.264 is still important and you can't avoid Flash if your browser/OS doesn't provide h.264.

So yes, having open video formats and codecs available is great, but please Google... we need you to use them.

<comment><USER3> Are you talking about YouTube? They have everything in vp8. It's something to do with their ad delivery system that forces you back to Flash (and therefore H.264) for some videos.

<comment><USER2> Read the notes: [http://www.youtube.com/html5](http://www.youtube.com/html5)

Not all videos are in webm format, you can add &webm=1 to any search URL.

ie. Hacker News search: about 3,780,000 results, about 1,320,000 results with webm flag.

In fact sometimes I get an an error like this: [http://i.imgur.com/dBPICoM.png](http://i.imgur.com/dBPICoM.png)

(using Chromium 25.0.1364.172 with no h.264 support)

I don't know if this is because of ads or what.

EDIT: typo

<comment><USER3> They claimed to be encoding all new videos uploaded, and to have already processes up to 30% of their entire back-catalogue, and 99% of viewed videos about two years ago. So I'm guessing they're pretty much done by now.

[http://youtube-global.blogspot.co.uk/2011/04/mmm-mmm-good- yo...](http://youtube-global.blogspot.co.uk/2011/04/mmm-mmm-good-youtube- videos-now-served.html#uds-search-results)

If I do a similar search to yours, the ones that disappear from the &webm=1 search are all presented to me with Flash, not with HTML5/H.264 but I believe if you embed them in another site you should get the HTML5/Webm version (not actually tested this, just read it as a workaround). You could also try searching for them on a Wii, since it's Youtube app uses Webm.

</comment></comment></comment></comment><comment><USER4> One thing here doesn't make much sense - the compression algorithm technically is a mathematical algorithm. Mathematical algorithms cannot be patented. So why is the patent on something that cannot be patented an impediment in this issue?

That said, I'm sure there are ways to confuse the algorithm part by throwing some mentions of physical servers or what not into the patent application...

</comment><comment><USER5> Theora/.ogg/Vorbis, VP8 & now VP9/webm, H.264...

Just as we were starting to finally get resolution around a "standard" Codec for web video -- namely, Firefox recently capitulating on H.264, paving the way for professional video on the web -- Google Chrome comes to make life difficult anew.

I understand that Google has more skin in the web video game than anyone (viz YouTube), but for the rest of the web this pushes HTML5 video even further out on product timelines.

<comment><USER6> The MPEG-LA is for profit and they will be asking for more licensing fees once their domination is complete. Trading freedom for convenience is probably not a good thing on the longer term.

<comment><USER7> This. The point is that a "standard" should not be ruled by licenses and patents!

</comment></comment></comment><comment><USER8> It's good that there is healthy competition again in end user video codecs. H.264 is a nearly 10 year old video codec, and HEVC's complexity means implementing it as a high-quality open source library will take a really long time.

Google's different incentives will at least force HEVC development to accelerate.

</comment><comment><USER9> >Google and its partners in the WebM project want to establish the codec as a royalty-free standard for HTML5 video and for web video calling using WebRTC.

They could also remove, as they promised, h.264 support from Chrome. You know, that would help to push VP8/9 a lot.

<comment><USER10> Or would it push people back to h.264 supportive browsers once they find videos from xyz site don't play?

<comment><USER11> Yeah. I like and use Chrome, but Firefox is back to being pretty good as well. If Google were to do something so drastic as yanking H.264 support from Chrome, I would probably re-evaluate my choice. But that's the great thing here: This is an individual choice.

I think Google has enough clout in Youtube to move us forward without pulling a Steve Jobs anti-Flash stunt. At the time, there were very few alternatives to iOS in quality, but at the present time we have plenty of good browsers. A "pull-the-plug" approach would alienate a good number of users, who could just pick up and go with Firefox, or Safari, or IE, or Opera.

I like that they're gradually rolling this stuff out, trying to get hardware companies to add built-in decoding, etc. It won't happen overnight, they're playing the long game.</comment></comment></comment>


Coding Bootcamp Attendee: An Introduction - Styx- https://medium.com/@morganm5201/me-an-introduction-4a8eb0d52d4e#.yu6mumfw0 <comment> Styx- For those that skip straight to comments, this is an article in which I introduce myself and talk a little about my experience of applying and being accepted to a coding bootcamp.

Hope you enjoy!

<comment><AUTHOR> I'm one of those people! And I appreciated your summary comment. I hope it becomes something more people do when submitting things on HN.

<comment> Styx- You're very welcome! I do it all the time, so I knew I couldn't be the only one.</comment></comment></comment>


Getting started with OpenGL in Elixir - <AUTHOR> https://wtfleming.github.io/2016/01/06/getting-started-opengl-elixir/ <comment><USER2> If anybody needs it, there are at least two 3D libraries for Elixir--graphmath and vector.

</comment><comment><USER3> Why? Why would one use Elixir for OpenGL?

<comment><USER2> Here's why I'm interested.

Most modern engines are fighting the fight of how to deal with multiple cores --how to create microtasks that can be scheduled across worker cores, how to handle task stealing, how to implement lots of independent actors without bugs, how to do hot-upgrading of code, how to handle networking, and how to do all of this with a user staring at any frame-to-frame inconsistency.

Erlang/OTP and Elixir have those problems decently well solved. It makes sense to cordon off the graphics into just enough C/Rust to get OpenGL up with a scene graph or whatever, and then leave the rest of the game logic in a better language.

The idea of being able to just use thirty years of language research on a pragmatic and simple platform (the Erlang/Elxiir BEAM) is _very_ intriguing.

My next big project in Elixir is probably going to be a proof-of-concept for a physics engine. With that done, everything else is pretty obvious.

If anything can realistically break the death-grip of C/C++ on the industry, this might be it.

<comment><USER4> As a bona fide erlang head, let me instead suggest that you direct any such efforts at [http://www.ponylang.org/](http://www.ponylang.org/) \-- in which you can have the actor model, but do low level programming, with high performance, while being as safe as Rust and having (in my personal opinion) better affordances.

<comment><USER2> At the risk of sounding brusque, my brief survey of Ponylang at your link doesn't really interest me. I don't really care about type correctness and magic, I don't really need an alternative to Rust, and it still fails to easily solve the "How do I provide strong isolation between my code and the rest of the world?"

The fact that the language loudly claims that _" Incorrectness is simply not allowed. It's pointless to try to get stuff done if you can't guarantee the result is correct."_ and then talks about FFI to native C code kinda strikes me as hubris.

Erlang/Elixir is more "Hey, fuck it, here's NIFs, but they have clear drawbacks which sometimes are outweighed by benefits" and "Here's ports, which _Do The Right Thing_ if you want to call out to a native application that can explode and not hurt anything else."

The other useful bits, networking and whatnot, seem way better developed in the other ecosystem as well.

<comment><USER4> You're right on all those points. The reason, which I didn't explain enough, that I'd suggest you'd look at pony, is that erlang's scheduler and calculation model are great for routers, but less great when you need to do a bunch of matrix transforms within a 120Hz frame budget. Pony compiles through LLVM and has, e.g., native integer types, so is a little closer to the standard OpenGL user sweet spot, where tons of fast math matters and everything is pretty strongly typed.

That said, if you get it working on erlang, so much the better, and good luck whichever way you go, sounds awesome!

<comment><USER2> And thank you for the reference!

Like I said, not quite my use case, but I may find a use for it yet. :)</comment></comment></comment></comment></comment></comment>


Manufacturing a Recovery (by MIT president Susan Hockfield)  - <AUTHOR> http://www.nytimes.com/2011/08/30/opinion/manufacturing-a-recovery.html

<comment><USER2> key conclusions:

       A new era of advanced manufacturing also requires more graduates with greater
       proficiency in science, technology, engineering and mathematics.

       The prospect of good manufacturing jobs in the United States is not a
       fantasy. Germany and Japan enjoy high wages and run major surpluses
       in manufactured goods; so can we.

       Our economy will thrive only when we make what we invent.</comment>


Atom-in-orbit: Putting Atom in the browser - <AUTHOR> https://github.com/facebooknuclide/atom-in-orbit <comment><USER2> Nice idea for a project, but please reconsider the assumption "It is generally fair to assume the user is online while using the app."

That assumption doesnt always hold true and even when true the internet is slow and unreliable and depending on it makes webapps slow and unreliable.

<comment><USER3> If your working directory is on a remote workstation then there's not much you can do when you're offline. Any commands you run (to run tests, run your app, do a sync) will be via ssh anyway.

<comment><USER4> >If

<comment><USER5> The reason to use Atom in browser vs. local is to edit remote files without being locked into a terminal or figuring out sync. If you want to edit local files, you can just use regular Atom.

<comment><USER6> If you can install it. Chromebooks, Android and iOS cannot?

<comment><USER7> I cant speak to android, but I don't see how you are going to support a local workflow on chromebooks or iOS. You'd be fighting the environment every step of the way. So those users would be working over the network. The intersection of can't install atom / works locally has to be incredibly small if it exists at all.

</comment></comment></comment></comment></comment></comment><comment><USER8> Yo dawg, heard you like web apps, so we made a web desktop web app.

In more seriousness, it would be cool to see atom in the web kind of like the cloud9 editor.

<comment><USER9> But can we use it to code a version of chromium that runs on electron?

</comment></comment><comment><USER10> VSCode has a browser version as well[1]. It's just the editor. Similar to CodeMirror.

[1] [https://github.com/Microsoft/monaco- editor](https://github.com/Microsoft/monaco-editor)

<comment><USER11> It's actually how VSCode started :). It was supposed to be web based IDE, then Atom and Electron happened and Monaco was put into Electron shell and that became VSCode.

<comment><USER12> Really!? Source on this?

<comment><USER13> Yes, and Monaco is alive in VSTS(Team Services) and Azure's web app IDE. :) Well, VSO(VS Online) was used internally by MS way before VSCode was an idea.

</comment></comment></comment></comment><comment><USER3> Something like this is great for the following use case (1) you have a Chromebook, and (2) your working directory is on a remote workstation.

You can always ssh in, use tmux or GNU screen, and use a terminal-based editor emacs or vi. But if you want to use a different editor, you're out of luck.

An alternative might be to get some kind of remote desktop going, but that only works well with good latency, since every keystroke and mouse movement is going over the network.

A web-based editor should be less chatty. True offline access doesn't matter for this use case; ssh wouldn't work anyway.

Also, keep in mind that some companies don't even allow you to put your working directory on your laptop. With a monorepo, downloading the company's entire codebase (or even just the parts you need to compile) is risky and impractical.

<comment><USER14> _> But if you want to use a different editor, you're out of luck._

Back in the day, we used WebDAV[0] for remote FS access. This had some issues with file locks (with multiple users accessing the same directory) and cross- platform compatibility (mostly between different versions of Windows and/or Office), but most of the time it Just Worked.

Anyway, there are also other open source solutions like sshfs[1][2] available that sidestep those issues (as long as only one user is accessing the remote copy, anyway).

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

[1] [https://github.com/libfuse/sshfs](https://github.com/libfuse/sshfs)

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

<comment><USER3> This works reasonably well for basic editing. When you want to do more advanced navigation or refactoring, you need a language service that indexes all the source files you depend on (including hundreds of packages) and reindexes it all when you sync or switch branches.

Running language services remotely across a slow network may not be practical because downloading all those files (to build the search index) requires a lots of bandwidth.

<comment><USER14> Thank you for your thoughtful response. So some standardization to reduce vendor lock-in in this area may be helpful.

<comment><USER3> Yes, Microsoft is doing some good work here: [https://code.visualstudio.com/blogs/2016/06/27/common- langua...](https://code.visualstudio.com/blogs/2016/06/27/common-language- protocol)

</comment></comment></comment></comment></comment><comment><USER15> [https://spiffcode.github.io/ghedit/](https://spiffcode.github.io/ghedit/)

<comment><USER16> Would be nice to see a demo or try it without giving GitHub auth.

<comment><USER15> Look at the gif that shows how it is used on torvalds/linux: [https://github.com/spiffcode/ghedit](https://github.com/spiffcode/ghedit)

</comment></comment></comment><comment><USER17> Oh, we've gone full circle now, haven't we?

<comment><USER18> Well, now it's time to port Atom-in-orbit to something like Electron, so that it works offline and doesn't require a web browser.

</comment></comment><comment><USER19> Not sure I'm a huge fan of my editor in "the cloud". I don't want to depend on someone's data center in order to be able to compile.

That said the one place I saw where it was useful was Pebble due to complex nature of the dependencies + compiler versions. However it doesn't seem like the use case here is the same.

<comment><USER20> I spent a year developing embedded C++ code in [http://Mbed.org/](http://Mbed.org/)

It was quite joyful and I could import third party libs with drag & drop and get updates with a few clicks

</comment></comment><comment><USER21> Wish they would've done this with VS Code instead. The editor is vastly more performant and already works in the browser: [https://github.com/Microsoft/monaco- editor](https://github.com/Microsoft/monaco-editor)

<comment><USER22> Same here - VS Code is much better performing than Atom imho.

</comment></comment><comment><USER23> Not up to date with atom/electron but I kind of assumed that the whole point of building an editor in JavaScript was to be able to use it in some sort of browser context, for example on GitHub.

Why else would someone build an editor in JavaScript?

<comment><USER24> Easy crossplatform development in a language and framework that a huge number of developers are familiar with.

<comment> crooked-v And, at the intersection of those two factors, the ability to easily make complicated editor plugins that Just Work without having to worry about the specifics of different OSes.

</comment></comment></comment><comment><USER25> I feel like plugins are going to be really difficult to figure out. How are they going to allow javascript to be dynamically loaded in at runtime and ensure any kind of safety?

<comment><USER26> Sadly, I could not find the original paper, but we studied this in my security class. Google allows add-on extensions in google docs that are untrusted. They do this by transforming un-safe behaviors in the source javascript to safe, contained behaviors in the plugin that actually runs. This technology could be adapted for this project as well.

<comment><USER27> [https://developers.google.com/caja/](https://developers.google.com/caja/)

</comment></comment></comment><comment><USER28> The one thing that bothers me about using an editor in the browser is that filesystem access is a headache no matter how you do it.

Proxying to a server is annoying and ugly (and requires an always on connection to do anything substantial), and loading from the local filesystem is slow, complicated, and difficult to use and re-save. But I think there could be a really powerful way of solving this problem that I haven't seen mentioned anywhere else.

Work directly from a hosted git repo over HTTPS.

It would require a re-implementation of a subset of git in javascript, but from there you could plug it into the BrowserFS as a backing store, and you could then work directly from a git repo (and not just from a "blessed" git backend, but from any git backend that provides "git-over-https"). Loading files from there, saving them locally in indexeddb or something, then committing them back to the repo when ready.

I've only given this a minute or so of thought, so please tell me if i'm missing something big here.

Edit:

Giving it a little bit more time, it looks like a js reimplementation of enough of git for my uses already exists [0], and there seem to be at least 3 others as well. But in the notes he mentions that CORS is not and most likely won't be enabled for github which could be a problem. However that's not really a technical problem but more of a "political" one. If something like this became popular and perhaps other hosted git solutions (like GitLab) decided to allow you to enable CORS per account or repo or something, it could light a fire under GitHub's ass to allow it.

[0] [https://github.com/creationix/js-git](https://github.com/creationix/js- git)

<comment><USER29> You can always use a reverse-proxy to circumvent CORS.

<comment><USER28> But then you're back to needing to run your own proxy server as it's also going to have to terminate SSL and therefore will be able to read everything that goes through it.

For this to be truly useful, it needs to embrace the "go to a URL and it works" paradigm of the web. If I need to install something locally, or setup a proxy server, or install some code on my git server, it's a non-starter to me.

</comment></comment></comment><comment><USER30> What problem is "Atom-in-orbit" trying to solve? Those times when you're always online and you can't be arsed to download a full-featured IDE, so you transform your browser into a memory-gulping machine?

I think we're just throwing solutions out there and try to find the problem to fix later.

<comment><USER31> This is answered right near the top of the README:

[https://github.com/facebooknuclide/atom-in- orbit#motivation](https://github.com/facebooknuclide/atom-in-orbit#motivation)

</comment></comment><comment><USER32> I tried to get Atom running as a Chrome App a while back, but it's so entangled with Node APIs that it was extremely difficult even for another local environment.

Given that Atom is so optimized to run as a local app, with a local file system and no huge penalty for loading tons of code, I think it'd be much easier to start over with the component parts and build a new PWA designed for the web: all filesystem operations should be async, and all plugins loaded on- demand, and possibly running on the server.

</comment><comment><USER33> I do hope they are able to pull this off well. 20 years ago, I could have never imagined decent word processing software in the browser (I remember trying a portable Java version of Word Perfect that was a trainwreck), but now Google Docs is really quite good and I personally have no reason for anything else.

Do I really need to have my code editor locally? I can't imagine why.

<comment><USER34> Because I need speed and no dependencie on Chrome whatsoever. I doubt something like Emacs would be possible to have "on cloud". And Vi is everywhere already.

<comment><USER35> Anything that can be used from a remote server can work from the cloud, and Emacs was running from remote servers long before "cloud" was a thing.

</comment></comment></comment><comment><USER36> I can't wait for browsers to become a first class application development framework and for things like SELFHOSTED-cloud UDEs to become more mainstream. Dev machines can become smaller and collaboration will become easier.

</comment><comment><USER37> This sounds like a fun addition to my docker-compose.yml. Instead of installing a text editor or IDE locally for development, fire up one while developing and just write my code in the browser.

</comment><comment><AUTHOR> This makes me sad, though! - [http://caniuse.com/#feat=filesystem](http://caniuse.com/#feat=filesystem)

</comment><comment><USER38> I hoped I wouldn't have to do this, but I'm currently in a very locked down environment and "non-installable" apps are very appealing.

</comment><comment><USER34> Where it belongs in the end...

</comment><comment><USER39> The more things assume you're online with a decent connection the fewer things I can do on my laptop when I fly. I feel like my devices get less useful on the plane each month.

</comment><comment><USER40> Could this work as a Chrome extension instead? You get way less restrictions (e.g. CORS).

</comment><comment><USER41> Sooo... we're putting a javascript frontend webapp wrapped in electron in to a wrapper to emulate a filesystem in the browser so we can use that frontend webapp in the browser.

Welp.

<comment><USER42> I think they should just recompile the whole Electron app-wrapper shell (with its whole own webview + JS engine) into asm.js via emscripten via LLVM for "putting Atom in the browser". What could go wrong! While you're at it, you'll surely find another 10-50 sturdy FOSS dependencies you can require for this to build --- heck, we're not reinventing Sublime Text here anyway, this is Cloud Scale 'n all.

<comment><USER41> Just as planned:

[https://www.destroyallsoftware.com/talks/the-birth-and- death...](https://www.destroyallsoftware.com/talks/the-birth-and-death-of- javascript)</comment></comment></comment>


Murdoch insider Rebekah Brooks charged over phone-hacking inquiry - <AUTHOR> http://edition.cnn.com/2012/05/15/world/europe/uk-phone-hacking-charges/

<comment><USER2> Off topic. "If they'd cover it on TV news, it's probably off-topic."

Welcome to HN, meatcat, but please read <http://ycombinator.com/newsguidelines.html> :-)

<comment><AUTHOR> Thanks, and sorry about that.</comment></comment>


Irony patrol: Recycling bins - <AUTHOR> http://blogs.msdn.com/b/oldnewthing/archive/2012/10/16/10359829.aspx <comment><USER2> I think the issue is that large plastic objects aren't sortable or compatible with the process used in the recycling centers.

Keep in mind that people do all sorts of crazy/stupid things with garbage. Things like hiding hazardous materials in the recycling. Hazardous includes biohazards (needles, medical supplies, toxic materials (mercury, reactive chemicals) and outright dangerous materials (explosives, old bullets, propane tanks).

Because of this, they need to design the system to accomodate the intended waste flow -- the safety measures intended to contain the explosion of a half- empty camp stove canister is very different that what is needed to contain a 20 lb propane tank.

</comment><comment><USER3> The fact that it took 3 months to find a place to put 40,000 recycling bins is kind of ridiculous. You'd think they would be made out of a recyclable thermoplastic that could just be shredded and used in another process, but the article makes it sound like they were reused instead of recycled. I wonder what the cost savings (both in dollars and carbon units) is compared to just shredding the things?

<comment><USER4> Apparently, they aren't recyclable.

When my city went from plastic bins to large, rolling cans last year, we asked what to do with the old bins. They said either keep them for personal use or throw in the trash as they can't recycle them. (I saved a few that weren't heavily damaged from abuse over the years.)

</comment></comment><comment><USER5> I worked at a company where the employees were careful to separate recyclable waste from regular garbage, and then the weekly cleaning crew would toss both into the same garbage bags. So much for good intentions.

</comment><comment><USER6> I'd hazard a guess that this was because regular garbage gets incinerated so if someone doesn't shred something sensitive it gets thrown in with the "yucky" garbage and then goes and gets burned instead of being in a bag of nice clean paper.

<comment><USER7> Banks have "shreddable" bins for sensitive documents, the shredded bits get recycled.</comment></comment>


Salesforce CEO Benioff on How to Fix San Francisco - <AUTHOR> http://blogs.wsj.com/digits/2014/01/30/salesforce-ceo-benioff-on-how-to-fix-san-francisco/ <comment><USER2> _I think these buses — which if you hang out in the Mission, [they come] every five minutes — they've got to be massively regulated, we have to get them off our streets._

Really? He thinks that's the solution? And what? Have all those employees drive?

I can understand why people target the shuttle buses, they are a highly visible indicator of the kind of wealth moving into the the area, but I think there are better solutions than just getting rid of them.

<comment><USER3> Many people see the busses as a distraction issue, but they're a lot more important than they seem at face value. They're basically a microcosm of how the social fabric of a city is structured. New York City can be justly criticized for its wealth inequality, but you have to give it one thing: it's a place where a managing director at JPM and a guy who works at the Starbucks in the building ride the same midtown subway or bus to work in the morning. And that's a start. Public infrastructure works best when everyone has a stake in it. It's bad to have the rich ride around in their own private shuttles, but it's also bad for the rich to bankroll public busses they never use. Neither is a path to building a sustainable, functioning city.

<comment><USER4> I'm pretty sure most managing directors at downtown banks aren't taking the subway or the bus too often. They get driven around, just not in shuttle buses.

<comment><USER5> This is like how Bloomberg would take the subway* once in a while.

*Get driven in his convoy from his house to the subway station.

<comment><USER3> Bloomberg would take the subway 10 stops about three days a week. He got driven to 59 street, skipping 2 stops, which is the nearest station that has express service on the 4. That's pretty legit.

</comment></comment></comment></comment></comment><comment><USER6> I don't understand this "tech elite" nonsense. I make nearly 200k a year, and can't afford a house in San Francisco nor the Peninsula. I actually live in Hayward. Even though I suppose I could spend half my take-home on rent in those places, I'd rather not be doing this shit till the day I die... I do not feel elite by any stretch of the imagination. Sure, Benioff with his billions is elite... but us workers, we are middle class. I would argue not even upper middle class for this area.

<comment><USER7> If you feel that way with $200k/year, how would you feel with $50k? You _are_ somewhat wealthy in comparison. A rule of thumb I've heard is that most people can't understand or identify with the financial concerns of anybody with an income in excess of three times their own. You're definitely in that "3x higher" class compared to a ton of people in the Bay Area.

<comment><USER6> $50k is lower middle class in this area. I didn't say that wouldn't suck. I said that I am by no means elite. Nor upper middle class. Upper middle class people can at least afford to pick a reasonable 3/2 house in an area with good schools. I can't do that. Elite people can have mansions and multiple homes and they don't need to work. They aren't the techies riding the WiFi shuttles to work. No engineer is elite.

<comment><USER7> I don't agree with most of those statements. You're not in a small rural or even medium sized town. San Francisco is one of the most popular cities in the US and the world. Even very wealthy people generally make sacrifices to live there. What you lose in square feet you make up for in location. That's the whole point of cities.

It doesn't make sense to treat San Francisco as if it were a town of 100k people where everybody lives in houses, because it's not. The traditional metrics (middle class = 3/2 house with a yard) do not apply to cities like Manhattan and San Francisco.

I also don't think it's right to ignore your buying power relative to the rest of the US. Maybe you only have a downpayment for a San Francisco condo, but that might suffice for you to pay cash for a house in many somewhat affluent suburban communities throughout the country. Social classes are nationwide strata--you can't lose focus by literally looking at a single city and deciding that you're middle class or lower just because you're not a multimillionaire.

</comment></comment></comment></comment><comment><USER8> My gym runs shuttle busses, Levi's runs shuttle busses, UCSF runs shuttle busses, and on and on...

You want real disruption? Start with homemade wifi jammers.

</comment><comment><USER9> This sort of thing always makes me think of the classical class warfare context of charity from business.

People _know_ that the business they're conducting is damaging society at large, so they build charity in so that they can feel like they're absolved.

1% is pretty trivial, particularly since it's of profit, not revenue. Sure, it's a lot of money, but by comparison with the possible impact of a larger commitment of time and resources it looks cheap. Makes you sad to think most companies don't even do that much.

<comment><USER10> _People know that the business they 're conducting is damaging society at large, so they build charity in so that they can feel like they're absolved._

Google (or Apple, or Oracle) is damaging society? Must have missed that memo.

Because from where a lot of people stand, the ability to access the world's knowledge and information, communicate with loved ones, and many other tasks, from a handheld device that costs a day's pay for the average worker ... that's not really "damaging society at large" so much as it is giving people an amazing gift.

<comment><USER11> You could use this amazing gift to read up on "externalities," then engage your mind-blowing intelligence to think about how that is relevant to this discussion.

</comment></comment></comment><comment><USER12> What an asshole. I'd take Tom Perkins over Benioff any day of the week.

<comment><USER13> I hope this is sarcasm.

<comment><USER14> To both of you: Why? Can you give us more than a dogmatically-stated position? Can you give us a reason for it?

<comment><USER13> I don't believe I stated a position, and I didn't want to elaborate more without knowing the context of the previous comment. I would be pretty appalled if s/he seriously thinks Benioff is an asshole (over the one bus comment perhaps?) despite this being 95% about some totally reasonable views on philanthropy (especially relative to the stuff Perkins said)

</comment></comment></comment></comment><comment><USER15> How is 1% of an employees time 4 hours/month? A month is typically 4 weeks(ish) at 40 hrs per week = 160 hours * .01 = 1.6 hrs?

Am I missing something?

</comment><comment><USER16> Salesforce runs buses too.

</comment><comment><USER17> does benioff live in SF? I always figured him for mor of a woodside kind of guy ?

</comment><comment><USER17> does benioff live in SF? I always figured him for mor of a woodside kind of guy</comment>


Lessons from working 6 months on a math problem and failing - <AUTHOR> http://alexandros.resin.io/lessons-from-working-6-months-on-a-math-problem-and-failing/ <comment><USER2> I want to call out: _But sometimes the opposite happened. Glancing through the results of an algorithmic run showed a pattern I wasn 't aware of. Taking that back to paper allowed me to make further theoretical breakthroughs that sped up runtime by additional orders of magnitude._

I worked with some mathematicians on an online load balancing problem, and we were trying to model the behavior of our connections. I did not have the mathematical chops to come up with the ideas for the models. But I was running the experiments and diving into the data and figuring out where and why our models broke, so I could reason about the behavior we were trying to model in the same way that I can walk around my apartment with my eyes closed.

Having this level of intuition of the behavior we were trying to model was invaluable during discussions. I may not have been able to come up with the mathematical models, or even understand them completely from first principles, but once they were explained to me, I could give instant feedback on how well it might work based on my understanding of the data.

Short version: know your data.

<comment><USER3> I've written about this before, but my experience as a programmer attached to researchers at a university has a lot of this sort of thing. At first I was intimidated being the "dumb guy" in a room of "smart folks". But I've come to realize there is a huge benefit to this role. I get to ask the questions like "I'm not following how X->Y->Z works, explain?". Since everyone else is making assumptions or following the intuition leaps from lots of Ph.D. work - and I don't have that - I frequently find bad assumptions just by trying to follow what people are saying. Similarly, I get to point out where too much yak shaving is going on, by saying "look we don't have to worry about that, I'm just going to use $existing_tool that already does it for us".

But the best part of working in an environment where I'm regularly over my head is that in ignorance I'm free (and safe) to say "hey from down here this looks a lot like this other problem in a different space, can we adapt that solution?" Whether or not it's doable, it helps because I either learn something or directly shape the what the "smart folks" are doing.

I also find that working at a level that's over my head for the last few years has made me fearless. At the startup I'm associated with, when one of the other programmers says "we don't know how to do that!" I can say "So I haven't known what I'm doing for years, doesn't mean we can't go ahead and just do it and fix it later". And we fix a lot, but with a solid straw-man it's much easier because we can say "this is the actual problem".

I think it's not just knowing your data - it's also learning to be comfortable in your own ignorance (not embracing it, just accepting it as a "for now" situation) and OK with uncertainty.

<comment><USER4> If you read his autobiographical essays, you'll notice Richard Feynman often took the position of 'the "dumb guy" in a room of "smart folks".' and that seemed to help his approach.

I would imagine being willing to "be dumb" separates the "really smart" from the "merely smart". The one who come up with the most amazing things tend to question assumption in the fashion of the "dumb" people who haven't been fully initiated into a field.

</comment></comment></comment><comment><USER5> Excellent write-up!

I don't think enough people appreciate (or understand) your point 4. I am fairly good at algorithmic optimizations and pretty good at your implementation optimizations, but I do not have the math to do much mathematical optimizations, so spending any time on these kinds of problems gives me a visceral understanding of your point 8.

But I've talked to too many people who don't understand that such problems exist, and therefore don't see the point of _any_ optimization (and then wonder why others consider their products to be hideous monstrosities), or believe that micro-optimizations or algorithms are the best you can do. In reality, all three are closely tied together and, in fact, applicable to almost any problem.

Your points 6 and 7 could be elaborated more. Or at least stamped on the foreheads of some educators of my acquaintance. One of the things I learned from what math education I have had is that you won't really understand something without seriously using it.

I hope that this was actually part of your PhD research, or if not that it didn't delay you too much. And if you're out in the "real world", all you have to do to succeed is to forget you ever heard of your point 10.

<comment><AUTHOR> It wasn't actually part of my PhD. But it didn't delay me too much in the sense that I was able to stop on time to finish my PhD work. In fact, over the next 4 month period I wrote up my thesis and coded up the prototype as well, which I hadn't done in the 3 years prior. I do conjecture that my performance in the PhD work relates to the time spent on the 17x17 but besides certain specific items, it's just conjecture.

I'm in the real world now for good, and I might be lucky that things in the class that would invoke the reaction this problem did, are few and far between. I'd like to find something that I can enjoy this much while being profitable, but, oh well, a man can dream, right?

</comment></comment><comment><USER6> OK, now you've set aside that problem, here's another: [http://en.wikipedia.org/wiki/Golomb_ruler](http://en.wikipedia.org/wiki/Golomb_ruler) Quite similar in its maddening simplicity.

</comment><comment><USER7> This is what graduate school felt like for me (when it wasn't crushing my soul). :-)

<comment><AUTHOR> something I left out of the article is that most of that time was during my PhD :)

</comment></comment><comment><USER8> I was bored, so I wrote a short visualisation of the solution in d3: [http://jsfiddle.net/vdNnJ/](http://jsfiddle.net/vdNnJ/)

<comment><AUTHOR> Nice! maybe I should do one in angular/svg just to close the loop with my previous blog posts? Maybe.

<comment><USER8> Good idea! I couldn't resist: [http://jsfiddle.net/HB7LU/1625/](http://jsfiddle.net/HB7LU/1625/) It's very similiar to the d3 solution, ng-repeat works very well on this data.

<comment><AUTHOR> That's awesome! I'll add it in the post somewhere, thanks!

<comment><USER8> No - that's awesome. I really enjoyed your post, I'm happy I could contribute a little!

</comment></comment></comment></comment></comment><comment><USER9> >As I started writing code for this problem, I found out I could work on it for hours on end without distraction, quite unusual for me. I chalk this up to a tight feedback loop. Have an idea, implement it, get back a number. Think of ways to improve the number, start the cycle all over again. This is a cycle I would run dozens of times a day. Obviously more fundamental ideas would take more time to see the fruits of, and that's when I actually lost focus, but when the brain has been rewarded so richly with small cycles, it can afford to go a bit longer without reinforcement. This tells me that A/B testing or a similar numeric optimisation area would be quite motivating to me and I've made a mental note to go into this in the future.

I've had this experience before. I have a severe problem of not being able to focus on anything, and it feels great to be working on a problem like this. I'd love to find a problem like that again.

</comment><comment><USER10> For more stuff like this, check out Love and Math ([http://www.amazon.com/gp/product/0465050743/ref=as_li_ss_tl?...](http://www.amazon.com/gp/product/0465050743/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0465050743&linkCode=as2&tag=benryyipcom-20) , disclaimer: affiliate link). It's a great book I'm just in the middle of that talks a little about doing maths and the mindset and heart behind it. Some of the OP's observations are echoed in the book and it's nice to have the OP and the author of Love and Math give words to my own obsession to problems I've tackled and failed to solve.

</comment><comment><USER11> "Of course, I also cheated. I realised that my code spent a huge amount of time counting the set bits on a byte. I could implement that on my side, or get a CPU that implements that as a single instruction."

Why not use a lookup table to memoize the results? There are only 256 possible cases for a single byte. Or is this still considerably slower than a single processor instruction on the i7?

<comment><USER12> With my limited understanding of processors, it seems like a lookup table would be significantly slower. The command itself seems like it can be executed very quickly in hardware. More importantly, the command can operate directly on the registers. Memoizing, at best, would require loading the relevant value from cache. Not only is this slower then registers, but it also pushes 256 bytes out of the cache. Additionally, using a single command may allow the cpu to do some form of out of order execution to get additional benefits.

</comment></comment><comment><USER13> Gah. Must...resist...getting...sucked...in...

<comment><USER14> That particular problem was solved, see: [http://blog.computationalcomplexity.org/2012/02/17x17-proble...](http://blog.computationalcomplexity.org/2012/02/17x17-problem- solved-also-18x18.html) and [http://www.informatik.tu- freiberg.de/prof2/publikationen/ISM...](http://www.informatik.tu- freiberg.de/prof2/publikationen/ISMVL_2012_mcfcrfg.pdf)

<comment><USER13> Excellent, thank you. I shall ignore the fact that there will be other sized grids that are looking for solutions.

Still, it's always interesting to see if one can develop something to come up with one's own solution.

<comment><USER15> > there will be other sized grids that are looking for solutions.

Nope! We now know for all grid sizes whether or not they are rectangle-free four-colorable. 17x17, 17x18, and 18x18 were the last remaining cases (there are no such grids larger than 18x18). So you have nothing to worry about.

<comment><USER16> When [http://blog.computationalcomplexity.org/2012/02/17x17-proble...](http://blog.computationalcomplexity.org/2012/02/17x17-problem- solved-also-18x18.html) was written, 12x21 was still open (so "17x17, 17x18, and 18x18 were the last remaining cases" is not true). Do you know if this has changed (that article is ~2 years old)?

<comment><USER17> If you read down in the comments of that post you can see it was solved. Or see [http://11235813tdd.blogspot.com/2012/02/rectangle-free- grid-...](http://11235813tdd.blogspot.com/2012/02/rectangle-free-grid- coloring-21x12-grid.html)

</comment></comment></comment></comment></comment></comment><comment><USER18> Too bad these problems were solved: they are perfect candidates for automatic rewards using bitcoin's scripting language (see [https://news.ycombinator.com/item?id=6997020](https://news.ycombinator.com/item?id=6997020))

</comment><comment><USER19> Haha before I clicked I knew it would be that goddamn 17x17 problem. Hadn't heard that someone had solved it, but it will be interesting to read how they did it.

</comment><comment><USER20> Ah, the coloring 17x17 etc. thingy.

</comment><comment><USER21> I got the solutions in 5 minutes. I'll email it to you</comment>


Show HN: PouchDB - The JavaScript database that syncs - <AUTHOR> http://pouchdb.com <comment><USER2> Yeah there's a lot of interesting stuff being developed around pouchdb, I've been slowly checking it out the past couple of months:

Some beginning tutorials/intros to pouchdb: [http://pouchdb.com/getting- started.html](http://pouchdb.com/getting-started.html) [http://briantoth.github.io/Tutorial/2013/03/19/pouchdb- intro...](http://briantoth.github.io/Tutorial/2013/03/19/pouchdb- introduction/) [http://mattgwwalker.wordpress.com/2013/04/08/pouchdb-2/](http://mattgwwalker.wordpress.com/2013/04/08/pouchdb-2/)

Todo Tutorial using AngularJS and PouchDb [http://twilson63.github.io/ngTodoPouch/](http://twilson63.github.io/ngTodoPouch/)

Building Offline Applications With AngularJS and PouchDB [http://mircozeiss.com/building-offline-applications-with- ang...](http://mircozeiss.com/building-offline-applications-with-angularjs- and-pouchdb/)

Other Apps Using PouchDB [https://github.com/daleharvey/pouchdb/wiki/Who-or- What-Is-Us...](https://github.com/daleharvey/pouchdb/wiki/Who-or-What-Is- Using-Pouch)

including this offline conference app [https://github.com/axemclion/conference](https://github.com/axemclion/conference)

PouchVision - inspect and interact w/pouch instances [http://brudolph.pouchvision.jit.su/](http://brudolph.pouchvision.jit.su/)

Puton - bookmarklet for inspecting/editing pouch dbs [http://puton.jit.su/](http://puton.jit.su/)

PeerPouch (PouchDB-over-WebRTC) - in development at one point [https://github.com/natevw/pouchdb](https://github.com/natevw/pouchdb)

<comment><AUTHOR> Thats a great list, gonna add backbone-pouch ([http://jo.github.io/backbone- pouch/](http://jo.github.io/backbone-pouch/)) to it as well.

Thanks

</comment></comment><comment><USER3> I've been keeping an eye on PouchDB for a while; it looks like a lot of fun. How does authentication with the Couch server work, though? I don't see anything on the FAQ or after a brief perusal. CouchDB's apparently lax attitude toward security years ago was what kept me away, but I've always hoped/assumed that it improved since then. Has it?

<comment><AUTHOR> CouchDB had some quirks related to user accounts as it has the added burden of trying to be an application server as well as a database server.

With PouchDB a lot of the application server logic doesnt apply and you can use CouchDB as a private data server that requires any connection to be authenticated, in the example we use basic auth but other methods are available and none of the security quirks with 'couchapps' apply.

And yes it is a lot of fun :)

<comment><USER4> > With PouchDB a lot of the application server logic doesnt apply

How do I keep one user from accessing another user's data?

<comment><USER5> By giving each user their own database :)

<comment><USER4> What will stop one user from accessing another user's database?

<comment><AUTHOR> You can configure databases to require the correct user to authenticate before touching it..

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> I just put up this website, its ugly but working on the content, in particular I want it very easy to understand wtf it is and get started, would love to hear your feedback.

<comment><USER6> I especially like PouchDB-Server as a mini CouchDB replacement ( [https://github.com/nick-thompson/pouchdb-server](https://github.com/nick- thompson/pouchdb-server) ). Congrats for implementing LevelDB into PouchDB so we can use it in Node.

<comment><AUTHOR> The congratulations goes to [https://twitter.com/chesles](https://twitter.com/chesles) who implemented most of the levelDB adapter and Nick Thompson for the router + server implementation.

The server is really exciting, we mostly built it so we can reuse CouchDBs test suite however with it being so easy to install its becoming pretty invaluable

</comment></comment></comment><comment><USER7> The example code is somewhat weird:

      var db = new PouchDB('dbname');

      db.put({
        _id: 'email@example.com',
        name: 'David',
        age: 66
      });

      db.changes({
        onChange: function() {
          console.log('Ch-Ch-Changes');
        }
      });

      db.replicate.to('http://example.com/mydb');

Shouldn't you set up the event listener before "db.put()"?

<comment><AUTHOR> I mostly just wanted to highlight the key features with 'real' code in the order you would come across them, you are right though might be worth switching that, thanks

<comment><USER8> You could define two functions to wrap the calls - do_a_put(), do_a_sync() - in that order and then call them in the reversed order in the example?

</comment></comment></comment><comment><USER9> Is it possible to do something like this for a MySQL (innodb with relational keys) database ? I am about to begin work on a project that might be used in countries where we don't have constant connectivity (internet and electricity) .. and we don't want to lose or corrupt data due to connectivity ...

<comment><AUTHOR> I mention this in the FAQ

Can PouchDB sync with MySQL / my current non CouchDB database?

No, the data model of your application has a lot of impact on its ability to sync, relational data with the existence of transactions make this harder. It may be possible given some tradeoffs but right now we are focussing on making PouchDB <-> (PouchDB / CouchDB) sync as reliable and easy to use as possible.

</comment></comment><comment><USER10> I've been using PouchDB for a month now, and it really is good. Simple, Yet powerful storage.

</comment><comment><USER11> I'm not too familiar with Couch, but as I understand it caches views and updates them. Does Pouch do something similar, or does the query function filter all the documents in the database?

<comment><AUTHOR> Currently PouchDB views do a full table scan, there is an open bug to do incremental views more inline with CouchDB - [https://github.com/daleharvey/pouchdb/issues/99](https://github.com/daleharvey/pouchdb/issues/99)

</comment></comment><comment><USER12> I don't understand why they don't shim in using local storage for IE8 and 9?

<comment><AUTHOR> Somewhere between IE support not being a hugely requested feature and that the limitations and speed of localStorage wouldnt make a very useful database. I think support will likely pop up at some point, it isnt very hard to write a new adapter, but right now I would rather focus on making it work very well in modern browsers.

<comment><USER12> I'm not sure how well localStorage would even work to be honest... as a key/value store though... prefixing "pouchdb_" \+ KEYNAME as the localstorage key would probably work. Notifications would probably be the biggest issue, I don't know pouch very well.

I just know that IE8 will probably be pretty relevant for another 2-3 years or so, and IE9 for a couple years after that. I don't like it any more than anyone else, but that's the world we live in.

<comment><AUTHOR> Actually we do use localStorage for one thing, they support notifications :) IndexedDB (nor webSQL) have change notifications so we also do writes to a localStorage flag to make sure change notifications go through tabs.

</comment></comment></comment></comment><comment><USER13> a-la Cassandra, but under NodeJS?) I'm Jack's total lack of surprise!))

<comment><AUTHOR> Its not really like cassandra, which has functionality aimed towards managing and querying huge volumes of data. The main feature here is the syncing, which is reasonably unique to the CouchDB world

</comment></comment><comment><USER14> just a simple question, why would you use this instead of, say, php+mysql ?

<comment><AUTHOR> My main reason is for web applications that work fully offline and sync their data to all my devices.

Writing custom code to do that on a mysql stack is very hard.

<comment><USER15> Hi daleharvery quick question, if application is working fully offline, how is it syncing across all devices?

<comment><AUTHOR> It is able to work offline, but if a connection is available it syncs data (obviously the syncing doesnt work if there is no connection)

<comment><USER14> so what you're saying is, say you're working on your tablet/mobile/pc with an intermittent connection, it will continue working and update the db when a connection becomes available? is this the main benefit compared to the solution mentioned earlier?

<comment><AUTHOR> Close but not quite, PouchDB _is_ the database, you never need to be online to use it and it isnt queuing writes, its doing them locally.

The ability to sync is to let you use the same data across various devices.</comment></comment></comment></comment></comment></comment>


Ask HN: VisaEase.com - Review and Feedback - <AUTHOR>

Friends, non-Romans, internet people...I come to you bearing a link to the project and now company I've been working on the last few years (it's completely bootstrapped and we're ramping up) asking for advice in a combination of a Show HN and Ask HN.  I wanted to see if I could get your feedback on what is certainly not a weekend project.
I present to you VisaEase: http://www.visaease.com
If you could spare a moment to check it out, I'm hoping to get feedback on the site in general and specifically:
 - Ways to increase customer conversion - Any suggestions on how to reach the right audience of people ready to emigrate?
- Many of the site's visitors are early on in the immigration process and not yet ready for our services.
- Suggestions on ways to improve the site design, especially the homepage which I think may need a redesign
- What do you think about the style of the copy on the site?
    - We created all the copy, videos, etc. ourselves and wanted to get some outside opinions from pros and semi-pros to this part of marketing
- Do you know anyone that would be interested in freelance infographic design work (I/we have lots of interesting stats to share, but want to do so in a fun and hopefully aesthetically pleasing way)?
- Know anyone that may be interested in investing in the immigration space with a qualified team that really knows the area?
Thank you in advance and good luck with your startups as well. <comment><USER2> Hey I'd be happy to offer some quick feedback about improving conversions... It's what I consult in. Send me a message (contact info in profile) to schedule a chat -- it'll be easier than typing out.

</comment><comment><AUTHOR> [http://www.visaease.com](http://www.visaease.com)</comment>


Ask HN: Reading comments on HN - <AUTHOR>

When you come back to a thread, how can you tell which are the newly posted comments? For example, there is a post with around 180 comments now and yesterday it only had 165. I want to make sure to only read the 15 new comments and not have to go through all 180 and see which one is new! am i missing something here? the order doesn't show the most recent at the top specially if it's a sub-comment. <comment><USER2> I look at the time stamps near each post (for example, your thread-opening post says "12 minutes ago") to tell when they are posted. I have been on Hacker News for 1113 days now, so I've developed varying strategies for reading threads over time. For some of my favorite authors of Hacker News posts, especially some of the persons on the leader board

<http://news.ycombinator.com/leaders>

who have high comment karma per comment, I look back to earlier threads by looking for their comments from their user pages, to find recent comments by those authors. Example: comments by mechanical_fish:

<http://news.ycombinator.com/threads?id=mechanical_fish>

Other times, I just skim comment threads to see if some new issue has arisen, or especially if a participant has linked to a reliable source, preferably a professionally edited source.</comment>


WebKit first to 100/100 on Acid3: And you can try it yourself - <AUTHOR> http://webkit.org/blog/173/ <comment><USER2> I posted this elsewhere (<http://news.ycombinator.com/item?id=147553>), but I'll post it here too:

My biggest problem isn't standards compliance from Opera, WebKit/Safari, or even Firefox. The biggest thorn in my side has ALWAYS been Internet Explorer. IE8 looks great, and even IE7 is barely tolerable. I run a small gamer-heavy website, which usually means that they're up to date on technology. I still have 25% of all web hits come from IE6.

</comment><comment><USER3> That's cool and all, but now that they've achieved that I hope they focus on security. ([http://www.infoworld.com/article/08/03/27/Gone- in-2-minutes-...](http://www.infoworld.com/article/08/03/27/Gone-in-2-minutes- Mac-gets-hacked-first-in-contest_1.html))</comment>


Iranian hackers hacking VPN servers to plant backdoors in companies globally - <AUTHOR> https://www.zdnet.com/article/iranian-hackers-have-been-hacking-vpn-servers-to-plant-backdoors-in-companies-around-the-world/ <comment><USER2> VPNs and RDPs are unfortunately not enough to secure the network. I work for an SI where we integrate SAASPASS 2FA to all sorts of VPNs and RDPs. There are other vendors who also support VPN integrations with 2FA like RSA etc....

The perimeter is becoming obsolete and IAM and 2FA is necessary both outside AND in the network all the time. Of course usability of 2FA is paramount to mass adoption in the company. Access control policies also come in handy.

<comment><USER3> You posted similar comments before and I asked you for a comment on your affiliation with saaspass here, but got no reply, any chance you will get to that?

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

It might be good to clear this up.</comment></comment>