It's the same model as GitHub. It costs money for private repos. So it is free if that's what you want.
HN user
btipling
You might also want to check out Floobits which has collaborative editing for vim and neovim:
https://github.com/Floobits/floobits-vim
I wrote a lengthy question and signed up but at the payment screen it required a credit card. I would have preferred a third party service like PayPal. I am not inclined to enter my credit card information into random websites. I would have been happy to donate the $20 otherwise.
I worked on the Ask Toolbar back in 2009. I did an AMA about it on reddit way back when[1]. I was hired to work on Bloglines, a Google Reader competitor that was shut down and I moved to the toolbar to work on the Firefox version.
I just wanted to make a good toolbar that people liked using. I worked on a Facebook version of the toolbar. A lot of the ugly things about the toolbar, the way it gets installed and what it changes for users are options the company (Nero, Oracle etc) that adopts the toolbar pick. It was a really good team with great people, but despite this I didn't feel good about working on the toolbar because of how it was used. Everyone on my team just wanted to make a really good toolbar. I am not proud of the work but not because of anything our team did. I don't plan to do any kind of work like that again.
[1] http://www.reddit.com/r/IAmA/comments/bqvme/i_am_an_ask_tool...
API issues aside, I recently deleted my LinkedIn account and my life has been better off for it. My recruiter spam volume dropped from daily emails to maybe two or three times a month. I'm not sure if LinkedIn provides any value, I've never gotten a job that way.
I think stalking people on social networks is also a net negative experience. I realized I should spend less time worrying about what other people are doing with their lives and focus more on my own.
There was also a recent NY Times article about how employers use LinkedIn candidates contacts to disqualify them for employment[1]. So LinkedIn can actually be detrimental to your career.
I just don't think LinkedIn adds anything. Businesses and recruiters use it to get your email to target you for spam. But what do you get out of it and think, if there wasn't a LinkedIn would you be out of a job right now?
[1] http://www.nytimes.com/2014/11/09/technology/on-linkedin-a-r...
I am one of those programmers who doesn't have a computer science background. Instead I have an MLS (and an undergrad anthropology degree) and thus though myself am not a librarian have some idea of the value librarians provide.
For one thing librarians try to satisfy the information need of a patron. This is different than answering the question asked, which even now search engines can't really do well yet. Google search is powerful but you're searching an unfathomably large index and your query is a key. What librarians do is try to understand the exact thing you want to know, which you may not even know when you asked the question. Often a librarian will respond to a question with a question.
A librarian will also continue to help until the problem has been solved for the patron. They'll encourage a patron who might feel discouraged. Librarians treat people as people, not as queries.
Librarians are also staunch defenders of privacy and information freedom. In America, librarians are professionals with a code of ethics, which is codified by the American Library Association. Librarians are taught the complex issues involving privacy, the chill effect. Librarians are not in the business of collecting your personal information or selling you advertising. Librarians fight censorship, and they fight to protect your privacy.
Librarians are supremely excellent at curating. Go to a Barnes & Nobles and look at the selection of children's books. Read some of them. Then go to your local library's children's section and read some of those books. It's night and day. Libraries are filled with amazingly valuable books that, especially in the case of children's books, address important issues, are beautiful and beautifully written. They're not stories about Barbie rescuing a fashion show, they're about relatable and enjoyable characters that discover the world around them, learning to understand themselves.
Having said all this there are considerable problems in the American librarian profession which turned me off to it.
Librarians were slow to react to digital content, which put them at a disadvantage on digital rights management issues. Walking into a public library can for some be like a time warp to 20 years ago, with volumes of books filling shelves everywhere. There's a reason for that, books can be lent out. By sticking to books librarians haven't been the force they should have been in fighting DRM and copyright laws that would enable access to digital information to more people. Libraries spend considerable amounts of money for highly protected digital content like JSTOR.
Librarianship as a profession is also one dominated by time in service type of seniority. I wanted to be a programmer at a library. I was a programmer at a library as an undergraduate student and there were librarians who programmed to manage the library's website and library. But coming out of MLS the unfortunate reality was that programming jobs are jobs that go to librarians with seniority. I would have had to man a reference desk for a decade. And that kind of advancement, where it isn't skill, but time spent warming a seat that gives you political power is just not for me.
Finally, it's not clear what the future of libraries will be. Fewer and fewer people are reading books. Libraries are very popular places, especially for children, but in many cases libraries are just places that have a computer or a meeting room. Public librarians don't seem to have an answer for what's to come.
The author critically misunderstands the way that `this` gets set...
I don't actually. (I'm the author) I know that the this key word is executed at run time to figure out what this is. It is true there are simpler ways to explain this and this blog post isn't that. I link to such a post at the bottom of my own. These are just some examples. There's also more to that blog post than what everyone is discussing, like returning from a constructor and global this in node.js and accessing this in eval and more. Anyway, I didn't submit this to HN and hadn't intended to. I also didn't intend to sit here tonight and put on a thick skin to deal with all this criticism for something I wrote months ago.
This is what I expect from neovim: provide me with async lint/checks.
It would have to be written using the new remote-plugin architecture I'd think. Plugins that were written for Vim would always be synchronous.
Regarding the bit about Floobits, it's very nice of them to mention us, we love Neovim, and all of the things said are true, but the Neovim remote plugin API recently changed and we're rushing to get our plugin to be compatible. They were nice enough to let us know in our own issue tracker so we're nearly there. Our current plugin only works with versions of Neovim prior to the remote plugin change from before last week. Note this is the new remote plugin system, not the regular python plugins that have not changed and so vim plugins have no issues.
My experience with NeoVim is that it's not ready to replace Vim yet
And when did you last try Neovim? Because I use it everyday with all of my plugins from vim with 0 problems. The new remote plugin system with python support is making huge strides. People have already started on Go support and I imagine JavaScript, lua, etc is not far behind. It's a very exciting time. I recently even got a commit merged, it's a great community and I've plastered my Macbook with Neovim stickers. :P
For the past eight months I have only seen Neovim folks being very professional, open, and quick to respond to user input.
They've done even more than that. They have gone to great lengths to be helpful. For example, tarruda created an issue on our own issue tracker to let us know they updated their python plugin architecture so that we could fix our Neovim plugin. He didn't have to do this.
https://github.com/Floobits/floobits-neovim/issues/10
tarruda has shown himself to be a very productive engineer and a great steward of a growing Neovim community.
Our experience with Neovim and Vim has been night and day. The reality is that with Neovim you can build plugins that do more than you can with vim, painlessly. I don't really want it to be a vim versus neovim thing, but Bram strikes me as someone who at the very least doesn't understand Neovim's goals. I certainly hope that Neovim's changes are not backported into vim, Neovim is much more open about contributions whereas with vim there's a single gatekeeper with limited time to address big changes.
It's pretty much still the same experience. Once plugins that take advantage of the async and when gui's take advantage of the API I'm pretty sure neovim will not just be equal, but far superior.
I'd add to that to try and start using neovim. I've switched to it on Mac without a hitch and we (Floobits) have already moved our vim plugin to use the new neovim python-client plugin for much better async behavior. Making an async plugin for NeoVim is pretty trivial, here's a clock in your status bar:
https://gist.github.com/btipling/0d6faa80b24ccee5caea
Note this requires +python, :he nvim-python for how to get that (involves pip install neovim)
You can't do something like this clock in vim without the feed keys cursorhold hack that breaks using leader keys. Otherwise I'm still using vundle and have made 0 changes in my .vimrc other than move it all to .nvim and .nvimrc. All my plugins and vundle worked out of the box.
Yep, I wrote most of it way back in the day and then someone else took up the reigns, I don't think it's been updated in a long time. It's definitely not 0.9.4 compatible at this point.
I'm working on an alternative template engine for Meteor now based on django. Currently in a big branch that's moving slow since I'm pretty busy at my regular job.
It's unclear whether the average person learns anything from a startup.
Entrepreneurs don't seem to learn much from their failures
There is a difference between not learning anything at all and not learning something from failures that will help in a future startup venture. I have learned a tremendous amount working at startups. I am closer to everything, nothing is in a silo and I have gotten exposure to all parts of the architecture whereas at an employer I would have been barred from infrastructure and operation tasks. There is also much more freedom to use whatever technology you want to try out, and thus you learn a lot about new programming languages and new libraries and new ways of doing things without having to get approval from layers of management and architects. You learn about your self too, your limits, you have to become independent, and self-reliant.
Our most important finding is that the reward to the entrepreneurs who provide the ideas and long hours of hard work in these startups is zero.
Maybe if you only consider money. If you are into startups for the money alone, I feel like I would agree, stay away. If you're in a start up for the small team size, for controlling your own destiny, for being close to the customer, close to the product, and don't want to see your life's days waste away in meetings and products that never see the light of day then the value is actually immeasurable.
The truth of it is that the startup life isn't for every engineer. Startup code is messy. You don't have architects who draw UMLs for you, you don't have the luxury of time to do things right. At a small startup everything is often falling apart at the seams. Morale can rise and crash, repeatedly, like a roller coaster. Small startups often have to visit the iron bank of technical debt and take out a huge loan to put in that feature a very important customer wants right that second. Tests are very important, but spending too much on them can waste precious time. You're always flying low to the ground. You're looking at the short term: days and weeks, not months and years. That said, technical debt sucks and should be avoided at all cost, but priorities aren't the same when you're a three or four person team with about a year's worth of runway.
The sociologist professor was discussing research. Though she agrees with the idea, it wasn't a claim made by her, it was a discussion.
We are talking about people. So I think this kind of research and distinction makes for a powerful reminder of why tolerance for diversity is so important. Were those young people who do not happen to fit so nicely into these categories encouraged to be themselves rather than conform with 90% of the other data points, maybe they could live happier, stress free lives.
Sure, you could think of it as one gradient (gender) mapped to another (sexual orientation). The whole desire of us to classify these things into neat little labels falls apart though when you look at research and ethnographies of different cultures that did things differently.
It would still be a gradient even if the distribution of where people fit into it isn't even. The way my sociologist professor explained it in school was that the gradient is for "attraction" and like some appreciate the attractive qualities of one gender while not actually having any desires attached to that appreciation.
This "essentialism" applies to gender as well. Not just gender but sexual orientation and even biological sex which some sociologists and anthropologists distinguish as different from gender. These are not binary, but actually gradients. We like to classify people as either male or female, and have that mapped perfectly to the biological sex they were born with, and likewise mapped to their sexual orientation, but it hides a subtler reality.
This goes with sexual orientation as well. We want to map people into straight or gay, but that is also a gradient where, like gender, people fall in in various parts of the gradient.
When I brought this up with a friend, we were talking about the new women.com yc startup and how they only accepted "women", he responded with that there are two distinct peaks in this gradient, like if you mapped this as a graph. I think you can actually blame these peaks not in small part on the immense social pressure to conform to either being male or female (which bathroom do you go into?), or even being straight or gay. It doesn't have to be that way, and there are ways other cultures solved this problem, like some Native American groups actually had a third gender[1].
I find the concept of "essentialism" interesting and intuitive to think about, including its flaws, which as Dawkins points out can be quite destructive.
At floobits we use "actions" in addition to model events for our flux like implementation. Views trigger usually actions, modifying models triggers events on the model. Views in themselves do not usually trigger model updates.
So think about opening up a file in a web editor, that's an action. Many things might care about when a file is opened. The tab UI, maybe a log, other users connected to your session. Sometimes views correlate well to model updates, like a form, but many times they do not in which case a different event type can be useful.
It's best to just not concatenate strings and then dump them into HTML. You can't know it's not an XSS issue unless you know how this ended up in localStorage to begin with. It could be untrusted user content that came from the server. But even if you do know where it came from, just don't do it. It's a bad habit and the day it burns you it might sting.
I've been interviewed by seldo before, when he was at awe.sm. It was a good technical interview. His questions were relevant and forced me to think. I like interviews in which I walk away learning something and I definitely did learn something in this case.
As for interviewing, I cringe when I think about the poor questions I have asked and the poor decisions I have made, and I try to learn from them. We ended up not hiring qualified people because of bad interviews, although that wasn't obvious to us at the time.
I was thinking for a future interview the candidate and I would try to learn some new technology and try to build something together during the interview or talk about it at least.
I know this is just demonstrating an example, but the example includes a dangerous XSS vulnerability:
for(var i=0; i<products.length; i++) {
content += products[i].name + '<br />';
}
$('.content').html(content);
Use a template library, do not concatenate strings and then just set HTML. Most template libraries will have safeguards in place to prevent XSS vulnerabilities. Even if the product name is always trusted to be non-malicious, it's still a dangerous anti-pattern.XSS will eat your lunch. It breaks every safeguard there is, it even defeats 2 factor auth and lets the attacker adopt the identity and privileges of whoever has been exposed to the attack. It's prudent to be extra careful and never have code that looks like this.
And I also missed out on including this, thank you.
Nice catch, I will update the blog post.
Symbol has other traits beyond just not being unique. Properties added via symbols are not iterated over in a for in and do not show up in calls to Object. getOwnPropertyNames()
JavaScript has a lot of complexity and little gotchas. I often compare the simplicity of Go with JavaScript and wish JS were more like that, but I still find myself enjoying JavaScript. I hope that "use strict"; evolves to further limit the bad pit falls even experienced developers can get stuck in. Some of the new features like isPrototypeOf can replace the old behavior, like instanceof. I would hope that once browsers start supporting more of the new things we all migrate to using them, if they're implemented well.
True, the early period had a furious pace of updates. I guess I was referring to the era of ES6, that lasted a long time. I think Microsoft at one point actually said that IE6 was the final browser and they wouldn't release a new version. IE6 was amazing when it first came out, but it became a blight in the end that hurt more than it helped.