Ask HN: How Do VCs/Angels Use Social Media for Investment? - <AUTHOR>

...or do they?
I'm writing a post today on how angels and VCs use social media for business purposes, and although I have thoughts of my own on that, I'd like to get your take on it.
If you're an investor who uses tools such as Facebook/Twitter/what have you, or if your a startup who found funding through similar media, please-please-please let me know about it. <comment><USER2> Jolie,

I have had my commercial real estate license since 2006 and I recently found a job as a retail, office, and industrial broker and advisor for Sperry Van Ness Commercial real estate- a national commercial real estate brokerage firm. When I began researching the real estate market I found that doing online research was very helpful, resourceful and surprisingly expensive if I wanted to subscribe to the services that I needed to be able to advertise my properties and research online. Nationally approved and recognized brands and websites like Loopnet, CoStar and DMCAR (a professional Denver resource) are paid services. Since I was limited in what I wanted to spend towards online marketing I began searching for ways to market my listings through alternative sites that were free and considered to be social nine months ago and only now have been transformed into advertising powerhouses. Facebook, Twitter and search engines are excellent ways to advertise a business online and they are resourceful for their simple digital functionality and mobile access. Simultaneously these online resources are not necessarily money makers. It's easy to spend $100 or more per month on search engines and Twitter and Facebook can take up a lot of time without paying a dime. While it's important to advertise on search engines and have an online presence through networks like Facebook and Twitter to gain brand recognition and be accessible through online searches, these services don't always pay the business owner who is advertising the same hundreds of millions of venture capital dollars that the developers invest in creating the technologies. In other words, there is a strong distinction between the advertising consumer who pays for the online services and the companies online who are generating 100% of their revenue from online business. Online services can demand a lot and provide practically nothing in return, so it's important for the paying advertising business decision maker to balance how much money and time they invest in online services so that they can have an effective online presence at a descent price.

Jonathan Pratt Commercial Real Estate Advisor Sperry Van Ness ROI Commercial Real Estate 1871 Folsom Street Boulder, CO 80302 Office Phone (303) 302-6484 www.svn.com

</comment><comment><USER3> Social media is SproutBox's primary source of deal flow. It just makes sense when you have an application process like we do that we would tweet about apps opening and closing-- and that people would retweet the opportunity.

We also use Facebook, twitter and linkedIn extensively for research. If we're interested in an app we immediately look up entrepreneur's profiles. If we know them it reminds us how. If we don't, we find common connections and get some context aout what they are about.

I don't think we could do what we do, at the scale that we do, if social media didn't exist.

BTW... we're missing you out at Big Omaha this year.

<comment><AUTHOR> I so wish I could be there! Please give Dusty and Jeff my love.

</comment></comment><comment><USER4> You should connect with Jeff Clavier (@jeff). One of the top users, to great effect.</comment>


I've created a community and learning platform for math, physics and CS lovers - <AUTHOR> http://functionspace.org/

<comment><USER3> Very polished site from the little I saw of it - and there lies the rub - <USER2> saw so little of it.

Why don't you allow browsing without registration? I am sure you will miss out on a lot of traffic and future sign-ups because the initial experience is opaque.

<comment><USER4> Registration is literally no more than the three boxes on the signup page, which was a pleasant surprise.

<comment><USER5> I think people are starting to suffer from signup fatigue (even with just 3 boxes). Wherever possible, services should get right into the kernel of the experience and ask for registration later.

<comment><USER6> Seconded; it may be "only" three boxes, but I can browse SO or SE by filling in zero boxes. This reminded me of a site (can't remember which) that comes up in Google results for some UNIX CLI searches I've done and requires sign-in or payment(!) to view community contributed answers. Bugger that for a lark.

<comment><USER7> Experts-Exchange[0], perhaps? There were (are?) some workarounds for getting E-E's full results, but SO/SE is so much better, it doesn't matter what's on E-E anymore.

[0] Don't look here for a link from me, I'd rather not encourage them by sending traffic their way.

<comment><USER6> I hate to be a citation dodger, but partly due to laziness, and partly due to not wanting to send any traffic their way, I didn't bother digging up what site it was. I'm all for paying for expert opinion when a) it's better than I could do and b) the people providing the expertise get the majority of the money. Charging money for unverified, uncompensated answers? Too lame. I am one of those people who used SO/SE for quite some time and finally signed up for an account when I stumbled upon a question I had an answer for. I don't mind giving back, much as I didn't mind contributing to CDDB until Gracenote ruined it. Whatever other gripes I might have with SO/SE, I think it's so successful because of its model.

</comment></comment></comment></comment></comment></comment><comment><USER8> Look, the thing is, the only reason why you are asking for registration is building an email database. If you stated that clearly like "please provide your email so we'd contact you later" or whatever -- that would be perfectly acceptable. However, by forcing me into surrending you my email address you make me wonder _what else_ I'm going to be forced into down the road. So, thanks, but no, thanks.

<comment><USER9> True. He's more than welcome to email email@example.com with whatever further information he would like to release.

</comment></comment><comment><USER10> Why can't I see anything without signing in? Do I need to pay?

<comment><AUTHOR> No need to pay. You can sign up within a few seconds and you're in! :)

<comment><USER10> So is it a policy decision to not allow browsing unless you're signed in? Or just a beta thing? Saying it's easy to register doesn't address the question of why it's necessary :)

<comment><AUTHOR> I just launched it a week ago. So, things will surely change with time. How about something like StackOverflow? You can view everything, but to vote or answer you have to login. All this feedback is really going to help a lot! :)

<comment><USER11> I think that is a good idea, or something along those lines. I too clicked the link to the site, but when I noticed I had to register first, I came back here to check the comments rather than continuing. Showing more content before forcing a signup should gather a lot more interest. Looks nice though, and you seem very receptive to feedback, so I guess I will go sign up anyway! Good luck!

<comment><AUTHOR> Thank you!! I would also like to add that the content would NOT be greyed out for non-registered users and it would be licensed under creative commons :)

</comment></comment></comment></comment></comment></comment><comment><USER12> So what do you want to achieve here, because such a platform is just useful if you find either people that are willing to answer specific questions - such as in mathoverflow - or if you want to read something up (and then you probably go to wikipedia or grap another introduction to a topic). Anyway, it is nicely done, but I wonder if there was another intention than "because we can". I have read the "How Function Space is different?" section, but it is not that convincing.

<comment><USER4> I actually think that for a lot of maths/CS/Physics issues, wikipedia is a _horrible_ introduction to people unfamiliar with the topic. A site which curates explanations in normalspeak with some form of interaction (i.e. "Can you explain why...") would actually be a very useful resource for a lot of people, myself included.

<comment><USER13> khan academy, among others, already addresses this

<comment><USER14> Khan academy is nice for the material it covers, but anybody going beyond high school will find it rapidly becomes obsolete (according to the content ca. the last time I checked). The treatments are simply too elementary and the topics too low level.

I would think a site where people can ask anything, ala stackoverflow, would yield more useful results for many physics/math/cs students.

<comment><USER15> That may have been true a couple years ago, but they are rapidly expanding. They now include calculus and diff eq with plans to go beyond. They're even researching med school related content for the future.

That being said, I wouldn't take that as a reason to not pursue this.

<comment><USER14> Looking at what's on there, I'm really not convinced. You could not get through an physics, engineering or math program on the material that is there, not even close. If I search for, say, complex analysis, all of the material I get is about complex _arithmetic_. No multivalued functions, branch cuts, p.v. integrals, harmonic functions, DEs, nothing. It's all what they expect you to know going INTO the course, or that they cover in the first two days.

Similarly, if I go into the physics topics, they are all <= intro courses, at best. Optics? Doesn't talk about fourier optics, lasers, etc. E&M? Doesn't seem to mention Maxwell's Equations anywhere... enough said. Quantum mech? Nothing. Statistical mech? Nothing.

Okay, how about math? Take a look at the differential equations stuff. No higher order, no series methods, no numerical methods, no coupled systems, no non-linear. Probability? No markov chains, MCMC methods, or anything except basic RVs and statistics (which is not the same thing as probability). Same for linear algebra: no fitting methods, no matrix decomposition, no graph theory.

I could go on. The point is that they cover the most basic elements of each subject, and they miss a hell of a lot of important subjects. That's okay, but don't claim that they're anywhere close to being able to educate you at a university level.

</comment></comment></comment></comment></comment></comment><comment><USER16> Looks good - I've signed up :)

I would say though that I think your articles and lectures could do with a bit more organisation. In both cases, the user would benefit from posts having tags denoting subject content, and from a search facility so that I can find things that specifically interest me. If you have five hundred videos about mathematics, finding one on Analytic Topology, say, by scrolling through them would be a bit painful. I also think it would be good if the lectures had some way of tying subsequent videos together - it seems a tiny bit messy to have 'Cosmology - Lecture 1', and 'Cosmology - Lecture 2' as separate entries. I'm also not certain that you want to limit lectures to being videos. A well- written explanation of a broad subject is sometimes better than a video that I can't search or skim through - and I think it serves a different purpose from the articles. It's also easier for your community to add written content than videos.

Hope that was useful to you - but obviously take it all with a pinch of salt. You know your strategy better than some guy off the internet who's only spent ten minutes on your site :)

<comment><AUTHOR> Thanks for signing up! And thanks a lot for positive criticism. I have noted your feedback regarding Lectures and Articles. Will surely implement it within few days! :)

</comment></comment><comment><USER17> Really like the idea of this, and especially enjoyed that you took the time to make the 2 minute video walkthrough (it made it easy for me to say "ok, I'll give you 2 minutes, let's hear your pitch"). I think the idea of having a focused community will work quite well.

A suggestion: Redis has a very cool documentation system, where the documentation is "live" - for example, <http://redis.io/commands/set> (scroll down to the example, you can type in the box). It'd be really neat to have something like that integrated with the code side of things.

</comment><comment><USER18> Clicked on link -- I am interested in learning about math, physics and CS.

Saw registration screen. Closed window.

</comment><comment><USER19> Have you considered integrating something like Persona? While I have never like FB sign up, this is the exact situation where I would be tempted to use it. Possible interest, but I don't really wanna go through the sign-up. I keep hoping to find a site in the wild using Persona.

of course... in the time I typed this I could have just signed up. :P

</comment><comment><USER20> Looks good, I look forward to exploring the site properly after work. One small niggle for you to address though. Log out and go to your home page. Navigate to the About page. Now try and get back to the home page without using your browsers back button.

I would expect your site logo in the top left to take me to your home page, especially as it appears clickable, but it doesn't. It puts a # at the end of the url and that's it.

<comment><AUTHOR> Thanks!! Fixing it now! :)

</comment></comment><comment><USER21> Interesting. LaTeX support?

<comment><AUTHOR> yes, LateX support is there! Inbuilt visual equation editor coming in a week or so! :)

<comment><USER21> Excellent, site looks great :) I'd love the ability to edit/delete my "opinions" though.

</comment></comment></comment><comment><USER22> Cool site. I think you should include a citation importer and exporter for people referencing published articles in their posts.

<comment><AUTHOR> Thanks!! Point noted! :)

</comment></comment><comment><USER23> I love the look and feel of the site, well done. I understand some of the frustration in the discussion about required registration but the site is still definitely worth a look. The half alive/half dead cat icon for quantum mechanics made me laugh, kudos to whoever designed it.

</comment><comment><USER24> Home page tells me nothing, just wants me to sign up for something I don't understand yet. That's when I closed the tab. If you want idiots like me to signup you'll need to sell me before you ask me to type.

<comment><AUTHOR> There's a video on the home page :)

<comment><USER24> Ain't nobody got time for that.

</comment></comment></comment><comment><USER25> aditgupta, What I saw of this was pretty neat. Have you considered adding Common Core alignment for high school students/teachers who would benefit from it?

Heads up: I left the site, and it didn't remember me when I came back. I forgot my random password and requested a password reset. Got a confirmation that an e-mail had been sent, but that hasn't arrived after a good 30 minutes so far.

<comment><AUTHOR> Thanks! I am considering some kind of tie-up with schools and colleges. I see that a mail has been sent to some emails. If you can send me your email id, I will cross-check it for you.

</comment></comment><comment><AUTHOR> Thank you all for such an overwhelming response! I will deal with the sign-up issue ASAP. All other suggestions would also be implemented soon. :)

</comment><comment><USER26> Great idea! How did you make the website? Ie, did you contract out or make it yourself? And if so, how were you able to do it? Thanks.

<comment><AUTHOR> Thanks! It took me about 2 weeks to design and a month to develop. I left my full-time job for Function Space. My wife also helped me out with some ideas. The biggest motivating factor was my love for these 3 subjects. :)

<comment><USER27> How do you plan on monetizing Function Space?

<comment><USER28> On this tangent, I wouldn't suggest premium features, unless they're minor because they tend to tear apart communities (look at all the games). I'd suggest nonintrusive ads and/or affiliate links to books, which would fit this site nicely. You could also put a store in there selling things relating to these topics, either setting that up yourself, or again going the affiliate route. Honestly, you could just look into how similar sites are doing their financing, and see what you can copy from their methods.

</comment></comment></comment></comment><comment><USER29> The favicon is slightly unreadable, and could easily be improved.

<comment><USER28> A FAQ would also be nice/neccesairy. If it's allready there, put it somewhere where people can find it.

</comment></comment><comment><USER30> Great site your created. Thanks!</comment>


The ABCs of Jacobin - <AUTHOR> https://www.cjr.org/special_report/the-abcs-of-jacobin-socialist-magazine.php/ <comment><USER2> While I think it is important to consider arguments across the entire political spectrum, reading Jacobin takes effort. It promotes a fictional world view where a command and control society makes purely altruistic, utilitarian decisions to maximize economic and social equality. Good and evil are too quickly ascribed to actors without consideration of attribution error. There is too much black and white thinking..

<comment><USER3> > a command and control society

If peacetime USA 2018 is not an industrialized command and control society, I don't know what is. The difference is all is geared towards the heirs who expropriate surplus labor time, instead of those of us who work and create wealth.

<comment><USER4> > If peacetime USA 2018 is not an industrialized command and control society, > I don't know what is.

I don't know if you're developing some difference between command economy and command society, but since you're talking about surplus labor I don't think so. The term command economy was developed to refer to soviet style socialist economy in the early days. Public ownership plus government allocation and production quotas.

It seems like a weird self own for a presumed leftist to say, "Oh yeah, capitalism is so bad we basically already have communism."

<comment><USER5> Some on the left consider both the US and the USSR to be capitalist (the term used for the latter is often "state capitalism"), not communist.

<comment><USER4> That's true, though I think mainly because of things that changed as the decades went along, but people were calling the USSR economy a "command" economy since nearly the beginning.

<comment><USER5> No, critics of the Bolsheviks, such as anarchists and left-wing communists, were warning against that since the revolution, and just a little time after people from other countries were doing the same, such as Emma Goldman in her article titled "There Is No Communism in Russia" from 1935.

<comment><USER4> I see. I was thinking of Goldman's earlier writings that more about the NEP, but I see that "There Is No Communism in Russia" has the distinction between nationalization and a true "public" ownership. (And it is true that most anarchist writing I've really just skimmed or read many years ago)

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> The quality and depth of the writing in Jacobin's stories is what keeps me coming back. They go very in-depth in each story and aren't afraid to use a diction that's probably a bit more academic than the average American is comfortable with. Each piece is exactly as long as it needs to be, and they don't dumb down the content or try to soften their ideological views the way most mainstream publications do.

I especially love that the subject matter is political but not reactionary, taking a longer view of social and economic issues rather than just producing articles focused solely on the outrage of the week. Only the writing in The New Yorker is better.

<comment><USER7> > I especially love that the subject matter is political but not reactionary

And for those who _do_ like reactionary subject matter, there is a nice alternative publication - which is of course named _Jacobite_ [https://jacobitemag.com/](https://jacobitemag.com/)

<comment><USER8> You don't deserve the downvotes. There is too little intellectual conservatism - it's good to read about it even if you don't agree. Progressive vs. stupid is not a productive discussion for society.

</comment></comment></comment><comment><USER9> The graphic design of Jacobin is what always stands out to me. There is sort of a retro playful feel to the cover art and images inside. And a mix of different typefaces from article to article. Not to mention the articles themselves are printed on a variety of paper types within a single issue, from glossy and thin to thicker with a fold-out.

One of the few print magazines where I enjoy physically flipping through the pages.

[https://coverjunkie.com/cover-categories/best-of-the- rest/ja...](https://coverjunkie.com/cover-categories/best-of-the- rest/jacobin-3/)

</comment><comment><USER10> Jacobin is one sharp publication. Baskar runs a tight ship, and somehow the books are even in order! Who would have thought?

</comment><comment> Ar-Curunir This article gives me the feeling that the folks who run Jacobin have a "holier-than-thou" attitude towards the rest of the left. I get the feeling that they look down upon more idealistic leftists, and think of themselves as pragmatic and grounded, a quality they deem that the rest of the left lacks.

Might be the way the article is written (it seems to try hard to portray Jacobson's success as a demonstration of capitalism's successes), but there definitely seems to be an underlying kernel of truth. Turns me off of Jacobin even more.

<comment><USER11> A large portion of the radical left feels this way about Jacobin. I enjoy some of their articles, but it doesn't come without critique.

Famously, a post-leftist, anarchist organization called "Crimethinc" published an essay called "Your Politics Are Boring As Fuck"[0] which addressed some of the problems with the attitudes of "Jacobin Leftists". I really like this quote:

> The truth is, your politics are boring to them because they really are > irrelevant. They know that your antiquated styles of protest — your marches, > hand held signs, and gatherings — are now powerless to effect real change > because they have become such a predictable part of the status quo. They > know that your post-Marxist jargon is off-putting because it really is a > language of mere academic dispute, not a weapon capable of undermining > systems of control. They know that your infighting, your splinter groups and > endless quarrels over ephemeral theories can never effect any real change in > the world they experience from day to day. They know that no matter who is > in office, what laws are on the books, what "ism"s the intellectuals march > under, the content of their lives will remain the same. They — we — know > that our boredom is proof that these "politics" are not the key to any real > transformation of life. For our lives are boring enough already!

0\. [https://crimethinc.com/2000/09/11/your-politics-are- boring-a...](https://crimethinc.com/2000/09/11/your-politics-are-boring-as- fuck)

<comment><USER12> While I agree with Crimethinc and that quote, I can't seem to get into their writing anymore. Most of their writing comes across as defeatist or exhausting, but it's understandable because they've been promoting leftist ideals for decades now while the world slides into more and more authoritarianism.

<comment><USER11> Perhaps so, but I see the writing as more of a "The status quo will continue until we take action."

I think there is something to be said about defeatism in this regard. Things absolutely will not change until there is action. Crimethinc is simply stating the obvious -- there is no action.

Lately, The Invisible Committee's books have kept me very enthusiastic. If you haven't read those yet (specifically, "Now" and "The Coming Insurrection") you've been missing out.

For anyone else who is not a radical leftist, there are some interesting takes on how technology has affected human interaction. I see it as an interesting read for many people in tech.

<comment><USER12> I havn't read the books, thanks for the recommendations i'll check them out.

Crimethinc/AdBusters has seem to be more about fostering counter culture rather than interesting leftist thought not to say one's more important than the other, but seeing even the most radical members of our party still consumed by selfies and starbucks makes me really dissapointed. Crimethinc taught me to about Buy Nothing Day, how to make my own soap, and go vegan/local.

</comment></comment></comment></comment></comment><comment><USER13> I googled Jacobin and on the results noticed a tweet from the Jacobin account

 _Angela Merkel has resigned as CDU leader. Her failed promises of "prosperity for all" are leading to the disintegration of the traditional mass parties._

Reads bit sacred scripturey to me, as in Marx tells us in chapter X verse XX

I wonder if they address one another as comrade?

<comment><USER14> And? I'm not sure what point you're trying to make / what you're trying to communicate.

</comment></comment><comment><USER15> To name your magazine after the frenzied murderous excess of the French Revolution reminds me of how rabidly violent the far left is. And when we have so many examples of radical collectivism leading to mass suffering (much of humanity's gains in the last 40 years can be traced to China's rejection of it in the late 1970s), and an intellectual foundation based on patently false dogma like Marx's 'labor theory of value'.. I wish the left would adopt some new role models and theory based on reality

<comment> Ar-Curunir If you'd bother to read the linked article or to do a moment's research, you would have learned that the magazine is not named after the French Jacobins: [https://en.wikipedia.org/wiki/Jacobin_(magazine)#Title_and_l...](https://en.wikipedia.org/wiki/Jacobin_\(magazine\)#Title_and_logo)

<comment><USER16> I think it's a bit disingenuous to attack that presumption, given that the magazine sells posters of guillotines. They definitely play on it. [https://jacobinmag.com/store/product/1](https://jacobinmag.com/store/product/1)

<comment><USER17> > … the magazine sells posters of guillotines.

Sounds like glorifying political mass-murder to me. That seems in _profoundly_ poor taste.

Every person who died under the blade of one of those guillotines was a human being, with hopes & fears, good & evil in his soul. The great number of them weren't murderers, rapists or thieves: they were just people who had the unfortunate bad luck to be born into the wrong caste.

<comment><USER5> Eh, it's more making fun of the people who get in a frenzy over the name. Maybe still in poor taste, but not really glorifying the deaths. In fact, many of the guillotined were Jacobins themselves.</comment></comment></comment></comment></comment>


Ask HN: What questions to ask potential customers to validate idea? - <AUTHOR>

So I have been working on a prototype for an idea but have not talked to a single potential customer yet. Seeing the posts on HN about (e.g. how important it is to sell first, build later), I am wondering what kind of questions to ask to engage these potential customers. Some background info:<p>- THese potential customers could be hiring managers or recruiters in a very niche industry.<p>- I know these potential customers to an extent that I have dealt with them in the past related to my field.<p>- I am sure if I get them on the phone/email, most of them will respond.<p>So how do I go about it ? Any ideas ? <comment><USER2> I'd suggest you go read The Lean Startup, as this is the source for the suggestions on HN.

You validate ideas by applying validated learning:

1\. Figure out what you want to learn (ex. an assumption: customers want this product because it allows them to easily do x)

2\. Figure out how you will learn via metrics (ex. measure: how many customers sign up based on advertising based on this assumption)

3\. Do what is required to gather the metrics. (ex. act: advertise based on the assumption to gather metrics for analyses to validate your assumption).

Sort of sounds like Act/Track/Learn :)

The Lean Startup proposes that you approach a product by asking the following questions:

1\. Is this product valuable to my customers?

2\. Would customers buy this product?

3\. Would customers buy this product from me?

4\. Can I build this product?

Point 1 & 2 refer to validating the viability of ideas, while 3 & 4 is more of an introspection regarding availability of skills/resources/advantage etc.

Good luck!

</comment><comment><USER3> It's quite a large topic, but the different steps could be :

1\. formulate the problem of what you're aiming to solve, and the customer segments who you think have this problem (lean canvas / business model canvas can help you there)

2\. ask questions to people part of your chosen customer segments and verify they have the problem

3\. create a solution (MVP) to solve this problem

4\. demo it to them and verify it solves the problem in a way that makes them pay :-)

Ash Maurya goes into a lot of details about this process in "Running Lean" (highly recommended).

The general idea is to test assumptions to convert them from hypotheses to facts, using a loop of build->measure->learn.</comment>


Yelp Gets In To The Groupon Game Too - <AUTHOR> http://techcrunch.com/2010/08/26/yelp-local-deals/

<comment><AUTHOR> Between Groupon, Living Social, others, and now Yelp (launching their Groupon- style deals in San Diego first), I'm starting to wonder if there's enough room in the market for a smaller app like mine (Locurious) to do daily deals as well. What do you guys think? Is it saturated or is there still room to grow?</comment>


Knot Forensics - <AUTHOR> https://www.atlasobscura.com/articles/knot-forensics <comment><USER2> Ok, so has anyone done blind testing of this? Because "forensic science" is already full of snake oil and deliberately ignored bad science. Is this any different? He's one of the "few experts", is that because this science is new? or is it because it's not science?

<comment><USER3> Nobody claimed it was science; it's just advanced pattern matching. I think it's very doubtful somebody would be convicted on the basis of this analysis alone. It seems like it's more useful as an investigative tool rather than something you can present as evidence in a trial.

<comment><USER4> He basically said "the butcher did it" and the guy immediately confessed. Certainly it didn't have to hold up in court in this case. :-)

<comment><USER5> The article doesn't say "immediately", and false confessions do occur, unfortunately.

I hope you're right, that it's just one tool to help direct an investigation, and that the confession was true, but I'm not entirely convinced by this article.

It starts by claiming he can tell "whether the knot-tier was left- or right handed, skilled or novice at knot tying, and in some cases, whether the crime was premeditated", but only a couple specific stories are given, and one was a knot which "people wouldn't know of outside of the butcher trade", which is much more obvious and grounded than the earlier claims.

Of the first 14 Google Image results for "square knot" (before it starts returning other things), 8 tie it one way, and 6 tie it the other way -- and as I scroll down, this ratio seems pretty consistent. He claims for a right- handed person "the knot will almost certainly be formed right handed", but at first glance it seems much closer to 50/50.

</comment></comment></comment></comment><comment><USER6> So where is the quantitative proof that this is better than hair analysis and bike mark analysis?

Those shams were marketed in much the same way the article makes claims about forensic knot analysis. Why should we believe in the effectiveness of this method if the last bunch worked so poorly?

<comment><USER4> There is a very specific claim here that doesn't really need to be shown with quantitative analysis if he's truly a knot expert.

In the Michigan example, he noted that the knot used was one that only a butcher would use and that the other guy was a mechanic. Presumably he knows a lot about knots, and he would know what kinds of knots were common across different occupations because knots have specific uses, and he probably knows the few knots that a mechanic uses and a few that a butcher uses and pointed it out.

There's no need to conclusively prove that a certain person can be shown to have tied a knot to buy his claims. Only that in cases where one accused is in an occupation that has a distinguishably common/uncommon knot ratio compared to another occupation with a different distinguishably common/uncommon knot ratio, that the information about which knot was used used can, well, distinguish between the occupations.

Plus, he basically said "the butcher did it" and the guy immediately confessed, its not like it help up in court.

<comment><USER7> > Plus, he basically said "the butcher did it" and the guy immediately > confessed, its not like it help up in court.

Because it's not like we have a problem in the US with people pleading guilty to crimes they didn't commit when faced against bullish prosecutors with specious forensic 'science' backing them up, and overworked public defenders who have to much of a workload to prove to every jury that CSI is fiction.

</comment></comment></comment><comment><USER8> I was hoping to see an application of knot theory ([https://en.wikipedia.org/wiki/Knot_theory](https://en.wikipedia.org/wiki/Knot_theory)) to forensics. Bummer.

<comment><USER9> Meanwhile the article links to [https://www.igkt.net](https://www.igkt.net), which I'm sure, must have some members interested in topology, as applicable to knot tying.</comment></comment>


Ask HN: Chrome's Ad Blocking launches tomorrow; anyone disabling AdBlock? - mark-ruwt <comment><AUTHOR> uBlock Origin and uMatrix serve me well.

I see no reason to change anything.</comment>


PostgreSQL columnar store benchmarks on SSDs - <AUTHOR> http://citusdata.com/blog/78-postgresql-columnar-store-benchmarks-on-ssds

<comment><USER2> This looks so good, that a question arises: Where's the catch? In other words, in which situations is a columnar DB a bad solution?

<comment><USER3> We use Vertica for our analytics, and basically, INSERT, UPDATE and DELETE are performance risks, as are trying to SELECT large amounts of entities.

As other commenters have said, Vertica, like other columnar DBs, is optimised for reads, and it does so basically through materialized views (called projections) across multiple nodes - so when underlying data is updated, those updates have to be replicated across the system. It's not a huge concern in a reporting / analysis environment though.

Retrieving whole entities is not particularly performant, but if you want to group and aggregate columns, it's blistering fast.

I ran some numbers - our largest stats table in Postgres is 64GB, 379 million rows, and summing a column can take up to 4.5 minutes. Our largest table in Vertica is 500GB, 2.7 billion rows, and summing a column can take up to 100 milliseconds.

I'd have to say that the worst thing about Vertica is that it's not free as in beer or as in speech. Licencing is done on a raw data basis, and the high costs of upgrading licences often drive our technical decisions. And likewise, trying to use the Vertica JDBC library to stream entities from Postgres to Vertica was an interesting exercise (in fairness to Vertica, it was caused by poor implementation of some code in the Postgres JDBC library), because I had only the compiled JARs to work with, and so debugging was difficult.

Other catches - constraints are not enforced - a performance decision. The other issue is that projection design is a very fine art and really determines how much performance you'll get. That said, Vertica ships with a projection designer that designs projections to answer specified queries fast, and the designer is suitable for about 98% of your needs. For the last 2%, you can often find yourself trying to interpret the mind of the query planner when you want it to use your new projection.

...This leads to another catch - as projection structure is strongly tied to query structure, queries that are changed and ad-hoc queries may suffer performance issues, and they do so silently. Vertica does make excellent records of query metrics, but nothing will blow up if an existing projection can no longer answer a query.

The last caveat is that importing data into Vertica requires some thought, and how you do it is typically determined by Vertica's design constraints. The documentation is good, and the training is worthwhile, but there's still a lot of thinking specific to the implementation required.

<comment><USER4> "basically through materialized views... summing a column can take up to 100 milliseconds"

That's a key point worth expanding on. This isn't so much a columnar/row distinction as it is a point about materializing results (or partial results) in a clever way that allows for fast processing for those kinds of queries.

That moves the problem: queries are faster (as long as they are in the sweet spot of queries that you expected), but you have extra cost at insert/update/delete time and extra effort when designing the "projections" (as you say).

Columnar makes a similar trade in that writes are slower and a class of "typical" grouping and aggregation queries are generally faster.

By combining the two strategies (materialization and columnar), Vertica is essentially doubling-down on that trade. So queries that match what you designed the projections for, and that follow typical patterns of grouping and aggregation, are blazingly fast (or so I've heard). But it's more restrictive about the kinds of queries that will work well, and it's sensitive to new kinds of queries that you might not have planned for when designing the projections (again: or so I've heard). In other words, it's more specialized.

Personally, I don't find ultra-specialized databases very interesting (speaking generally here, not necessarily saying that Vertica is ultra- specialized). I basically see two reasons to use something specialized: (1) replicate data into it and run queries (i.e. an accelerator); and (2) put lots of low value data in it, that you'd otherwise throw away, and try to extract some signal from it. (There are a couple other cases, like real-time systems, but that is outside of what I ordinarily deal with.)

Disclaimer: I work for a big data company that is not Vertica. Our products offer row or columnar as storage options, but that is not central to the products' value propositions. Opinions above are my own.

<comment><USER3> > Personally, I don't find ultra-specialized databases very interesting > (speaking generally here, not necessarily saying that Vertica is ultra- > specialized). I basically see two reasons to use something specialized: (1) > replicate data into it and run queries (i.e. an accelerator); and (2) put > lots of low value data in it, that you'd otherwise throw away, and try to > extract some signal from it. (There are a couple other cases, like real-time > systems, but that is outside of what I ordinarily deal with.)

Pretty much. We had a specific business requirement of near real-time statistics and historical statistics available at an entity / day level of granularity for advertisers and publishers using our platform.

Vertica occupies a very sweet spot for us in that regard, but it requires a lot of specialised approaches. I've managed to break its tuple mover a couple of times when loading historical raw data in large quantities.

</comment></comment></comment></comment><comment><USER5> A long way to go:

[https://www.monetdb.org/content/citusdb-postgresql-column- st...](https://www.monetdb.org/content/citusdb-postgresql-column-store-vs- monetdb-tpc-h-shootout)

<comment><USER6> I wonder how these benchmarks would compare with citusdb + compression. Very interesting nonetheless.

</comment></comment><comment><USER7> Any comparisons against Vertica or other DBs that were designed to be columnar from the ground up?

<comment><USER8> Published benchmarks comparing commercial databases are difficult to come by due to the DeWitt Clause [1] in many commercial database licenses.

[1] [http://en.wikipedia.org/wiki/David_DeWitt](http://en.wikipedia.org/wiki/David_DeWitt)

</comment></comment><comment><USER6> If you are not familiar with Foreign Data Wrappers, they allow you to connect to other datastores and represent that data as tables in your database. [http://wiki.postgresql.org/wiki/Foreign_data_wrappers](http://wiki.postgresql.org/wiki/Foreign_data_wrappers)

</comment><comment><USER9> Does this support JOINs? Or do you use a giant WHERE IN () clause?

My use case is essentially a cross-database JOIN that I've been using MySQL & temp tables to accomplish. For example, give me the sum of column x if column y is any one of these 50,000 values from a separate system. So load the 50,000 values into a temp table and then do a JOIN. Performance isn't that great and it uses a ton of disk space so I wanted to try using a columnar store.

<comment><USER6> Seems like you might want to consider getting all of your data in the same place. A Foreign Data Wrapper feeding a Materialized View might be a neat way to solve your problem: [http://www.postgresql.org/docs/9.3/interactive/rules- materia...](http://www.postgresql.org/docs/9.3/interactive/rules- materializedviews.html)

<comment><USER9> > Seems like you might want to consider getting all of your data in the same > place

Unfortunately that's not possible

</comment></comment></comment><comment><USER10> I'm very excited about this! Add a mechanism to distribute data and queries across a cluster, and this could be the makings of an open-source Amazon Redshift.

<comment><USER11> Actually CitusDB, which we also produce, does distribute data and queries across a PostgreSQL cluster. You can see some performance comparisons of using cstore_fdw on CitusDB in the blog post and the performance improvements are even more significant there.

</comment></comment><comment><USER12> It would be interesting to compare these benchmarks against the performance of Amazon's Redshift.

If the benchmark can be run without changes on Redshift would be my first question. There are some interesting differences that Redshift has rather than just being a columnar PostgreSQL protocol-speaking database. But if its possible, I'd be very interested to see the results.

</comment><comment><USER13> Do the benchmarks for postgres utilize in memory columar store (IMCS)? What is the difference between postgres imcs and citus cstore_fdw? [http://www.postgresql.org/message- id/52C59858.9090500@garret...](http://www.postgresql.org/message- email@example.com)

<comment><USER11> The benchmarks use cstore_fdw which is a columnar store that is accessed via the PostgreSQL foreign data wrapper system.

ICMS is a different implementation of a columnar store for PostgreSQL. I don't know it extremely well but my understanding is that it uses the PostgreSQL shared memory system to allocate memory for a columnar store. This columnar store is not queried via standard SQL commands but rather using a combination of a custom query language and some user defined functions.

</comment></comment><comment><USER14> Isn't the assumed tradeoff SSD storage for CPU usage? How much more cpu time is utilized in compressing/decompressing? And whats the unit cost of that extra CPU in comparison to the cost for disk space savings of 'expensive' SSD's?

<comment><USER15> CPU time is so _ridiculously_ cheap compared to disk IO — even on SSD — that it's pretty much always a win, sometimes massively so.

My comment during a previous instance of this discussion:

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

<comment><USER14> I think you're comparing cheap in terms of time, Im talking about in terms of resource utilization and saturation. I think it would be clearer to show what the exact tradeoff is in terms of cost. In an arbitrary scenario where you have 100$ worth of ssd, and 100$ worth of CPU, and this strategy saves 75% of the SSD space at the cost of 1% more utilization of CPU, then yeah, its a total win. But isnt your example showing that it takes 5 times as much cpu time compressed vs uncompressed?

<comment><USER15> Just using my own example, it's roughly a 5x increase in CPU time for a > 10x _reduction_ in disk space (and commensurate reduction in disk IO — including writes, which is an important consideration when you're using SSD). Let's just say 10x though, for sake of easier math.

Assume $1/gbyte storage costs. We're not talking about consumer-grade drives here, right? It's probably worse than that anyway, because you're using some form of RAID, too. Aren't you?

Assume further a $1000 8-core CPU, as that's what the machine in my example uses (it's actually slightly more expensive, but again: easier math), and a 3 year depreciation schedule. That's roughly 1000 days, or $1/day, $0.125/core- day, or $0.000087/core-second.

Storing that log file uncompressed costs you $8.817 in storage, and $0.00085 in CPU time, if the process uses 100% of a core for the duration. Storing it compressed costs you $0.828 in disk space and $0.0038 in CPU time — again, if you're burning an entire core for all 44s.

I think $0.8318 is less than $8.81785, but feel free to check my math...

EDIT: Yes, I know I'm conflating the ongoing cost of storage and the incidental cost of CPU time. I'm also ignoring the cost of power and cooling, leaving entirely aside the difference between storage _milliseconds_ and CPU _nanoseconds_ , and, and, and. I guess, if it's not obvious that compression is pretty much unequivocally a win with modern CPUs, then I don't know what else to say.

<comment><USER16> That math stands only if your server has spare CPU utilization.

<comment><USER15> I disagree. Being IO starved is far more likely, and has a vastly greater impact on the utility and capability of a host, than being CPU starved.

<comment><USER16> Sure IO starving is more likely, but on analytic DB (which is supposed use of showed tech) you probably will do some complex queries with joins, filtering, aggregation etc. That can load CPU pretty well. So you always need to check where the bottleneck is.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> I couldn't find documentation about what subset of SQL you can use. I saw mention of "all supported Postgres data types", but not anything about what features work. Any links?

<comment><USER11> If you use cstore_fdw with PostgreSQL you can use the full PostgreSQL SQL dialect for querying your table. However, we don't currently support writing to your cstore_fdw table using SQL commands like INSERT/UPDATE/DELETE. PostgreSQL added foreign data wrapper support for these commands with their 9.3 release and it is something we're considering adding to cstore_fdw in the future.</comment></comment>


Memetic Tribes and Culture War 2.0 - <AUTHOR> https://medium.com/intellectual-explorers-club/memetic-tribes-and-culture-war-2-0-14705c43f6bb <comment><USER2> > _We define memetic tribes as a group of agents with a memeplex that directly > or indirectly seeks to impose its distinct map of reality, along with its > moral imperatives, upon other minds. These tribes are the active players in > the new culture war._

As the author duly notes, such groups have been the norm for a long time. The interesting part is that today the two largest memetic groups, the "blue tribe" and the "red tribe", are so fractured internally that we should stop seeing them as coherent groups. So the "culture war" is now really multi- lateral.

It would be interesting to parallel this to collapses of Communist regimes where the leading narrative / memeplex largely lost its strength, and _many_ competing narratives started to run in the society as roughly equal; a lot of "fringe" became "the new norm".

<comment><USER3> Or that red and blue are now soldiers rather than generals.</comment></comment>


Ask HN: Writing my first app - <AUTHOR>

I've got a killer idea (!) and want to write my first app. What's the best way to do it. I'd like to optimise widest coverage for time spent initially.
Which platforms should I target. It's to be a paid app for parents (though generally info about targeting demographics vs platforms appreciated) but I'd consider free as they're are strong advertising opportunities. I'm assuming iOS is going to be best but I'd love to develop once and deploy to android as well if that's even possible. Primarily I see it being used on phones.
Primarily my closest domain experience is in webdev (PHP, HTML, JS) though I've done a tiny bit of python, C++, SmallTalk, Fortran in the past.
I don't have funds to purchase anything, I'm on Kubuntu but have Windows accessible.
Thanks for any info and advice.
[Sorry if this is a dupe of a dupe ... I did search but couldn't find "App Dev 101" - this is probably the closest https://news.ycombinator.com/item?id=4731469 (the link should be http://www.codelearn.org/rails-tutorials) but it has no info about implementation on a device, distribution, getting in to app-stores and such.] <comment><USER3> I was actually just in a similar situation not long ago so I'll explain the route I decided to go:

TL;DR : Cross-platform frameworks at this point in time (to me) are either 1. Expensive, or 2. Unreliable in providing a native-feeling application. We chose to develop a Client-Server Android app and add iOS when funds become available.

I'm a college student and an opportunity came along from our vet program to make a smartphone application, I jumped at it. They had no idea about platforms but eventually wanted iOS/Android and possibly Windows. The only computers I own run Xubuntu, Windows7, Ubuntu, and Fedora at school. So iOS was obviously out of the picture at this point.

I originally researched along the lines of a cross-platform mobile framework. After looking/asking around it seems these technologies really aren't there yet, especially if you're looking at using any native functionality on the device. I read lots of developer reviews and they were generally mixed in terms of reliability and performance. Also, some are quite expensive; I recall seeing a 1-year dev license for $1000 a year per developer. Possibly worth it for a huge corporation, but just not for us at this stage in the game. It took some convincing but I steered them away from this option.

I have experience in Android so we chose to develop a native stand-alone Android prototype (they needed something simple to use to re-apply for their grant next round/present to other investors), and plan on moving it to a Client-Server architecture Android application and I'll either purchase a cheap Mac Mini and learn obj-c or hire a iOS developer once we have allocated more funding to hook it up on the same server as the Android application. This way you can use the same server back-end logic for dispatching data and have native GUI for each supported platform.

edit: grammar

</comment><comment><USER4> You won't be able to build and deploy iOS apps without running OS X - <USER2> that's not an option from Linux/Windows unfortunately.

You can use something like Appcelerator Titanium[1] to use HTML/JS and build native apps from that. So you will be able to use what you build to deploy to iOS should you purchase a Mac in the future.

[1] [http://www.appcelerator.com/platform/titanium- platform/](http://www.appcelerator.com/platform/titanium-platform/)

<comment><AUTHOR> Thanks for the tip.

Anyone here have personal experience of Titanium?

</comment></comment><comment><USER5> You can make a full HTML5 App and later package it using PhoneGap. [http://phonegap.com](http://phonegap.com)

I wish we could have a node-webkit for iOS... damn you big brother Apple!

<comment><AUTHOR> Funnily enough I just came across this - [http://mixedcase.nl/articles/2010/04/21/getting-started- ipho...](http://mixedcase.nl/articles/2010/04/21/getting-started-iphone-app- development/) \- which mentions both PhoneGap and Titanium. That dev went for native and I'm inclined to think that is best ... but then does that mean completely restarting to port to android or is there a better way?

</comment></comment><comment><USER6> I've researched this a lot and I have found that the cross platform options are just not there yet. Non-native apps feel weird to users and are almost always hated.

I'd start with native Android.

</comment><comment><USER7> Xamarin is also a possiblity for people with more of a .net background. Although before you take the time to build an MVP. I would build a website to collect emails for beta users so you have an initial set of users to program for. If you can't get an initial set people to sign up for a free beta then why waste your time on the great idea. Especially since you have the web background. and expect only about 1 out of 10 to actually download the the thing from yuor list, if your lucky.

</comment><comment><USER8> If it's a killer idea and can be monetize why don't you consider invest on it? You can't create iOS apps without a Mac. You can try to do a hackintosh but its a pain if you don't de right hardware.

Another option is to create using HTML 5 but its no the same as a native app.

<comment><AUTHOR> I'd invest on it if I had money to invest. Perhaps I can get hold of an old Mac, what's the oldest vintage that would work well enough?

<comment><USER9> Older Macs won't support the latest OSX and XCode.

I'd look at MacinCloud or something similar if you have good bandwidth. $50 / month for 24x7 online access to a Mac isn't bad at all and they have pay-as- you-go for about $1/hour. I haven't tried them, but I think I've even seen people claiming to do iOS development there using an iPad (+keyboard) as their physical interface. You can get a few friends with iDevices to join Testflight for free physical testing.

[http://www.macincloud.com/pricing/](http://www.macincloud.com/pricing/) [http://XCodeClub.com](http://XCodeClub.com) [http://virtualmacosx.com/](http://virtualmacosx.com/)

<comment><USER10> You can run OS X vm in vmware player. If you have a decent desktop box it can be quite usable. This probably violates apple's TOS, but whatever.

<comment><USER8> I had the chance to do this 1 year ago and it's usable (not as good as a real computer) but I think it would be a pain (not worth) to develop an app in a Virtual Machine</comment></comment></comment></comment></comment>


Ask HN: What mistakes did you make in your first software engineering job? - <AUTHOR> <comment><USER2> My first mistake was believing in the founder and his vision.

I actually felt like I was part of the team and making the product a reality. I was a founding engineer, employee #1. I out lasted every other founding member including the co-founder. I ended up picking up his slack.

Four years and lots of revenue later I was let go. Apparently I "outgrew" the team, what the fuck ever that means. Lesson learned, think of yourself first. A business is just a business and will get rid of you as soon as it can, so you do the same.

My second mistake was working too much. I didn't value my own time and should have spent more time with my family instead of slaving away for someone else's idea. Lesson learned, put you and those important to you first. A job is just a job, a company is just a company. None of that is worth losing time with people that actually matter.

My third mistake? I didn't make any more :)

<comment><USER3> Pretty much the same story but I left the company rather than being let go. I did work crazy hours every day. Had to give back half of my equity when I left but no regrets. I'm working as a freelance developer making lesser than what I made at a full-time job (I work for 4 hrs a day right now) and couldn't be happier.

</comment></comment><comment><USER4> The 4 classic mistakes of programmers in their first "real" job (all made by myself, too, of course):

1) Spending a lot of time building something yourself, where you could have just used an existing library. Example: Writing XML parsing code using the plain DOM in every single DTO class, rather than using a mapper library.

2) Starting a huge refactoring or rewrite of existing code, for no other reason than you think you know better, while being too new to the project to realize where the real problems or reasons lie.

3) Over-engineering. Typically in building a flexible, powerful framework, where a simple hardcoded implementation would have been sufficient. Example: PO asks for a page with statistics about how often X has happened per month. Built a framework for displaying any kind of statistics simply by supplying a where-clause. Was never used for anything but the original request.

4) Giving unrealistic time estimates by assuming the best case for everything. For any kind of complexity in the requirements, there's always something that does not work out as expected, so plan for it. Also, in most cases it's better to give an estimate that is a little longer, but realistically and reliably achievable.

<comment><USER5> Hit 2, 3, and 4 all on my first project. That went down badly.

A project existed, that I thought sucked, for storing customer details, to let techs remotely lookup things like onsite IP addresses and the like, because clients never really set aside time to document.

I thought two weeks to rebuild the frontend in Python... It took 8, and did not a damn thing more or less, was slower, less reliable and fewer techs knew Python.

I thought it was great for having 100% test coverage, but the fact of the matter was it sucked, was overtime, and pretty much a waste of developer resources.

However, it did inspire the maintainer of the better, original version to document his code, and build a test suite, because he could basically rework the one I made.

</comment></comment><comment><USER6> We built a DBMS from scratch!

Ok, it started before I joined, but the data at our startup was all basically in text files, not unlike a csv. There were data coming from different sources and needed to be merged with existing. We also needed to do some arbitrage between data from multiple sources, so we wrote an always on server which will do all this in memory and dump the data to the files periodically. Unfortunately, the server can sometimes crash and data yet to be dumped was lost. So, next there was a checkpointing system, which will help recover data in case there was a crash. Slowly it grew into a full fledged data management behemoth.

To be fair, this episode happened more than a decade back. The whole team were freshers straight out of college :) And that system had one of the most readable code, I have ever seen.

It finally took a very senior tech person to come poking and find the inefficiencies. He convinced us of the goodness of MySQL and the whole workflow was then rebuilt around it.

This exercise made us appreciate all the more what a DBMS does and wouldn't miss it for the world.

</comment><comment><USER7> 1) Over promising on project timelines. It's better to under promise and over deliver than to over promise and work yourself into the ground to meet expectations, or worse, lose the respect of your peers by missing your own deadlines.

2) Working myself into the ground. I am human - I should have treated myself like it.

3) Ignoring office politics and putting my head down. Do not let office politicians step on you and bend truths at your expense. Humbly, confidently and respectfully speak your piece with decorum.

<comment><USER8> Could you elaborate more on #3?

<comment><USER7> Absolutely - I guess this is really better broken down into two points:

Sometimes you need to campaign for yourself, sing your own praises and outline your accomplishments. For a humble person, this can be hard. The inclination to let your work speak for itself is strong. Document your successes. Document your worth.

Also, from my experiences, there will always be non technical people that assume they can dictate certain technical decisions. Tread lightly in these situations - you need to make sure that you're speaking your truth and doing your job to the best of your ability while simultaneously managing the egos of the non-technical people who intend on influencing the decisions without the proper knowledge of the decision being made.

</comment></comment></comment><comment><USER9> My major mistake was taking a job that I doing stuff I didn't care about because it was a good career move.

I learned that I need to care what I'm building (self actualize), and if I don't then work feels like selling my life a day at a time. It was though a good thing to learn.

I also didn't realize that I was inexperienced. That meant I held myself to the same standards as much more knowledgeable people and worried about my performance (which was normal for a decent fresh grad). At the same time, I didn't use more senior staff to guide me on hard decisions or shield me from management, which was unnecessarily stressful.

The other big issue was sleep and generally learning to live as a working person. I needed to figure out how to eat well and cheaply. I also needed to go to bed way earlier than I did an got very tired over a couple of years. Just because at 20 you can stay up till 2am every night and still get up at 7 doesn't mean you should. Don't.

<comment><USER10> I feel as though I am falling into this right now. I graduated in Spring of 2016, and started working full time a week after that.

I started working for the same boss that I interned at (different company) - and it has been awesome thus far.

Although the subject matter of the stuff I work on it pretty boring I still have fun with what I do. It's pretty crazy how much experience you gain from just doing your job.

I still don't get a ton of sleep and I generally fall into what you described above.

</comment></comment><comment><USER11> \- Going with the gut instead of listening to others. I had the surrealistic experience of a bunch of extremely senior folks around a company telling me not to join a team I had done a project for. I should have listened, esp. in light of the fact that the folks advising were not only not from the same team, but in many cases actively disliked each other (i.e. this was not a conspiracy).

\- Ignoring the office politics. I thought, naively, that doing above and beyond technically and being frank about situations around me would get me somewhere. It turned out that someone I had put in a not-so-favorable crosshair, while describing my fairly significant cross-team collab efforts, was chummy with my manager's manager, and it blew up in my face... see next item...

\- I had the misfortune of deciding to report to an average-engineer-turned- mediocre-manager. Typical deer-in-headlights-look turnstile manager - i.e. the kind that takes plenty of credit, but doesn't shield you from anything. The guy was laughably terrible, because it was extremely obvious when he was trying to screw you in 1:1s. I was young and stupid and it ended pretty nasty: vindicative passive-agressive bullshit, blame game and damaging rumors that impacted my professional relationship with the rest of my ex-teammates.

\- Not setting priorities straight. I had a personal situation that involved a lot of travel. It didn't even matter that I was exceeding expectations - visibly, I was never there, and that is all that ultimately mattered.

But these are all symptoms! The biggest mistake was not identifying a mentor. Not a technical mentor, but someone seasoned, high enough in the social ranking, and vibrant enough (i.e. not semi-retired and clinging to the job) to advise, help and teach how to navigate a large megacorp with its feudal cliques, ol' boy's club politics and Machiavellian egoes.

</comment><comment><USER12> Letting the sales guys see what you're working on/playing with especially when it's not necessarily going to be part of the product.

"You know that thing you showed me last week? We sold 2 of them. When is it going to be ready?"

<comment><USER13> Can you elaborate on that?

<comment><USER12> Often as a developer, you might work on some experimental projects that may not pan out. That's why you try them. They may work for 80% of the use cases but not for the rest and thus aren't workable from a product standpoint. The sales guys however, may see the "working" project and go out and sell it without asking if it's a product.

Example:

You get a self parking car demo working.

Sales guy sells self _driving_ car based on your parking demo.

</comment></comment></comment><comment><USER14> \- Mimicking the existing coding style a bit too closely - including some of the mistakes which made some stuff brittle, despite having some reservations about it.

\- Kicked off a major refactoring which I wasn't able to secure time to finish, leaving behind partially refactored code. Would've been better to break it up into several smaller refactorings, instead of having the codebase straddling two different styles of doing the same stuff.

\- Not reaching out to the rest of my coworkers aggressively enough. I annoyed my lead a bit by asking him all my questions at the beginning.

\- Not pushing back heavily enough on code readability in reviews, leading to a couple of mudballs (generally under a KLOC fortunately, but still hard to figure out in a couple cases.)

\- Crunching, firefighting, and not taking care of myself better.

I also didn't start with any real experience with project management, time estimation, or the art of managing expectations and keeping managers in the loop - although I managed to learn quickly enough to stay out of trouble, for the most part.

</comment><comment><USER15> Don't upgrade MYSQL on production without backups! Fortunately I was able to pull the database files into a old version and export them, but that was a really tense conversation with my boss.

Thinking back on it, they put a LOT of trust in me at 16. I was the only web dev at a small GIS shop for a summer. They hired me on to rebuild their PHP websites. I didn't know PHP at the beginning of the summer.

<comment><USER16> Yeah, sounds like that wouldn't have been your fault if it had become a worse problem. Reminds me of that story I saw on HN a few years ago where the guy dropped a table of user details (by accidentally clicking on the wrong thing I think) on a live DB server for an online game and there were no backups. They had to re-enter the users' details based on what each user claimed they had in their account; it was a real mess and arguably not the person's fault.

</comment></comment><comment><USER17> These threads area always fun. I'll give my "eng/arch/social" bad-decision- eigenvectors.

\- Deleted /etc on a live cluster, due to interpolation in a CMS script which tried to pretend that solaris wasn't a thing.

\- Overengineered _everything_ as opposed to recognizing that 90% of the time the needs really demanded something that would just work and people could forget about.

\- Let myself identify too much with my work. I made choices in work life balance and in letting myself feel shitty about things out of my control that you can't let bother you if you're going to keep smiling and moving forward.

</comment><comment><USER18> Accidentally released a version that contained a Thread.sleep(1000); call in the frame-saving loop of the video recording feature. We had put it in to simulate a slow hard drive so we could watch how the system reacted. It reacted quite well until it ran out of ram.

</comment><comment><USER19> I refactored the User.rb file of a massive, legacy Rails app with that classic save-the-world beginner hubris.

For one, I thought I was helping out by alphabetizing all the methods.

Ended up with a diff that basically scrambled all 100k lines of the project's largest file. It's probably still causing merge conflicts to this day.

</comment><comment><USER20> I didn't push back enough on stories that were poorly thought out.

I didn't ask enough questions and make sure I understood the real problems before trying to write code.

I wasted a bunch of time trying to get a jenkins server running when I had no real ops experience, and a SaaS CI would have been much better.

I didn't communicate the problems I was having, or ask for help. I was really accomplished in school, where everything came easy to me, so I got flustered when I couldn't figure out the solution on my own.

<comment><USER21> Did the exact same things.

</comment></comment><comment><USER22> \- Overengineering. Developed a cool abstract and highly configurable three- tier monster when all was needed was a good lookin' excel sheet. Very useful humbling experience. The boss knew I was all wrong but let me hit the wall so that I learn my lesson. I did! Ouch!

</comment><comment><USER23> I wrote some software in a language I didn't really know, didn't test it well enough, and when broke it completely disabled the service we were providing to the company's largest customer. Luckily it only crashed at 4AM every night, instead of during main use hours, but it was still no good.

I'm actually writing a newsletter of mistakes I've made over 20 years of working as a programmer; I've made quite a few! That's just the first of the mistakes you could be avoiding (they're written up in much more detail, of course): [https://softwareclown.com](https://softwareclown.com)

<comment><USER24> I don't understand. Why not just post the content in your blog instead of forcing you to subscribe to the newsletter. That's awful.

<comment><USER10> I see this guy post a link to his newsletter almost daily :/

I tried to read some of them - but as you had mentioned you have to subscribe. I'm assuming he gets a kickback of some sort for a subscription.

<comment><USER23> No kickbacks for subscriptions. Eventually I'd like to have them up on a page too, but mostly I want newsletter format, and current email software doesn't let me easily put up emails on the web. And I don't have time to do it manually.

<comment><USER10> Ah no worries I didn't mean to assume :)

I'm interested in reading, but most of the newsletters I have signed up for stopped sending - I'd be fine with an RSS sort of setup as well.

<comment><USER23> When you sign up you start at the beginning, so if I stop posting tomorrow at a minimum you'll have... 23 weeks of content. And I do plan to keep posting, although eventually I'll run out of interesting mistakes and will need to tweak the format.

<comment><USER25> I can understand why it's a newsletter rather than a blog. Receiving weekly emails would keep reminding people of new content so they wouldn't have to remember to check the blog.

</comment></comment></comment></comment></comment></comment></comment><comment><USER26> My only true mistakes were people mistakes: Being too cocky. Underestimating the capabilities of my seniors. Competing with my co-workers rather than cooperating. Not learning to communicate effectively.

</comment><comment><USER27> I was put on a project to implement payment processing with the UnionPay API. I had documentation in Chinese, of which I knew 15 words. I didn't insist on professional translation, but tried to make do with google translate. Failing to understand the errors I was getting, I continued just trying things and banging my head against the wall.

</comment><comment><USER28> Using floats to represent monetary values. It "works" 99.9% of the time, until it doesn't. Dammit, Flex.

</comment><comment><USER29> Believing the hype about stock options.

</comment><comment><USER30> Ran rake db:drop and no, it was not on my local machine.

<comment><USER31> My god! Just reading this gave me the shivers.

</comment></comment><comment><USER31> Had to deploy our new design by Friday, wasn't enough time. Deployed Friday afternoon before leaving for the weekend.

The new javascript broke the donation page and we couldn't accept any donations the entire weekend, lost several thousand pounds.

<comment><USER32> My work has an unwritten rule about never deploying on a Friday... I had to learn the hard way!

</comment></comment><comment><USER33> "killall" on Solaris is very different to "killall" on Linux.

</comment><comment><USER34> Not investing in refactoring until it was way too late. When you do not have a lot of experience yet, it is hard sometimes to get budget for something that does not bear visible fruit immediately, like refactoring.

</comment><comment><USER35> I am currently at my first software engineering job, and a few mistakes already:

\- Debugging before thinking enough on the subject

\- Over-engineering even the simplest things

\- Expecting normal people (ie. support team) to know know about tree/graph structures

</comment><comment><USER36> \- Did not educate myself about market rate for my position.

\- Did not negotiate compensation.

\- Over-identified with my work.

\- Trusted employer to match my level of selflessness.

\- Underreported hours worked.

\- Did not limit the number of hours worked in a week.

</comment><comment><USER37> Wrote a static code generator that used a database schema as input. (this was a big design up front project, and other generators existed at the time the company did not want to purchase)

</comment><comment><USER38> "rm -rf server" instead of "rm -rf server.bak"

4 seconds after, internal chat window poping with colleague asking "You're working on the server ?"

</comment><comment><USER39> Allowing myself to be bullied and voluntold to do things.</comment>


Apple may release an iPhone SE successor this year as iPhone XE - <AUTHOR> https://pc-tablet.com/an-apple-iphone-xe-is-in-the-making-for-q3-2019/ <comment><USER2> Cool, I just can't wait to run out and spend more money on a device that provides the same basic services as the one I already have! I can't wait!</comment>


A Computer Virus demonstration webpage - <AUTHOR> http://www.dnbwg.com/emularity.html?machine=jingwei-vlist <comment><AUTHOR> BTW the page is in Chinese and runs in Dosbox in web. It demonstrates the visual "effects" of many computer virus back in the 90s and early 2000s. The program is called "Encyclopedia of computer viruses".</comment>


OneDrive delivers unlimited cloud storage to Office 365 subscribers - <AUTHOR> https://blog.onedrive.com/office-365-onedrive-unlimited-storage/

<comment><USER2> How is this not the top story right now? Unlimited storage is game-changing!

I'm currently paying $10/month for GDrive, mostly because of the auto-awesome photo suite that automatically incorporates my full-size GDrive photos and lets me share easily on G+. While I love that perk, it just doesn't compare to backing up my entire family's data for $20/year each... and that's before including the free Office suite for each of us!

If anyone at Google is reading this, you can win me back by incorporating photo deduplication. I have well over a terabyte of duplicate photos that I don't dare delete, but could easily be deduplicated down to maybe 100-200GB. I'm sure deduplication already happens server-side, but the consumer is still stuck with endless copies in disorganized folders.

Sadly, this is almost certainly checkmate for Dropbox. I imagine they'll be acquired by Amazon, which has yet to offer a decent consumer-facing cloud brand and needs the economies of scale to compete with Microsoft and Google. Even then, I'm not sure how anyone can compete with the price of OneDrive alone... much less when coupled with the best-of-class Office suite.

</comment><comment><USER3> I was extremely excited when I found out about this, as I have been in transition to putting more things on OneDrive.</comment>


Emotional Attachment to Code - <AUTHOR> http://www.codereadability.com/emotional-attachment-to-code/ <comment><USER2> Great post. It's interesting how "emotional attachment" can often create problems in any field of creativity and not just coding.

For Example, getting emotionally attached to a design, startup idea, ...

The most dangerous one is probably the startup idea. If you are too attached and unwilling to yield, you end up going nowhere.</comment>


IDEO - The Future of the Book. - <AUTHOR> http://vimeo.com/15142335

<comment><USER2> Nelson seems to be something that can be perverted by multiple means (e.g. ignoring sources of debate). It just felt like having FoxNews/MSNBC shouting at me as I try to get my own opinion of the material.

Coupland has the feel of ebooks in the age of CyberPunk/Shadowrun. It feels a little too groupy and corporate happy ("have you read the list?"). Its like a social network for the corporate wage slave.

Alice looks like what Infocom could have evolved into. It is a great concept for interactive fiction, but a lousy concept for author driven narrative. One vision is a powerful thing.

</comment><comment><USER3> Very interesting, all three concepts. I found Nelson and Coupland the most intriguing. Alice would be great for entertainment, but a hassle for instruction/information.

<comment><AUTHOR> I agree, I think it is brave of IDEO to focus on the interaction and not overdo the glossy visuals. There are some real UI pearls (and some barnacles) in here, but it would be wise for the new crop of ebook companies e.g. Inkling.com to pay attention to this!</comment></comment>


The Ultimate Vim Distribution - <AUTHOR> http://vim.spf13.com/ <comment><USER2> I have said it before here when people have discussed packaging up Vim stuff, and I stick by it: I really don't see this taking off.

Switching to using this does not appeal to me, an existing Vim user, and I think I am not an exception. If this does something new that I like I'll gladly throw that part into my setup, but there really isn't any reason at all that I can see for wanting to use this.

I don't think this is good for new Vim users either. If you are new to Vim there _already_ is no shortage of things to learn (I think GVim steps up in this role nicely). Throwing more things into the mix isn't going to help a thing. And as you _(slowly)_ pick up more and more of stock Vim, you are going to naturally build up your own setup. Before you know it you'll be at the same point that I think existing users are generally at.

This all said, I'm also a zsh user who cannot fathom why oh-my-zsh is popular...

<comment><USER3> In term sof new stuff that's true, but there are a lot of things that modern plugins provide that obsolete the traditional way of doing things. For instance, people using EasyMotion never have to worry about counting how many words ahead they're moving and then typing c69w or whatever. And likewise, there are some things that everybody should have in their .vimrc, like incremental search, and it doesn't make sense to learn to use the old way first.

<comment><USER2> There can absolutely be improvement on some default Vim settings. 'hlsearch' should definetly be the default, and I think it is a crime that 'hidden' isn't. There are easily dozens of other examples.

However I think these should be made defaults in Vim itself, not in some grabbag of stuff we hand new users on their way in. I think it is important that every Vim user knows exactly what ways their setup differs from the default, and this is only feasible if every difference from the default (the _real_ default) is made by the user.

<comment><USER4> > 'hlsearch' should definetly be the default

Not really. I often use (incremental) search just to move around, and I don't want the highlight to distract me, especially with a really common pattern. I would consider using it if the highlight disappeared immediately after the search is over, but as far as I know there is no such setting, so I only enable it from time to time.

This just proves that it's really hard to agree on defaults.

<comment><USER2> Well, the highlighting doesn't start until the search is over (you've pressed enter). I use this to clear the highlighted results when I am done with them:

      nmap <C-h> :noh<CR>

Maybe there is a way to make it automatically do that after searching with some sort of timeout. Not sure.

</comment></comment></comment></comment></comment><comment><USER5> > curl <http://j.mp/spf13-vim3> -L -o - | sh

I'm stunned that anyone would pipe from internet to shell. No SSL and redirecting just make it easier for the bad guy.

It makes me angry that people are promoting this as an install method. Like suggesting your first name as a good password.

<comment><USER6> Ignoring the SSL bit, from a security standpoint is piping to the shell really any different than saying "run this installer application"? Either way you're allowing the source to run arbitrary commands on your computer.

<comment><USER7> Yes.

For me to trust an installer, implicitly, it's best for it to be part of my software distribution's package management system.

This means that the package is signed and checksummed, it's included in the distro's bugtracking system, and is being downloaded from a known set of mirrors.

Your next best option is to provide a download, checksums, _and_ signatures, with a _well-signed_ PGP/GPG key. At this point I can at least verify that the content is what you claim it is (whether or not that's something I plan on running is quite another matter).

Even a git repo provides a SHA1 checksum of a given commit that I can reference.

By recommending I curl-pipe-bash something, you're sending me a _FLAGRANT_ signal that your security practices are somewhere well north of batshit crazy.

I ran into this while evaluating RVM (Ruby enVironment Manager), which itself turned out to be a requirement (or at least facilitator) for properly using Ruby for, of all things, supporting a Chef (configuration management tool) infrastructure. So ... in order to get a better handle on our server infrastructure ... the recommended and default practice is to install crap via curl-pipe-bash.

That cost us about six weeks of going through the damned installer and its effects (documentation is really poor) with a very fine-toothed comb. And I'm still not happy using it.

<comment><USER6> First: I'm not recommending anything—I'm asking a question. This isn't my practice but it's important to play devil's advocate sometimes.

Second, the question was not whether piping to shell is a good way of doing installations. The question was whether it's actually worse than the common method of offering up an untrusted downloadable executable.

Many (or most) consumer software downloads that you'll find for Mac or Windows don't meet _any_ of the criteria you specified (which I agree are good criteria). But that wasn't the question: Is it actually worse than offering an untrusted executable? People don't seem to complain about those as much, but to me they seem equivalently bad.

<comment><USER7> At the very least, pipe-to-shell means you're left without an audit trail, _if_ you're actually practicing that method.

With a downloadable executable or installer, I'm left with a file that I can save, checksum, scan for vulnerabilities, and/or refer to at a later date should I find that there are concerns I didn't discover initially.

curl-pipe-bash, _especially_ in the absence of SSL/TLS, leaves me vulnerable to injection attacks, as well as invisible changes to the installer (so I don't know whether or not things have changed if I'm trying the same process later).

It's a very, very, very bad idea.

My prediction: this will all end in tears sooner or later. I'm actually hoping for sooner just so we can put an end to this foolishness.

As for Windows: I don't play there often, but my understanding is that most executables are now signed, so that the "download random binary from arbitrary website, run as Administrator" practice is at least very slightly less batshit insane than in the past.

<comment><USER8> While I agree 100% with your advice for mission-critical servers, for a dev machine I don't see the problem with the ease of curl -> sh. It takes "very very very bad idea" down to "you probably should at least check out the installer script first".

<comment><USER7> Where do you think that code for mission-critical servers gets developed?

There's a pretty scary amount of iffy public code that ends up on mission- critical servers. I could outline some chains of connection, but briefly: it's very easy for someone's cheesy little website to become a significant player in another organization's processing.

That "website" you're going to likely runs not only on multiple servers, but in multiple datacenters across multiple organizational borders: core site, sales, support, order fulfillment, marketing analytics, web analytics, email, messaging, social integration ....

The best way not to get into bad habits on your production, mission-critical systems is to not allow them anywhere else.

Granted, this is a Vim suite, but I'm seeing similar brain death in far too many corners.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I realize this is a different project, but since it looks similar: installing Janus was the worst decision I ever made while looking to improve my Vim experience.

It actually made Vim _worse_ , sometimes by just slowing things down, other times because of the lack of quality control in the bundled plugins. One plugin actually caused data loss many times – it completely froze the editor when a certain syntax pattern was typed. All with just the default Janus settings.

To that effect, I hope quality control in spf13 is really, really good.

<comment><USER10> I think you are an exception. I can't get anything done with vanilla Vim (no smart indentation for instance) and install Janus anytime I need to use Vim on a new shell.

<comment><USER11> A couple of lines in your .vimrc and boom you have that and more.

<comment><USER10> ... or one bash command to install Janus.

</comment></comment></comment></comment><comment><USER12> I don't get why this is loaded down with useless plugins... if you're using ctrlp/command-t, you don't need nerdtree. Vundle isn't as good as pathogen, neocomplcache isn't as good as supertab + clang_complete, and it lacks gundo, rooter, ultinips, and maybe other things.

<https://github.com/Diablo-D3/dot_vim>

<comment><USER13> How is vundle worse?

<comment><USER12> I dunno, I had problems trying to make it do something, but I forget what. I almost want to say it was git submodule related, but it was like a year or more ago.

<comment><USER13> If I'm not mistake, vundle doesn't use git submodules, pathogen does.

<comment><USER2> Pathogen just uses a directory tree. Some users decide to use git submodules in it.

</comment></comment></comment></comment></comment><comment><USER14> Distributions like these are good for people who just need to _use_ Vim, not necessarily for people who want to _learn_ Vim. It's often better for people to add plugins and update their vimrc file as they learn Vim and figure out what their Vim style is.

This article helped me with my 2nd attempt to learn Vim: "Your first vimrc should be nearly empty" [http://vimuniversity.com/samples/your-first-vimrc- should-be-...](http://vimuniversity.com/samples/your-first-vimrc-should-be- nearly-empty)

</comment><comment><USER15> This seems very similar to Janus (<https://github.com/carlhuda/janus>). It has almost the exact same bundles and setup process.

<comment><USER16> See my comment above. It's similar. Some material differences are that It doesn't require Ruby on the host system to install. This is a huge difference.

It only requires git and vim to install. The bundles have some similarities, but again key differences here are that none of these bundles require vim being compiled with +python or +ruby support.

Lastly it's focused working well for editing any language in any OS.

No criticisms of Janus, it's a good project, just took a different approach to the same problem.

</comment></comment><comment><USER17> I personally swear by <https://github.com/scrooloose/vimfiles.git> installation. It doesn't go by some fancy name but does its work outstandingly. I have added to its vimrc wherever it deems fit. ASK HN: I am looking out for jumping out to a CSS selector in a css file from the HTML file I am editing for quite sometime in one key. Please see if you can guide me on this.

<comment><USER18> Is Martin Grenfell scrooloose the author of NERD and syntastic, or just copied them onto github?

</comment></comment><comment><USER19> Yet another set nocompatible. In "The Ultimate Vim Distribution", no less.

I can't understand why _anybody_ would want to use that kind of "distribution". All the vimrc tweaking and plugin dance is actually very beneficial in the first few months because it forces beginners to learn a lot of basics and, above all, how to use the help. And, well… experienced users already have a vimrc tweaked to hell and their own set of plugins.

</comment><comment><USER20> I think this is fantastic. For beginners and not so much beginners, it is a great way to start with a very complete system for developing and build on/customize it the way you like. You don't lose any customization power as others have said. I just renamed my .vimrc to .vimrc.local and that's all, everything is working plus I earned a lot of extra-plugins that I didn't even know about.

I love it, thanks to the autor/s

</comment><comment><USER21> Installed it, but now I'm getting this error when starting vim:

> E117: Unknown function: fugitive#statusline

> E15: Invalid expression: fugitive#statusline()

<comment><USER16> please report this issue in Github. I'd be happy to help.. It sounds like fugitive is being triggered in a directory that isn't being tracked by git... but it would be better to continue the dialogue on Github.

<comment><USER21> OK, Great. I'll report it later on tonight.

</comment></comment></comment><comment><USER22> I think it is good for showing some different plugins and configuration options available in Vim. I think I will use the the included .vimrc file and plugins to look at to get ideas for my own .vimrc. The default in the distribution makes my Vim look like a christmas tree, which I don't really like.

</comment><comment><USER23> the problem with packs... there is so much stuff to ingest, most of the stuff goes unused.

learn to use default vim first. then start adding aliases and macros as need to speed up things.

most of the plugins mentioned are useless to me. default vim is super powerful as it is.

why try to fix problems that aren't there? the beauty of vim is the unique way each user approaches it. every time i sit next to a vimmer i'm like 'how the hell did you do that!" same thing that happens when vimmers watch me code. ive been using vim for 6+ years now, i still haven't even got close to using 10% of it, and i daily use around 50 or so key commands.

</comment><comment><USER3> Wow, that's a lot of good stuff. I'd recommend this to anyone starting with vim.

<comment><USER24> I think that is the point. Anyone _starting now_ can make their own decisions and approach an enriched distribution like this with new eyes (beginner's mind?)

Anyone else might just need a 'standard' vim because they work on remote terminals into servers on which custom packages cannot be installed, or perhaps they are used to the 'old ways'.

</comment></comment><comment><USER25> I just installed this last night. I'm comparing it with <https://github.com/fisadev/fisa-vim-config>

Right now, fisa is slightly ahead because it is a bit faster.

</comment><comment><USER26> I never really had a problem with configuring vim and installing plugins manually. This seems like it'll make vim more daunting for new users, while getting in the way of experienced users.

</comment><comment><USER27> I dont like how the current line is always 0 and not the actual line number. How do I fix that? I have never seen this elsewhere.

I must admit that this distro will help my workflow.

<comment><USER28> That option is called "relativenumber". You can go back to normal numbering with "set number". I find it very useful myself, though, to quickly move to a line with relative commands such as 10j, or select ranges, delete a number of lines, etc... The only case in which I really need absolute line numbers is when jumping to a line for an error message (luckily G key will always use absolute line numbers).

<comment><USER27> Do you know what to change in .vimrc to stop using relative number by default? I looked around and nothing with "relative" and I do see a 'set nu'

</comment></comment></comment><comment><USER29> Figlet sighting. Standard font, output edited a little. :-)

</comment><comment><USER30> I'm using this one which is much better <http://github.com/humiaozuzu/dot- vimrc>

</comment><comment><USER17> Ctrlp link is broken - use this: <https://github.com/kien/ctrlp.vim>

</comment><comment><USER31> Like everything except vundle. (I use tpope's pathogen) Pre-packaged vim on github is a very nice way to distribute.

<comment><USER32> I'm curious as to why you (or anyone) would prefer pathogen to vundle? Vundle just seems like pathogen except with less manual work.

<comment><USER13> Vundle is strictly better unless you automate your software updates and want to be able to update your vim plugins without having to launch vim to do so. Pretty tenuous but maybe some sysadmin-inclined people really prefer this.

<comment><USER33> You can update your bundles straight from the command line with:

vim +BundleInstall! +qall

Vim still opens but could be useful if you're trying to automate vim somehow.

<comment><USER13> Yeah. I'm just citing the only reason I've heard, which is that invoking vim just to update a plugin is gross. Which is kinda true - what happens if your vim config is in some bad state and doesn't start properly, your update process breaks unnecessarily (odd coupling to have). Definitely edge case-y, but a tradeoff anyway.</comment></comment></comment></comment></comment>


Advanced Git Tutorial - <AUTHOR> http://thesharps.us/~sarah/advanced-git.pdf

<comment><USER2> Don't waste your time. This is a 4MB pdf consisting of slides that say things like this:

 _git commit – commits added changes to the local repo_

<comment><USER3> although it points to useful things like

      git add --patch

which not all tutorials teach. But all in all, there is better "advanced git" material out there.

</comment></comment><comment><USER4> Very useless!</comment>


Ask HN: Best practices for a bilingual blog? - <AUTHOR>

Hi everyone,
I was wondering if anybody has any feedback about running a bilingual blog.
I'm a freelance developper, so when I write technical posts, I do it in english to reach as many people as possible.
But I also write articles with random thoughts, short stories, etc. and I do it in french because this is my native language.
What are the best practices in that case? Should I split my blog into two separate domains? Does it really matter? What do you think? <comment><AUTHOR> The url, in case you would be interested: <http://miximum.fr></comment>


Pixel Perfect - <AUTHOR> http://certtime.com/img/pixel-perfect.png

<comment><USER2> I would be nice to have some more context on the company. I like to think this respect to detail is representative of how their service is run, but I don't know what the service is.

<comment><USER3> Homepage links to <http://logopond.com/forum/viewtopic.php?id=3578> and it seems to be a time-stamping service for graphic designers.

This too googles up <http://typophile.com/node/63838>.

</comment></comment><comment><USER4> I think it has to do with how to get perfect pixel in illustrator. If you just draw a line even if you have your rulers set to pixel you will get anti- aliasing once you render it in for instance photoshop. So what you do is that you offset it in points as far as I can remember by .5pt that way PS will render it nicely.

Having said that I still don't know why someone thought of this to be HN worthy it's a rather old problem with a rather old solution.

</comment><comment><USER5> This is one of the great examples of the difference between a graphic designer that charges $200 per hour and your friend's cousin who can do the entire project for $20.

<comment><USER6> What's the benefit to me as the user though? It's neat, but does it have any actual effect on anything?

<comment><USER5> There might be none but that's not really the point now, is it? It's all about the quality of work.

</comment></comment></comment><comment><AUTHOR> It's clearly an overkill, but gotta admire the approach.

</comment><comment><USER7> Kind of loses its touch when it's downscaled badly, resulting in ugly aliasing along the diagonal line in the actual resulting layout.

</comment><comment><USER8> this is about design documentation, right? or is there something particularly interesting about the design itself?

<comment><USER3> I'm guessing it's about pouring a lot of work into 3 pixels worth of an end- user deliverable, i.e. not cutting corners and such.

</comment></comment><comment><USER4> this could also just be some "clever" marketing trick I guess. Given that if you go to the front you can sign-up.

</comment><comment><USER9> Anyone fancy explaining? :-)

<comment><USER10> Granted, I'm not a PS/InDesign/etc pro, but I feel the same way: just not sure what I'm looking at here.

Can someone please explain what this is?

<comment><USER9> See, I am, and I'm still not getting what the story is here especially in relation to "pixel perfect." The guides demonstrate an attention to detail in getting a good corner, but that's nothing to do with the final pixel rendering as such.. really just good Illustrator path building.</comment></comment></comment>


When Corporate Innovation Goes Bad; the 101 Biggest Product Failures of All Time - <AUTHOR> https://www.cbinsights.com/blog/corporate-innovation-product-fails/ <comment><USER2> Quite an exhaustive list, I am quite intrigued by the various phones built around a single product idea ie.Facebook, Amazon, Twitter phones.

I would love to read an experiential review of such products as I have never personally seen one

</comment><comment><USER3> I was glad to see that they omitted the McDonald's Steak Sandwich (ca. 1980), since it was the best item ever on the menu and simply mis-marketed.</comment>


Artist reimagining the UK's national parks in the style of J.R.R. Tolkien's maps - <AUTHOR> https://www.theverge.com/2018/2/4/16959406/j-r-r-tolkien-maps-middle-earth-england-national-parks-dan-bell-art <comment><USER2> Related (US cities):

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