5 ms·
Interesting write-up, though it leaves me terrified how a relatively small, more or less single purpose application like the Dropbox client has over 1 million l
by thijsvandien 8y ago
Interesting write-up, though it leaves me terrified how a relatively small, more or less single purpose application like the Dropbox client has over 1 million lines of code in Python alone.
- larrik 8y agoDropbox doesn't feel that small or "single purpose" to me anymore.
- thijsvandien 8y agoWhat does the Dropbox client do for me other than syncing files and exposing a bit of the online functionality such as generating share links? (Serious question...)
- iscrewyou 8y agoWe can simply start by asking what does “syncing files” include? Watching files. Keeping backup of files. Keeping conflicts resolved. Watching Selective Sync files and folders. Watching Smart Sync files and folders. Notifications for synced files. Etc. etc. There’s way more the client does than what I mention.
- thijsvandien 8y agoI agree that syncing is far from trivial, but that doesn't change it's a single purpose.
- kiriakasis 8y agoNot to build a straw man but by this logic also a browser is a single purpose application
- paulddraper 8y agoA rocket ship is also "single purpose."
- PurpleRamen 8y agoI don't think there is much code for conflict-resolving in dropbox. Usually in case of conflicts it renames one of the involved files and add a message about conflict and the date to the name and moves on.
- varenc 8y agoPerhaps there's lots of code to minimize the number of times a real conflict occurs?
- paulddraper 8y ago> small > more or less single purpose application > Dropbox client Heh.
- fermienrico 8y agoI found the Dropbox lecture [1] at Stanford one of the most riveting things ever. There is just so much technology behind Dropbox, it is staggering. There is a reason why it is so much better than iCloud sync, Google Drive, Box or OneDrive. [1] https://www.youtube.com/watch?v=PE4gwstWhmc https://www.youtube.com/watch?v=PE4gwstWhmc
- travbrack 8y agoThis led me to find another loosely related but very entertaining piece of dropbox history. The original "Show HN" post: [1]. It's funny to see so much skepticism knowing now what the company became. [1] https://news.ycombinator.com/item?id=8863 https://news.ycombinator.com/item?id=8863
- billforsternz 8y agoYes, this is one of the classics - right up there with the "less space than a Nomad, no wireless, lame" comment (which wasn't on HN I don't think - but we all know it could have been :) Edit: I see the motherlode is in place earlier in the thread "Especially when you could build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem"
- mixmastamyk 8y agoThe iPod comment was from slashdot, if memory serves.
- wiredfool 8y agoYes. CmdrTaco, when posting to the home page: https://slashdot.org/story/01/10/23/1816257/Apple-releases-iPod https://slashdot.org/story/01/10/23/1816257/Apple-releases-i... (that post is old enough to vote in this year's election).
- anentropic 8y agoha, that's a nice counterpart to the 'trivial' thread above https://news.ycombinator.com/item?id=18071820 https://news.ycombinator.com/item?id=18071820
- panic 8y agoThe size of a codebase is less about its function and more about the number of people adding code to it.
- thijsvandien 8y agoWhat would you consider the main cause(s) of that?
- deleted 8y ago[deleted]
- panic 8y agoThe job of a programmer is to write code, so that’s what they do. I doubt there are very many people at Dropbox whose job it is to remove code!
- maltalex 8y agoThat’s an extremely narrow definition of a programmer’s job. I think that in terms of lines if code, my contribution to many projects was net negative.
- deleted 8y ago[deleted]
- MisterOctober 8y agoI dunno - refactoring often involves removal of a fair bit of code
- icebraining 8y agoThe classic story: https://www.folklore.org/StoryView.py?story=Negative_2000_Lines_Of_Code.txt https://www.folklore.org/StoryView.py?story=Negative_2000_Li...
- flukus 8y agoIn turn this becomes the number of people required to maintain a codebase.
- chubot 8y agoYou might only use a small part of Dropbox, but I bet there is a lot of functionality that you don't care about but which is critcial to Dropbox as a business/product for others. The fact that you think it's small means they're probably doing something right! Relevant: https://danluu.com/sounds-easy/ https://danluu.com/sounds-easy/ (FWIW I don't use Dropbox myself, but I definitely had people ask me why Google needed 3,000 employees back in the day. Apparently it now has nearly 90K employees.)
- carlmr 8y agoFrom the article >There's also a wide body of research that's found that decreasing latency has a roughly linear effect on revenue over a pretty wide range of latencies for some businesses. Increasing performance also has the benefit of reducing costs. I wish he cited some of that research, because Google doesn't show much except for this amazon study with the 100ms. I'm especially interested if there's any research on engineering tools and their latency (long build times) etc., which are chronically under addressed in quite a few large corporations. I'm just wondering if there's some studies that would make the case for me if I were to present this to management.
- PascLeRasc 8y agoEspecially when you could build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem!
- orf 8y agoSarcasm doesn't translate well on the internet, so I'm really not sure if suggesting using CVS (of all things) over a mounted FTP share as a replacement for Dropbox is a joke!
- _ZeD_ 8y agoYou have no idea how web development is different from desktop one
- Marazan 8y agoIt might be single purpose but that single purpose is a reallllllly difficult problem.