Can Indian Society produce Gates/Larry/Zuckerberg? - <AUTHOR> http://www.pluggd.in/2008/07/microsoft-facebook-google-from-india-can-indian-society-produce-gates-larry-zuckerburg

<comment><USER2> Funny, I assumed Larry = Ellison, not Page. Either way, can't believe Zuckerberg is being compared to those guys... Let's at least wait until Facebook IPO's or makes a billion dollars.

<comment><USER3> He made a tool that a million billion people are using, and he managed to go up against a behemoth of a competitor and still win. Facebook is a vast success, regardless of its profits, because nearly everybody in its intended demographic uses it, and most people NOT in that demographic are starting to.

<comment><USER4> It's hard to find a lot of respect for someone who steals his employer's idea and makes billions off it. I mean, I guess that's OK in this "money is everything" society ("he's rich!!11!"), but that doesn't mean I have to like it.

<comment><USER5> Doesn't everyone think execution is more important than idea alone? Even he stole the idea, but after he unveiled his site, he definitely could not steal the idea from connectU any more. So if founders of ConnectU really competed their service against Facebook with a better product, will Facebook be like today? I guess most likely they were just sat and waited and maybe did not treat it seriously until it was too late.

And we see ConnectU's founders are much better in enjoy life outside their startup.

<comment><USER6> It is not always about having the better product; more a matter of traction. Case in point, why do so many people still use Twitter?

<comment><USER5> Because no one is really competing with Twitter on the exact same product category at the moment. Pownce and Friendfeed are different to Twitter.

I think the idea of traction is very dangerous. It gives an excuse for losing competitors to sooth their fragile hearts. But if you believe market is efficient and ruthless and if you agree that users vote with their browsers in Web 2.0 world, then the failure of the competitors should be attributed more to failing to give what users want than the winner has more traction!

Case in point? Google Search vs. Hotbot Search vs. Alta Vista Search vs. Windows Live Search and Yahoo! Search in U.S.

<comment><USER7> _But if you believe market is efficient and ruthless and if you agree that users vote with their browsers in Web 2.0 world..._

Markets are nice and all, and entry costs are lower than they used to be, but there are still such things as brand and users still have habits.

Case in point? eBay.

<comment><USER5> I am still in doubt that we just use "brand" and "habits" to cover the core questions in our thinking.

In the case of Ebay, what a buyer and a seller wants in common is there is a large pools of users in the site. So they have better chance to find the other end of the transaction. So even though currently eBay can't satisfy its users in different aspects, but they have the most important element in auction: a lot of users. This is the same for dating sites.

So to build a new competitor against eBay, the most important thing is to figure out how to convert users in eBay to the new competitors. I guess anyone who figure this out will reap the reward.

I just think we use "brand" and "habits" too much without reallying understanding the reality. A successful product or service must satisfy a demand. Even in soft drink market, where there is no difference between them. But each one uses a "brand image" to resort to different customers' psychology. So the product actually fulfill the need of consumers' desire to define themselves. From this point of view, they create a product that is what people want.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Nice article, but I would like to add couple of more things. a) Socio-economic structure in that part of the world is complex. You graduate straight out of school and you start thinking about your parents (in most cases Dad is near retirement) and siblings (if you've sisters you've to get them married--i.e. bear all expenses). b) Most people who make it to the top don't give back to the society in terms of donation to schools. Most people don't take initiatives that will give young kids, straight out of school, an incentive to start a company. c) Sparse number of highly talented engineers available for mentorship. Most talented people will tell you to focus on your grades, as article noted. d) Government not providing any incentives to young lads to start businesses. Cost of running a business is usually pretty high. No policy making at that level. No subsidies. e) No academic or professional activities. There are no meetups and it's very rare that you hear about a conference. Not many places to meet up like-minded people (only exception is the school itself) f) Lack of libraries. Elite usually love to read Malcolm Gladwell to remain in the Groove. Rare are the people(that I'm aware of) who like to keep abreast of latest trends. Though situation is improving but you won't find many modern classics (engineering or otherwise) in biggest library of your town). Heavy taxes on imported books. A fellow Pakistani once told me he had to pay heavy taxes(one third of the price of the books) on 10 books that he ordered for his personal use.

This is what I've heard and I've also worked in that part of the world(i.e. Pakistan) but I'm not really sure about India.

<comment><USER9> Read your comment after posting mine above. Your first point (Socio-economic structure) is quite correct for India as well.

But as of today, things are changing, and i guess the other points really do not apply as much as probably they might have 20 years back.

<comment><USER8> Well, other points still hold to some degree. Just consider the political instability most countries around India are going through right now. That is not a decent sight. India is still lucky in that lots of high profile companies have offices there but it's yet to happen in Pakistan. There are very few, if any. Microsoft has presence in Pakistan but it's mostly dealing with Government contracts and selling to Enterprise. No development offices of Yahoo, Microsoft, Google and alike. Overall, situation is more complex than one could imagine.

</comment></comment></comment><comment><USER10> "Don't put so much of your time in these hobby project ..make sure your academic don't suffer"

Reminds me when we had a job opening and some indian guy applied for it with a fourteen page long resume.

What is it with these people and their obsession for academics and credentials?

<comment><USER9> The obsession with 'degrees' (and less risk taking in general) is an unfortunate byproduct of a highly controlled and regulated economy till 1991. Setting up a business, and earning a decent living for yourself (and your extended family most of the times) was extremely difficult before that time. Doing a 'white collar' job was the safest and the most feasible option and the road to that passed through a person being 'educated' (read have a degree). Hence the strong focus on getting a degree, as it was the way to earn your bread.(literally)

Thankfully, things changed from 1991 onwards, from what we call here as 'economic liberalization' (loosening of government controls and restrictions). Add to that more exposure/integration with the 'west' through media/internet and now the attitudes towards business/learning/other activities are changing.

The change will take time, and it's just my guess that the next generation that really doesn't have to worry about the basic issues of life as much would be far more risk taking, and would be doing more game changing things, relative to what's being done today.

I remember one of PG's essay where he mentioned his reasons of why some of the other places cannot replicate a 'Silicon Valley'. If i remember correctly, his take on Bangalore/India was that inherently since the country is still poor, it would be very difficult for it replicate the valley culture at this point at least. (He used an example of uneven steps on a railway station in that essay). His reasoning is not wide off the mark.

But as i said, we are very optimistic, things are gonna get way better, way sooner.

<comment><AUTHOR> _"... What is it with these people and their obsession for academics and credentials? ..."_

Extreme competition, limited opportunity and rigid social hierarchy.

<comment><USER11> It is 40x harder to get into IIT than it is MIT, and they've still not sorted their caste system. I can't understand why there isn't more outrage about that in the West; it's worse than Apartheid ever was.

<comment><USER9>
       they've still not sorted their caste system

The trouble is that it is too sorted. :-). But on a serious note, economic development on the whole can help a long way in removing social evils as well. Some things might appear simple and logical to improve, but it ain't easy given the 'diversity' (and number!) of people in our country.

</comment></comment></comment></comment></comment><comment> patrickg-zill There are already hugely influential Indian businessmen, but they are not in IT. Consider Mittal, a very large steel company. However there is a cultural component to success in software or Internet services - the best thing you could do to encourage Indian success would be to get more Indians connected to broadband.

<comment><USER7> _Consider Mittal, a very large steel company._

Isn't the value what a steel company produces already laying inside of the ground? Making money off of natural resources seems to require connections in government more so than it does skill or innovation.

<comment><USER11> Not really - Mittal's skill has been in buying up loss making mills and turning them around. Their core skill is in training people to operate existing mills more efficiently.

Secondly, you don't know much about steel. For a start it is not "already laying inside the ground" (go on, find me a "steel mine" somewhere). It's not one thing either; there are countless alloys, and every customer wants something slightly different. Steel is a manufacturing business like any other. You might as well say the products of a bakery are just growing in a field somewhere.

</comment></comment></comment><comment><USER12> There are several hugely successful Indian entrepreneurs: Lakshmi Mittal, Sunil Mittal (no relation), Dhirubhai Ambani. Even in IT, there is Azim Premji & Narayana Murthy. But the entrepreneurial culture is still not there - all of these people bucked significant cultural norms.

I had dinner with Sunil Mittal once last year, and he had a constant stream of stories about how the Indian government regulations are so restrictive for aspiring entrepreneurs. Apparently you couldn't import touchtone phones at one point, so he had to have them disassembled & shipped separately to different places just so he could sell them in India. Indian trade policy has gotten better, but there's still room to improve.

<comment><USER13> It seems as though if they could just mitigate government interference they could easily surpass China economically. Why don't the elected officials realize that?

</comment></comment><comment><USER14> I think the single biggest factor is fear of failure. And it's mostly because of society (but other factors too). If you start something in India and fail, you are forever termed as a failure. No one moves on - anywhere you go, your failure follows you. The stigma is unbearable to live with.

Given this scenario, getting a 'safe' job and earn money working for someone else is the better option for most.

</comment><comment><USER15> Not sure if it's been brought up, but Jobs went on a trip to India around his college years and had an 'ashram'.

<http://answers.google.com/answers/threadview?id=408258>

</comment><comment><USER16> Yes. Sridhar Vembu and Zoho.com

</comment><comment><USER7> Zuckerberg does not deserve to be next to Gates/Larry...</comment>


Latest Victim in 'Zero Sum' World Is a Russian Internet Giant - <AUTHOR> https://www.bloomberg.com/news/articles/2019-10-15/latest-victim-in-zero-sum-world-is-a-russian-internet-giant <comment><USER2> _The Russian Internet search company lost 16% of its market value on Friday after the Kremlin endorsed a draft law that would limit foreign ownership in major Russian technology firms. The plunge attracted the attention of at least two Wall Street banks, which rushed to Yandex's defense, writing that the stock was now an attractive opportunity. Shares of Yandex have added back nearly 2% over the past two sessions in New York trading._

Will this apply retroactively? Yandex's board is filled with Americans, and it has US employees that presumably are getting equity.</comment>


Show HN: Quark:An open source framework to build competitive platforms - <AUTHOR> https://github.com/sdslabs/quark <comment><USER2> Can you explain a little what exactly is it doing?

<comment><AUTHOR> It is a framework that provides a base API based backend for any sports programming website, CTF competition website, etc. As most of these have a lot in common in terms of API and DB structure.

</comment></comment><comment><USER3> Is there a demo that can be shared?

<comment><AUTHOR> [https://cerebro.sdslabs.co](https://cerebro.sdslabs.co) is a website that was built using Quark. and for a source code of a demo application, you can see [https://github.com/sdslabs/laplace-no-ma](https://github.com/sdslabs/laplace- no-ma)</comment></comment>


WireGuard: next generation in-kernel modern VPN - <AUTHOR> https://www.wireguard.io/ <comment><USER2> Wow, I launched this 10 minutes ago and somebody already put it on Hacker News. Spectacular!

I'm the author of this and would be happy to answer any questions you have.

<comment><AUTHOR> Yes, guilty as charged. Ever since I saw you presentation in Paris in last September, I was dying for wireguard to come out.

I'm curious what will be your strategy with regard to working or not with upstream Linux ?

<comment><USER2> Oh cool you came to the kernel recipes talk. Much has progressed since then.

I wrote an email on LKML and netdev today to David Miller, the network subsystem maintainer. It's not ready for a [PATCH] set now, but it is ready to get initial feedback from them, so that I can start to get things ready for upstreaming. So: that's on the roadmap and a primary objective!

<comment><USER3> Would you mind dual-licensing under a more permissive license (BSD or MIT) so the work can be included in the BSD family of operating systems as well as Linux?

<comment><USER2> I answered this question elsewhere. The answer is that - probably, why not? I need to think about it for more than a few seconds. But the only reason I chose GPLv2 is because that's what Linux uses. I'll quit being lazy and think more carefully about licenses, and hopefully we'll wind up with something good for the BSDs.

<comment><USER4> I am not a lawyer but in my eyes having a BSD/MIT license will also save you from a corporation "adopting" your technology and sue you afterwards for infringing a super vague patent of theirs... or something along the lines.

If your work is in the public domain, then at least the corporations would have _much_ harder time hijacking and wall-garden it, and the chances of them simply giving up are higher. Or so I hope.

I've read a good chunk of your website. GREAT WORK! Do not give up, you're doing next-level work. =)

<comment><USER3> Yeah, you're not a lawyer. This is nonsensical gibberish.

<comment><USER4> The corporations haven't really left us with good impressions in the last 15 years though, did they?

If I learned anything from those last 15 years is that they'll sue you if you don't agree the Moon is made of cheese if it suits their agenda.

So I remain cynical towards them. If they can hijack a good technology for their own profit, they will do it. I think we all knew that much at this point?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> Why is this in the kernel? It seems to me like a failed separation of concerns compared to running this in userspace. There shouldnt be anything magical requiring this level of coupling.

<comment><USER2> Because it's necessary for any reasonable performance. If you're concerned about this, you might have several heart attacks when you look at the obscene amount of code that IPsec has in the kernel. IPsec is the only other alternative for high speed VPNs, and it's frighteningly complex, both in deployment and in codebase.

WireGuard, on the contrary, is around 4000 lines of core code. This is super short, and allows for a single individual to audit it. By focusing on simplicity and ease-of-auditability, I hope to achieve something that can be considered secure.

Compare this to the massive codebase of OpenVPN/OpenSSL and the various other userspace (read: slow as mollasses) VPNs. WireGuard is considerably shorter and simpler than those too.

Also, keep in mind that on Linux, jumping from userspace to ring0 execution isn't exactly difficult. So in practice I'm not sure it matters.

I make a living by exploiting kernels. This makes me very aware of the questions associated with running this in the kernel. I've tried to write WireGuard using my experience breaking similar codebases; WireGuard is short enough that it should receive the thorough attention that this sort of software deserves. By focusing on simplicity, I think we can in time achieve something quite trustworthy.

Finally, there will be a (necessarily lower speed) cross platform implementation released that's written in Rust. At the end of the day I suspect that all parties will find themselves pleased.

<comment><USER6> > Because it's necessary for any reasonable performance.

This is simply not true [1] [2].

[1] - [http://dpdk.org/](http://dpdk.org/)

[2] - [http://info.iet.unipi.it/~luigi/netmap/](http://info.iet.unipi.it/~luigi/netmap/)

<comment><USER2> I love DPDK. Super fun. I've actually made a few projects with it. But this is for creating closed network systems, not for integrating into Linux's networking infrastructure. If somebody would like to produce a WireGuard implementation (library, I guess) for DPDK, I'd be super happy about this, and I'm sure it'd find some specialized users. But for everything else, there's the ordinary design.

<comment><USER6> It is absolutely possible to create DPDK applications that send/receive data into the Linux network stack using KNI [1]. I'm not sure if I'm qualified to say whether DPDK is "for" something, but the means to achieve this exist.

[1] - [http://dpdk.org/doc/guides-16.04/prog_guide/kernel_nic_inter...](http://dpdk.org/doc/guides-16.04/prog_guide/kernel_nic_interface.html)

</comment></comment></comment></comment></comment><comment><USER7> Note: This project, despite having the text of the GPL 2 in a file named "COPYING", is not actually licenced under GPL 2. The actual copyright statement found in source files is " _Copyright 2015-2016 Jason A. Donenfeld <firstname.lastname@example.com>. All Rights Reserved._". It does not reference the GPL. This means, legally, that nobody can do anything with it.

If the author actually meant to licence it under the GPL 2, he should read and follow the instructions in the GPL itself, more specifically the section at the end titled " _How to Apply These Terms to Your New Programs_ ".

<comment><USER8> That may technically be true, but if the author was to sue anyone based on that argument, this project itself would be in violation of copyright law, since all the code seems to be distributed only as a Linux kernel module (with all files #including kernel headers and such) and so it actually _has_ to be distributed under the GPLv2.

<comment><USER7> This is true, but I imagine that no company will actually use or distribute this project in any way, since it is actually illegal (however technically) for them to do so until this issue is resolved.

</comment></comment></comment><comment><USER9> I know asking for MIT / BSD or Apache 2 may be a little bit of stretch.

But any chance of LGPL? Or would we need a conplete reimplementation for BSD?

<comment><USER2> I don't really have any problem re-licensing it less restrictively, I don't think. I'll have to think about it for more than 10 seconds I suppose. But I put "GPLv2" there without much thought simply because that's what Linux uses. But you make a good point about the BSDs.

<comment><USER10> As a hardcore BSD user, GPLv2 is perfectly fine with the BSDs. They all ship with GPLv2 software by default.

FreeBSD doesn't like GPLv3, but OpenBSD and DragonFlyBSD don't have a problem with it. I don't know about NetBSD off the top of my head.

IMO this seems like something that should be GPL and I think you needn't change it.

<comment><USER3> FreeBSD has a moratorium on importing new GPL code to base, and especially the kernel.

</comment></comment></comment></comment><comment><USER11> Just wanted to point out that the author is also behind the excellent password manager pass: [https://www.passwordstore.org/](https://www.passwordstore.org/).

Congratulations.

<comment><USER12> That's a very nice tool, but I dislike how it leaks information via the visible directory structure and filenames.

</comment></comment><comment><USER13> A couple questions:

How do you deal with MTU? OpenVPN's handing is particularly bad [1]?

Is the whole protocol in-kernel or just the data plane?

For admins who want to provision large number of clients, do you ever plan to implement some kind of certificate hierarchy?

[1] [https://community.openvpn.net/openvpn/ticket/375](https://community.openvpn.net/openvpn/ticket/375)

<comment><USER2> > How do you deal with MTU? OpenVPN's handing is particularly bad [1]?

MTU is dealt with the same way as other kernel space tunneling devices.

> Is the whole protocol in-kernel or just the data plane?

All of it, which is why there's so much emphasis on simplicity.

> For admins who want to provision large number of clients, do you ever plan > to implement some kind of certificate hierarchy?

Rather, the goal is to make the kernel interface very simple and minimal, so that admins can then glue ontop whatever situation they want. This could be certificates, or pigeons, but the important thing is that it's a layer ontop (in userspace), and not intimately bound to the core.

<comment><USER14> Are there currently methods where unknown public keys are passed to a userspace application to be verified? Or is this something that will be implemented in the future?

</comment></comment></comment><comment><AUTHOR> Paper: [https://www.wireguard.io/papers/wireguard.pdf](https://www.wireguard.io/papers/wireguard.pdf)

</comment><comment><USER15> Do you have try this in China internet? As we know, China has a more complicated network. UDP packets have a large loss.

If it could work better than ocserv, this vpn will be a milestone.

<comment><USER16> same question here

</comment></comment><comment><USER17> Is there a way to connect from macOS to the VPN?

<comment><USER2> As mentioned in the roadmap and the cross-platform page, we're working on a cross-platform userspace client, so Mac and Windows users can use it too. It's in the works!

<comment><USER18> This comment was marked 'dead', but I think it was a useful question (though maybe a little aggressive in its wording):

> So what's the point ? Linux is a niche market. Mac & Windows will be the > vast majority of your users and won't enjoy your killer kernel-based > feature...

Even when Windows/Mac are the vast majority of clients, each client only needs to process its own traffic. The VPN gateway is more likely the bottleneck, since it needs to process everyone's traffic. There are many organizations that would have no problem running Linux on the VPN gateway and could reap the benefits.

Also, the Linux in-kernel implementation is just the first(?) thing being released. WireGuard is a VPN protocol and its killer feature is good security that's simple enough to implement in 4000 lines of code. This simplicity makes it easier for someone to write a Windows/Mac kernel driver.

<comment><USER19> What's incredible is that the Go implementation is something like 100 lines.

<comment><USER20> Not sure if you were being sarcastic ;) but the code in 'external-tests' is just that: tests.

It makes a UDP connection, it sends and receives some packets and then exits again. It's by no means a functional VPN, just the handshake.

No doubt it'll grow into an actual client, but don't be too amazed by it just yet :D

</comment></comment></comment></comment></comment><comment><USER21> Can someone explain why being in-kernel is considered a feature?

<comment><USER22> So, everyone needs to take a deep breath here. In kernel VPN is giving me a bit of a security heart attack. As a security professional I would recommend not running this on anything but a sandbox that isn't connected to your environment. A single misstep in the code, a bad implementation of a crypto library or a bad hook could easily lead to ring 0 compromise.

Not trying to discount the author's work, and I haven't reviewed any of the documentation, but until this gets evaluated by a CC lab (or like independent group) I would not implement in anything you care about.

<comment><USER23> As a "security professional", I kind of don't care whether this is in-kernel or not.

First, this is Linux, and if someone manages to get code execution in your unprivileged userland program, the odds of you keeping them out of your kernel are already pretty low.

Second, and more importantly, _this is VPN software_. If your VPN gets popped, you probably have bigger problems than whether the attacker got the kernel on the VPN server, as opposed to just being able to create arbitrary network connections from the "inside" of the VPN.

If you don't want to run it, don't run it. If you're going to ask me whether I'd trust OpenVPN more than WireGuard, no, I do not.

<comment><USER21>
        "If someone manages to get code execution in your
        unprivileged userland program, the odds of you keeping
        them out of your kernel are already pretty low."

Could you provide some sources/examples for this?

<comment><USER23> Start here:

[https://pax.grsecurity.net/docs/PaXTeam-H2HC15-RAP-RIP- ROP.p...](https://pax.grsecurity.net/docs/PaXTeam-H2HC15-RAP-RIP-ROP.pdf)

Are you running the grsecurity patches? If not, everything they do that your kernel doesn't do is another reason your userland will inevitably cough your kernel up to an attacker at some point. Even with those patches, it's still an inevitability; it's just that interval is longer.

I don't run them! I do something easier: I assume that if I lose control of userland on a Linux machine, I've lost the whole box.

It is especially weird, though, to see security people engaging in this kind of risk reasoning. It seems to me that most of the times you lose code execution _on your VPN server_ , the kernel security of the VPN server is pretty far down the list of problems you need to deal with.

</comment></comment></comment></comment></comment><comment><USER24> Looks awesome! I can't wait to play with it when it hits 1.0.

In advance of that, I'm curious: What's the tl;dr: on how this compares to Tinc? In particular, I'm wondering what WireGuard's mobile story looks like, especially in comparison with Tinc's (which is pretty rudimentary as far as I can tell), and about the extent of effort that's likely to be involved in ongoing configuration management.

<comment><USER2> Faster, more secure, and works quite well with mobile thanks to built-in roaming.

</comment></comment><comment><USER25> What happens if a client gets assigned a new IP that isn't in the server's whitelist? How do they connect?

<comment><USER2> Endpoint IPs are learned based on successfully authenticated/decrypted packets. The Endpoint= entry in the config is just the location of an initial server endpoint. Inner tunnel IPs are fixed in the config, and it's up to things that build ontop of WireGuard to manage this however fits best.

</comment></comment><comment><USER26> ""Encrypt entire IP packet using peer ABCDEFGH's public key.""

Really?

1\. RSA & ECC are both too slow for this to be performant

2\. Padding???

Certainly you meant "encrypt using a negotiated symmetric key". And earlier you meant to say "negotiate symmetric key with peer"

<comment><USER2> Your concern (1) is valid, but fortunately that's an over-simplification in the casual introduction part of documentation, which I'll fix. Sorry about that. This should read more like, "Encrypt entire IP packet using the symmetric session associated with peer ABCDEFGH." Thanks for pointing this out. As for (2), WireGuard indeed does padding; see the protocol page or the paper for details.

<comment><USER26> My concern is alleviated

Thanks!

</comment></comment></comment><comment><USER27> Does the protocol implement any kind of negotiation (ciphers, ...) ? if not, how would you handle future type of attacks against the then hardwired constructions ?

I fully agreed that being in-kernel is the right choice for performance, but the chosen constructs excludes the possibility of using any type of existing crypto hardware accelerator that shines in the IPSEC use-case (cache cold data == no cache flush overhead, fully async processing of packets with DMA chaining). Time to start lobbying SOC vendors :)

<comment><USER2> The cipher suite is part of the Noise preamble, so all operations are crytographically bound to the cipher suite to prevent against related-algo attacks. WireGuard itself has no plans for cipher agility, something that is considered an anti-feature. If these ciphers are ever considered problematic, we'll change them and release a new version (with an incremented preamble), and the new set of ciphers will be similarly non-configurable.

Fortunately AVX2-accelerated (and soon AVX512-accelerated) ChaPoly is super fast in pretty much all hardware.

</comment></comment><comment><USER28> Performance comparison would be welcome, especially on low-end hardware. For example, I'm getting 12 Mbps with OpenVPN BF-CBC on AR9341, I wonder what could WireGuard achieve.

<comment><USER2> I think I have this board laying around actually. A friend is working on OpenWRT packages so some benchmarking on there should be around the corner.

</comment></comment><comment><USER29> It would be useful to have option to connect to VPN server trough SOCKS/HTTP proxy like you can do with OpenVPN, and it is useful for traffic obfuscation and combining VPN with Tor/I2P. Another thing that I like is XOR patch for OpenVPN ([https://github.com/clayface/openvpn_xorpatch](https://github.com/clayface/openvpn_xorpatch)), that can be very useful in hiding you are connecting to VPN.

</comment><comment><USER30> I'm surprised to see that ChaCha-Poly is faster than hardware-accelerated AES- GCM. Any ideas why?

</comment><comment><USER31> Is it possible to use TCP-only?

<comment><USER2> WireGuard is UDP only. For TCP or SSL tunneling, look at a million other things that already do this.

<comment><USER18> (I don't know much about networking.)

What are the advantages of doing UDP instead of IP?

It seems like, all else being equal, doing IP has the advantage of working with UDP and TCP out of the box.

<comment><USER32> It transfers general IP packets, but encapsulates them inside UDP packets.

</comment></comment></comment></comment><comment><USER33> Seems like an interesting project. How does it compare to zerotier:

[https://www.zerotier.com/](https://www.zerotier.com/)

<comment><USER34> I was going to ask that myself but ZeroTier provided a hint. It seems to be aiming for more than a simple, IPsec replacement. It will have more features and complexity no matter what. Also, Jason already speced out the WireGuard protocol plus intends a Rust port. Will significantly increase code-level security over ZeroTier. Both need strong, peer review at protocol and implementation levels, though. As always with these things.

<comment><USER35> Designer/developer of ZeroTier here. :)

Yes, our goals are much broader than VPN. You can think of ZeroTier as a virtual smart switch built on a P2P network; a "smart switch for Earth." We want to totally abstract away the physical network. A lot of ZT's complexity over WireGuard is about working around the underlying network (NAT-t, dual- stack support, dealing with timeouts and path failures, relay fallback, peer location and roaming, redundancy, etc.) as well as smart switch features and robustness against DOS attacks and similar things.

Nevertheless ZT's core code really isn't _that_ big. The core protocol implementation is 23,000 lines of C++ code. This includes many very long comments documenting the protocol, etc., so total lines of actual code is probably more like 18-20k. It's comparable to an embedded TCP stack.

WireGuard does have some things in common with ZeroTier, such as the use of cryptography to identify endpoints and eliminate the hard-coding of endpoint addresses. This is one of many ways that IMHO cryptography actually simplifies networking. I really like the WireGuard design in general and I think it has a somewhat different use case from ZeroTier, namely fast long-lived provisioned links across WANs and insecure LANs. You could use ZT for that but this being in-kernel makes it likely faster. In any case I hate IPSec (over-engineered mess, terribly hard to configure) so any alternative to that is welcome.

(Edit: there _are_ things you can do to speed up user-mode networking like zero-copy data paths, etc., so it's not guaranteed that this would always be faster. But that's another topic.)

</comment></comment></comment><comment><USER36> Does it work against Deep Packet Inspection? I live in China, most popular VPN protocols can't pass through the great firewall.

Sorry for my English.

</comment><comment><USER37> Please let me know if this has already been posted.

Is there any worry that someon might perform a DoS attack against a client by replaying a valid packet from the target from different hosts so that the other servers cannot correctly route to the real IP of the target? This is based solely off of the description on the homepage and it might not be possible due to implementation details I'm unaware of.

<comment><USER2> Replay attacks don't work because of the nonce, so that's handled successfully.

But an attacker with an _active_ man in the middle position might change the outer (unencrypted) src IP of a packet. However, that src will need to be able to produce authentic replies; otherwise the session will quickly be deemed invalid, so that mitigates any potential very oddball amplification attacks you could dream up. And regardless, an attacker with this kind of active man in the middle can already drop packets at will, so this isn't a vulnerability.

</comment></comment><comment><USER38> Why would I want this over softether?

</comment><comment><USER39> Nice work! Exciting!!

</comment><comment><USER40> You don't want this in the kernel.</comment>


Developers: You're (Probably) Doing Passwords Wrong, Too - <AUTHOR> http://threetwelvecreative.com/blog/bid/266517/Developers-You-re-Probably-Doing-Passwords-Wrong-Too <comment><USER2> This article boils down to: use bcrypt. If you're reading this article on hacker news you're probably using bcrypt. So I say skip it...

<comment><USER3> Except shouldn't you use, or also use, scrypt, which is space intensive and therefore harder to fit on an FPGA, ASIC or maybe even GPU?

<comment><USER2> I'm going to leave the answer to others (and your personal risk tolerance vis a vis newer encryption methods). But what is clear is that this article doesn't even mention scrypt - so if you want to get into that question you'll definitely want to skip it.</comment></comment></comment>


Show HN: Walling comes to Windows to help you organize your ideas - <AUTHOR> https://walling.app/desktop-app <comment><AUTHOR> Our goal with Walling is to create a beautiful looking app with an intuitive experience to help you collect ideas and organize projects into visual boards/walls.

We've just released the Windows desktop app and that makes Walling available on the web, macOS, Windows, Chrome/Firefox extensions. iOS/Android apps are in the making!

You can find the product roadmap here [https://walling.app/XvglutVDmXy2tfcm5ggr/walling-product- roa...](https://walling.app/XvglutVDmXy2tfcm5ggr/walling-product-roadmap)

Walling for Windows promo video: [https://www.youtube.com/watch?v=3PHaGVGdhUA](https://www.youtube.com/watch?v=3PHaGVGdhUA)

<comment><USER2> Out of interest, what's the USP over something like Notion?

<comment><AUTHOR> I don't think Walling is competing with Notion. The two tools may look similar but they have different directions. Walling is more of visual boards to collect and organize ideas into bricks (blocks) and sections. You can also add tags to those bricks and be able to curate those bricks/ideas from different Walls using the tags filtering.

<comment><USER2> I agree that Notion has a different direction, it just occurs to me that you could do that in something like Notion, which also has other features

<comment><AUTHOR> Notion pages are not visual boards and it doesn't for example has inline tags and many other current and future features that Walling has. It's not because Notion is missing those features but because Walling is focused on one direction and that is collecting and organizing things visually.

</comment></comment></comment></comment></comment><comment><USER3> Cool product! Does the data on the wall go to your servers or its stored locally on the machine? How about a one time payment version for the app that allows this

<comment><AUTHOR> The data are stored in the cloud (servers) to sync if you access it from different devices. Besides the subscription plans, Walling is offering Lifetime access for $199 billed once to give you access to all the current and future platforms and features.

</comment></comment><comment><USER4> I click on the link to figure out what Walling is. I'm met with something about Linux and Mac and how the desktop is better. I'm parsing all that cognitive load instead of paying attention to your product. Sure that works for Slack. But when I land on Slack's page, I already know what Slack does these days...odds are I'm there because I'm already committed to using it. There's a difference between mature established products and new ones.

Or to put it another way, the landing page starts by disorganizing my ideas. Good luck.

<comment><AUTHOR> You landed on the desktop page "/desktop-app". Please visit [https://walling.app](https://walling.app), that's our landing page :)

</comment></comment><comment><USER5> Ohh I know this app - We featured you guys on [https://owwly.com](https://owwly.com) and you should noticed some traffic from our source :D

<comment><AUTHOR> Yes we did, thank you :)</comment></comment>


Show HN: From Congress, an archive of letters sent by Congress People - <AUTHOR> http://www.fromcongress.com/what-is-this/ <comment><USER2> > From-Congress is an attempt to collect letters sent by representatives to > their constituents.

How? Is there any automation?

How do you source the letters, and are they available on some .gov resource typically?</comment>


Airbnb Has Arrived: Raising Mega-Round at a $1 Billion+ Valuation - <AUTHOR> http://techcrunch.com/2011/05/30/airbnb-has-arrived-raising-mega-round-at-a-1-billion-valuation/ <comment><USER2> I've been waiting for some time to call out Airbnb, and I think this is the right time.

Firstly, the idea of short term residential rentals is not new. Long before Airbnb major cities, Paris, London, New York, and Toronto were dealing with the issues and the problems of short term / nightly residential rentals. In fact the latest condo boom in Toronto has been ascribed to international investors buying condos explicitly for this quasi-hotel rental market. Many cities have been passing local laws trying to prohibit this type of rental use for residences because they carry a whole host of problems. Some of those include -- emptying the downtown core of residences, artificially increasing housing costs for residents, removing the stability and security that comes from having permanent and community-invested residents, shorting cities on their hotel taxes, providing unlicensed locations for short term illicit activities, etc. So by increasing the market in these short term rentals, the communities will also feel the increase in the unfortunate side effects of these short term rental impacts. These are long term market problems that Airbnb will have to address.

Secondly, it's not a new idea because in the recent past, these rentals were managed by hotel brokers. So in that respect, Airbnb major idea is simply to replace the traditional broker that used to handle the short term rentals with a direct owner to renter model. Across the internet we see great success in online services removing brokerage inefficiencies to various markets, and for this they should be congratulated, but not overly so.

And finally, about their execution. Airbnb is not the market leader. In fact --<http://www.vrbo.com/> is. This is what amazes me the most. Vrbo (I have no professional relationship or otherwise) regularly get better reviews in online discussion boards comparing the two services. Their price structure is much more competitive, their review structure is much more robust, in fact aside from Airbnb's more sophisticated visual design, Vrbo leads in many segment of this space.

So, to what do I think Airbnb's success comes from? I think it's Airbnb's marketing / hype / buzz that has been carefully choreographed to maximize their valuation. And to this, I congratulate Airbnb on their latest success, and to a dance well done.

<comment><USER3> Finally, someone had the insight to call out this company! I mean they've _only_ managed to build a billion dollar business by turning ordinary homeowners into businessmen, provided better accomodation to hundreds of thousands of travellers across the world, destabilised an established old industry with entrenched market leaders while taking on a myriad of social and local government issues.

Seriously, they don't deserve all this hype and buzz.

<comment><USER2> Obviously that's a strawman argument. If I'm mistaken about calling Airbnb to the table, address my points, as I will address yours.

1\. They haven't build a billion dollar business, they are only valued at that. There's a bid difference.

2\. Ordinary homeowners have and had many other options to rent their properties - Short term rental brokers and VRBO are just two of them. Craigslist in another one. Airbnb alone cannot take that as their success.

3\. Perhaps they have provided better accommodations than their competitors. Do you have anything to support that?

4\. The internet itself is destabilizing the entrenched markets.

5\. And here's the reason I responded, because I am most interested in the work that they are doing to address the social and local government issues. Please provide something to support that. Google doesn't have anything..

[http://www.google.com/search?q=airbnb+address+local+issues&#...
Nor does Airbnb themselves
http://www.airbnb.com/help/search?q=local+government

<comment><USER4> "4. The internet itself is destabilizing the entrenched markets."

This one is a bit unfair, though I don't know about the rest. "The Internet (TM)" doesn't just destabilize industries in an abstract sense, it destabilizes them by a set of real companies that take market share from entrenched competition, and by allowing that entrenched competition to sometimes improve themselves in the new market (which doesn't happen as often as you'd think). It's not "The Internet (TM)" that gets credit, it's those companies.

</comment></comment></comment></comment><comment><USER5> I think a lot of startups put too much weight on what an investor thinks of their idea. Airbnb is a prime example of carrying on in the face of rejection, even if people are saying "it's a stupid idea". I know a lot of founders who, after being told by many of the Valley's finest angels that their idea is no good, would just give up.

It just goes to show that you can create a $1 billion company, even if no one really gets it in the beginning, and in my eyes at least, they are actually justifying it (making a lot of money in a lot of different places).

<comment><USER6> I think there's something to be said about knowing when to fold, and not to view these nobody-believed-in-us-but-we-overcame edge cases as motivation to play a losing hand.

There will always be false negatives, ideas that are rejected by angels but which later become enormously successful. However, if the industry's finest angels are all passing, and you can literally find _nobody_ to invest, it is probably a wise decision to give up. While angels are far from being 100% accurate in choosing what to invest in, overall they have to have _some_ sense of what's a good idea in order to sustain themselves. If they're all passing, better off hitting the drawing board.

<comment><USER7> I can think of cases where startups have found no one to invest, and have ended up doing well. This is where something like YC can help, actually; we can tell people candidly whether we think it's the investors who are wrong, or the startup.

<comment><USER8> Why are you more likely to be able to accurately judge a startup than other potential investors?

<comment><USER7> I have so much more data. I've been watching their trajectory for 4 months, while other investors (especially those that chose not to invest) may only have seen them for a few minutes at Demo Day.

<comment><USER9> But without something as quirky as the cereal story, you would have rejected them?

<comment><USER7> No. We liked them as people. The cereal story was just evidence of the qualities we sensed when we met them.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> "Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats."

-Howard Aiken

<http://www.paulgraham.com/googles.html>

</comment><comment><USER11> Fred Wilson was one of the VCs who passed on his opportunity to invest in Airbnb - his musings on that opportunity, and learning from it, are well worth a read - <http://www.avc.com/a_vc/2011/03/airbnb.html>

<comment><USER12> I wonder if he's had an opportunity to invest since then?

</comment></comment><comment><USER13> This might be a stupid question but what do you do after you secure such a large series of funding? Go on mass expansion? Would anyone mind telling me how startups typically use this kind of money (closing Series with 100+mil)?

<comment><USER14> Big ticket items:

* Mainstream promotional marketing

* Direct sales efforts (identifying target markets, staffing sales teams to pursue them)

* Business model changes to ramp up customer acquisition at the expense of profitability

* Rollups of related companies and acquisition of complementary companies.

* International expansion

* Lobbying

And there's just always something to be said for having a war chest; in today's climate, if you can lock in a very long runway at favorable terms because it's obvious you have a great shot at financial success, why not? The saying goes, "when you're hitting your numbers, you're in charge; when you're not, your investors are in charge". Even with more outside investors, Airbnb probably isn't giving up control over their destiny.

<comment><USER15> Hiring as well. I remember that Twitter was about 25 people when I was looking for jobs in 2008, just as they'd closed their mammoth $50M+ round. They're now at 400+.

<comment><USER16> Everything he said involves hiring.

</comment></comment></comment></comment><comment><USER17> Techcrunch says, "On any given night in New York there are more people staying in homes via Airbnb than there are rooms in the biggest hotel in Manhattan." For comparison: Starwood Hotels (whose brand names include Westin, W, Sheraton, and others) has more than 20 hotels in New York (some quite large), and a market cap of about $11.3 billion.

FWIW, Airbnb's commissions are 9-15% of the rate (3% from the host, 6-12% from the guest) according to their hosting FAQ[1]; no idea how that compares to typical hotel profits on a room listing...

[1] <http://www.airbnb.com/help/topic/hosting>

<comment><USER18> fyi, the Manhattan Hilton has 2,100 rooms so that means AirBNB is renting out 2,101 or more per night - thats's awesome.

<comment><USER19> In the video he mentions it's about 5000 per night.

</comment></comment></comment><comment><USER20> Congrats to AirBnB!

The way I understand it, the biggest threat to Airbnb's model are local governments starting to clamp down on this kind of (usually unlicensed?) subletting. I'm curious how the high valuation factors this risk.

Of course, I suspect the high valuation means Airbnb is planning to expand to hotels and travel in general?

<comment><USER5> Isn't the point of Airbnb that you don't stay in a hotel?

Edit: By hotel, I mean generic hotels like Holiday Inn's. I'm just going by their mission statement: "We are a community marketplace for unique spaces".

<comment><USER21> No, the point is to rent spaces to people.

When you look at them that way, a billion may be low.

I was confused when I first heard of them, I thought they were just planning to be what they are right now- spare private room rentals to travelers. But then they explicitly stated a desire to directly disrupt the moribund hotel industry by offering services that make hotel room pricing more dynamic. Hotels are dynamic now, you can almost always negotiate the rate lower, but the vast majority of people don't know that, or don't want to try. If airbnb can somehow automate a chunk of that process, there's money for every in the transaction. I think that's a hard problem, but solvable.

If they also move into subletting and temporary event space and so on... Big markets.

<comment><USER22> I don't know about the chains, but independent boutique hotels and inns already do this.

</comment></comment></comment></comment><comment><USER23> Airbnb is in a prime position to expand into the market of web-based PMS (I'm not kidding -- Property Management Systems) that are super expensive and still run on old MS-DOS machines in many hotels. Give hotels a web-based solution that interfaces with hotels.com and other sites (there's a rather involved protocol that you need to license, but the name escapes me) and you're in business.

</comment><comment><USER24> I bet the guys behind CouchSurfing are kicking themselves about now. [http://techcrunch.com/2006/06/29/couchsurfing-deletes- itself...](http://techcrunch.com/2006/06/29/couchsurfing-deletes-itself-shuts- down/)

Always keep a backup of your database! :-) In this case, I think it is pretty clear the execution is worth a heck of a lot more than the idea.

<comment><USER25> Dunno, maybe that's the other one but as far as I know CouchSurfing is still alive and kicking (see: <http://www.couchsurfing.org> \- they claim to have almost 3mln users), it's just that it isn't a commercial thing.

</comment></comment><comment><USER26> Congratulations to everyone involved. This is way cool. Super inspiring.

</comment><comment><USER27> I think this is the blog post from 2007 he references in the video [http://www.core77.com/blog/events/airbed_breakfast_for_conne...](http://www.core77.com/blog/events/airbed_breakfast_for_connecting_07_7715.asp)

<comment><USER28> I can confirm this is the original blog post via Core77.

</comment></comment><comment><USER29> _That's true. It's also true that there are quite a few marketplaces out there that serve this same market_

<http://www.paulgraham.com/airbnb.html>

The difference is execution. Any skilled designer (and I'm not a designer but I can respect design) would've looked at airbnb.com in the past couple of months and realized: this is different. The way Facebook was different. All those key design decisions add up and you get enough of an edge over everything else that you redefine the whole sector by making the sector suddenly interesting.

Anyway, I'm biased. I stayed at an Airbnb place over this weekend and it worked great. It's bigger than EBay though, for my money. It's next generation lodging that is OOM more efficient and the flood gates are probably going to start overflooding (economy seems just right with enough consumer spending to support some trips, but enough of a groupon-appreciating eye, for more and more people, to avoid hotels where possible, etc.).

I sent in my resume to airbnb after deciding to try the site (while booking a place for the night before Bay to Breakers). I didn't actually stay at a place (until this past weekend) -- but I knew that whoever created that site was way ahead of everyone. I found the answer to one of their programming challenges on the interwebs and e-mailed about it (so haven't heard back -- I expect they are pretty swarmed with interest now too). And honestly, I'm at the point where I'm not that into working for a successful startup (would just confuse things for my side projects, etc.). But I am a very happy customer. And Brian Chesky is a new kind of entrepreneurial genius (his Startup School presentation still reverberates). Cheers.

</comment><comment><USER30> Huge congratulations to Airbnb. That's incredible.

</comment><comment><USER31> Random financial speculation:

Around 5000 rooms a night get rented (via the video).

The make an average of ~10% per transaction (3% from the host, the rest from the guest: <http://www.airbnb.com/help/topic/hosting>)

Say an average of $60/night.

60 * 0.1 * 5000 = $30,000 revenue/day.

That's pretty decent money.

</comment><comment><USER32> For all the talk of bubbles, I think AirBnb is actually undervalued at $1billion. I want this noted. Before AirBnb space was being wasted. Now its being used. That is something of fundamental value. The dubious valuations are things like FourSquare, LinkedIn and GroupOn.

</comment><comment><USER33> What is their revenue? How much profit are these guys making? How big is their team?

<comment><USER34> I'd like to know this as well (although $1 billion makes sense, they make a cut on every transaction, as opposed to Facebook which doesn't make a revenue on every customer)

<comment><USER35> Given that they probably sell at least some of their advertising CPM, every new customer probably does equal more revenue. How much, not sure, but it could be pretty high when you consider how many impressions an active user will make each day.

</comment></comment></comment><comment><USER36> It will be interesting to see how AirBnB maintains the listing quality as it scales which I would argue is currently its main advantage over VRBO, HomeAway, Craigslist, et al. These types of sites tend to devolve into a homogeny of bland, "professional" listings, hence HomeAway's boring rollup strategy. What has made AirBnB somewhat unique and appealing has been the interesting listings and the care and personality of the property owners.

</comment><comment><USER37> All things considered, this is definitely fantastic. I was watching the TechCrunch TV video of Ashton Kutcher earlier today about his surprise (at the time) investment of Air BNB. Looks like this guy really knows what he's doing when it comes to investing - skype, foursquare, not abnb. Pretty cool.

Anyway, congrats to the abnb team, much deserved!

</comment><comment><USER38> I'm curious how well Airbnb is doing outside of New York. New York's real- estate market is so out of whack it strikes me as fertile ground for p2p hotel rooms.

One example: I wonder how many people are renting out rent-controlled apartments on Airbnb at a huge profit, while the owner maintains the unit at a loss?

<comment><USER39> If I caught the details correctly, they state that they do as many rooms in the NYC region as the largest NYC hotel, which puts them at 2k+ rooms/night in NYC.

Then I believe they claim about 5k rooms/night total, which means that >40% of their global business is NYC.

</comment></comment><comment><USER40> Wow, congratulations.

</comment><comment><USER41> Congrats guys! Great interview, Brian!

</comment><comment><USER42> What's wrong with craigslist's vacation rentals??

</comment><comment><USER43> Apparently $1B doesn't get you as much as it used to...

<comment><USER44> Well due to inflation it doesn't....

</comment></comment><comment><USER16> When tech companies raise billions, it's a bubble.

When hedge fund CEOs are paid $600 million in salary... it's a recession.

Congrats to AirBnb and YC on joining the top .001% :]</comment>


Clojure 2014 Year in Review - <AUTHOR> http://stuartsierra.com/2015/01/02/clojure-2014-year-in-review <comment><USER2> For everybody who wants to start Clojure, I know that there are loads of good resources, but the best one which I had found is this online MOOC:

[http://iloveponies.github.io/120-hour-epic-sax- marathon/](http://iloveponies.github.io/120-hour-epic-sax-marathon/)

Teaches you TDD in Clojure and "forces" you to use git / Github / Travis to test your code.

Highly recommended.

edit: style.

<comment><USER3> I highly recommend this course as well.

I believe the official link is [http://mooc.cs.helsinki.fi/clojure](http://mooc.cs.helsinki.fi/clojure)

</comment></comment><comment><USER4> This is great! Glad to see more Clojure adoption in the corporate world. It's definitely well deserved!

I used it only once at work to develop a stress test for a Java based game server. It was great fun to build, worked like a charm and ended up taking less than a thousand lines of code to implement the communications, bots and their execution scripts.

Furthermore, the company just bought a copy of The Joy of Clojure and there's already a bunch of my coworkers interested in reading it. Good times!

<comment><USER5> A word of advice with Joy of Clojure: take up meditation. That book is surprisingly dense. I had to research topics ever few paragraphs. It is not a beginners books. Rather pair it with Clojure for the Brave and True. Combined the language comes alive.

[https://www.google.com/url?q=http://www.braveclojure.com/&sa...](https://www.google.com/url?q=http://www.braveclojure.com/&sa=U&ei=_PCmVKeDGoS1ggTSs4SIBw&ved=0CAwQFjAA&usg=AFQjCNHwREuT- zFOIgs3_qMP0MGHnqITuA)

<comment><USER4> Good advice! The book is definitely dense and packed with useful information. I didn't read Clojure for the Brave and True yet, I'll add it to my reading list, thanks!

However, I found it easier to digest than Let Over Lambda which was a real mind bender for me a few years ago. Being a LISP fan before learning about Clojure definitely made learning it much, much easier. It also made me appreciate the language early on for its impressive beauty, elegance and simplicity.

</comment></comment></comment><comment><USER6> The amount of traction that Clojure is getting in companies like Walmart, Amazon, and elsewhere is surprising and impressive.

Great work Clojure community.

</comment><comment><USER6> Are we beginning to see the tipping point where mainstream corporates are starting to question whether traditional OO is the right way to go?

Not to start a flame war, but it seems that Clojure/Rich's strong anti-OO stance is almost a selling point of the language.

IMHO, OO just put some lipstick on the procedural pig.

<comment><USER7> Clojure is continuing the LISP subculture that has existed for a long time, nothing new here.

OO will continue to be successful for accessibility reasons, and it's demise will continue to be predicted to have arrived.

<comment><USER8> I think you're right about OO's continued survival. I also think mikerichards is right that OO is just technicolor procedural programming. Moreover, i think these two things are related: OO is immortal in part because it's straightforward and obvious, just like procedural programming.

But i don't think Clojure is _just_ continuing the (equally immortal!) LISP subculture. I think LISP is growing by recruiting people from OO-ish languages like Java, Python, and Ruby, rather than from existing LISPs. This is the first time in a long time that a LISP has done that. It's also the first time in a long time that a LISP has got even this glimmer of mainstream use. pg wrote 'Beating the Averages' in 2001 [1], and even after that, everyone _still_ thought LISPers were freaks. But announce you're using Clojure in production today, and nobody bats an eye.

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

<comment><USER7> The advantage of OO has always been its accessible constructs and abstractions that mirror how we talk about things linguistically. Nouns are just sticky that way. It isn't a big delta over procedural programming, and you can find object systems in many C programs written before OOP was even a word. Heck, even Clojure has its own object systems; they just often call them entities rather than objects (what is an entity? well, its an object, but not the object you are used to). I think our current OO abstractions suck, but the paradigm is OK, especially when considered in the abstract (go back to the treaty of Orlando to see how diverse objects can be!). And the biggest pushers of objects in the early day were CLOS people like Richard P Gabriel, and CLOS (edit: Flavors actually as lipsm points out) gave us mixins, which are a pretty advanced OO construct (though RPG argues the mixins that got adopted in OO languages were not the ones CLOS intended).

People were using LISP in production in the 90s as an advantage, but then they were also using Smalltalk or Objective C also (ironically often in the same places...on Wall street). A new generation is discovering LISP while learning other languages first, but the phenomena is the same: OO was just less popular in the past and so they would come from C or Perl instead of Java.

[edit: not sure why you were downvoted, I thought your post was completely reasonable]

<comment><USER6> _The advantage of OO has always been its accessible constructs and abstractions that mirror how we talk about things linguistically. Nouns are just sticky that way._

But I only see that argument giving an advantage to some weird language that doesn't have structures. In C, Pascal, COBOL, you have "objects"....you just don't have any methods attached to them.

 _And the biggest pushers of objects in the early day were CLOS people like Richard P Gabriel, and CLOS (edit: Flavors actually as lipsm points out) gave us mixins, which are a pretty advanced OO construct (though RPG argues the mixins that got adopted in OO languages were not the ones CLOS intended)._

I'd argue that methods and data don't belong together (like in CLOS), but don't have the inclination to argue it right now. I'll just say it's never felt natural to me, and actually hurts reusability.

<comment><USER7> > In C, Pascal, COBOL, you have "objects"....you just don't have any methods > attached to them.

When I encoded my own objects in C, I definitely had v-tables (though I didn't know they were called that at the time).

> I'd argue that methods and data don't belong together (like in CLOS), but > don't have the inclination to argue it right now.

It is difficult not to put behavior and data together while still having encapsulation (it is still possible). It makes much more sense for functional programming since values lack identities (they are completely defined by their structure), but objects have state that need to be protected for sanity reasons.

<comment><USER9> Yeah, but your argument is kind of circular - we put behavior and data together because we need encapsulation and we need encapsulation because objects have an identity that needs protection, yet those objects need an identity because we are putting behavior and data together, in combination with mutability of course.

Also encapsulation happens quite well in languages that do not have the "private" or "protected" keywords. In Javascript encapsulation happens by closures and local scoping. In Python it happens by convention. Also, take most software developed ever in an OOP style and you'll find plenty of examples of leaky encapsulation (i.e. APIs that leak restricting implementation details), starting with the popular Iterator. IMHO, the best abstractions I know come from languages that are not OOP at all.

I'd also argue that the encapsulation you're talking about doesn't have much to do with OOP in general, only with a particular flavor of it. But that's the problem in all conversations about OOP - take any 2 random people and they'll have different opinions about what OOP is.

For me OOP is about subtyping or more specifically a form of ad-hoc polymorphism that's solved at runtime. It's very convenient for modeling certain kinds of problems for sure - graphical UIs are the best example, or a browser's DOM and even die-hard detractors would find it hard to argue that a Monoid isn't a Semigroup, or that a Set shouldn't be a Function. In fact, objects in OOP do not necessarily need an identity, in which case they are just values, yet you can still put that polymorphism to good use.

But then OOP as implemented and used in mainstream languages is truly awful, being no wonder that people still consider C with half-baked object systems as being something acceptable.

<comment><USER7> Objects require encapsulation because they have something (mutable state and sensitive data) to protect. Also, I hope its obvious that with identity, you get mutability automatically (just use an immutable map as in Clojure!), and you can't really have meaningful mutability beyond global variables without identity.

Of course, encapsulation can occur at module boundaries, and even when programming with objects, a notion of "internal, package private, or friendship" is often useful. But it is pretty well acknowledged in the PL community that Javascript does encapsulation in the worst way possible (something OOP and FP people can actually agree on).

> But that's the problem in all conversations about OOP - take any 2 random > people and they'll have different opinions about what OOP is.

Most people focus on laundry list of pet or hated features when defining OOP, but to me, its all about the objects and if you are thinking in terms of objects in your design. So...

> For me OOP is about subtyping or more specifically a form of ad-hoc > polymorphism that's solved at runtime.

I think these are very useful when thinking in terms of objects, but that features like this do not "define objects" but rather that "working with objects make these features desirable." Since you mention it...

> In fact, objects in OOP do not necessarily need an identity, in which case > they are just values, yet you can still put that polymorphism to good use.

I would say subtyping is useful for values, but not that anonymous value have somehow become objects since you are manipulating them with subtyping! If I have two values, say 42 and 42, they are the same value no matter how they were computed, stored, retrieved, and so on. They cannot have state (since you can't have state without identity), the different 42s are indistinguishable. In fact, since values are defined solely by their structure, other forms of subtyping might be considered over nominal, like structural, and you might want to abstract over them using type classes. But the reasoning is math-like equational, you aren't really doing OOP at that point from even a design perspective (this is my position, of course it is wide open to debate in the community).

I like C# since it provides both values and objects, and they are adequately separated even if some subtyping still applies to values. But when I am manipulated structs, my design perspective has shifted away from objects; I don't think of them as objects.

> being no wonder that people still consider C with half-baked object systems > as being something acceptable.

Back in the 90s, we didn't have much else, C++ still wasn't very trusted; Java was very new. Or if you are referring to C++ and Objective C today, I really couldn't disagree with that.

<comment><USER9> > _I like C# since it provides both values and objects_

I don't think the distinction is so clear cut. An immutable List is a value, because it is clearly defined by its structure, yet you need heap-allocated values in C# (so objects) because you need pointers. An immutable List would also implement various interfaces, like Iterable, so polymorphism is useful as well.

I also forgot to say that the polymorphism that we get with OOP is NOT enough. Static languages also need generics and all languages also need type-classes or something similar. Type-classes are different and useful for different use- cases than OOP, because the dictionary is global per class and not per instance. And if it is solved at compile time, like in Haskell or Scala, it also has some performance benefits.

Clojure's protocols for example are pretty neat and get pretty close to type- classes.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I've been writing Clojure almost exclusively for 3 or 4 years and it's just amazing. Core.async, Quil, Om, Chestnut, ClojureScript, ClojureScript + Apache Cordova, and I could go on forever.

<comment><USER11> Just learning Clojure now. Would you do us newbies a favor and say a few words about the projects you mention: what they do, why we should look into them? There is much to learn, so a shove in the right direction(s) would be useful.

<comment><USER10> Core.async is an official Clojure and ClojureScript library that takes channels from the Go language and adds them to Clojure in a much nicer way.

[http://clojure.com/blog/2013/06/28/clojure-core-async- channe...](http://clojure.com/blog/2013/06/28/clojure-core-async- channels.html)

 _All of the operations are expressions (not statements)

_ This is a library, not syntax

 _alts! is a function (and supports a runtime-variable number of operations)

_ Priority is supported in alt

\--

Quil is a Clojure and ClojureScript library for creating interactive drawings and animations using Processing ([https://en.wikipedia.org/wiki/Processing_%28programming_lang...](https://en.wikipedia.org/wiki/Processing_%28programming_language%29)).

\--

Om is actually an interface to Facebook's React. Ironically, the terminology, and the feature set of Om has little, if any, resemblance to React. Om specifically transforms Clojure data so that it can be represented in a way that React can uderstand.

In the Clojure world, we build on top of React and stay away from anything that resembles JavaScript and it's behavior. React provides a virtual DOM and we just use Clojure to talk to the rendering engine.

[https://gist.github.com/runexec/6efb322f29fc790a98a1](https://gist.github.com/runexec/6efb322f29fc790a98a1)

\--

Chestnut allows live coding in the browser. This means all changes are visible without having to reload the page.

2 Minute video of Om using Chestnut. [https://www.youtube.com/watch?v=gI3fJKmvgq4](https://www.youtube.com/watch?v=gI3fJKmvgq4)

[https://github.com/om-cookbook/om-cookbook](https://github.com/om- cookbook/om-cookbook)

\--

Apache Cordova is the Apache License version of Adobe PhoneGap. ClojureScript compiles to highly optimized JavaScript already, so you can make mobile apps using ClojureScript and Apache Cordova.

<comment><USER12> > ClojureScript + Apache Cordova

I've been interested in this mixture recently. I use PhoneGap quite a bit. Currently my favorite combination is Sencha Touch Framework with CoffeeScript. IMO, this is a really simple way to develop mobile apps. Do you know of any open source examples of ClojureScript + Apache Cordova?

<comment><USER13> How's the performance with Sencha & PhoneGap? I've made several apps (with Angular, Ionic & Ember) and the performance has always varied from bad to utter shit.

<comment><USER12> Sencha Touch is the most performant mobile framework that I've experienced. I will admit that it takes some time to get acquainted with Sencha Touch intricacies. If you pay no attention to resource control (primarily: how many elements you are creating without destroying them) you can get a bad experience. Of course, we're talking about apps that don't require a lot of non-traditional components. I think this route is the best choice for fast prototyping of cross-platform mobile apps. And, I think it's the ideal choice, unless you have a large enough team and budget to code out native versions for you target platforms. Here is an example of an app I did for a startup I was working on. It uses CoffeeScript + Sencha + PhoneGap + some custom native plugins for PhoneGap.

[https://github.com/celwell/wesawit- st2-app](https://github.com/celwell/wesawit-st2-app)

When you start to veer away from a top-notch framework like Sencha Touch, you can run into a lot of performance issues that a good framework would take care of for you. For example, your scrollable components should probably be using CSS translate3d() to make use of hardware accelerations; and myriad other tricks.

<comment><USER13> Thanks. I might give phonegap one last try with Sencha.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> Not mentioned in the article but most interesting to me this year is how these guys are "building a bank from scratch in Brazil with Datomic and Clojure": [https://www.youtube.com/watch?v=7lm3K8zVOdY](https://www.youtube.com/watch?v=7lm3K8zVOdY)

The future looks bright for the language, especially with applications like this.

</comment><comment><USER15> Clojure is awesome. However I don't want it to become too popular, as then those who do currently use it will lose all our magical powers if everyone has access to it :)

</comment><comment><USER16> Are people finding it easy/easier to fill clojure positions?

<comment><USER17> My team which uses Clojure recently decided to grow. I regularly attend a local Clojure focused Meetup, and it is very easy to find interested developers there. The Meetup, which meets in Philadelphia, has over 150 members, so at least there is a large number of people interested.

</comment></comment><comment><USER18> I'd like to add that I'm starting a Clojure job next Monday at a "boring" company that you would never think would have a heavy reliance on Clojure. I think that there's a demand for Clojure developers that is unmet. I keep getting recruiters and etc. messaging me about Clojure.

<comment><USER19> Citi?

<comment><USER18> Nah, it's at a company called RentPath. They own Rent.com, Apartment Guide, etc. I'll be a remote engineer.

<comment><USER20> Apartment Guide gave me a mug at Clojure/West last year...I was a little surprised that they were so invested in Clojure that they were sending multiple devs with boxes of swag to a Clojure conference. The devs I talked to also said they weren't very experienced with Clojure yet.

</comment></comment></comment></comment><comment><USER3> Microsoft/Nokia is using Clojure to power the web services behind MixRadio.

<comment><USER21> I'm from MixRadio and we're actually about 40 engineers, not all doing Clojure. Pretty much all of our new micro-service work is done using Clojure. Not sure how many others in wider Microsoft/Nokia.

Edit: making it clearer.

<comment><USER22> I know that the Nokia Map people in Berlin use clojure.

</comment></comment></comment><comment><USER23> I am surprised that no one here has yet mentioned Clojure in connection with Big Data. At OSCON 2014 ( see [http://glennengstrand.info/analytics/fp](http://glennengstrand.info/analytics/fp) ), I was first introduced to Cascalog which allows you to write Hadoop map reduce jobs in Clojure. Both Cloudera and Hortonworks support it.

</comment><comment><USER24> I am not sure I would use RedMonk Index as popularity measure.

Most people who I see using clojure are bored ruby programmers and they bought their open source culture with them to clojure.

Clojure is not even in top 50 on TIOBE index [http://www.tiobe.com/index.php/content/paperinfo/tpci/index....](http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html)

<comment><USER25> Red Monk's inputs are at least numbers based on tracks left by actual programmers and not meaningless search results.

The "index" is calculated ([http://www.tiobe.com/index.php/content/paperinfo/tpci/progra...](http://www.tiobe.com/index.php/content/paperinfo/tpci/programminglanguages_definition.html)) by searching the 25 highest ranked web sites on Alexa which have a search box and meet some basic criteria then magically weighting them as follows:

\- Google - 7.7% \- YouTube - 7.4% \- Baidu - 7.1% \- Amazon - 6.8% \- Google India - 6.5% \- Yahoo Japan - 6.2% \- Hao123.com - 5.8% \- Google Germany - 5.5% \- Microsoft Bing - 5.2% \- Google Japan - 4.9% \- Google UK - 4.6% \- AliExpress - 4.3% \- Alibaba - 4.0% \- Amazon Japan - 3.7% \- Google Brazil - 3.4% \- 360.cn - 3.1% \- Google Italia - 2.8% \- Amazon Germany - 2.5% \- Google Spain - 2.2% \- Amazon UK - 1.8% \- Google Mexico - 1.5% \- Google Canada - 1.2% \- Google Ad Services - 0.9% \- Amazon China - 0.6% \- Google Poland - 0.3%

I might buy that a general internet or e-commerce search might tell you one (low-signal, high-noise) piece of data about popularity. Some of these sites seem highly questionable to tell you anything meaningful. Garbage in / garbage out.

I think use of more specific numbers from sites like Stack Overflow or GitHub seems far more likely to give you relevant information.

</comment></comment><comment><USER26> Since Clojure adoption is picking up, what about convincing management to use other Lisps now? Clojure is okay, but I much prefer Scheme (Guile, Racket, Chicken, etc.).

<comment><USER27> Between Guile, Chicken and other *nix Schemes which would you recommend for general scripting and admin task automaton? Which has a more expansive library ecosystem? I found that Clojure isn't the best fit for thEse tasks because of the start-up time and the JVM dependency.

<comment><USER26> Have you read [http://wingolog.org/archives/2013/01/07/an-opinionated- guide...](http://wingolog.org/archives/2013/01/07/an-opinionated-guide-to- scheme-implementations) ? It might help you weigh your options and make a pick that best suits your preferences. I don't think you could go wrong with Guile or Chicken. I use Guile pretty much exclusively and it has a good POSIX API, so I write scripts in Scheme instead of Bash or Perl or whatever.

</comment></comment></comment><comment><USER25> We maintain a growing list of companies using Clojure here - [http://clojure.org/companies](http://clojure.org/companies)</comment>


The wheels on the new Mac Pro don't have locks. They cost 550$ - <AUTHOR> https://np.reddit.com/r/CrappyDesign/comments/f9w94p/the_wheels_on_the_new_mac_pro_dont_have_locks/ <comment><USER2> That's the whole point. Wheels = $550, Wheels + Lock will soon equal $799+

Apple deliberately does this nonsense to later improve it later only for them to sell it at a higher price. You're the bigger fool for buying the first version of a new form factor, which is always a red flag in Apple products.</comment>


Show HN: ShoutBox – post your secrets, rants and wishes anonymously - <AUTHOR> https://shoutbox.gq/ <comment><AUTHOR> For the curious ones, this thing runs on Flask with MongoDB and Consul. I'm using Prometheus to collect some basic metrics and Grafana to visualize them. And yes, I'm going to open source it soon.

</comment><comment><USER2> Pretty cool. Like a web version of Whisper. The first thing I wanted to do was comment anonymously. Voting is fine but secondary.

<comment><AUTHOR> Yep, commenting is a must-do. I am still not entirely sure how. Having 100% anonymous comments would be cool, sure, but you can't really have a conversation with somebody if you are not sure whether two comments are from the same person or not. I think that commenting will require some sort of identification: to start with, it can be the browser session, in the future I might add the ability to register accounts.

<comment><USER3> [https://en.wikipedia.org/wiki/Imageboard#Tripcodes](https://en.wikipedia.org/wiki/Imageboard#Tripcodes)

</comment></comment></comment><comment><USER4> cool app. I'm curious as to what inspired this. and how do you intend to prevent spam since users are posting anonymously.

<comment><AUTHOR> This was inspired by apps like DevRant. Problem with those apps is that everything you post is linked to your account. What if you post a story, somebody you know reads it and recognizes you? That person would know all your secrets and shouts.

I wanted to create something where I could post without worries: no accounts, no censorship, automatic expiry (so things don't stay forever and you can have no regrets).

Regarding spam: that's a hard problem for sure. To stop bots, I'm thinking about adding a captcha. To stop spammy humans, there's already a "flag" button below each post. I'm thinking about adding a machine learning module that maybe can learn from the flags and then identify spam automatically. We'll see how it goes. If this thing gains some attraction, I'll surely add moderators from the community around it.</comment></comment>


Sidis Archives - <AUTHOR> https://sidis.net/ <comment><AUTHOR> If he published anonymously surely with machine learning these books could be identified for prose similarity?

I imagine if Google has OCRd nearly all the books this would be an interesting problem for someone there.

Unless they've already done it.</comment>


GNewSense — GNU's completely free version of Ubuntu (no proprietary binary blobs) - <AUTHOR> http://www.gnewsense.org/ <comment><USER2> This isn't actually a FSF project, but they do however provide assistance and hardware. Obviously, they are very interested in it, given it's stance on the no "non-free" software issue.

<comment><AUTHOR> You're right, I wish I could correct the headline.

</comment></comment><comment><USER3> So, given that Fedora (and RHEL, for that matter) has always had a policy of no non-free components, and it's easier than trivial to install a Debian system with no non-free components (just don't enable the non-free repositories)...what is this for?</comment>


Expense-A-Steak: Expense Report Generator - <AUTHOR> http://expenseasteak.com/

<comment><USER2> The way they do the degradations is great.

Also, the book store receipt has listed as a purchase "Sunday is the New Monday and Other Tips for Giving 111% at Work"

</comment><comment><USER3> <http://grab.by/2unF>

I think I'd rather explain the steak than 37 compressed air bottles.

I'm also surprised you can't enter your own credit card number's last four digits.

</comment><comment><USER4> FWIW, though it came later, I think Smith and Wollensky's Steak For Stock program is cleverer. Enter the ticker of the stock you just got in lieu of a cash bonus and based on the previous closing price it will tell you what you can get.

Try it: <http://www.steakforstock.com/>

eg - GS (Goldman) - 1 Sirloin, 1 Porterhouse, Shrimp Cocktail C (City) - 1/2 Order Creamed Spinach

Read about it: <http://adage.com/adages/post?article_id=141902>

<comment><AUTHOR> GOOG: $539.32 1 Double Sirloin 1 Porterhouse 1 14 oz. Lobster Tail 1 NY Sirloin 1 Filet Oscar Style Prime Rib of Beef American Lamb Chops 1 Halibut S&W Lobster Cocktail Sauteed Spinach Mixed Green Salad Soup Du Jour Baked Potato

<comment><USER5> BRK-A: $114105 2 Double Sirloins 1 Porthouse 2 14 oz. Cold Lobster Tails 1 NY Cut Sirloin 1 Dover Sole Meuniere 1 Cajun Marinated Rib Steak 1 Colorado Rib Steak 1 Sirloin 1 Sliced Steak Wollensky 1 Filet Oscar Style 1 Roasted Veal Chop 1 Filet Mignon w/ Roquefort 1 King Salmon 1 Red Snapper S&W Lobster Cocktail Shrimp Cocktail Creamed Spinach Asparagus Vinaigrette Wild Mushrooms Wollensky's Famous Split Pea Soup Onion Rings Broccoli 2 Baked Potatoes Dessert

<comment><USER6> how about this; you give me the share and I'll treat you 2 of everything on this list?

</comment></comment></comment></comment><comment><USER7> I put in $10,000.00, and it came back w/ receipts for ~$4500 in yellow toner and ~$3500 in Air-In-A-Can.

How would one defend this during an audit? "We had a company wide chicken- colored, jet paper airplane contest. The paper we already had on hand, we just needed to pickup the coloring and the jets"

</comment><comment><USER8> Hilarious... although I think I would get a few questions about why I needed 12 toner cartridges and a laser printer.

</comment><comment><USER9> At first i thought this was pretty awesome, but it doesn't change any dates and basically bundles everything into laser print cartridges. It should at least change the dates on the receipts. A- idea, C+ execution. Another 2 hours of coding would have made all the difference.

<comment><USER10> Wow, a little harsh for a funny little app, don't you think?

<comment><USER11> Internet humour is Serious Business.

</comment></comment></comment><comment><USER12> In related news, a NYC Councilman, recently indicted for corruption, is alleged to have taken a $7 receipt for a soda and bagel sandwich, doctored it to look like a $177 receipt, and submitted it for reimbursement. This was part of his technique to siphon money out of a political club that he controlled (bribe money was allegedly disguised as donations to the club) into his pockets.

Maybe he should have gone for the fake toner and compressed-air receipts instead.

[http://tpmmuckraker.talkingpointsmemo.com/2010/02/ny_council...](http://tpmmuckraker.talkingpointsmemo.com/2010/02/ny_councilman_allegedly_doctored_receipt_to_get_17.php?ref=fpblg)

</comment><comment><USER13> wow! this is genius. would have definitely come in handy during my consulting days instead of fishing around for blank cab service receipts. brilliant marketing gimmick as well.

</comment><comment><USER14> As soon as I start entering a number, up pops Firefox's Quick Find in the status bar. Anyone else get that?

<comment><USER15> Yes, I have Quick Find set up to turn on as soon as I start typing though. The input isn't being captured by a normal textbox so it's triggered.

</comment></comment><comment><USER16> Hilarious and totally credible!</comment>


Teen's Facebook update gets robbery charges dropped - <AUTHOR> http://arstechnica.com/tech-policy/news/2009/11/teens-facebook-update-gets-robbery-charges-dropped.ars

<comment><USER2> At least there's some consistency, I guess. If child porn was posted to your Facebook page the cops would knock on your door and say that it's _your_ account so _you_ are the one that posted it. Though I wish that -- in general -- law enforcement would wise up to how things work with respect to computers.</comment>


Test if your website is blocked in China - <AUTHOR> http://viewdns.info/chinesefirewall/?hn

<comment><USER2> 1) It's down

2) Where is it testing from? Being blocked in China isn't binary; the great firewall is intentionally leaky. There are a lot of sites you can get to from western hotels that you can't from cyber cafes, for example.

</comment><comment><USER3> I wont trust it a lot since it says torproject.org is not blocked anywhere in China <http://viewdns.info/chinesefirewall/?domain=torproject.org></comment>


Show HN: The New CloudRail Portal – Find the Right API and Connect Faster - <AUTHOR> https://cloudrail.com <comment><USER2> I agree that it's a great idea, are there competitors?

But just a little feedback on the tagline, the "10x" sounds a bit amateurish, since it's not backed by any data and just sounds like over-hyped marketing speak. "Find the Right API and Connect Faster" is much cleaner and more professional. I would also invest in some design help. But overall, good job!

<comment><AUTHOR> Thanks for your feedback! Yes there is some competition but we differentiate in terms of the technical approach. All of our competitors use a hosted middleware which means all data is transferred via their servers. We have a P2P approach and never touch the data. So no SPOF or privacy issues.

</comment></comment><comment><USER3> Sounds like a great idea. As an aside, you cant view the integrations on a chrome/Android browser in landscape mode. They are hidden behind the buttons like you're looking through a fence.

<comment><USER4> I would be a bit stronger. The entire page is a pain to use on a mobile device (iphone 6s with chrome here). Stuff goes just outside the screen in portrait mode, scroll over other stuff when scrolling, etc. I was interested but closed the page after couple of seconds because interaction was a pain and the information did not fit in my screen.

Also 10x faster than? 10x faster can still be slower than I do today. It is all about comparisons..

Hope the experience is great on a non-mobile device and wish you the best with the product.

</comment></comment><comment><USER5> I don't think that big api's like dropbox, paypal, google and co. are changing that often.

And because i have to update the library from CloudRAIL anyway, where is the gain?

<comment><AUTHOR> We keep the interface consistent. So even if you have to update the CloudRail SDK, the API itself won't change. So no code changes required. In general APIs change from time to time, some more often others not once. But if you consider how many APIs need to be integrated in an application todays, there is always a change somewhere.</comment></comment>