Xembly – Assembly for XML - <AUTHOR> http://www.xembly.org/index.html <comment><USER2> This is really getting re-posted quite a lot.

Here's the previous one's comments: [https://news.ycombinator.com/item?id=8532224](https://news.ycombinator.com/item?id=8532224).

<comment><USER3> It's reposted by the same guy, with slight variations of the URL to get past the HN duplicate detector. I flagged it.

</comment></comment><comment><USER4> Looks interesting. There's just a little contradictory in the website. In the header it says "[...] much simplier alternative to XSLT [...]". And in the footer "[...] not intended to be a replacement of XSL [...]"...

</comment><comment><USER5> Actually, this isn't a bad idea but I'm not sure calling it "assembly" is the right idea - it's a simple non-XML language (unlike _Xml Patch_ ) for patching XML documents.

</comment><comment><USER6> It is a good take on xml manipulation, but in my opinion xml must die.

<comment><USER7> I maintain a list of technologies I intend to kill without mercy when I become an all-powerful IT superhero. The list includes WS-*, MIME encoding, FTP, POP, SMTP, UTF-16.

Oh, and rename the HTTP "Referer".

All kidding aside, XML is not bad per se. The stuff that all kinds of committees have surrounded it with is what's really bad.

<comment><USER8> Whats wrong with MIME encoding and SMTP? They are simple and they work.

<comment><USER7> They're not simple and they work only because we've collectively spent thousands of man-hours making them work.

_Anything_ with in-band metadata is disgusting. This includes crap like "Subject: =?iso-8859-1?Q?...?=", multipart messages with in-band boundaries, having to do dot-stuffing in SMTP conversations, etc.

<comment><USER9> Character set encoding for mail headers is unnecessary complicated, but it's a good feature that the MIME type is in-band with the SMTP message. (What is out-of-band and not is a bit ill defined, since there are message headers and SMTP headers. The MIME content type is in the message headers.)

Since mail is a store-and-forward protocol, this guarantees that the content type is stored with the message. Compare it with the web where it makes more sense to keep in the protocol headers, and despite it not being store-and- forward character sets still causes issues with both proxies and page inclusions to this very day.</comment></comment></comment></comment></comment>


Adam Neumann will determine WeWork's fate - <AUTHOR> https://www.axios.com/adam-neumann-wework-softbank-takeover-306243f9-95d5-40ef-b388-b06ef8d8bafd.html <comment><USER2> How are the people putting the actual, real-world money into these businesses so unable to protect themselves against getting taken to the cleaners by a departing CEO?

<comment><USER3> Something tells me this isn't a whole lot of money for said people...

<comment><USER4> Disagree, there is a big difference between investing 200m where you can expect a return on investment and just giving someone 200m to go away. There is a return on the other money SoftBank has invested, but the 200m itself is a cost, and rather large. Most money transfers of this size are exchanges of capital for equity or debt, not gifts of cash.

<comment><USER5> They are buying control, no? Neumann sold economic interest (non voting equity) to Soft Bank earlier. Now they want the voting power and they are offering him 200M for it. It has to be worth something. It sounds like it is unclear if that is enough (although if they are reporting it I assume it is) for him to agree.

</comment></comment></comment></comment><comment><USER6> This is not much when considering Neuman took out a $500 million loan earlier this month.[0]

[0] [https://techcrunch.com/2019/10/04/report-wework-cofounder- ad...](https://techcrunch.com/2019/10/04/report-wework-cofounder-adam-neumann- may-have-to-unload-property-to-pay-off-a-giant-loan/)

</comment><comment><USER7> For Neumann this whole thing must be such a nightmare. On one hand you did it. You built a huge company and become super rich at the end. But on the other hand the IPO blew up, the company is losing billions, employee options are fucked, "everyone" thinks you're an idiot, etc. If it was me this would ruin it all, especially since he has been living the rich guy lifestyle for many years now. I hope he didn't do anything more shady than we know though because the next saga to this story could easily be securities fraud, indictments, investor lawsuits, etc, etc. This amount of capital doesn't usually blow up quietly.

<comment><USER8> Man, I hope to be "ruined" to the tune of $200 million someday. I would cry all the way to the bank.

<comment><USER9> $900 if you include the $700 he gave himself.

<comment><USER7> A majority of that 700M was a line of credit tied to his shares of the company. Good chance he will face a margin call on that (since the shares are now worth a lot less) and either have to come up with the cash (maybe why he wants this 200M to leave) or pledge more shares to make up the difference in value.

</comment></comment></comment></comment><comment><USER10> To me, the real villains are Adam Neumann's enablers. The people that "created" Adam Neumann aren't much different from those that "created" Elizabeth Holmes. They keep looking for a quirky Steve Jobs-like charismatic leader who distorts reality.

Of course, Holmes wishes she had Neumann's playbook so she could have walked away with hundreds of millions.

</comment><comment><USER11> Does it strike anyone as strange how much of the economy seems to be built around bizarre, failed, often seemingly blatant scams nowadays? It almost seems as if no matter how transparently irrational and corrupt these schemes are, what's important is to maintain the semblance of it all, the specific articulation of power. The CEO, the visionary, the "disruption," have become almost abstract fetishes, removed from any broader function.

<comment><USER12> How much of the $20 trillion US economy so you think this is? If WeWork was a $40 billion dollar company it would be .2% of the economy. Apple, Google, and Amazon combined are about 4-5%.

<comment><USER11> That's what I wish could be sussed out to a greater degree actually. How much of the US economy is comprised of things like tech scams, MLMs, various cults, etc. and what influence does this have on how businesses function more broadly and what is seen as legitimate. I've looked around, but there are only a few books on the history of things like MLMs and this good podcast about them called _The Dream_ :

[https://www.stitcher.com/podcast/stitcher/the- dream](https://www.stitcher.com/podcast/stitcher/the-dream)

<comment><USER13> 10% is outright fraud or bait and switch. About 60% is just racketeering (not exactly scams, but products and services they buyer can't really refuse... Comcast, cigarettes, etc) and 30% is actual services and production.

</comment></comment></comment></comment><comment><USER9> If Neumann declines the offer what happens here? He feels like the kind of guy who would rather watch it all burn down than sell out.

<comment><USER14> The chairman of the board of a company doesn't get to "burn it all down" because that would be a breach of fiduciary duty. I may be wrong but wouldn't he be exposed to personal liability at that point?

<comment><USER15> I'm clueless here, but WeWork is a private company: does Neumann have any de- jure fiduciary duty?

<comment><USER16> I believe so, he has the duty to private "accredited" investors. IIRC, this is sort of what toppled Shkreli-- he mishandled investor money in a criminal manner, despite actually not losing any of their money.

<comment><USER14> Regardless of that execrable Shkreli, you have de jure fiduciary duties if you are on the board of a private company, yes. At least in the most common forms of incorporation. I am not even sure if it requires you have other shareholders, let alone if you are a controlling shareholder or they are accredited investors.

</comment></comment></comment></comment></comment><comment><USER17> I personally wouldn't choose to mess with the Saudi's money on that scale. That would seem imprudent.

</comment><comment><USER18> This kind of stuff is really the best that Softbank could find to invest in? I am not sure I would want to be one of the people who pulled the trigger or advised for these deals, when the backers start asking where their money went.

<comment><USER7> They are so far in the whole on this company it wouldn't be wise to let it die. I doubt they want someone else in charge of what they funded.

After they clean the company up it will be a good business. It's just not a tech company and never was a tech company but there is still good money in leasing office space for $1, making it look nice and then subleasing it for $4 or $5, they just need to knock off the bull shit.

</comment></comment><comment><USER19> I have to admire the purity of this breathtaking rinsing of VCs.

</comment><comment><USER20> Everyone is just so amazed and consternated at how amazing and consternating TFA is. To me, that's a pretty good indication it's mostly bullshit. How likely are the "multiple sources" to be Neumann and his wife?

</comment><comment><USER21> This seems strikingly similar to Travis Kalanick being paid to leave Uber. Is Benchmark involved?

<comment><USER22> Benchmark is a major investor, actually. But it sounds like they might be getting the short end of the stick on this deal, like almost everybody else.

This case could be quite different from Uber per the thesis of this article by Stratechery: [https://stratechery.com/2019/neither-and-new-lessons-from- ub...](https://stratechery.com/2019/neither-and-new-lessons-from-uber-and- vision-fund/)

While Benchmark was looking to preserve its assets from being squandered on possibly the startup-catch of a lifetime, Softbank on the other hand relishes being the Big Stack Bully, leaning hard on their portfolio companies to aim for home runs everytime, and their excessive leverage allows them concessions from companies most VCs can only dream of.

</comment></comment><comment><USER23> Corrupt? Thief? Say what you will, there is something to be said for having walked away with so much money - legally.

<comment><USER24> I think many would call for punishment of the WeWork CEO, along with the investors who failed their due diligence. Sometimes the law of the day does not deliver justice. Seems like another instance where everyone not taken in by the hype saw the crash coming.

<comment><USER25> The investors who made the wrong bet lost a spectacular amount of capital.

<comment><USER24> For sure. But of the capital they managed, how much belonged to someone else? Did that someone else trust Softbank (for example) to do their due diligence before making a significant investment in WeWork?</comment></comment></comment></comment>


Norwegian army goes vegetarian to fight global warming. - <AUTHOR> http://dailycaller.com/2013/11/20/norwegian-army-goes-vegetarian-to-fight-global-warming/

<comment><USER2> Glad to see this happen. When people talk about vegetarianism, it's almost always about the moral aspect of killing animals, and rarely about the huge impact the meat industry has on our environment.

People often dismiss vegetarianism because they like meat too much, stating that they can't go without that delicious steak once a week. The fun part about reducing your meat consumption in consideration of the environment is that you don't have to cut it _entirely_ , it's just a matter of adjusting your everyday habits.

</comment><comment><USER3> Norway is hardly in the ideal latitude for a vegetarian diet. I wonder whether they aren't importing a lot of vegetable fats from point south in order to do this.</comment>


Kickstrap - A Version Of Bootstrap With Themes, Enhancements, And Other Goodies - <AUTHOR> http://functionn.blogspot.com/2012/03/kickstrap-full-version-of-twitters.html#.T3M5r3krpn1.hackernews <comment><AUTHOR> Direct Link: <http://ajkochanowicz.github.com/Kickstrap/index.html></comment>


Chaabi: Solving password/secret management for developers - <AUTHOR> https://www.npmjs.com/package/chaabi <comment><AUTHOR> Hi, I am developer of this project.

Chaabi is a CLI to store encrypted secrets locally

Remembering our passwords and credentials used for projects is a tough task, it lowers down productivity of developers. By creating this npm package I have attempted to solve this problem for developers like myself. Using this you can store your passwords securely and share credentials with others without any worries. I built it because I did not want to store my passwords/credentials on external servers like using lastpass or any other web based password managers. Chaabi stores everything locally. I built this only for developers, which is why CLI. It's an open source project and would love your contribution to make it better. Thanks

<comment><USER2> Curious if there is a repository and what encryption scheme Chaabi implements.

Also, if it meets the guidelines, this might make a good 'Show HN'. Show HN guidelines: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

<comment><AUTHOR> Hi brudgers, it uses `aes-256-ctr` encryption algorithm. Thanks for letting me know about Show HN. Will be sharing repository soon after cleaning up code and moving it from bitbucket to github.</comment></comment></comment>


Ruby goes Serverless - <AUTHOR> https://medium.com/openwhisk/ruby-goes-serverless-apache-openwhisk-adds-native-support-for-ruby-7134faee14e <comment><USER2> Super informative article explaining how you can use Ruby in a serverless lambda/openwhisk environment! PLAYTIIIME!</comment>


Why Harvard is ruining our youth. - <AUTHOR> http://www.worldcrunch.com/knowledge-worth-more-when-college-more-expensive-why-harvard-ruining-our-kids/5544

<comment><USER2> I'd be interested in seeing Harvard debt stats. The rich don't need to borrow for it. The poor get generous student aid. It's only the middle class that gets squeezed.

It's worse at 2nd tier schools, but I don't think Harvard is the enemy on this point.

The "student as a customer" model perhaps contributes to the dumbing down of students, but my perception is that Harvard students still work hard. Again this isn't true at 2nd tier schools.

It seems like he is taking a shot at Boston University, and calling it Harvard.</comment>


The Peer-to-Peer Universe  - <AUTHOR> http://amandapeyton.com/blog/2012/06/peer-to-peer-universe/

<comment><USER2> This post really speaks to me. I've been working on a project called carrier.io for a few months now which attempts to apply what they're talking about to the physical movements of items -- that is, the shipping industry. I believe that technologies made popular in the last few years make this much more possible and I don't think existing groups are moving forward fast enough in this space. It's great to hear people talking about it, finally.

</comment><comment><USER3> If we had something like BitCoin working in a global scale, this thing could fly very high.

</comment><comment><USER4> Kickstarter comes to mind unless I miss what she is saying.

<comment><USER5> Kickstarter doesn't help organize peer to peer distribution lines or, necessarily, open up new forms of decentralized business, other than making it more attractive for customers to prepay for products in development.</comment></comment>


Flutter Just May Work - <AUTHOR> https://www.donnfelker.com/flutter-just-might-work/ <comment><USER2> Worse than them shutting down Flutter is just letting the iOS part get less resources until it's a buggy pile of a mess and the users blame Apple and jump ship.

<comment><USER3> Since they've reimplemented the UI (like a game), I think the risk is more that it would start looking dated after a while.

A bugfest is more likely to happen due to integration with native widgets that change out from under you.</comment></comment>


PV Magazine: Solar Tsunami - <AUTHOR> https://pv-magazine-usa.com/2019/01/01/solar-tsunami/ <comment><AUTHOR> > Developers have applied to build 139 GWac of large-scale solar projects in > the territory of six grid operators – around five times what is currently > online across the country – and that figure doesn't even cover the entire > United States. By any metric, we are looking at an unprecedented boom in > solar development over the next five years.

Importantly, you'll notice that quite a few projects are located in MISO and PJM grids, traditionally "dirty" grids based on existing generation.

Also:

> It is important to remember that these grids don't cover the entire United > States, and as such this 139 GWac does not include projects in the majority > of the South, Mountain West, Pacific Northwest and Plains States. And we > aren't seeing these massive projects only in databases, either. As > documented in pv magazine USA's year-end coverage, we have found large solar > projects either planned or under construction in 17 states that have not had > substantial solar markets to date.</comment>


Computer History Museum's 2015 Core Magazine - <AUTHOR> http://www.computerhistory.org/core/

<comment><AUTHOR> The 2014 Edition featuring the story of IBM's system/360 development can be found here -[http://www.computerhistory.org/core/media/pdf/core-2014.pdf](http://www.computerhistory.org/core/media/pdf/core-2014.pdf)</comment>


Twitter: Where Nobody Knows Your Name - <AUTHOR> http://kara.allthingsd.com/20080428/twitter-where-nobody-know-your-name/

<comment><USER2> I was really excited about Twitter (and some similar apps with lots of buzz) and signed up, used the friend importer against all the supported apps I had an account with and...

Nothing.

FriendFeed? Same deal. Most of the people I've found have been from the public timeline or from HN. Only a few early adopter types that I know from work are starting to show up on Twitter and most of them never post--probably just checking it out.

I tell people "it's like asynchronous instant messaging with programmability and succinctness rules." I guess I'm not selling it right because that doesn't get much rise out of most people. FriendFeed is easier to explain, but a vast majority of people I know aren't at the complexity stage that makes it valuable. I'm not really there either, yet.

<comment><USER3> I definitely think that's the toughest hurdle for Twitter to overcome: there's not an easy way to explain its value to people who aren't already on it, and none of my friends (that aren't nerds) are using it.

</comment></comment><comment><USER4> This is one of the main reasons I moved to Boston, the #2 area for startups, rather than Silicon Valley, the #1. There's still a huge amount of web tech people around, but not as much of an echo chamber.

</comment><comment><USER5> Its an interesting observation. Not many folks even in the tech industry have any idea about twitter. I guess twitter has become a marketing tool for scobleizers and jasons</comment>


I do not have a lot of strong opinions - <AUTHOR> http://jaspervdj.be/posts/2014-01-05-strong-opinions.html

<comment><USER2> To riff a bit on the topic of the post.

Most of the time, I have little desire to argue with anyone on any topic. But, unlike the author, this doesn't mean I don't have strong opinions. I know exactly what I think on near any topic, and I know exactly how well grounded in fact those strong opinions are.

For me having strong opinions is orthogonal to arguing. So much so that it's been noted that I'm a somewhat difficult person as you can get into an argument with me, which you "win" and afterward I'll keep on doing what I said I was going to do at the beginning of the argument°.

And it's also somewhat orthogonal to knowledge - I can have strong opinions on topics for which I know little about (more knowledge helps of course). These amount to a course of action, or a compass. Largely these are opinions of metaphor - I believe "X" holds for a topic in which I know a lot about, so I'm going to assume "X" holds for this topic I don't know a lot about, and I will act on that assumption. And if pressed I will tell others about that assumption. Of course more data changes these opinions quickly, but your opinion when not backed by more data, isn't going to change my course of action at all.

° Which is not to say that I can't have my mind changed, but conflict is such a turn off that I rarely have my mind changed in an "argument". And of course conflict is such a turn off, that my main goal, when no real world consequences exist, is just to leave the argument, and probably the room.

</comment><comment><USER3> I think it is very good to view our opinions as a constant process, rather than a collection of results. Almost everything we believe can change. The only permanent thing is when we truly improve how effective we are at processing data.

</comment><comment><USER4> The ones who yell the loudest seem to be favoured in today's society. Without that trait, you're unlikely to be a good politician indeed. And a great deal of other things! For better or worse</comment>


Show HN: Determine expertise from Twitter. We've run the YC partners - <AUTHOR>

We wanted a way to share what we had learned online (first expressed by what we had shared on twitter). So we built this.
http://knowitapp.com/paulg http://knowitapp.com/foundersatwork http://knowitapp.com/paultoo http://knowitapp.com/garrytan http://knowitapp.com/gralston http://knowitapp.com/harjeet
(Bonus: you can see your similarity if you login - and no we won't tweet from your account)
What do you guys and gals think? <comment><AUTHOR> clickable <http://knowitapp.com/paulg> <http://knowitapp.com/foundersatwork> <http://knowitapp.com/paultoo> <http://knowitapp.com/garrytan> <http://knowitapp.com/gralston> <http://knowitapp.com/harjeet>

</comment><comment><USER2> Oops?

Your "successful graph import" email sent me to this link: <http://knowitapp.com//graph> which tries to render as the User "Graph" (who unfortunately hasn't tweeted yet! <https://twitter.com/graph>).

Update the email link to <http://knowitapp.com/_user_/graph> !

<comment><USER3> Thanks! on it :)

<comment><USER2> Also, I'm still not able to access my Interest Graph. It just pops up with a blank background.

</comment></comment></comment><comment><USER4> Cool concept.

I went to knowitapp.com/ikawe. I clicked "claim my profile". I entered twitter creds. Then I was bounced back to playpen.knowitapp.com/ikawe. I saw a bunch of [PHP errors]. When I go to knowitapp.com/ikawe, It still says it doesn't know me, and offers for me to "claim my profile".

Is your twitter auth callback url wrong?

[PHP errors] <http://www.pastebucket.com/5130>

<comment><USER3> Oh, the downside of being sloppy with button links. Looks like a test link got away from us. Fixed now! Thanks so much for pointing it out :)

</comment></comment><comment><USER5> After signing in, it offered some interesting people for me to follow.

I tried clicking on Romney's link, which led me to <http://knowitapp.com/start/mittromney> \- but then I got a 404: "The requested URL /start/mittromney.php was not found on this server."

Looks like you guys are just linking to an outdated URL scheme, should be /mittromney

<comment><AUTHOR> fixed. thanks! sorry about that.

</comment></comment><comment><USER6> Bug report: On your front page, when opening the drop-down. If you enter a twitter username as it suggests, ie: @username. You are redirected to <http://knowitapp.com/@username> which gives a 404.

Do you have a formal place to report bugs?

<comment><USER3> Thanks for bringing this up. We have a feedback form for people who are logged in. But not otherwise. This is as good a place as any for bug reports, at the moment ;-)

</comment></comment><comment><USER7> I like it.

Now obviously there are tons of other applications playing with the social graph, and it's about filtering the noise, but visually it's nicely presented, and makes a nice digital calling card.

Are there plans to develop this further?

<comment><USER3> We've got the Facebook integration basically ready to go on the back-end, but we're waiting to integrate it into the front-end until we get more user feedback about how the site currently stands (and work out a few small bugs, as others have been so helpful to point out here).

We'd love this to be the place on the Web where people go to answer the question "What does Nick know about?" And be able to get a much faster and richer understanding about your knowledge and interests than they would be able to get from a glance at (or even several minutes of reading) your Twitter of Facebook wall.

</comment></comment><comment><USER8> Bug report: I got the email Subject: "Your graph has been updated!". But the link inside took me to <http://knowitapp.com//graph>

<comment><USER3> Thanks! Fixed now. It should be <http://knowitapp.com/[your_twitter_handle]></comment></comment>


Dying baby saved when doc designed & built dialysis machine from scratch in garage - <AUTHOR> http://news.bbc.co.uk/1/hi/health/7542404.stm

<comment><USER2> That doctor deserves some serious kudos. I cannot even fathom how grateful those parents must have been for his work after being told by all other doctors that the baby was too small for dialysis. That kind of fuck-you-I-can- make-it-smaller ballsiness is why I am proud to call myself a hacker.

<comment><USER3> Not to belittle the doctor's work, but the truth is this isn't _that_ hard a hack to imagine. Dialysis is a pretty simple process, done with a diffusion membrane. No doubt what he did was take a membrane intended for a normal machine and size it down with "plumbing" appropriate for the patient.

But then, that's kind of an essential quality of all great hacks, isn't it? They all look straightforward and simple when they're finished.

<comment><USER4> I couldn't see any mention of the time it took to build the device, but I'd hazard a guess that the lifespan of a 6lb baby with failed kidneys could be measured in hours, which would seem to imply that the design was reasonably straightforward.

Not to devalue the doctor's work though. He did save someone's life.

<comment><USER5> Yes I'm sure it's "reasonably straightforward" to build a dialysis machine in a couple of hours, racing against a dying baby.

<comment><USER4> I said "design", not "build".

</comment></comment></comment></comment></comment><comment><USER6> You would think that someone is already manufacturing infant-sized dialysis machiness. Throughout the story they emphasize that NHS has no such machines, never quite saying if hospitals elsewhere have them. Is that because NHS just refuses to buy any?

</comment><comment><USER7> I'm really surprised that the NHS let it happen!

<comment><USER7> To clarify, the NHS is a VERY risk averse organisation. And a home-built dialysis machine is a very risky machine to build and use. Well done to the doc.

<comment> a-priori I think even a risk averse organization would realize that when the options are A) baby will die or B) baby may be hurt by untested machine, option B is clearly better.

<comment><USER8> Even a very risk-averse _person_ would see B as clearly better, but a risk- averse _organization_ will usually prefer option A.

Nobody gets in trouble for following the rules. Besides, the NHS, as an organization, sees thousands of dead babies a year, why should it care about another?

<comment><USER9> This is a perfect representation of the classic ethical dilemma, the Trolley Problem [<http://en.wikipedia.org/wiki/Trolley_problem>].

Risk-averse organizations fall into the same category as people who would decide not to throw the lever, because if they don't take any action, then they aren't responsible for any of the consequences (which is stupid, imo).

</comment></comment></comment></comment></comment><comment><USER10> Dr McGyver?

<comment><USER11> If I'm not mistaken, there actually was a McGuyver episode where he made a dialysis machine out of spare parts.

</comment></comment><comment><USER12> The headline makes this sound like MacGyver, which it's not. But still awesome!

</comment><comment><USER13> a true hacker. inspiring stuff.</comment>


GoDaddy – "unauthorized individual" had access to login info - <AUTHOR> https://nakedsecurity.sophos.com/2020/05/05/godaddy-unauthorized-individual-had-access-to-login-info/ <comment><USER2> I got hit by this. first time ever on the web since i started using it in early 90s. Fortunately, i had just registered a new URL and the 2 months delay before it can be transferred was in place. Very very un-nerving. I will move to namecheap or aws asap.</comment>


Experimentally verified: "Why client-side templating is wrong" (2015) - <AUTHOR> http://www.onebigfluke.com/2015/01/experimentally-verified-why-client-side.html <comment><USER2> I know this is a vanishingly unpopular opinion these days, but personally I think that if your content can only be rendered by a user-agent with full JavaScript support, your content isn't a fully formed citizen of the Web.

Your content can't be archived properly by the Internet Archive.

Your content can't be accessed by anything user-agent less sophisticated than a full-blown browser.

Your content can't be indexed by a search engine that doesn't have the resources to crawl using full headless browsers.

Your content won't work with tools that attempt to scrape and expand content (think URL expansion on Slack, Twitter, Facebook etc).

(There's a very high chance that your content sucks in widely used screen readers as well)

HTML for content, CSS for presentation, JavaScript for behavior enhancement. Not everything has to be built like Trello.

<comment><USER3> I'm not exactly trying to attain the platonic ideal of a web page, here. My goal is to build something that people find valuable, quickly. I don't _care_ if it requires js to render, because it's not worth the tradeoff to try to get it to show up for that one guy trying to render a web page on his TRS-80.

>Your content can't be archived properly by the Internet Archive.

IA doesn't factor into 99.999% of what I build.

>Your content can't be accessed by anything user-agent less sophisticated than a full-blown browser.

I build things for browsers.

>Your content can't be indexed by a search engine that doesn't have the resources to crawl using full headless browsers.

I can barely be arsed to submit sitemaps to Bing.

>Your content won't work with tools that attempt to scrape and expand content

When supporting those things becomes a priority, I'll do so.

\----

RMS looks at a microwave and writes an essay about whether or not the software that drives it needs to be FOSS.

I make my food hot.

<comment><USER4> Great, so your advice is if I can use a device that is a few years old, I just have to buy the latest version of $BRANDED_PRODUCT. Developers can actively support or resist this wasteful practice. It seems pretty clear where you stand on this.

<comment><USER3> I have no idea what you're trying to say. I'm not offering advice, I'm saying I build applications to be useful, not to conform to a set of abstract ideals. If 1% of visitors can't use it, I need to weigh the value of serving those 1% vs the value of spending my time building features.

I'm not Google or Facebook. My team at work is me and two co-ops. I'm not going to triple our development time just so I can get some Internet back pats from purists.

</comment></comment></comment></comment><comment><USER5> Odd, the article conclusion seems to directly contradict the title.

I've used both approaches over the years and they both seemed to work pretty well. The only differentiator I really noticed was that the single-page-app style (client) seemed to be more elegant on mobile, while the server rendering was easier to split into tabs on desktop browser.

I'm really a tab fanatic so have disliked the last few years of javascript everything on the client, where middle click stops working. Are there any solutions for that, that I've missed?

<comment><USER6> Links that represent navigation within the web app should still have a `href` attribute - even if click events are being handled with AJAX and pushState. That way middle-click, etc. work as expected.

Of course, some links don't actually represent navigation, so for them this isn't really applicable (e.g. a button to collapse an accordion-style view).

</comment></comment><comment><USER7> Actually these client-side / server-side debates always go really really wrong.

Especially these two article's make really really awful assumptions. There are use cases for client-side frameworks. There are even website's or i would call it applications that running behind firewalls that make good usages of such tools.

Also he mentioned two server-side template engine's in the linked article. JSP and ASP especially these two are the worst thing you could do. Mixing Code within your Template is by far worse than using the AngularJS template engine wisely.

I would rather prefer everybody to use mustache (even) on the server. Performance in a template engine is also the least thing you should consider.

</comment><comment><USER8> I'll take option C) "Both, where appropriate". I'm working on a little side project that uses front end Mustache templating for allowing admins to build out some structured components, I can then reuse those same Mustache templates to render the components serverside for non-admin users consuming the service.

</comment><comment><USER9> One premise of this article bothers me right off the bat.

I don't understand why, as an application developer, we wouldn't want to offload some of the computational load to clients instead of our own servers. That is a resource that scales far better with the number of users.

If servers only handled data instead of page rendering and so on, we'd need fewer of them to handle larger loads and also be a lot more robust to getting posted on HN or Reddit, etc.

<comment><USER10> > _I don 't understand why, as an application developer, we wouldn't want to > offload some of the computational load to clients instead of our own > servers. That is a resource that scales far better with the number of > users._

Because obviously your goal is not to lighten your web servers, but to make your webpage faster to load and hence more appealing.

If offloading to the client is at odds with the page being faster (and at least in the previous years that had been the case with mobile and JS-heavy pages), then you should don't.

And whether this offloading to the client scales better with the number of users is besides the point it -- as you need to please each particular user.

</comment></comment><comment><USER11> Bottom line in all this quibbling seems to really just be that some people like JS and want to JS-all-the-things. I like JS to some extent, but continue to dislike and resist the rise of JS-all-the-things. And I build rich and complicated applications people use to do their jobs every day.

I prefer server-side templates and rendering hands-down. This makes it absolutely trivial to build HTML for anything just by hitting a URL that represents it. It also makes it trivial to add caching of those fully rendered HTML blobs if desired/needed.

I prefer to keep my JS focused on interactions and behavior, not turning JSON data into UI components. I build most apps with a skeletal JS layer that knows how to grab the right item at the right URL when triggered by a user action, and what part of the page to place the returned HTML into. I find it pretty fun and challenging to see how dumb I can keep JS.

I despise the idea of building dual validation in the client and on the server. Fuck that noise. With a forms library that is tied to my models (something that exists in most mature frameworks), the server near-instantly validates and sends back HTML with errors marked if the form is invalid. Again, JS just has to know to PUT/POST the form, and display the response in the right spot. And those forms still work when you hit them by URL instead of through a fancy JS-ified UI. Makes it damn trivial to build dumb versions of an app that aren't broken and unusable. And I like the idea of being able to replace a backend that only has to keep the contract of returning HTML from an endpoint. Don't even need to modify the client-side JS that responds to user actions if I don't want to. Maybe, at worst, I update some ids and classes if I decide to modify the markup.

I've never joined the bandwagon of server-side JS and Node. Ultimately, I simply can't bring myself to want to use JS as the primary language for my work. Not to mention that JS tooling, npm, and different versions of ES is an abysmal headache that creates way too much mental overhead just to get started. It's nice to be able to pick a language that just runs on its runtime without needing to know or setup whatever the flavor-of-the-month transpiler is that lets me use classes and shit.

JSON is cool as a means of exchanging data with an API. I like that. It's predictable, standardized, and a helluva lot better than SOAP ever was. But I find working with APIs programmatically and providing UIs to humans are wholly different interaction models, and can't help but feel that we keep making presenting UIs to humans increasingly more complex than necessary. APIs provide a predictable interface for exchanging structured data. UIs are meant for interacting with that data.

</comment><comment><USER12> The guy who thinks client-side rendering is wrong is using ASP and JSP as his example web development systems. Those are outdated technologies. (ASP pre- dates ASP.NET by years). Since he is using outdated technologies as a reference point, I am not surprised he has an outdated perspective on client- side templating.

Client-side templating comes with its own problems and advantages. You might not need or want it. A lot of times though you do.

But the original guy who is against it is so far behind.. give it a year or two when people are taking desktop apps and compiling them to web assembly and running them in web browsers. Then the advantages will be obvious. But that is almost a reality today and that person probably doesn't even know that web assembly exists.

Sorry but people need to try harder not to fall behind.

</comment><comment><USER13> I don't understand why people think serving a blank or janky page to your users is OK. There's no reason not to serve a completely rendered page from the server side and only enhance the UI with client-side rendering and navigation when there is a user action or other event after page load.

The test case used text in a table, which is an extremely poor example. Modern designs use a lot of images and CSS, where presenting a complete document and stylesheets allows much faster time to render than client-side rendering followed by fetching all those assets and applying styles.

The pain for your users is multiplied by the slowness of mobile devices/networks and the complexity of your UI's layout to render.

</comment><comment><USER14> I was under the impression that the expressions "experimentally verified" and "is wrong" could never be in the same sentence. ;-)

<comment><USER15> The study, previously considered to have been experimentally verified was found to have overlooked factor x and in fact, is wrong in its conclusion.

<comment><USER14> LOL touche :-D

</comment></comment></comment><comment><USER16> I'm really confused by this:

> Notably, neither of these pages has any external resources. I wanted to > control for that variable and understand the best you could do theoretically > with either approach.

That's not the theoretical best in any way. The theoretical best is script tag pointing to a popular CDN, which has been loaded by this or another site before and is already in browser memory when you open this page. Then your page can be basic template+data with no code inlined.

<comment><USER17> I think you may have misunderstood. He is referring to the _data_ , not the _code_. That data is usually user-specific and using a "script tag pointing to a popular CDN" is very unlikely to be workable.

<comment><USER16> He's referring to both actually. No external resources means that the page he's testing contains all of: html boilerplate, templates, data, script that puts it together. Comparing that to an equivalent page with everything rendered is kind of like comparison between a static "hello world" page to a cms rendering a "hello world" page.

In reality you're likely to have the templates already cached from previous requests and the templates rendering framework available from a CDN. What you end up transferring to the user is actually the data + tiny part of the script that gets rendering started.</comment></comment></comment>


Fancy Forms: HTML5 + CSS3 – JS - <AUTHOR> http://www.bradshawenterprises.com/blog/2010/fancy-forms-html5-css3-js/

<comment><USER2> Nice effects! Though the red X icon looked like a delete button to me, making me think: can I delete & remove this form field?

<comment><AUTHOR> Yeah, I wanted a cross, but couldn't find one in the famfamfam icons. I originally had a no entry sign, but that felt totally wrong.

<comment><USER2> Ah, you're right, they don't. Hmm. They have a + inside of a circle (labeled "Add"). There's also a check mark inside of a circle (labeled "Accept"). I suppose you could consider those.

Or even having no icon at first. Then the red icon (or a red cross, labeled "Cross") appears if the field data is invalid.

Just my $0.02. Very cool effect though. I dig how it works when I tab into each field too.</comment></comment></comment>


Announcing Kiln Harmony: the Future of DVCS - <AUTHOR> http://blog.fogcreek.com/announcing-kiln-harmony-the-future-of-dvcs/ <comment><USER7> Kiln Harmony is complicated, and has lots of edge-cases it needs to handle. We'll be publishing a whole series of blog posts that explore exactly how Kiln Harmony works. In the mean time, though, just because I think it might spawn some interesting discussion, here is a _non-exhaustive_ list of edge-cases we translate:

      * Git octopus merges
      * Mercurial descriptions that are not UTF-8
      * Git commits whose messages aren't in their nominal encoding
      * Mercurial and Git having invalid timestamps
      * Git having a different author from committer
      * Git and Mercurial commits and changesets with extra metadata
      * Mercurial usernames that are not valid Git usernames
      * Mercurial bookmarks that are not valid Git refs
      * Mercurial named branches
      * Git annotated tags (requires an not-quite-yet-released extension to fully round-trip; the non-annotated part of the tag works today and will be forwards-compatible)
      * Mercurial changesets/manifests/filelogs with bad parent data
      * Git trees that are just flat-up invalid
      * Subrepos and submodules (100% preservation, but we can only
        translate Git submodules/subrepos cleanly to/from each other,
        since Git submodules have to be Git)

There's more, but hopefully that gives you some idea what we were up against. Again, I'll be publishing a series of articles that explore _how_ we handle all the above edge-cases beginning really soon.

<comment><USER8> This sounds like a great list of the technical challenges for Kiln implementors (applause) and an awesome list of reasons for me to rationally convince my team (if I had one) to use the single DVCS.

Anyone intelligent enough to use git or hg should be pragmatic enough to learn the other one for the benefit of the smooth workflow, when presented with this list ?

<comment><USER7> I'm actually really happy with the workflow we came up with; that's something we've been using for months now at Fog Creek with no real issues. The above is a list of _data format issues_ , which your team doesn't have to deal with.

</comment></comment></comment><comment><USER9> Joel's very own article on the Law of Leaky Abstractions ([http://www.joelonsoftware.com/articles/LeakyAbstractions.htm...](http://www.joelonsoftware.com/articles/LeakyAbstractions.html)) comes to mind. Kiln Harmony might abstract away which VCS system you use, but I think in the real world you will just end up having to know both systems (or finally standardizing on one). Think of communication, for example:

\- How do I do blah? \- Well, you type _hg blah-blah_ \- What's _hg_?

\- I fixed this bug on _master_ \- Where? \- Oh, are you using mercurial? It's called a _tip_ in your world

IMHO this stuff alone makes using two almost identical but different version control systems within a team a bad idea. Then there's that another layer that is supposed to work transparently, but when you have a problem you're never quite sure... is there a bug in hg? git? kiln?..

Really, just pick one system and use it. (hint - pick git :)

<comment><USER10> I'm having a really hard time seeing that. I use version control both at work and for side projects at home.

The only things I need to know are how to check out code, check in code, label and branch. Occasionally I create a repository. Rarely.

If you gave me a GUI that just had those four functions, I wouldn't give a rat's ass what VCS was living under the hood.

<comment><USER9> If it really was that simple, mastering a new VCS would take 5 minutes. But it isn't.

If you need to branch, you also need to know how to merge. Then you'll need to know how to resolve conflicts. You probably need to know what branches are there and how to diff them. And since you know how to check in, it's just a matter of time before you'll need to know how to revert. That's just you alone - once you collaborate with someone else, you'll need to learn how to share code, push, pull, remote branches... There's a reason why your VCS has more than four commands.

</comment></comment></comment><comment><USER11> There are things you have to really care about and things that just have to be good enough. Version control is in the latter.

Just use Git. Or Mercurial. It doesn't matter. They are just about the same and the minor improvement you might get from one over the other is just not worth the effort of thinking about it. Now go do something more useful with the cycles you save.

In summary: anyone who has a pressing need for this product has their priorities wrong.

<comment><USER12> I don't have a horse in this race, but I feel like this ship has sailed. Personally, I don't like jQuery's API, but it has become so popular that it's the honorary JavaScript standard library. I'd be hesitant to start a new project using MooTools, knowing that most people I might hire or most frameworks I might want to incorporate later probably know/expect jQuery.

I feel like GitHub has done the same thing for Git. Mercurial is in Python, which in theory would make it easier for me to hack on if I ever needed to, but the community has settled on Git. I think the fact that Atlassian bought BitBucket, which was a boutique version control tool for Pythonistas, and the very first thing they did was add Git support and position it as an alternative to GitHub speaks volumes to this.

I know that there are people who prefer Mercurial, and I'm glad they have that choice, but I feel like choosing Mercurial over Git for a new project is swimming upstream without any real benefit.

<comment><USER13> There are a fair few people who choose bitbucket over github because the pricing structure is saner if you have a load of repos and a fixed (or predictable) number of staff who require access.

<comment><USER14> And since last year, you can choose Bitbucket and still use git 100% of the time.

THAT seems to me what Fog Creek is doing here -- realizing, _shit, we picked wrong, but now we have all these users, how can we take a mulligan and pick git?_

And they did it. So like somebody else here said, what they've done is change the answer to "Does it work with git?" from no to yes.

(Note I am also not saying that anybody choosing hg over git for their own development 'chose wrong'. But if you are trying to do business by selling people a mainstream DVCS service, hg isn't the best choice you could make.)

</comment></comment></comment></comment><comment><USER15> > This means that you never have to decide whether you want to use Git or > Mercurial. Religious war: averted.

I think the religious war is already over, and Git won. The only time I hear about Mercurial is when Fog Creek talks about it; approximately everyone else is on Github.

(Update: For the record, I don't think Git winning this war was due to it being technically superior in any significant way -- but neither is Mercurial superior enough to make it worth teaching everyone how to use two different DVCSes. Git was good enough, and then it won the mindshare war, and now it's the standard.)

<comment><USER16> The Mercurial support is very welcome for those of us who found it a battle getting our employers to switch from SVN to Mercurial and don't want to go through that again. Unlike the transition from SVN to a DVCS, a transition from Mercurial to Git would not really be of any great advantage. And our code is not open source so it doesn't make much sense switching just because in the wider world Mercurial is out of fashion.

<comment><USER17> >...those of us who found it a battle getting our employers to switch from SVN to Mercurial...

Any tips for someone still fighting resistance to move to a DCVS?

<comment><USER18> I think for an enterprise, the D part of DVCS isn't much of a selling point. What _is_ a good selling point is all of the other stuff that makes Git/HG awesome, like easy branching and merging. There's also Github Enterprise, which if you can pay for it is really fantastic.

<comment><USER19> The D can be a selling point. Some things D enables:

Working offline is completely transparent. If your employees are on an airplane, or if the wifi at the conference they are at is overloaded, or if the central repository goes down for some reason, people can continue to work normally.

Code review based on asking for permission, not forgiveness. While the UI is a bit horrid, gerrit has been a huge win for us when it comes to code reviewing changes before they are out "in the public". When code review happens after something gets committed to the main repo, it's far to easy for issues to get forgotten about and never addressed. (Of course, Github pull requests have a better UI than Gerrit, but you might have reasons not to want to entrust your code to Github. And, also of course, this isn't strictly something that can only be done in a distributed VCS, but it seems to be a lot more natural in that context.)

</comment></comment></comment></comment></comment><comment><USER20> I've been doing Google searches every now and then to try to assess the relative popularity of Git vs Mercurial. Two years ago it seemed to be 2:1 in favor of Git. A year ago it seemed to be 3:1 in favor of Git. Now I think it is about 5:1 in favor of Git. Here are my most recent Google hit counts:

        git 208M
        git revision 6M
        git version 56M
        git control 19M
        mercurial 29.5M
        mercurial revision 1M
        mercurial version 7M
        mercurial control 6M

Google trends of "git repository" vs "mercurial repository":

[http://www.google.com/trends/explore#q=git%20repository%2C%2...](http://www.google.com/trends/explore#q=git%20repository%2C%20mercurial%20repository&cmpt=q)

update:

        hg revision 5M
        hg version 55.5M
        hg control 63.M
        hg OR mercurial revision 6M
        hg OR mercurial version 70.5M
        hg OR mercurial control 74M

The decline in popularity of "mercurial" vs "git" seems real, but I agree that "mercurial" searches may be under-reporting the popularity of Mercurial. The top hits for "hg -mercurial revision" have nothing to do with Mercurial, tho.

<comment><USER21> You might want to include searches for 'hg revision' etc - mercurial suffers from having its command-line invocation different from its name.

<comment><USER22> unsurprisingly, 'hg ____' shows fewer results than 'mercurial ____' for the words the parent tested

<comment><USER23>
        hg - <USER2>
        mercurial - <USER3>
        hg revision - 5.5M
        mercurial revision - 1.1M
        hg version - <USER4>
        mercurial version - <USER5>

I'm seeing exactly the opposite. There's an argument to made to the effect that `hg` picks up a lot of things that have nothing to do with source control, but that's still a big difference.

<comment><USER22> Try searching for git as well:

[https://www.google.com/trends/explore#q=git%20version%2C%20m...](https://www.google.com/trends/explore#q=git%20version%2C%20mercurial%20version%2C%20hg%20version&cmpt=q)

<comment><USER23> That's search volume. Parent was talking about search hits. I'd believe that search volume is more important, but I stand by my point in the context of this thread.

</comment></comment></comment></comment></comment></comment><comment><USER24> I'm interested. Which is a new thing.

Joel Spolsky's live demo of FogBugz & Kiln is the single best product demo I've ever seen. Ever. It's so good, anyone doing demos should watch it, just because.

<http://www.fogcreek.com/fogbugz/>

(just the video) <http://fogcreek.wistia.com/medias/z6o7hhvio5>

I don't know if I care about evidence based estimating. And I'm pretty sure FogBugz is overkill for my team's needs. And I'd rather eat glass that do anything Windows.

But hot damn the (apparent) integration and workflow of these two products are quite polished. Very well thought out and very well executed.

<comment><USER25> Yeah Joel was born to demo/present, wasn't he. I saw him at Webstock some years ago and it was a fantastic presentation.

</comment></comment><comment><USER12> I have a hard time believing anything is the 'future' of version control if it doesn't have a free, public open-source plan. GitHub and BitBucket have huge amounts of inertia, and hence dominate in mindshare.

<comment><USER26> Github's workflow, features and terminology are focused on open source projects and those projects tend to work in a specific way. Kiln is focused on providing features that fit better inside a business environment. For example, the idea of a pull request is a bit foreign in a business environment. Internally, almost all the code written eventually gets shipped, so the social interaction around pull requests doesn't fit exactly right.

Joel explains it better than I can: <http://www.joelonsoftware.com/items/2013/03/11.html>

<comment><USER27> How is the "social interaction around pull requests" not just a synonym for "code review?"

Now, I recognize that much code written in a "business environment" does indeed ship without review. I just don't think that's a good thing.

If what you're saying is that you've yanked code review tools because customers don't want them, my only reply is that I'm afraid I'm unlikely to be a customer.

<comment><USER26> No, we have code reviews _instead_ of pull requests, which as you point out is mostly terminology. But that terminology is indicative of assumptions that are baked into how the software operates. The assumptions and workflow of Kiln assumes you are using it inside of a business. I just gave one superficial example of a larger point I was trying to make about our intentions vs. people creating open source solutions and how that translates into defaults/workflows/usability of the software in different areas.

<comment><USER28> Give us some more examples, please. The pull requests vs. code reviews distinction is unconvincing.

I'd love to find a DVCS SaaS that provides better integration with the business software engineering workflow, and a UI that doesn't suck. So far I don't see a whole lot of that going on in kiln+fogbugz.

</comment></comment></comment></comment></comment><comment><USER29> Since everybody is always repeating it and one can take Git being the "winner" of the DVCS "war" as a fact, I just have to ask: _why tf did Git win at this?_

...I use it every day, but if I try to look at it from the outside it's an UX _horror_ : weird terminology with worst possible choice of words, inconsistent terminology even in the docs, inconsistent argument naming, mostly incomprehensible error messages (yeah, they make sense after you dive into the docs to search for the thing mentioned in the message or you google for it, but that's not how it should be) ...and for anything more complicated _you have to undertand how it works in order to use it_ , which is the greatest sin a piece of software can commit imho ...it's a great tool but at the same time utterly _nightmarish_ if you stop to think about it instead if just using it on auto-pilot

<comment><USER30> > ...I use it every day, but if I try to look at it from the outside it's an > UX horror: weird terminology with worst possible choice of words, > inconsistent terminology even in the docs, inconsistent argument naming, > mostly incomprehensible error messages

If a tool makes you productive, you make the effort to look beyond its flaws.

Windows and git are just two examples.

<comment><USER29> funny way of putting them together :) ...especially since Git is UNIXy to the bone, in all the bad ways.

<comment><USER31> I was thinking about the other day, and I disagree. The main beef I have with git is that it's _NOT_ UNIXy enough. Instead of having one command for one thing, it has one command for several different things (eg, git checkout) which I find absolutely aggravating.

</comment></comment></comment></comment><comment><USER32> Interesting - I was trying to get this concept to work a few years ago after I got a live SVN/Mercurial translator working, but it was very hard due to all the differences they note in this post.

One thing they don't mention is "octopus merges" - Git allows a merge to have more than two parents, while Mercurial does not. I'm sure there are other tiny edge cases, too; I wonder how they handle those?

Perhaps more to the point, I'm concerned that this means you're stuck using the lowest common denominator of both systems - for example, no hg bigfiles stuff.

<comment><USER7> I'll be publishing a series of articles that dive into the nitty-gritty of how Harmony works in the coming days, so I don't want to answer every single "How do you?..." question in this thread, but since you're the first one:

Git octopus merges of N parents are exploded into N-1 commits, each of which has some Harmony-specific metadata in its changeset extras field. We then use this data both to reassemble the octopus merge, and to prevent you pushing a changeset that has one of the "fake" octopus merges as a parent.

<comment><USER32> That's how I thought it'd work, just curious. Looking forward to reading up how it works - I hope it's not too fragile.

</comment></comment></comment><comment><USER33> This is likely to be a painless (if it works) transition mechanism for companies that chose mercurial and now want to follow git.

I respect fogcreek and avidly read everything Joel wrote at the turn of the century. But I had a years free kiln hosting that I must have used twice after setup and I just found GitHub so much cleaner and, well, it worked with git.

Being quiet for a year is not the sign of excellent planning and product management either - if they had this great plan 12 mths ago and knew it would take this long then go do it fine, but hire some oter guys to keep inching the rest of the product along - 12 mths is just dead. I am guessing they realised they had backed the wrong horse and tried to make a compatible product - <USER6> really just cloning GitHub and aiming at Joel's core sme market would work.

Edit Should not be knocking the technical effort and work here - just the strategy...

</comment><comment><USER34> Are there really that many dev teams that use Mercurial and git at the same time? Honest question....

<comment><USER35> Isn't the question more 'how many dev teams contain frustrated devs that would be happier using git/mercurial but are forced to use git/mercurial?',

<comment><USER36> Such people are silly, since those two options are almost identical.

<comment><USER37> This sentiment seems to be common amongst people who fought their way through git's somewhat obtuse syntax first.

People coming from the other direction (hg first), I know a lot of people who wish they could go back to mercurial, but for various reasons can't.

<comment><USER38> I went from hg -> git in the last couple of years. I'd say they are "almost identical". The key difference is a slightly different mindset on merging and branching IMHO. It can be non-trivial for some of my more hard headed dev brethren to change their way of thinking once they've chosen a method and gotten in the correct mindset.

</comment></comment></comment></comment></comment><comment><USER39> Is having to make a binary choice between Git or Mercurial, really that big a deal? I just assumed that teams would make a consensual decision, stick to one and get on with it. Seems like a great feat of engineering, but is it that wide a problem? (genuine question).

<comment><USER40> Welcome to corporate.

For business group A, I use RCS. For business group B, I use SVN. For my own personal stuff I use git.

No joke.

Mercurial, Perforce, Clearcase are also in use depending who you ask. I'm sure we have some CVS still in use somewhere, and I think Bazaar may be installed, though I don't know who uses it. Basically if it exists, we have it installed, and someone might be using it, somewhere among the order of 100k employees worldwide.

<comment><USER39> That would explain my naivete on the matter. I don't deal with corporate much at all. I guess it makes sense for the corporate environment in that case then.

Thanks for clearing it up.

</comment></comment></comment><comment><USER41> This is _extremely_ impressive from a technical point of view, but I'm wondering if it's the wrong solution, given that arguments over a version control system are largely an organisational issue? Surely a better approach would be for everyone involved to negotiate and come to an agreement on the tool to be used, or have it mandated from on high.

(Please wait a couple of mins before replying while I don my flame-retardant suit ;)

</comment><comment><USER42> How does this compare to ESR's reposurgeon tool? [1] I understand Kiln Harmony is a website, not a command-line tool, but it seems like they must have had to solve many of the same issues.

[1] <http://www.catb.org/esr/reposurgeon/>

<comment><USER7> That's pretty radically different. A closer analog might be hg-git, but the moment you say that you want the entire process to cleanly round-trip, you have to preserve all kinds of weird and corrupt data that the modern incarnations of the tools don't let you create (for good reason). There's also a lot of internal metadata, especially in Mercurial, where there are multiple valid ways to store a given concept, but only one will yield the right SHA for a given changeset. Not only did no existing tool try to handle these issues; they were all built in ways that would've made such preservation impossible. That's why we had to write our own from scratch.

</comment></comment><comment><USER43> I suspect it'll be an uphill struggle. Like many pointed out, Git is good enough, it's free (as in beer as well as in speech) and ubiquitous. Where it's not is the domain of proprietary, hideously expensive and deeply entrenched (sometimes bundled with IDEs that run on only one OS) solutions their users hate, but corporate IT mandates the use nevertheless because it was not a user-driven decision.

This is crucial: it; s hard to sell software ir services to these clients by providing something great. You sell by making the CEO feel capable of making decisions like what DVCS their IT department should use.

</comment><comment><USER44> I like the concept, but I have two objections to it. One, as pointed out by others, I'm highly skeptical of some of those edge cases. They mention a few of them at the end of that article, but they largely gloss them over saying they're dealt with automatically. My other objection is with Kiln itself. Not open source, not cross-platform, and even on Windows it seems to have strange requirements (like you can't run it on the domain controller). Sorry, any service that requires Windows is a automatic fail so far as I'm concerned.

<comment><USER26> Are you talking about the Kiln servers, or issues with client software? The servers are hosted, so you don't need to worry about any requirements or cross platform issues.

<comment><USER44> The servers. I was looking around on the site to try to find more info about Kiln, and one of the FAQs was the system requirements for the server (for companies that want to host their own Kiln instances I'd assume). With git or Mercurial I can spin up my own host in a variety of ways, or if I want something slicker I could host my own instance of github (not sure about BitBucket, but I suspect it likewise can be self-hosted). With Kiln if I wanted to go a similar route I need to have a Windows server with IIS and a variety of other dependencies.

<comment><USER26> Ah, that's old documentation. We host Kiln on our servers now, so we don't sell on premise versions that you'd have to install which makes this a bit moot. But if we do start to do that again, you would be able to spin them up the same way you'd spin up GitHub enterprise, with a VM: <https://enterprise.github.com/faq>

<comment><USER45> When have you stopped that and what happened to the existing customers? Did you ever announce that? I have noticed that FogBugz is now in very fine print in the version for your own servers, so it looks like you want to kill that off, soon. How long do I have until I have to find something else for bugs? I'm very concerned about this!

<comment><USER7> We are not killing off FogBugz, I promise. There's a new _major_ release that should come out very soon.

<comment><USER45> Of course you are not killing off FogBugz! But what about the version for your own server? Is that going away or staying? I read your message like it's going away, otherwise you could have written that FogBugz will still be available for your own server!

<comment><USER7> As of today, there is no plan to kill FogBugz for your server. That's about as clear as I can make it.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER46> Cool project, two criticisms:

\- Nobody is asking for this. Why would I want my team to use two different DVCS interfaces to work on the same project?

\- It is difficult to trust that a Frankenstein DVCS will handle corner cases well.

<comment><USER47> Don't use it that way if you don't want. You can read the announcement as, "kiln now supports git."

</comment></comment><comment><USER48> Do git and mercurial users get into flamewars? I would assume they are pretty well united in their hatred of centralised verion control systems.

<comment><USER49> I was walking across a bridge one day, and I saw a man standing on the edge, about to jump off. So I ran over and said "Stop! don't do it!" "Why shouldn't I?" he said. I said, "Well, there's so much to live for!" He said, "Like what?" I said, "Well...are you religious or atheist?" He said, "Religious." I said, "Me too! Are you christian or buddhist?" He said, "Christian." I said, "Me too! Are you catholic or protestant?" He said, "Protestant." I said, "Me too! Are you episcopalian or baptist?" He said, "Baptist!" I said,"Wow! Me too! Are you baptist church of god or baptist church of the lord?" He said, "Baptist church of god!" I said, "Me too! Are you original baptist church of god, or are you reformed baptist church of god?" He said,"Reformed Baptist church of god!" I said, "Me too! Are you reformed baptist church of god, reformation of 1879, or reformed baptist church of god, reformation of 1915?" He said, "Reformed baptist church of god, reformation of 1915!" I said, "Die, heretic scum", and pushed him off.

\-- Emo Phillips

</comment></comment><comment><USER50> Well, at least we can all agree that bzr is dead.

</comment><comment><USER51> Kiln Harmony won't save as much money and angst as a DVCS that automatically converts tabs to spaces and back, based on personal settings, or one that changes bracket code formatting, but it's a start.

<comment><USER52> It's not too hard to write a Mercurial extension to do that kind of thing. Copying the code for the EOL extension (<http://mercurial.selenic.com/wiki/EolExtension>) and modifying it would be a good start.

</comment></comment><comment><USER53> If being fully git/hg interoperable was holding back sales, I can understand their year-long investment. What is holding back me buying into FogCreek's products is tightly integrated Trello-Kiln-FogBugz. Hope you get to this soon.

oh, and for the love of all of us doing dev in China, can some of these SaaS's please put a server over here so we can reliably use your products. Trello's single page app works pretty well from China. Most don't. I'm stuck with redmine and other things I can self-host.

<comment><USER26> trello -> FogBugz integration - should adapt to any and all usages: <https://github.com/danlec/Trello-Bookmarklet>

kiln could have something more interesting. We're working on it.

</comment></comment><comment><USER54> The war was over before this release. Git won.

</comment><comment><USER55> I'd rather have the opposite -- a client that can use multiple DVCS repositories while preserving the identity of commits.

</comment><comment><USER56> It seems as though having members of the same team mixing up mercurial and git. They have their own language and idioms. Think about trying to work together in such an environment. For some tools it's simply better for the team to homogenize than stay diverse. We're not talking about a text editor.

</comment><comment><USER45> Since when is the version to be installed on our own servers unavailable? I always wanted to buy it once I have the svn conversion problems figured out. How long do existing FogBugz users have until the non-hosted version is removed from the market, too and how long are we able to get updates?

</comment><comment><USER57> Is this really such a big need... Tech lead picks, and fills team with people who agree. Done.

</comment><comment><USER58> I could be wrong, but I don't think the git/mercurial integration is the big point of Kiln.

Rather, harmony seems like an interesting side effect generated when Fog Creek built some swank tools for mercurial-based corporate developers, and git won the war while they were doing so.

Most of the value I see in Kiln is in the activity filters, the notifications, the code review tools, the ACLs, and FogBugz integration. Git/Mercurial interoperability is just a cute feature.

<comment><USER59> It opens doors which were, until now, closed to the Fog Creek people. I bet this was said a _ton_ :

"I like their tools, but does it support git?"

Now, the answer is: "Yes, it does."

I'd say that's a _tad_ more than a "cute feature".

<comment><USER60> As someone who said exactly that and pays for FogBugz, but uses GitHub: now I read about what they did and think "why would they do that? It's a horribly complicated technical problem, I can't be sure they got it right, I'll stick to GitHub".

So, still no money from me, unfortunately.

<comment><USER61> > I can't be sure they got it right, I'll stick to GitHub

I guess you could just not use the feature and only use git clients. Who cares if the redundant hg clone they keep on their end gets out of sync.

</comment></comment></comment></comment><comment><USER62> It's really tiring to see what the Spolsky and Atwood offsprings are coming up with...

It's nearly _always_ the same "idea": try to prevent users from having opinions and individuality.

Atwood's discourse.org was supposed to be the "next generation of forums because the current forum aren't civilized enough": people supposedly aren't "civilized" enough to be able to have their own forums. No, one should use a forum engine made for and by control freaks that shall enforce civilized discourses.

Now this Kiln Harmony thing is supposed to "end the flamewar" between git/hg: people are allowed to have their own preferences anymore. Everybody is going to "win" because they'd be using the system created by and for control freaks.

And StackOverflow _is_ preventing individuality and allowing a few control freaks to reign king and decided what kind of thoughts people are allowed to have.

In other words these guys think they've identified a "problem": individuality and personal opinions. And they think they have a "solution": control.

Interestingly enough when I just entered discourse.org to see how that one is catching up it seems to be the better ranked in... The republic of China! (no kidding here).

Which is normal: control freaks are going to love software restricting choices and individuality.

But I love my freedom. I love individuality and I think everyone should be free, including free to chose and say why they prefer hg over git or vice- versa.

So their "solutions" (discourse.org, Kiln Harmony) aren't going to be the "next gen anything" because there are too many individuals who value their individuality.

Oh and, and even though I was an early hg adopter, I have to admit that git (and github) won big times.

It's as if they realized they didn't bet on the correct horse (inherent qualities aside, I'm purely talking about market share here) and that hence they've been "owned" by people pointing out to them that git / github was winning. It's an argument they couldn't win: there's no way hg is as succesful as Git (once again: I haven't switched yet to git... I'm a long time hg user but I have to admit defeat here). So because they couldn't admit that they were wrong they decided to create an utterly complicated solution: "To put an end to the flamewar".

I really hate the Spolsky and Atwood of this world because to me they love dictatorship.

I'm for freedom and individuality, not for control freaks trying to decide how people should think / talk / code / use DVCSes etc.

And thankfully there are way enough people like me so that these control freaks are never going to win.

Even SO is going to be replaced the day something less bent on dictatorship comes along.</comment>


New ultra-battery is the most powerful non-nuclear energy storage ever - <AUTHOR> http://www.allcarselectric.com/blog/1048662_tomorrows-power-today-new-battery-is-most-powerful-ever

<comment><USER2> Less fluff per character:

Nature article - <http://www.nature.com/nchem/journal/v2/n9/abs/nchem.724.html>

Wikipedia - <http://en.wikipedia.org/wiki/Xenon_difluoride></comment>


How to build a startup while having a full-time job – by people who did it - <AUTHOR> https://thenextweb.com/tq/2017/11/23/build-startup-full-time-job-according-people/ <comment><USER2> My tip: avoid products or services that require face to face sales and support. I've found it impossible to reconcile with the day job.</comment>


Show HN: A better Alexa SDK, with typescript - <AUTHOR> https://www.npmjs.com/package/alexa-ts <comment><AUTHOR> Background: I built this after using the official SDK and finding it less than ideal. The pipelining concept is inspired by the likes of node's express and C#'s OWIN as a neat, extensible way of adding things like logging and authentication etc.

It's also designed to take advantage of TypeScript's static type checker and autocompletion, while still being very concise to use from vanilla JavaScript.</comment>


Ask HN: What's the largest business you know of run by a single founder - <AUTHOR> I'm trying to understand how big solo founder companies can get before they take on other staff. Is there a ceiling? What are the challenges?<p>As a reference, I run https://doarama.com and looking for comparisons. <comment><USER2> Maybe BuiltWith? [http://www.startupdaily.net/2015/09/builtwith-is-perhaps- one...](http://www.startupdaily.net/2015/09/builtwith-is-perhaps-one-of- australias-most-profitable-online-companies-and-has-zero-staff/)

<comment><AUTHOR> Great one. I'm in Oz too, so may reach out. Thanks.

</comment></comment><comment><USER3> PlentyOfFish is probably one of the biggest when it was run by its founder.

<comment><USER4> Really good article on Markus Frind of POF: [http://www.businessinsider.com/how-markus-frind- bootstrapped...](http://www.businessinsider.com/how-markus-frind-bootstrapped- plentyoffish-and-sold-it-for-575-million-2015-7)

<comment><USER5> Another good article [http://highscalability.com/plentyoffish- architecture](http://highscalability.com/plentyoffish-architecture)

</comment></comment></comment><comment><USER6> Craigslist has 30 people now according to [https://en.m.wikipedia.org/wiki/Craigslist](https://en.m.wikipedia.org/wiki/Craigslist) , but was run by only the founder for a while (unclear in the Wikipedia page)

</comment><comment><USER7> [https://pinboard.in](https://pinboard.in) , his income from just pinboard makes him live comfortably in Bay Area

</comment><comment><USER8> I know of a guy that sells some windows libs and has a turnover of about 1 million per year. He runs this alone and also has some 3 months of holiday per year.

</comment><comment><USER9> what is the size you are wanting to understanding? Revenue? Cost? Net?

Revenue is easily above the low 7 digits, Net is above the low 7 digits. Essentially the ceiling is not artificially limited, your abilities though are.

<comment><AUTHOR> My abilities are artificially limited? I'm not sure I understand that.

I purposefully didn't select a metric. Was going much more for what the community judged. Could be users, rev, scale of impact (however that would be defined).

I'll have to look at the stats on each of the responses to see what kind of numbers craigslist, and pof had while the founders were still going it solo.

<comment><USER9> Poor choice of word on my part. That wasn't a dig on you, just that as a solo founder before taking on staff there is a limit to how much you can accomplish.

Your ability to produce is limited by the number of hours you can work. The revenue and income is limited by whom you are selling to. The more clients you sell too the less likely you can scale before taking on staff. So typically you'd have fewer clients at higher revenue per client. Which also has its own issues.

In general, and in my opinion you wind up hiring staff for almost any business once you cross $500k/yr run rate or you have more then 5-10 active clients/projects that require weekly touches. The level and details of what that staff is and the cost varies greatly.

That said there are solo founders generating more.</comment></comment></comment>


Does anyone here run their PC without antivirus? - <AUTHOR>

I know a few people who are so religious about avoiding unknown links and freebie downloads they feel confident to avoid using any AV. Any one else tried this approach? <comment><USER3> I run Linux now so it's a moot point, but I survived for years without any infection or malware running Windows without an AV solution. It's all common sense really. Of course, if you have a system where it can be used by the public (or family members that don't know at least two programming languages), you should have some sort of protection.

<comment><USER4> With the new ways people come up with to attack computers... I just would never be that confident. Sure, don't open attachments and execute stuff from unknowns that look phishy. Don't click links from emails. Don't download sketchy software.

But what about something like malware attacking you from an adserver that didn't happen to get blocked by AdBlock or Ghostery and you're not running NoScript or you whitelisted the domain (perhaps supporting a company you were happy to help support from ads).

<comment><USER5> >But what about something like malware attacking you from an adserver that didn't happen to get blocked by AdBlock or Ghostery and you're not running NoScript or you whitelisted the domain (perhaps supporting a company you were happy to help support from ads).

Assuming you are talking about a fully silent "driveby" on a modern browser like Chrome: There's a very good chance such a dedicated and advanced attack will also bypass all AV products at the time you are infected. To this day it's still quite easy to bypass any AV if you know what you're doing. If the malware author himself (I'd say "him/herself" but I have encountered very few female authors of advanced malware, Joanna Rutkowska being the only exception I can think of) is the one launching the browser exploit campaign, he likely also knows full well how to get it past any AV.

Personally, I run AV just as a simple "stupidity guard" for myself. I would pretty much never get infected with malware through regular browsing; I work in information security and fight malware daily. But there's that chance I get really drunk one day and do something stupid, so it's nice to have.

</comment></comment></comment><comment><USER6> It's basically a catch-22 situation, if you don't run a (good) virus checker you have no idea if you've got a virus or not.

It's not like in the 90s where viruses would just destroy stuff and taunt users, modern viruses are often silent stealing data or turning machines into sleeper cells on bot networks.

Viruses no longer rely on downloads to spread either (downloadable software is in a death spiral), they now commonly spread through zero-day exploits in browser software and extensions (flash, pdf readers, java, etc.)

You don't have to visit dodgy sites either, many viruses are spread through legitimate ad networks or compromised web-servers (hacked wordpress installs are often used).

Any software on your machine that handles data received from the outside world (including games, word, skype, etc.) is an attack vector.

If you're not running a virus checker you're essentially just hoping you'll be lucky. Being careful will only take you part of the way.

<comment><USER7> I thought that novadays even the AV companies admit (off the record) that they've lost the battle, and cannot really do a good job detecting the more sophisticated viruses?

</comment></comment><comment><USER8> I haven't run any anti-virus software for at least the past ten years either at work (Ubuntu), on my laptop (OSX) or at home (Windows 7).

To the best of my knowledge I've never succumbed to a virus and have certainly never seen any indication that I have!

I'm cautious with what software I choose to run and do cursory checks of links in e-mail/online. I really only run business related software (Sublime Text, CS Suite, Browsers, Autodesk Inventor, Eagle CAD, etc) and any games I do play (rarely!) are via Steam.

All machines are used regularly depending on where I am and what I'm doing. I'm the only person who uses any of them. I generally only re-install when I'm replacing a machine or substantially upgrading it (perhaps once a year or so).

</comment><comment><USER9> Yes, I'm one of those people. Of course, avoiding dodgy links and free downloads can only do so much to protect you. What about all the random flash drives we put into our computers on a whim?

I do admit, I'm kind of ashamed that I don't protect my computer better - <USER2> many AV solutions hog resources and just slow my computer to a stand-still. So I just forgo them altogether. Running on Windows 7 or 8 does enable the Windows Defender program by default, though, I believe. And at first glance, it doesn't seem to be that bad a setup (admittedly, I haven't looked into it much)

</comment><comment><USER10> After 10 years of not having a single positive detected by my anti-virus program I uninstalled it. If you already have a certain amount of PC knowledge it doesn't really improve your security any more. AV-scanner find the kind of malware that spreads via e-mail attachments or warez downloads and those can be easily avoided. And if someone is really after you with a hot new exploit your anti-virus is probably the last to recognize it.

</comment><comment><USER11> I regularly switch between Linux and OS X. I don't run any AV, and haven't for years. (on either of those platforms)

On Windows, some customer stuff scans for updated AV, so I have to run it there.

I'd venture to say, you can avoid 90+% of viruses simply by using webmail, and not being foolish with what you click on. If it looks suspect, it probably is. :)

</comment><comment><USER12> Many system admins I know don't use AV on their personal computers.

My thought is that a properly secured computer and network are far better defenses than AV. If you add to that system an expert user then AV becomes mostly useless, creating more problems than it solves.

I think NoScript and Request Policy are much more valuable to my security than AV.

</comment><comment><USER13> The only AV 'software' I use is Common Sense™. That and frequent backups have been pretty effective so far.

YMMV though...

</comment><comment><USER14> I'd be reasonably confident running Chrome with almost every plugin (especially Java and Adobe ones) disabled. It's been a long time since I've had any AV alert when running that way.

I do keep a copy of Firefox with Flash and Java installed so I can manually "whitelist" a mostly trusted URL to that browser if I need it.

</comment><comment><USER15> I don't use AV and never have. I've never gotten a virus, or anything worse than a driveby exploit that hijacked my browser's home page, and that was years ago. I do semiregular malware scans, and they always come up clean, so I don't worry about it on a regular basis.

</comment><comment><USER16> I run windows and do not use an antivirus.

I monitor all files in the filesystem, and all incoming and outcoming network connections.

I have gotten viruses and malware, mainly adware in the past but have always been able to manually remove them.

<comment><USER17> What do you monitor with and for? What do you remove the malware with?

</comment></comment><comment><USER18> I've been doing this for years and it has _never_ caused me a problem. I'll leave it up to the masses to judge how much of that is luck or stupidity.

</comment><comment><USER19> Yes, Windows XP without antivirus for more than 2 years. Once a year I install an antivirus, full scan all drives, and then uninstall it. I never had any problem.

</comment><comment><USER20> I use Avira, it's free and pretty solid! [http://www.avira.com/en/index](http://www.avira.com/en/index)</comment>