Free Programming Ebooks - <AUTHOR> http://citizen428.net/blog/2010/08/12/30-free-programming-ebooks/

<comment><USER2> Another memorable list <http://programming-motherfucker.com/become.html>

<comment> sasha-dv Thanks mekoka for this list.

The best free programming book, and one of the best books in general, I've ever read was _Programming from the Ground Up_. It's not on the citizen428's list, but the mofo's list has it.

If you haven't read it I highly recommend you do. Here's the link: <http://savannah.nongnu.org/projects/pgubook/>

</comment></comment><comment><USER3> I hate this. Now I have even more books on my reading list. Damn it.

</comment><comment><USER4> Here's a list that i think was on HN a while back.

[http://stackoverflow.com/questions/194812/list-of-freely- ava...](http://stackoverflow.com/questions/194812/list-of-freely-available- programming-books)

</comment><comment><USER5> How can you have a Ruby section and not mention "Why's (Poignant) Guide to Ruby"!

</comment><comment><USER6> Learn you some Erlang is a web site, not an ebook, and apparently the author can't help us get it in PDF or kindle form for legal reasons. (<http://learnyousomeerlang.com/faq>) Yet he/she does hint that there is a kindle version out there. Here is what looks like the most likely candidate to me - I will try it out on the kindle later this afternoon. ([https://github.com/igstan/learn-you-some-erlang- kindle#readm...](https://github.com/igstan/learn-you-some-erlang- kindle#readme))

</comment><comment><USER7> AFAICS Visual LISP Developer's Bible is not free. US$8 in Amazon, couldn't found any free download except that of the sample chapter and exercises.

<comment><USER8> It didn't appear that Let over Lambda was free either, just some select chapters at the bottom of the page.

If you click on "Table of Contents" (<http://letoverlambda.com/index.cl/toc>) the author gives access to the first 6 chapters with only 2 non published online. Which I think is great, I've been considering buying this book for a while but was afraid it would be too far over my head. Now I get to find out first.

<comment><USER9> Let Over Lambda is amazing and I highly recomend it for those that would like to know just what you can do with Lisp macros. It builds on the work in On Lisp, but you can get by without reading it first.

</comment></comment></comment><comment><USER10> Two others for Scheme:

The Scheme Programming Language, 4th Ed. by R. Kent Dybvig[1]

Simply Scheme: Introducing Computer Science by Brian Harvey and Matthew Wright, 2nd Ed.[2]

[1]: <http://www.scheme.com/tspl4/>

[2]: <http://www.cs.berkeley.edu/~bh/ss-toc2.html>

</comment><comment><USER11> Another great option for ruby:

<http://ruby.bastardsbook.com/toc/>

</comment><comment><USER12> Any suggestions for a book on Discrete Mathematics with Software.?

<comment><USER9> The Haskell Road to Logic, Maths and Programming is a good place to start.

</comment></comment><comment><USER13> Thanks, ruby ones should come in handy.

</comment><comment><USER14> Thanks, Diving into Python and Mastering Node are two good ones for me.

<comment><USER10> Mastering Node doesn't seem to have been updated in some time, and the author is now co-writing a book for Manning Press.[1] (It's available for pre-release as a pdf there.) He may still release it on the Mastering Node site later, but for now that site seems quiet.

[1] <http://www.manning.com/cantelon/>

<comment><USER15> Sorry, I don't mean to get off-topic, but I want to start learning Python, but I'm on a Windows machine. Should I work on Linux instead? Because I fins most of the help offered is Linux-based. Thank you! (:

<comment><USER16> you can install cygwin with python and work from a bash shell in windows. or virtualbox a minimal gentoo or arch install inside windows.

there are many ways to skin this cat.

<comment><USER15> Thanks for the tips.

I ended up installing Python 2.7, gedit, and then I had to edit a path field to load Python from the terminal. I've just started Learn Python the Hard Way by Allen B. Downey and I really like the tone he uses, actually. He mentions this, though: "A programmer will eventually tell you to use Mac OSX or Linux. If the programmer likes fonts and typography, they'll tell you to get a Mac OSX computer. If they like control and have a huge beard, they'll tell you to install Linux. Again, use whatever computer you have right now that works. All you need is gedit, a Terminal, and python." I hope when I do transition over to the Linux version, it's not a steep learning curve. I already use Debian, but I've decided to work on Windows...I hope it doesn't hold me back from any valuable learning experience.

Thanks, again!

<comment><USER17> Learn Python the Hard Way is written by Zed Shaw; not Alen B. Downey.

<comment><USER15> Oops. Typo! I mixed him up with the Think Python author. Thanks for catching that!

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> Learn Python the Hard Way is available for free on the web, but you have to pay (a nominal fee) for the pdf or epub versions. So I'm not sure it counts as a "free ebook".

<comment><USER19> You can always pull from the gitorious repository and build it yourself.</comment></comment>


Sonos Sues Google: It wanted to sue Amazon but could only risk suing one - <AUTHOR> https://finance.yahoo.com/news/2020-01-07-sonos-sues-google.html <comment> j-pb I don't have any sympathy left for Sonos.

It used to be about a remote controllable midrange hifi that didn't stop playing when your phones battery died or your laptop turned off, a system "that just worked". Right now I have 5k in Sonos speakers littered around the house that I haven't bothered to setup after a bridge broke because I know that it's just gonna f __* up again with the next forced update.

Their entire always online bulls __*, their "recycling bricking", and their general consumer hostility pushed them from a company I wholeheartedly liked to "avoid like the plague" territory.

<comment><USER2> I feel like Tivo went down a very similar path. Create a beloved product and then murder it with anti-consumer software updates.

<comment><USER3> Why can't companies just make and sell things anymore?

<comment><USER4> It's hard to make rational long term decisions if the CEO is trying to boost short-term profits for public markets.

</comment></comment></comment></comment><comment><USER5> I am displeased with Sonos due to their "recycling kill switch". Insert the stronger language of your choice. They shouldn't have a patent on anything they have done. Ask anyone who has a degree in signals for a solution to the problem of multi speaker sound. You will have a pile of solutions in less than 20 minutes.

</comment><comment><USER6> "synchronizing mp3 playback" (p4sync,) DECEMBER 29, 2002 UPDATED DECEMBER 30, 2017 [https://snarfed.org/synchronizing_mp3_playback](https://snarfed.org/synchronizing_mp3_playback)

Unfortunately, USPTO only searches it's own database for published prior art. It's up to everyone else to find and show prior published art (and/or explain obviousness) in order to invalidate a patent being used non-defensively.

</comment><comment><USER7> Shouldn't they be suing Apple (airpods)? Who was the first to come up with bluetooth speakers syncing with each other? Also, who are they going to sue with multi-device broadcast becomes a Bluetooth standard (as it's currently being proposed).

Can America et. al. please just ban software patents already like New Zealand did?

<comment><USER8> Apple Airport Express, which contains an audio out (which I hook to my stereo to synch playing music in multiple parts of the house) and does synchronized streaming, made it to the market one year (2004) before Sonos's first product did (2005). Apple later remove the WiFi extender and added a speaker and renamed the product appropriately, but it is and evolution of the same pre- Sonos technology and probably is why they aren't trying to sue Apple.

</comment></comment><comment><USER9> Am I the only one here that doesn't have any problem with my home SONOS system? My family constantly plays music in most rooms of the house using a Spotify premium account. It's been a godsend, and it truly makes me feel like we are living in the future. All the sueing and inter-corporate politics is a little annoying to hear about, but I still listen to the speakers daily without giving it all much thought.

<comment><USER10> I don't have a problem with mine at all. I've had Sonos speakers for about 4 years now. Two play 3's, playbar, Sub and a Play 1.

Works better than when I got it, everyone in the house knows how to use it to play music and watch movies etc. Allows me to play my Spotify playlists and them to play their Apple music playlists.

The stuff works fine and I update it all as soon as a new update comes out. I'd like to know if other people are having issues, just to know what to look out for. But I've had it for quite a while now and it blows people's minds when they see how it all works and how easily it works.

</comment></comment><comment><USER11> Let's not forget when Sonos made us create a user account. A lot of us never wanted any Sonos user account, ever, and we were held hostage. We should have been offered a full refund if we did not want the account.

</comment><comment><USER12> Complaint is here: [https://www.scribd.com/document/442035843/Sonos-v- Goo](https://www.scribd.com/document/442035843/Sonos-v-Goo)

</comment><comment><USER13> I wish they would have sued Spotify.

Spotify frequently aggressively breaks Sonos for what I assume is anti- competitive reasons.

<comment><USER14> > Spotify frequently aggressively breaks Sonos for what I assume is anti- > competitive reasons.

Any insight as to why they would do that? As far as I'm aware Spotify has no interest in selling hardware of their own, and Sonos isn't competing with them on the streaming front.

<comment><USER15> No, but they do have an interest in getting _their_ software and protocol into these devices with Spotify Connect.

I'm personally really happy with this because the implementation is really slick. They're using their leverage on smart speaker makers to support them rather than the reverse because they can -- and the result from a user perspective is really nice since there's no weird compatibility issues. You either speak the connect protocol or you don't.

[https://spotify-everywhere.com/](https://spotify-everywhere.com/)

</comment></comment></comment><comment><USER16> All such useless patents on concept and software functoonality encourage patent trolls.</comment>


Ask HN: Which high-profile startups will be deadpooled next year? - <AUTHOR>

Of any startups that got recently funded and frequently written on major blogs, which do you think will be deadpooled next year? <comment> no-go-mojo What's dead-pooling? An exit, sale, liquidation, major pivot?

I am not asking about the concept, but the exact definition. There can be many combinations of actions you could take to get out of business and or start something else.

Which unique combinations does this term apply to?

<comment><USER2> Dead-pooling (to me) means the company is closing up shop.

</comment></comment><comment><USER2> I think Yobongo has some pretty strong traction, but they may add some features that take another direction.

</comment><comment><USER3> The ones that got funded recently would probably be more likely to pivot than die so soon.

</comment><comment><USER4> Maybe not deadpooled, but could be pivoting: Yobongo.

<comment><AUTHOR> Why so? the market heating up?</comment></comment>


Drv.io - the lost feature - <AUTHOR> http://drv.io

<comment><USER2> Is Google Drive still a serious product? On OSX it's buggy as hell, eats resources, but the client hasn't been updated in many months. Feels like an abandoned product.

Actually, the whole Google Apps suite other than mail seems to have stopped evolving.

<comment><AUTHOR> Depends on your baseline for "serious". I come from an environment where we're still using XP and Outlook 2003 - so by comparison, Google Drive is pretty good!

</comment></comment><comment><USER3> From the ToS:

"When you submit content to us, you give us (and those we work with) a worldwide license to use, host, store, reproduce, modify, create derivative works (such as those resulting from translations, adaptations or other changes we make so that your content works better with our service), communicate, publish, publicly perform, publicly display and distribute such content.

The rights you grant in this license are for the limited purpose of operating, promoting and improving our service, and to develop new products and services. This license continues even if you stop using our service."

Is this worrisome ?

<comment><AUTHOR> For some people, yes it could be. But they shouldn't be using Google Drive either:

From <http://www.google.com/intl/en-GB/policies/terms/> Under the heading Your Content in our Services

When you upload or otherwise submit content to our Services, you give Google (and those we work with) a worldwide licence to use, host, store, reproduce, modify, create derivative works (such as those resulting from translations, adaptations or other changes that we make so that your content works better with our Services), communicate, publish, publicly perform, publicly display and distribute such content.

The rights that you grant in this licence are for the limited purpose of operating, promoting and improving our Services, and to develop new ones.

This licence continues even if you stop using our Services (for example, for a business listing that you have added to Google Maps).</comment></comment>


More competition for low-cost laptops - <AUTHOR> http://blogs.zdnet.com/computers/?p=143

<comment> daniel-cussen Hooray for commoditization.</comment>


Convert PDF to HTML using App Engine conversion API - <AUTHOR> http://code.google.com/appengine/docs/python/conversion/overview.html

<comment><USER2> But there are PDF to HTML converters already available <http://www.pdfonline.com/convert-pdf-to-html/>

One advantage for Google API is that it has OCR, by which JPG/BMP etc can be converted to text/Html. That will be useful I guess.</comment>


Ask HN: Tomato or DD-WRT for my router? - <AUTHOR> I just got a linksys WRT54G V1 wireless router and want to hack the firmware. From my initial research it looks like the two main options are DD-WRT and Tomato. Has anyone here installed either of them and have an idea of which one is better?<p>Just curious to see what the people here think of those firmware options. <comment><USER2> I would go with Tomato unless you want customizability.

Last time I checked, DD-WRT was just a set of packages on top of OpenWRT, so going with straight OpenWRT lets you add only the functionality you need and customize everything to your heart's content. I would choose that route over DD-WRT. However, I did run into some reliability issues, (wireless connections would drop spontaneously every few weeks) which show up in DD-WRT as well. In OpenWRT, many basic settings (all settings unless you install a web interface) are only accessible via config files. That can get tiring.

Tomato is rock-solid and dead-easy to configure, but startlingly light on functionality compared to *WRT.

If you have the time, try them both!

</comment><comment><USER3> I've used both, and like Tomato better. It has a nicer AJAX based UI, SVG bandwidth graphs, and is pretty well layed out. Lot's of nifty attention to detail in the UI, e.g. wireless network neighborhood to find unoccupied channels.

Have been using it for a couple of years, even running a startup's infrastructure behind it. No problems, whatsoever.

</comment><comment><USER4> Tomato.

I ran DD-WRT on a WRT54GL for a few months, and during this time, I kept experiencing intermittent connection problems. I spent hours and hours poring over packet sniffer logs, and finally discovered that the router was the problem.

So I tried switching to Tomato, and it worked perfectly.

(That was 2007, and as far as I know, the bug is still there)

<comment><USER5> FWIW, I've used DD-WRT on a variety of wrt54g series routers (including three wrt54gl routers) and have never had connection problems attributable to the firmware.

<comment><USER4> Just to be clear, the problem I had was limited to a specific type of network protocol, and that may be why nobody bothered to take interest in fixing it.

Sorry if my comment came across as saying that DD-WRT is just unreliable..

</comment></comment></comment><comment><USER6> I've ran both, and I really prefer Tomato. DD-WRT is very nice though, but I ended up not using most of the features it offered. Tomato is very lightweight, and fits all my needs perfectly.

My router is also a little buggy (really need to buy a new one) and Tomato runs with fewer dropped connections than DD-WRT. I'm sure that has much less to do with the firmware and more to do with bad hardware.

</comment><comment><USER7> I've been running DD for as long as I can remember, and I'm very, very happy with it. Absolutely no problems with installation, configuration or day-to-day operations. YMMV.

<comment><AUTHOR> Thanks for the reply! What is the biggest benefit to the DD in your daily use?

<comment><USER8> I've been using non-stock firmware on my v1 WRT long enough (since before OpenWRT had version numbers) that I can't even compare them to the stock firmware anymore.

I tend to end up using my wireless gear in dumb WAP mode. This is usually precipitated by wanting full specific control of my firewall/NAT configuration, full control of DHCP and my public IP attached to something with storage. That said, the interface and feature set of DD is nice enough that I'll probably give it a shot next time I flatten my home network, and DD is probably powerful enough that it will stick for a while.

</comment></comment></comment><comment><USER9> Tomato has a better UI. DD-WRT maybe has a few extra features (that you'll never use)

Go with tomato, its bandwidth monitoring options are awexome

</comment><comment><USER10> I like DD-WRT for my router as well. Its just plain awesome, and their router compatibility page tells you exactly which model's do and do not work, and if what extra steps are needed to install the DD-WRT firmware.

I will warn you, and I'm not sure if this issue exists for other *WRT firmwares, but PPTP VPN and OSX is not ideal on DD-WRT: [http://www.dd- wrt.com/wiki/index.php/PPTP_Server_Configurati...](http://www.dd- wrt.com/wiki/index.php/PPTP_Server_Configuration#Mac_OSX)

OpenVPN is the way to go, but not built in like PPTP is, well, everywhere ...

</comment><comment><USER11> I run OpenWRT with the x-WRT UI: <http://x-wrt.org/> (I think).

There are lots of options that look as though they would be cool, but I mostly use it as a plain ol' WAP.

</comment><comment><USER12> tomato has a simple ajax interface and really good QoS functionality which is what attracted me to it. I haven't tried the others.

</comment><comment><USER13> Tomato without doubt. Don't get me wrong, DD-WRT is good, tomato is better! Especially for QOS. Here's a howto on setting up tomato on asus 520gu

[http://www.society9.com/an-easy-guide-to-installing- tomato-o...](http://www.society9.com/an-easy-guide-to-installing-tomato-on- the-asus-520gu/)

</comment><comment><USER14> I love DD-WRT, but tomato offers most of the functionality, and is much lighter/has a nicer ui, imo.

</comment><comment><USER15> I run tomato and like the features but I'm considering switching, because it takes up to 30 seconds for my laptop to connect. (Connection was almost instant with the stock firmware, and is very quick everywhere else... So Tomato seems the culprit.)

</comment><comment><USER16> DD-Wrt has a great feature set, and is pretty stable. It also has lots of expandability options. I would also recommend OpenWRT if you want even more expandability. OpenWRT has its own package management system with thousands of packages.

</comment><comment><USER17> Tomato, the extra memory makes a difference in performance.

</comment><comment><USER18> I prefer DD-WRT to Tomato. Just find that it has more features and that there is a lot more that you can do with it. I've used both though on a WRT54GS V2

</comment><comment><USER19> I just used DD-WRT on a new wrt54gl I got. It works fine and I have a working wireless bridge from my older white russian wrt54g.</comment>


GStock - stock market analysis "2.0"  - <AUTHOR> http://www.gstock.com <comment><AUTHOR> How much of a role will distributed computing play in the continuing evolution of web-based software? Has this method of user involvement been overlooked by web startups or is it just not applicable to many 2.0 products?</comment>


Startup Quote: Jeremy Stoppelman, co-founder, Yelp - <AUTHOR> http://startupquote.com/post/2820632319

<comment><USER2> This is of course true, but ironically, something that is taught in design school and not business school. The most successful designs (and what isn't design?) are made when the author/creator doesn't get attached personally to any idea, sets them aside to create new ones, and learns how to "kill the babies" (critically attacking or dropping an idea/plan). Assuming your idea is good to go and getting right to the details (i.e. programming) is probably certain death for you. Reiterate, reiterate, reiterate. The best idea is almost never the first one.

</comment><comment><AUTHOR> You have to be very nimble and very open minded. Your success is going to be very dependent on how your adapt.

\- Jeremy Stoppelman (@jeremys)

<http://startupquote.com/post/2820632319></comment>


Ask HN: How to architect modular web applications? - <AUTHOR>

I am developing an application that has a core set of features but needs small variations for each customers.
Can anyone recommend some strategies on how to achieve this with a modular approach? (api, scm?)
Ideally so the core set can be maintained independently and the extra features are seperate. <comment><USER2> Depends on your language of choice.

I find that an object oriented approach works well for my projects. I write the core class structure for the shared low-level and common high level functionality. I then create a separate directory for each client. In these, I use inheritance to inject custom sub-classes. In extreme cases, I will replace one module with another.

</comment><comment><USER3> Check out existing open-source projects that have done the same thing. There are bound to be many in whatever language you're using.

</comment><comment><USER4> you can look at various MVC-based frameworks. they are by default modular.</comment>


Screenshot of the page that spear-phished John Podesta - <AUTHOR> http://i.imgur.com/2QqD0sH.jpg <comment><USER2> _John_ Podesta.

@pwnallthethings provided good context for this on Twitter: [https://twitter.com/pwnallthethings/status/81662155364329472...](https://twitter.com/pwnallthethings/status/816621553643294720)

<comment><AUTHOR> Whoops, fixed name. Thanks.

</comment></comment><comment><USER3> Even used his photo , i would have fell for that so easily. in fact i'm a little worried now i could already have..

<comment><USER4> Well, I'm going to give you the benefit of the doubt that you haven't navigated to a page that looks like that from an email you received from firstname.lastname@example.com.</comment></comment>


$13 Christmas gifts = 13 point gain in kids' IQ - <AUTHOR> http://blog.newsweek.com/blogs/nurtureshock/archive/2009/12/10/new-research-13-christmas-gifts-13-point-gain-in-kids-iq.aspx?print=true

<comment><USER2> Without a control group, or at least a group doing something other than playing games during that time, it's hard to say the games caused the effect they observed.

Maybe just staying after school with highly interested researchers had a knock-on effect on intelligence?

<comment><USER3> IQ tests are to a certain extent a learned skill; you get accustomed to the sorts of questions which get asked. If the kids had never seen an IQ test before their first one then just the effect of testing 'em twice in a row could easily account for 13 points.

I bet I could do a study which showed you could get a similar gain by showing 'em a youtube clip of giraffes mating.

<comment><USER4> Right, because you know how to conduct a brain study better than a neuroscientist at UC Berkeley who's been working on this for years.

<comment><USER5> Well, if IQ is so easily changed that I would argue that it is a pretty useless metric for measuring innate capabilities.

I have an older (16 years older) sister who trained as an educational psychologist - I was given all kinds of tests from an early age and I certainly learned how to do them so that later in my childhood I would always get ridiculously high marks on those kinds of tests and it was always pretty clear to me that it was just because I knew the tricks of doing these tests, not that I was particularly bright or that doing the tests increases your actual level of intelligence.

</comment></comment></comment></comment><comment><USER6> I thought that lots of studies had been done like this, and these types of gains always turned out to be short term. The article doesn't say whether the gains stayed with them weeks or months after the games ended.

</comment><comment><AUTHOR> <http://news.ycombinator.com/item?id=1283670></comment>


Interplanetary telemetry compression - <AUTHOR> http://blog.klaehn.org/2018/06/10/efficient-telemetry-storage-on-ipfs/ <comment><USER2> Sounds like a use case for zstd with custom dictionary.

<comment><USER3> Yes, zstd is definitely on the todo list. The increased performance should be quite welcome on low power edge devices.

I tried to get it to work, but had some trouble with the existing javascript bindings. I have only recently started developing in the javascript ecosystem.

PRs welcome...

<comment><USER4> It's not only increased performance. Since you can precompute a dictionary with zstd, you'll (most likely) get much better compression. Or you can at least stick to smaller block sizes.

</comment></comment></comment><comment><USER5> What IPFS software are you using?

I've seen some bugs and issues with the official go server, and didn't feel it was production ready.

<comment><USER3> 0.4.15 currently. There are some things that are not production ready (in particular IPNS), but the basic infrastructure (the distributed content- addressed storage) is pretty solid. Discovery also works pretty well. NAT hole punching is impressive. Resource usage is low enough that you can run it on a raspberry pi with some room to spare.

For IPNS I am using the DNS txt record workaround until IPNS gets more stable. See [http://blog.klaehn.org/2018/06/06/publish-blog-on- ipfs/](http://blog.klaehn.org/2018/06/06/publish-blog-on-ipfs/) for how that works.

I am publishing the blog and several static pages on ipfs. So far it works really well.

</comment></comment><comment><USER6> Did the telemetry arrive in CCSDS format? Did you consider directly logging all of the CCSDS headers?

<comment><USER3> We were storing telemetry that was preprocessed by the MCS. This is preferable for analysis, since you can not afford to pipe the CCSDS packets through the rather slow mission control systems every time you want to plot or analyse the data. This also has the advantage that you store the data exactly as seen in the control room.

The raw CCSDS packet stream also gets stored, but given that the MCS systems are rather inflexible, they are not as valuable for general analysis.

</comment></comment><comment><USER7> Have you considered existing scientific columnar data storage formats, like HDF5 or Parquet?

Their main advantage is that they have good, mature implementations in a variety of languages, which would be handy if you ever find Javascript to be too slow.

<comment><USER8> I developed an archive system for our spacecraft TM/TC using HDF5 with blosc- lz compression for speed reasons (and I plan to move to Zstd in the future). One of the main issue I have seen in the industry is the difficulty to upgrade the hardware so we have to design something working great on regular hard drives and with minimal RAM requirements.

While HDF5 is good when you manage the whole system, it is always tricky for sharing data with other people so we are also using SQLite. We lose the compression but it is very easy to share and people are more familiar with it.

<comment><USER3> For the export at GSOC we had a streaming REST interface based on akka- streams. It is used to get the data into other systems based on spark for more complex analysis.

Of course you also lose the compression, but the target system is typically only interested in a small subset of the data.

</comment></comment></comment><comment><USER9> It's amazing just how much of a loaded word "telemetry" has become in the past few years --- 10 years ago it'd just remind me of space missions and such, like in the article, but now I associate the word more with pervasive surveillance and privacy invasion.

</comment><comment><USER10> I wonder if sqlite was also considered here?

<comment><USER3> We are using sqlite for some things. But for large quantities of simply structured telemetry data it is not very good. About as good as raw json. The reason it is not very efficient is that the disk layout is optimised for fast access.</comment></comment>


Where can I get the database design of Tally? - <AUTHOR>

You see, one colleague at work claims that he designed the database for a payroll system but I am certain the design isn't his, and that he found it somewhere online in which case we will be facing serious copyright issues. Is there any place where I could find the database design of Tally software? I just need to know the table names and the field names. Thanks in advance. <comment><USER2> If you know what the proposed design is for your system, can't you simply google search for the field names and tables there and see if you find something strangely similar?

<comment><AUTHOR> Still looking. See, one of the tables is named AttendanceProductionType, and when I search it over the net, I get many results related to Tally. But that would not be enough since he claims that his design was inspired by tally, and he thoroughly studied the software while he was designing. But whenever I ask him a question regarding some aspect of his design, he says that he will get back to me</comment></comment>


TechCrunch on Facebook Source Code Leak - <AUTHOR> http://www.techcrunch.com/2007/08/11/facebook-source-code-leaked/ <comment><USER2> I don't understand. Is this seriously a big deal, as in this-might-impact- Facebook-somehow big deal? At first I thought "Okay, home page source code leaked. So what? It's a little ugly, but whatever".. Now I'm not so sure. Everyone's taking this and running with it. Maybe this just happens when you're the underdog.

I guess my real question is, who cares, and why? Not antagonistic, just honestly curious.

<comment><USER3> you are right. nobody _should_ care. but anything involving facebook is news. pointless sensationalization.

</comment></comment><comment><USER4> BTW, that sourcecode is totally useless. It's just a bunch of includes.

<comment><USER2> Clearly they should have implemented an object oriented relational database mapping includer mechanism instead of using simple include statements. Just ask anyone.

<comment><USER5> I think his point was that it's not really very much of the functional code. It's basically the little piece that pulls in whatever's appropriate for each page. The libraries might have 50k LOC while the individual pages are a few dozen lines.

<comment><USER2> I was commenting about certain people saying that Facebook code is ugly and procedural and that they should have implemented object oriented naming conventions, or whatever else silliness they think needs to be done. Not trying to be mean to my friend nickb over there :)

<comment><USER6> I think I'm one of those people. So, why shouldn't they?

<comment><USER2> Mm.. Let's just agree to disagree. Going down this comment path would just incite something pointless.

<comment><USER6> Heh, point taken :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> This is great. What a neat insight into a popular and functional Web 2.0 site.. Does create some security & privacy issues though ... maybe for a site with this amount of private (and valuable) data there should be mandatory security process in place.

</comment><comment><USER8> facebook > facebook source code

</comment><comment><USER9> see? if your code does something useful, it doesn't matter how poorly factored it is, or if you use a language where > 40% of the community are total retards.

<comment><USER10> More like, the more powerful network effects you have, the less technology matters. Example: eBay.

<comment><USER9> that too, but what i was trying to get at was "code beauty fetishism" that you often find among, e.g, ruby users.

beautiful code doesn't matter.

<comment><USER10> Beautiful code has worked for me. In fact, you're using it to make this point.

One reason beautiful code works is that beautiful code roughly equals concise code, and concise code is easier to modify and easier to see bugs in.</comment></comment></comment></comment>


An estate in Upstate NY where the psychedelic 60s took off - <AUTHOR> https://timeline.com/drug-mansion-psychedelic-60s-5116867d5041 <comment><USER2> This kind of thing always seems a lot more magical in hindsight, but then, I wasn't there, and maybe it really was amazing. Most of the time though, when people get heavily into a drugs or drugs for a while, it tends to get a bit squalid. I'm not talking about a shooting gallery or a crack den or anything, but when you're not really "here" most of the time, "worldly" concerns seem to slip by the wayside.

Maybe Billy had enough money and servants that it just didn't matter though.

<comment><USER3> You sure? Do you actually have experience with such matters?

Try hitting up some music festivals for counterexamples.

<comment><USER4> QApereo is absolutely correct. Partying for a week or two at a music festival is completely different than living in/around a house of semi-functioning hardcore drug users for months on end. Primarily because the music festival ends before the fun and crazy atmosphere devolves into a dull blanket of paranoid self loathing.

</comment></comment></comment><comment><USER5> To anyone interested in this era and the role psychedelics played in it, I'd highly recommend a book called _Acid Dreams_.[1]

The writings of many of the personages mentioned in this article are also well worth reading: Richard Alpert (aka Ram Das), Timothy Leary, Ralph Metzner. Also, not mentioned but on the same wavelength: Robert Anton Wilson, John Lilly, and Terrence McKenna.

[1] - [https://www.amazon.com/Acid-Dreams-Complete-History- Sixties/...](https://www.amazon.com/Acid-Dreams-Complete-History- Sixties/dp/0802130623/)

<comment><USER6> The book is mentioned and quoted in the article.

</comment></comment><comment><USER7> It's mentioned in Gordon Liddy's autobiography. He raided the place.

<comment><USER8> Also mentioned in the article :)

> when the newly-appointed assistant district attorney G. Gordon Liddy — yes, > that G. Gordon Liddy — led a nighttime raid on the Millbrook estate,

<comment><USER5> It's ironic that Leary and Liddy would later wind up touring the lecture circuit together.[1]

There's a video of them debating here: [2] starting at the 15 minute mark, with Leary giving his version of Liddy's raid on Millbrook.

[1] - [http://community.seattletimes.nwsource.com/archive/?date=199...](http://community.seattletimes.nwsource.com/archive/?date=19911114&slug=1317235)

[2] - [https://www.youtube.com/watch?v=w5Abx4Vi-68](https://www.youtube.com/watch?v=w5Abx4Vi-68)

<comment><USER6> It's not ironic at all - two men profiting on their notoriety, long after their 15 minutes of fame were up. This is not meant as a slight on Leary, just an observation.

Irony I think would be that Liddy ended up at the same correctional facility as Leary. [1]

It's worth noting that both were convicted felons which severely limits your work prospects in the US, so speaking engagements made good sense for both.

[https://www.nypl.org/blog/2012/08/15/transmissions- timothy-l...](https://www.nypl.org/blog/2012/08/15/transmissions-timothy- leary-papers-buddy-film-starring-leary-and-liddy)

</comment></comment></comment></comment><comment><USER9> That's not upstate, it's the Hudson Valley.

<comment><USER10> It's pretty common for people living in NYC to refer to anything north of the city as "up state". I'm not sure exactly where that boundary starts but I'd imagine it's somewhere near the first grouping of 3 or more trees.

It's so common in fact that I'd be willing to bet the author lives or lived in NYC and you have some relationship with "up state". :)

</comment></comment><comment><USER11> That's a good candidate for McMansion hell.</comment>


Ask HN: Review my Craigslist-Ebay hybrid - <AUTHOR>

I'm looking for brutally honest feedback on this idea and implementation.
The concept is basically a Craigslist-Ebay hybrid where users pay small, flat rates to post listings and contact other users to create a spam-free environment. Additionally, I plan to make it look a hell of a lot nicer than Craigslist, simpler than Ebay, and to have handy, extra features like public statistics about the "economy" on the site (going rate for certain items, daily activity stats, etc.).
Here's the site:
http://www.plztake.com
Again, I am looking for two things:
- I'm interested in your opinion on the feasibility of the concept
- I'm interested in ideas about how to get people using the site
Thanks in advance! <comment><USER2> It is notoriously difficult to get people onboard on marketplaces (see <http://news.ycombinator.com/item?id=2898589>). By asking people to pay a subscription, you are making it even more difficult!

I don't know what you're testing with this fake landing page. There is clearly a need for marketplaces as Craigslist, Ebay, Airbnb, Etsy etc have shown. It's just difficult to execute.

You need to be clear if you want to build a marketplace or not. If the answer is yes, then you need to build something small but useful and figure out a way to get users.

You will have the luxury to solve the spam problem once you have any traction at all.

<comment><AUTHOR> Man, I can just sense the total clarity in what you're saying! Thanks!

You're right. I've totally lost sight of the actual people whom I can actually help, and if you can't help people, you can't run a business!

I believe that there are people I can help to sell their old stuff. It would make more sense to start there, use a website to sell the stuff, and figure out what my fee might be for both sides.

Thanks again!

</comment></comment><comment><USER3> The tough thing here is that you have to essentially monopolize a certain market place like craigslist and ebay have done. If you want to bid on a product you are going to go to ebay, if you want to search for something in your area you are going to go to craigslist. These are your competitors and to take users away from these, while implementing a monthly fee is going to be really tough.

Take a look at what a difficult time oodle is having, even though it is teamed up with the monstrous facebook. People are going to go to the one with the most listings and that's why the big two will remain so.

<comment><USER4> I'm not expert, but what wallawe says makes sense.

So the next step/question is, what can you do, that ebay and cl already do, but an order of magnitude better. What pain do ebay or cl users experience that they would pay to make go away.

Alternatively, what can you do that ebay or cl don't or can't do.

I've never used ebay, hardly used cl, so I don't have a source of pain to suggest. Since you came up with the idea, hopefully you have something that really pisses you off, perhaps the very thing that motivated you to do this in the first place. If it's just spam, they seem to be doing OK right now.

</comment></comment><comment><USER5> Hard to tell anything from the site at the moment.

The up-front cost could deter a lot of people. Why not let people post and take a percentage of the final sale price?

<comment><AUTHOR> Thanks for posting! Sorry that there isn't much yet; I just put up what's there to gauge interest.

So, the idea is that the site connects people who having something in common (buyer/seller, etc.), but then they would deal with each other on their own terms. I would think that it's more attractive to people trying to sell stuff, because I do not take a percentage. Just $1 to post. Of course, they won't pay $1 if no one is on the site...

</comment></comment><comment><USER4> "Listings never expire" is a long time. You may be lucky enough to regret that one day.

</comment><comment><USER6> Borrowing from Steve J. << it needs more sex >>

<comment><AUTHOR> Thanks for the feedback! Could you point me to maybe a couple of sites that you would say do have enough sex?</comment></comment>


Embracing OpenID: "Clickpass did it for me" - <AUTHOR> http://paulstamatiou.com/2008/06/04/embracing-openid

<comment><USER2> I'm not going to repeat my whole comment here, but the thing that still bothers me about OpenID is the incentive/adoption interplay. I don't think OpenID will take off until big players with large user bases make it the preferred authentication method. The problem is that the big players have an incentive to be providers but not be consumers. Therefore, the average internet user has _more OpenID providers than sites on which they can actually use OpenID each day (in many cases, this is 1 provider, 0 sites, which still illustrates the point)._

I don't think grass roots is going to solve this and I think the incentive needs to be inverted, somehow, for this to get past the trough of disillusionment, or whatever.</comment>


"Why you should not use Uber (the car ride brokering company)" - <AUTHOR> https://stallman.org/uber.html <comment><USER2> > Uber plans to do away with human cab drivers.

> It would be easy for a non-plutocratic government to prohibit this, and > that's what every country ought to do, unless/until every person gets an > adequate basic income so people don't need to be employed.

Okay, so I am _extremely_ liberal and everything, but "let's ban any new technologies that might make somebody lose their job to a robot" is seriously the most ridiculous argument I've ever heard RMS make. What the hell.

<comment><USER3> It's nearly in the job description of every software engineer to create things that ease people's workloads or replace their jobs entirely. I bet Stallman's projects, and the free software movement itself, are responsible for the non- existence of numerous jobs.

Also: basic income, or whatever it is that will make sense when there aren't enough jobs to go around, won't be preemptive.

<comment><USER4> > Also: basic income, or whatever it is that will make sense when there aren't > enough jobs to go around, won't be preemptive.

Seems like this is really his point, if it isn't going to be preemptive, then (he feels) we should stop the jobs from going away.

<comment><USER5> And that's the problem. If basic income won't happen until technological advancement causes mass unemployment, and governments ban technological advancement that might lead to mass unemployment, then we will get neither technological advancement nor basic income.

<comment><USER4> Why can't basic income happen first? Or why can't basic income be phased in smoothly? I mean, don't get me wrong, I agree with you that basic income is _unlikely_ to happen until there has been an incredible amount of pain and suffering, but does it have to be that way? Not necessarily. If we, as a society, set compensating policies as a condition for technological progress, then the progress might come more slowly, but it will still come. Of course I'm probably being a crazy person thinking that our government might act rationally. :(

</comment></comment></comment></comment></comment><comment><USER6> "Then what will you do, if you don't want to tell Big Brother where you are going?"

RMS is right on again, as always. The problem is that the younger generation wants Big Brother to know everything, and that is sad and scary. One need look no further than the comments on this thread for proof.

We are not teaching our children the value of humanity, and the way that privacy creates a sense of self. "Self" is now what you make it on Twitter/Facebook/SocialNetDuJour. Sharing everything in a way that government/Facebook/Google can monitor ("Big Brother") is like breathing to the youth who've had iPhones since before puberty.

So many younger programmers think RMS is absurd. They don't even have context to understand where he comes from. RMS has been foretelling the future since the days of the GNU wars. He's an ideologue, yes, but one whose points have always been valid.

Even the term "Big Brother". It's from George Orwell's book "1984". I wonder how many younger programmers would know that.

<comment><USER7> >Even the term "Big Brother". It's from George Orwell's book "1984". I wonder how many younger programmers would know that.

Probably most of them. 1984 is required reading in many highschools in america.

</comment></comment><comment><USER8> I agree that the government shouldn't have pervasive access to the records, but I WANT Uber to track my rides. That's how I can have recourse if a driver takes me for a spin. I WANT my driver to be identified and for them to track who picks me up. He claims that it's troublesome for a female passenger to be identifiable to a driver. How about if you're a female (or male) driver driving in your spare time? Would she not feel safer picking up someone who is at least somewhat identified versus a shady looking stranger?

One of the crucial components of sharing apps is the building of trust and accountability. Identification is part of that.

This list of complaints doesn't hold water for me.

<comment><USER9> Granted there are several items that ... detract from the point, but there are some real problems here and I don't think it does them justice to gloss over them because of some errant points at the beginning.

We don't see eye to eye on the identification issue, but even if we put that one issue aside I can't agree that the list of complaints doesn't hold water for me personally.

Executives stalking passengers and trolling through passenger ride data to ferret out alarming narratives crosses a line in my opinion. This starts to get into discussions of which data belongs to whom, which is a discussion that I don't think has been had yet, and I don't like the assertion of ownership over my data that many companies are making.

We agree that part of building sharing apps is building trust and accountability, but I disagree that Uber has done a good job of earning our trust _or_ demonstrating accountability.

Edit: changed some loaded phrasing

<comment><USER10> The first half of the post is RMS's usual loaded rant on what 'freedom' means. He's a weird brand of anarchocommunist, and axiomatically doesn't believe in running any code that you can't see the source to and haven't compiled yourself. That sets him up to start off most of his rants that might otherwise have a point with a bunch of bullshit that we've all seen and laughed at before.

<comment><USER9> > that we've all seen and laughed at before

Let's be fair, he's been right about a LOT of things. Things that we _did_ laugh at him for saying.

Maybe we shouldn't have laughed so hard.

</comment></comment></comment></comment><comment><USER11> I find Taxis to be very stressful when traveling for two main reasons:

* I'd guess about 10% of the time they don't show up, so I have to bake in extra travel time for that. With uber I can see on my phone that they are actually coming.

* With uber I know payment is all set, Taxi's will often say that their credit card machine is broken.

I imagine these problems could start to get solved with a good open source software suite (with client mobile apps) and an organization to bring this technology to cab companies. Of course, _creating something is hard_ , raising complaints is not. The cognitive dissonance for me is that a creator like RMS would write something like this instead of trying to lead people towards creating a solution.

<comment><USER12> > Taxi's will often say that their credit card machine is broken.

Then, insist that they break out the manual credit-card processor and carbon paper. If they refuse, offer to have them call the cops. Their payment- processing hardware will probably magically start working.

<comment><USER11> That sort of confrontation is where some of the stress comes from. Also when that happens I just say I don't have enough cash (which is generally true).

</comment></comment></comment><comment><USER13> RMS doesn't use credit cards and walks around town wearing a "Don't be tracked. Pay with cash" button. Even if Uber addressed every single point on his list, he still wouldn't use them.

<comment><USER14> I do respect him for his unwavering commitment to his principles.

<comment><USER15> I see the value in his principles but I feel like it could use a more marketable steward.

<comment><USER16> "More marketable" is how you end up compromising on your ideals.

Stallman is nuts, but he is an extremely important type of nuts. The world needs more people like him.

<comment><USER14> On that note, can you think of more people quite like RMS? In other fields, perhaps?

<comment><AUTHOR> Plenty of political prisoners fit the bill. Here's one guy who spent 23 years in prison in Singapore because he refused to sign a statement renouncing violence -- not being he likes violence, but because that would have implied he supported violence earlier:

[https://en.wikipedia.org/wiki/Chia_Thye_Poh](https://en.wikipedia.org/wiki/Chia_Thye_Poh)

On release into house arrest, he refused a government job because that would have "muzzled" him. 32 years aftert his initial arrest, all restrictions were finally lifted -- and the first thing he did was call for the abolition of the act used to arrest him.

Also Mandela, Gandhi, etc.

</comment></comment></comment></comment></comment></comment><comment><USER17> I'm not a fan of Uber either, but there is an unofficial python client out there.[1] If you've already made an Uber account and have issues with running nonfree software, but not sketchy business practices, you can still use Uber through the terminal.

[1]: [https://github.com/tals/uber.py](https://github.com/tals/uber.py)

</comment><comment><USER18> One of RMS's points is that Uber exploits its drivers by paying them low wages. I've taken several Ubers in the past month. The drivers tell me that they get 80% of the cost of the ride. One guy said that his previous company took 60%. I also met a student who said that he liked being able to work the part time hours.

<comment><USER2> You should be more skeptical when people tell you they love their jobs while you are paying them to perform their jobs, especially given the presence of numerous press articles quoting many dissatisfied Uber drivers.

There's a significant chance that they are telling you they love their jobs because if they told you they hate Uber and feel trapped by it, you would give them a bad rating and they would get fired.

<comment><USER19> "when people tell you they love their jobs while you are paying them to perform their jobs"

Parent comment doesn't say the drivers said "love" and the comments made don't appear to be over the top in any way. Also you are discounting the parent commenters ability to discern a BS answer from a real answer by interpreting emotion. (Not saying you aren't right to be skeptical as you raised a valid point).

<comment><USER20> The point is that taxi driving is a service industry, and nobody makes money in a service job by appearing unhappy or bitter. Customers come back more often and tip better if you seem cheerful, not if you confront them as cogs in a system that's screwing you. We want our baristas to be Manic Pixie Dream Girls, not overworked, underpaid people who resent our taking 15 minutes to decide what flavor syrup we want in our latte.

The result is what David Foster Wallace, in his classic essay "A Supposedly Fun Thing I'll Never Do Again" ([http://en.wikipedia.org/wiki/A_Supposedly_Fun_Thing_I%27ll_N...](http://en.wikipedia.org/wiki/A_Supposedly_Fun_Thing_I%27ll_Never_Do_Again)), called the "professional smile":

 _This is related to the phenomenon of the Professional Smile, a national pandemic in the service industry... at banks, restaurants, airline ticket counters, and on and on. You know this smile-the one that doesn 't quite reach the smiler's eyes and signifies nothing more than a calculated attempt to advance the smiler's own interests by pretending to like the smilee..._

 _Who do they think is fooled by the Professional Smile?_

 _And yet the Professional Smile 's absence now also causes despair. Anybody who's ever bought a pack of gum in a Manhattan cigar store or asked for something to be stamped FRAGILE at a Chicago post office or tried to obtain a glass of water from a South Boston waitress knows well the soul-crushing effect of a service worker's scowl, i.e. the humiliation and resentment of being denied the Professional Smile._

<comment><USER21> While it's valid to question what an Uber driver says to a customer, it doesn't necessarily follow that because some Uber drivers have come out against it publicly that all of them are somehow in thrall to the company and hiding their disgust, or even that their issues are actually worse than the issues you might hear a taxi driver say about their company off the meter. Particularly since taxi companies are almost always local and local rules vary.

To go back to a specific point in the OP, if an Uber driver says that when they were a taxi driver the company's cut was 40% instead of the 20% uber takes, I'd be inclined to think they're not lying about it. Merely not bringing it up would be more than sufficient to maintain the illusion.

And to compare this to a personal experience conversing with a cab driver and an uber driver, I had a cabbie tell me that they wait a _month_ to get money from debit or credit transactions in their cab from the company, and this is one of the reasons they resist customers paying that way. An uber driver told me it's a week for them. That's a huge difference in payment cycle.

Also, if Uber drivers are trapped somehow from taking their labour elsewhere, it is entirely because of the regulatory capture created by the taxi industry's relationship with city administrations that imposes inflexible limits on the way the taxi industry can grow (often to the point of it being essentially a planned economy).

</comment></comment></comment></comment></comment><comment><USER22> Stallman isn't quite right on a few points. For example, you can summon an Uber via SMS or a mobile site. No app or smartphone required.

But let's address the core of his argument instead of nitpicking. Yes, Uber's behavior has been pretty unethical. They track customers and drivers. They mine their data to figure out who had one-night stands. They shirk regulations so they can expand quickly. But all of those points are moot for one reason: Uber is _incredibly_ convenient.

People rarely sacrifice quality of life for their ideals. If you want to sink Uber, the activism route is not effective. The only way to win is to make a more compelling product. If your open source, non-tracking version is worse than Uber, only the tiny population of die-hard idealists will use it. I don't think RMS understands this, since he is one of the die-hard idealists.

<comment><USER20> _> If you want to sink Uber, the activism route is not effective._

"If you want to sink Big Tobacco, the activism route is not effective."

"If you want to sink child labor, the activism route is not effective."

"If you want to sink slavery, the activism route is not effective."

&etc.

Your fatalism is unwarranted. There's plenty of examples in history of people making real, substantial change in society via activism.

Moreover, some problems can _only_ be solved via activism. If Uber's tracking yields an economic advantage, and you consider that tracking to be a moral/ethical problem, then it's a problem you can't fix with "a better product" because a company that doesn't follow Uber's lead won't be economically competitive. It will be leaving money on the table that Uber does not. The only way out of the trap is for the problematic behavior to be off limits to everybody.

<comment><USER22> RMS isn't calling for Uber to be outlawed. He's calling for a boycott. I'm glad the problems you listed are much smaller than they used to be, but none of them were solved with grassroots boycotts. Many of them went away due to changes in economic conditions and an expanding moral sphere.

And I was being realistic, not fatalistic. There are countless examples of people engaging in immoral behavior for better quality of life. Here are a few:

\- Eating meat. It's bad for the environment, not-that-great for one's health, and visits immense suffering upon animals. But bacon tastes good, so people rationalize their behavior.

\- Driving a gas car. It pollutes the environment, aids immoral regimes such as Saudi Arabia, and contributes to climate change. But again, they're so convenient. Except for Tesla, electric cars are slow, small, and short range. The reason Tesla is an exception is because Elon Musk recognizes that, in order to be successful, electric cars must be better than gas cars.

\- Pirating content. Piracy deprives artists of income and violates the principles of contract law. If you don't like the cost or terms, then don't consume the content.

\- Not conserving resources (electricity, water, etc).

Some individuals do some of these things, but never civilization as a whole. At the macro scale, this sort of activism is a rounding error.

</comment></comment></comment><comment><USER23> >Uber requires you to identify yourself, both to order a cab and to pay.

Yeah. If you deal with money, there is no other way to build a business. Right or wrong, you just can't anonymize financial transactions.

>Uber's clever policy of not being directly responsible for anything that goes wrong extends to harassment by drivers, and its practice of identifying passengers enables drivers to find out who the passenger is.

That's a good point. I don't think it would hold up in court if something were to happen (e.g. driver robs or kills a passenger).

>Uber plans to do away with human cab drivers.

If Uber doesn't do it, somebody else will. Can't stop progress.

The privacy issues that he raises in other points are pretty good as well.

On a separate matter, though I was never a FSF zealot it pains me to see how irrelevant the FSF and Stallman became this decade.

<comment><USER24> I make regular financial transactions all the time with people who have not the slightest clue what my name is.

<comment><USER23> Cash? I'm not sure you can make an online business without disclosing some data about yourself.

</comment></comment></comment><comment><USER25> > It requires passengers to run a nonfree program (an app). As always, a > nonfree program tramples its users' freedom.

> Uber plans to do away with human cab drivers.

> It would be easy for a non-plutocratic government to prohibit this, and > that's what every country ought to do, unless/until every person gets an > adequate basic income so people don't need to be employed.

Which is a bigger case of "trampling freedom": _voluntarily_ using someone's closed-source program, or having the government tell me they'll put me in jail if I offer to sell someone a ride in my self-driving car?

<comment><USER23> Good point. I'd guess Stallman would lean towards the former. His politics are leftist/socialist/anarchocommunist.

</comment></comment><comment><USER26> A hole in RMS' line of thinking is this - he extends only one end of the argument, the end which says Uber will massively grow. He doesn't acknowledge the fact that there will undeniably be other competitors to Uber, a bunch of them might end up being free software. If history has taught us anything, somebody somewhere always tries to copy every closed source project in the name of freedom and open source. Why does RMS think this would be any different?

Also, he mentions only bad side of oversight. Even with such oversight, there are rape cases, mugging and other crimes done by Uber drivers. Without tracking, how does he propose he will solve the problem? Maybe he should protest for no oversight when his own daughter takes a GNU/Cab. Why mock what you don't understand? Contrary to RMS standard belief, the invisible hand in the world is not stupid, people put up with what he calls "sins" because there is an offsetting value they are receiving.

Uber in current world is equivalent of someone entering the room, trying to find a light switch, not knowing what we will find. RMS' complaint is that he is vegan and the guy finding the light bulb is wearing leather shoes.

And Uber does have competitors, and they are solving points he mentioned. In India, Ola is one competitor that allows cash, and allows anonymous bookings via a call centre that does not require me even telling my name. But even Ola knows it wouldn't exist without Uber in this world.

Why shoot the guy who is trying to push the envelope?

</comment><comment><USER27> Or... Why you shouldn't use any ride sharing company.

Numbers 4-6 are even more broad, they basically apply to any situation where you are required to use a credit card to pay (which identifies you), which is basically every single app.

I'm empathetic to the issue that there is no way to anonymously take an Uber (a real downgrade as compared to cabs), but for your average person where a massive upgrade in convenience offsets the slight loss of anonymity, this is going to be a tough sell.

<comment><USER28> Why compare this with ride sharing? That's not what Uber is. It doesn't matter that Uber calls itself a ride sharing company, it is not. This has been mentioned before: with Uber someone takes you from a place to somewhere you specify. They drive the way that you want because you requested it from them. Further, you pay their expenses and a bit more. Exactly like a taxi.

Ride sharing is where someone was already going somewhere and you share the costs.

IMO you could use a ride sharing company where you're more anonymous. E.g. public transport :-P (though not in my country :()

</comment></comment><comment><USER14> >Uber plans to do away with human cab drivers.

>It would be easy for a non-plutocratic government to prohibit this, and that's what every country ought to do, unless/until every person gets an adequate basic income so people don't need to be employed.

So what? This is the way of technology: obsolete work becomes automated. Extending RMS' argument to its logical conclusion means reinstating many forms of manual labor (that are now done by machines) in effort to reduce unemployment. Do you want to plow your land with your bare hands? No! Do you want to drive taxis? No!

There's a special point regarding driving taxis: it's one of the most dangerous jobs currently available. Moreover, the taxi industry is infamously exploitative of drivers, such that the competition from Uber/Lyft is actually _raising_ taxi drivers' wages in the interim.[0]

I did not expect the logical conclusion of RMS' argument to be ludditism. I find this surprising.

> Uber is an unregulated near-monopoly, so it can cut rates for drivers > arbitrarily.

I think this is an unrealistic long-term view. The rideshare market has low barriers to entry and a high potential for competition, such that I expect to eventually see this market fragmented among many isomorphic companies (Lyft, Uber, SideCar, etc.), perhaps more so on a local than on a global level. I've laid out my thoughts on the issue in an essay.[1]

[0] [http://www.forbes.com/sites/timworstall/2013/12/12/how- lyft-...](http://www.forbes.com/sites/timworstall/2013/12/12/how-lyft-and- uber-will-raise-taxi-drivers-incomes-not-lower-them/)

[1] [http://johnloeber.com/w/uber.pdf](http://johnloeber.com/w/uber.pdf)

<comment><USER29> "So what?"

The way of technology is to increasingly render people obsolete. This is great for some people for most its a threat to their ability to make a living.

The logical conclusion is not what you state but one conclusion his other is basic income and then you can automate away all you want.

There is an unfortunate tendency to think about technology replacing jobs as temporary until the workforce re-adjust yet the increasing reality is structural unemployment not just temporary.

This for instance is worrying [http://www.technologyreview.com/sites/default/files/images/d...](http://www.technologyreview.com/sites/default/files/images/destroying.jobs_.chart1x910_0.jpg)

The luddite fallacy is well known by many yet there are an increasingly worrying trend that indicates that the fallacy is a fallacy itself.

The consequence is that as technology does what technology do, it will leave an increasingly larger and larger group of people unable to find new jobs.

The real competitors arent china, its automation and people really dont give it enough credit.

<comment><USER14> > There is an unfortunate tendency to think about technology replacing jobs as > temporary until the workforce re-adjust yet the increasing reality is > structural unemployment not just temporary.

Yeah, I know. The thing you're forgetting is that unemployment denotes a percentage of the eligible workforce, which, in itself, is only a fraction of the total population. Before the industrial revolution, literally EVERYONE, save for infants and toddlers, had some sort of employment -- some daily task to assist their making ends meet. The long-term trend is extremely obviously one of monotonic decline of the number of jobs available per capita.

I'm totally aware that the consequence of technology replacing jobs is structural unemployment. Yes, over time, there will be more unemployment. It is likely that we will adapt for this by changing the definition of the eligible workforce, and by supplying further social aid (e.g. basic income) to those who are not in the workforce.

However, the problem with your argument is that you are putting the cart before the horse: you want basic income before you remove jobs. Instituting basic income while people still have jobs is politically well-nigh impossible. There actually must be a felt _need_ for basic income, not just "once y'all have basic income we can start automating away your jobs".

Would you have said, on the cusp of the industrial revolution, that nations should hold out on the technological progress until everyone is assured a new job and a decent quality of life? Maybe, but I think that's a bit idealistic. Innovation -- like all forms of change -- can be a bit rough as it sweeps through.

<comment><USER24> Honestly, I think it's useful to be talking about basic income right now so that when the time arrives it's not a totally alien idea.

It would also be useful to have some small-scale prototypes running well in advance to help work out wrinkles.

</comment></comment></comment></comment><comment><USER30> Interesting. Mr. Stallman should check with the local laws of any given municipality regarding taxis - in some, not only can you not hail a cab on the street, but you must also provide extensive contact information in order to summon one via phone.

To wit, Birmingham, AL has precisely these restrictions & regulations.

</comment><comment><USER31> His points start out idealistic and abstract, and full of Free Software rhetoric. The list then turns to more concrete and specific objections, whatever their validity may be.

Talk about burying the lede :P I think it would resonate with a larger audience if he just flipped the order of his bullet points.

</comment><comment><USER32> > It requires passengers to run a nonfree program (an app).

[https://m.uber.com/](https://m.uber.com/) doesn't require the app to be installed.

<comment><USER33> install != run.

Using that mobile site still requires one to run non-free Javascript, which RMS also has a problem with.

<comment><USER34> Javascript is an interpreted language. You can view the javascript that your machine is going to execute and step through it line by line.

Therefore it is free (as in speech) for you to inspect.

<comment><USER35> I think the problem is javascript that's not 'free' as in explicitly licensed as free software.

The web, as a concept, seems to conflict with his ideals in a number of ways, at least superficially. For instance, you can't modify and redistribute the source code of any site you visit, since by definition you only get the response of that site. Technically, every URL leads to a black box. Although many sites use free libraries and might offer their source code as a repo, you never really know what they're actually running.

Hacker News is a perfect example. It's only barely "open source" in that you can download an old version of the Arc forum, and it's known that the HN staff have made their own edits to the software, which no one can contribute to, or fork, or even see, since they don't want people to be able to game the system. What people are interacting with is pretty much a closed source and proprietary service.

But on the other hand, you _interact_ with the html, and you can mess with it in the browser all you want. Still not technically free, though.

</comment></comment></comment></comment><comment><USER36> I started taking RMS much more seriously after Snowden.

</comment><comment><USER37> _" It requires passengers to run a nonfree program (an app)."_

It looks like with Uber's API, one could potentially issue requests without running any non-free software on your own device. If that's the case, this one is weakened a tiny bit - though certainly I don't think there is currently a FLO client and Uber can rightly (through this lens) be criticized for not providing one.

</comment><comment><USER38> It should be no major surprise that RMS would be against booking travel through a proprietary computer network that is privately data-mined.

</comment><comment> ryan-allen I haven't used Uber since their 'glory ride' post or whatever it was. I'm back to using regular taxis.

</comment><comment><USER39> > With real taxis, you can flag one on the street or phone in any fashion; you > can pay cash; you can be anonymous.

And even with Uber around, you can still do that. No one's taken that choice away. Use Lyft/Uber if you're comfortable with it. If not, user a regular cab.

<comment><USER37> Well, he makes the point later that if Uber/Lyft/etc are sufficiently successful they could displace regular cabs. You can disagree with that point, but it probably deserves to be addressed rather than ignored.

</comment></comment><comment><USER40> If you have a robotic job, you need to learn something less robotic to not be replaced by a robot.

And people need to stop with the basic income ridiculousness. No one is there yet. Giving people money doesn't mean they will better themselves with it. Uniform high quality education and healthcare are what lifts a community of people up. Why do schools get funding based on the taxes of the local neighborhood? Why is even extreme emergency healthcare so privatized? Why is it that basic financial knowledge is not taught in schools? Why is college so expensive and the preparation for a career so poor by comparison?

There are big problems that come before basic income.

</comment><comment><USER41> > Then what will you do, if you don't want to tell Big Brother where you are > going?

Walk? Bike? Hitch a ride Back To The Future style with your hoverboard?

</comment><comment><USER42> Actually, many of these arguments apply to a lot of other companies too; small ones like AirBnB, but also big ones like Google and Apple.

</comment><comment><USER43> Yet another reason why working with or talking to RMS is impossible. I think we can apply many of these arguments to Taxi cabs as well.

Taxis run "non free" software to process credit cards.

Taxi destinations can be subpoenaed by local LEO and the government, along with credit card receipts, just like Uber.

Taxis are a regulated market, but the medallion market is largel unregulated and a near-monopoly.

Taxi drivers complain they are underpaid and beholden to the medallion owners.

And so on...

<comment><USER44> RMS has an extreme stance, but it's actually quite refreshing that he just puts it out there in an easily digestable form.

 _Taxis run "non free" software to process credit cards._

And I think RMS cares less about that. No doubt he will be unhappy about the taxi driver's/company's choice to run non-free software; however, regular taxi companies are willing to do business with free software users - Uber refuses to do so. That's a pretty significant difference.

 _Taxi destinations can be subpoenaed by local LEO and the government, along with credit card receipts, just like Uber._

Taxis can be paid in cash, unlike Uber.

The medallion issues are oddities of a few (not even all!) cities particularly in the US. You are right to complain about them as that system is ridiculous; however, the comparison with Uber is unfair because Uber is trying to take over the world.

<comment><USER43> I worked for Stallman in the 90's. Given the choice, he will walk miles versus using a credit card.

> Taxis can be paid in cash, unlike Uber.

Ah, so soon you forget that Taxis must legally record pick up and drop off points for the police department and their drivers can be questioned by LEO.

<comment><USER37> You're saying there's no difference between reporting (pick up location, drop off location) and reporting (pick up location, drop off location, identity)?

</comment></comment></comment></comment><comment><USER45> Richard Stallman is engineering's smartest conspiracy theorist in the world. He's great at his sport, but getting to his level of expertise has clearly taken a toll on his ability to distinguish paranoia from reality. The tinfoil is doing something... The whole post is both objectionable and somewhat warranted/understandable at the same time.

<comment><USER46> Yeah, only he was right about spying and tracking by government. In fact, his "conspiracy" theories fell quite short to the brutal reality of AT&T, Wikileaks, and Snowden revelations.

</comment></comment><comment><USER47> A free software coder needs to develop a p2p distributed ride-sharing server+client system.

</comment><comment><USER48> > It requires passengers to run a nonfree program (an app). As always, a > nonfree program tramples its users' freedom

Off to a great start persuading the everyman once again, Stallman

Agreed on the more salient point of the pervasive record-keeping and the government have full access to them, though. Shoulda lead with that.

</comment><comment><USER49> Uber is super easy to use and it helps prevent DUI's. nuff said

</comment><comment><USER50> You may not consider it, but

> Uber also records where you get the cab and where you go with it. The US > government can get those records, and any lawsuit (such as a divorce > lawsuit) can subpoena them.

Is a serious thing.

</comment><comment><USER51> I find it interesting that he thinks anonymous taxi travelling is important and that sexual services should be legal.

</comment><comment><USER52> Modern taxis fail every one of these "tests", so the fact that RMS wouldn't use Uber but would continue to use taxis at all is merely RMS riding a hatred bandwagon in an effort to stay relevant.

Fortunately for us, he hasn't said anything remotely new, so we can continue to think of him as the 20th century man he is.

<comment><USER53> Uh, no.

You can hail a taxi by hand, and pay with cash, and no one will have your information in a database that can be used against you later.

While I don't agree with all of his reasoning here, he is correct that taxis offer you substantially more privacy than Uber, and Uber has been known to abuse the data they collect on passengers in several instances, so it's far more than just a theoretical concern.

<comment><USER52> > You can hail a taxi by hand, and pay with cash, and no one will have your > information in a database that can be used against you later.

No you can't. _Plenty_ of taxis record the backseats of their cars, and you have no way of knowing which do/don't.

Taxis don't offer you enough privacy over Uber, and the reason he's coming after Uber is because he wants to stay relevant, not because Uber is particularly bad.

<comment><AUTHOR> But if you pay by cash, there's no easy way to match that recording to you.

Also, I'm pretty sure RMS doesn't give a fig about "relevance". He's just applying his principles to the world as he sees it, and he's been doing this literally for decades:

[https://stallman.org/~rms/archives/index.html](https://stallman.org/~rms/archives/index.html)

</comment></comment></comment></comment><comment><USER54> "until every person gets an adequate basic income so people don't need to be employed."

Hand-waving pleb magnets like this (the statement, not the person stating) show a painfully inept understanding of how autonomous labor is going to work.

Once Moore's Law crosses the processing power/price ratios where robots can perform "good enough" object acquisition and manipulation, (pre-Singularity phase) no nation on earth can deflate their currency fast enough to stop charlatans from promoting wholesale human elimination instead of inflationary appeasement.

Meaning, after the "good enough" threshold is crossed, nations will engage in inflationary policies to bide time while desperately seeking a clearing price for human labor. But they won't find it for most labor because of two factors:

1.) At the most efficient time usage (under politically impossible configurations and assuming equal productivity), in which people work 18 hour days forever and utilize 6 hours of sleep, 1 machine's labor equals 1.25 human's labor. Typically, 1 machine's labor equals 3 human's labor. Accounting for productivity enhancement, the comparison will be about as worthwhile to make as comparing engines to horses today. (My drone is 500 plebpower?)

2.) It takes 12 years (again, under politically impossible standards) and ~18,000 pounds of food to make a human productive. It takes a drone a few weeks to be born out of a few gallons of fuel, and a few pounds of materials.

The real cost of labor is staggering. And if you think people are stupid enough to fall for the trap (again) to use the productive gains of a new technology to do nothing more than cycle it all back into a mechanism to breed more humans into existence, I think you will be in for a rude awakening when human costs drop so low from endless inflation appeasement that using said drones to harvest these surplus humans for their physical materials becomes wildly profitable. And if the charlatans can make even HackerNews believe North Korea was behind the Sony hacks and clamor for invasion, just imagine how easy it will be to manufacture some social justice narrative for mining populations centers for biomaterials. ("Those evil sexists need to be mined! For great equality!")

TL;DR: Once the price of human labor drops to sub-zero levels due to political appeasement via inflation to counter "good-enough" drones, it will be more profitable to crush human organization than promote it.

<comment><USER55> Very cool vision of the future. I'm trying to imagine more consequences of the price of human labor going negative.

After we free up the surplus material making the humans, there will be far less need for many robot-provided services.

Farming won't be as big of a deal anymore. Many of our modern industries will shrink dramatically. We won't need food, clothing, entertainment, or medical services.

We can expect to keep a contingent of engineers around to service and design the robots until they hit the self-repairing, self-designing level of the singularity recursion.

It seems like a more-or-less plausible jumping off point into a runaway-AI future.

</comment></comment><comment><USER56> I was following the arguments until I came across the one where the company is to blame because some customers are afraid of being harassed by drivers with the conclusion: "this problem comes directly out of the practices listed above that mistreat all users of Uber".

No it doesn't. It's a _non sequitur_.

</comment><comment><USER57> I couldn't even make it through this entire article, almost like it was satire, yet sadly it wasn't.

</comment><comment><USER58> That's all well and good. Except that I still need to get around, and Uber (and it's competitors) remains better than my local cab system. That's true of basically every city I've ever visited as well.

Until that is no longer true, I'll continue to be an extremely satisfied Uber user.

<comment><USER59> Comfort/convenience vs principles/ethics. To each his own.

<comment><USER19> Actually all of this is almost certainly something like "where I draw the line is the right line anyone who does less has failed anyone who has done more is taking it to far".

As someone else is this thread has mentioned, RMS addressed the issue of Uber wanting to put drivers out of jobs as bad but ironically the comment pointed out that the "free software movement itself, are responsible for the non- existence of numerous jobs."

</comment></comment></comment><comment><USER60> > It requires passengers to run a nonfree program (an app).

I'm not sure if I agree with this, unless you consider the web to be non-free. Uber also runs a really great mobile website[1], which is one of the few reasons I use Uber not owning an iPhone or Android device.

[1] [https://m.uber.com/](https://m.uber.com/)

<comment><USER61> Can you book Uber cars using their website on your desktop?

<comment><USER62> Yes you can. I've done it when my phone was dead and I had forgotten my charging cable at work.

<comment><USER23> Simply running a web-app on desktop wouldn't satisfy Stallman. He'd want the entire stack to be open-source (front-end and back-end code).

</comment></comment></comment></comment><comment><USER63> Couldn't it also be argued that the GNU limits user freedom by requiring users never use non-free software?

<comment><USER64> No, because GNU licenses place no limitation on the use of the software, only on how it is distributed and combined with other software.

That's why it's ok to run a non-free program on top of Linux or install a non- free driver, etc.</comment></comment>


How to Avoid Becoming a Failure Statistic - <AUTHOR> http://www.nytimes.com/2008/10/28/business/smallbusiness/28toolkit.html?8dpc <comment><USER2> Shouldn't this be addressed to the _owners_ rather than the _readers_ of the NYTimes?

[http://finance.google.com/finance?chdnp=1&chdd=1&chd...](http://finance.google.com/finance?chdnp=1&chdd=1&chds=1&chdv=1&chvs=maximized&chdeh=0&chdet=1225333890328&chddm=655750&q=NYSE:NYT&ntsp=0)</comment>


What 10gen nailed with MongoDB - <AUTHOR> http://calv.info/what-10gen-nailed-with-mongodb/ <comment><USER2> This article is spot-on, but 10gen did one more thing they probably shouldn't have: marketed their not-very-scalable, not-very-durable database as a solution to problems companies were having with scalability and durability.

<comment><USER3> I'm very curious about this. I feel like the community at large seems to agree mongo is a dangerous choice. But then I read articles like this. At what scale do you replace Mongo? Should it only be used for bootstrapping something? Is it something that 80% of apps will be fine on?

I'm in an interesting spot myself right now. I've been hacking on Django since 0.96. I love the ORM, and hate everything else. Python on the other hand is a wonderful language. Rails... I've been spending 8 hours a day for the past month building a rails project. I love a lot of things about rails, hate the ORM, and dislike a lot of the magic.

On the flip side: I've been a Javascript/front-end developer since before jQuery existed, and I love coffeescript. I understand callback-style evented programming and therefore node.js apps make perfect sense to me.

My co-founder and I have just finished some heavy duty design/wireframe/conceptual work on a new project of ours. It's time to build the API.

I am COMPLETELY torn with what framework/language/database to use for this project.

At first I thought mongodb and coffeescript+node would be fun and reliable. But the community seems to think mongo is unreliable and almost dangerous. So I thought, hmm, Riak looks like it will let me throw whatever data I want into it (like mongo) but it's rock solid. I later dismissed that since I figured I'd need to do a lot of heavy lifting on my own. Rails keeps poking me in the back of my mind but I honest-to-god hate ActiveRecord and am afraid to use DataMapper for fear it won't play nice with a lot of the popular ruby goodies out there. I've modeled most of the project now in Django and i'm starting to play with Tastypie for the REST component. It feels too kludgy.

I'm a wreck. Mommy?

<comment><USER4> I don't know what kind of project it is - but have you actually considered just using Postgres? Its not hip and takes a bit to setup, but after you are done, you have reliable workhorse with all the stuff you need (access control, schemas, etc. pp.) It has a vast amount of documentation and reading about its advanced features never gets old. There is a lot of talent around that knows how to use it. If you still consider Ruby but don't like ActiveRecord magic, don't forget to have a look at Sequel.

I would recommend against DataMapper. It is nicely constructed, but has some weird issues. Also, DataMapper 1 is going to be replaced by DM 2, which is a completely different beast (but better, hopefully).

Don't be fooled by ease of setup of the DB too much. It should be rather straight-forward, but even if a DB can just be downloaded and ran to dabble with it, always remember that this just shifts the moment at which you really have to dig into the details. You don't want to do that 2 days before going to production. Be on the lookout for red flags, though: unreasonable and weird configurations that have to be flipped for no understandable reasons at all before going into production. That shows that the project is not maintained very well or the developers have lost track. Also try to figure out how long it takes you to solve a new problem with the database, with documentation reading and all. Pick the one that you can wrap your head around best.

<comment><USER3> I have a FreeBSD box in my closet (I felt like playing with FreeBSD this weekend) currently running Postgres 9 and PostGIS which is how my current stuff is working.

It's actually pretty rad to have every single location I've ever checked-into via Facebook stored in this database. I can say "find all the spots 2 miles from my house" and it's shockingly quick.

I have PostgreSQL on my mac. It's easy to install and use.

PostGIS was the killer. Version 2.0 (homebrew installs postgis2) does not play nice with Django locally (on my mac) and the ticket has been open for a year or something to fix it. That's a huge red flag for me right there. <https://code.djangoproject.com/ticket/16455>

I guess I could install 1.5 manually.

My problem with trusting Ruby/Rails is that I've only been seriously developing in it for a month.

<comment><USER5> How quick exactly?

I've been testing ElasticSearch's geo location search and most queries take 50-150ms.

Standard term searches and filters will take like 5ms, with id GETs taking mere fractions of that still.

<comment><USER3> Well, compared to your numbers, I guess not that quick. Django is responding in 0.28 seconds. That is going over wifi to my server in a closet though. And i'm downstairs kinda far from the router.

Screenshot: <http://wsld.me/J5zu>

If I hit it repeatedly for a while it comes back in as quick as 0.14, but usually not that fast.

ping to server:

        michael at Achilles in ~
        ○ ping -c 5 apollo
        PING apollo (192.168.1.130): 56 data bytes
        64 bytes from 192.168.1.130: icmp_seq=0 ttl=64 time=9.497 ms
        64 bytes from 192.168.1.130: icmp_seq=1 ttl=64 time=83.113 ms
        64 bytes from 192.168.1.130: icmp_seq=2 ttl=64 time=7.335 ms
        64 bytes from 192.168.1.130: icmp_seq=3 ttl=64 time=6.998 ms
        64 bytes from 192.168.1.130: icmp_seq=4 ttl=64 time=6.393 ms

        --- apollo ping statistics ---
        5 packets transmitted, 5 packets received, 0.0% packet loss
        round-trip min/avg/max/stddev = 6.393/22.667/83.113/30.241 ms

<comment><USER5> I'd call it good enough, I was of the understanding that SQL database geo plugins were usually miserable. I'll add a mental exception for Postgres.

<comment><USER4> I used PostGIS in proper GIS scenarios and it was faring quite well. The advantage of PostGIS is that it supports all the index types you need directly. And been around awhile, in a good sense.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> > Think about a web developer who shows up to a hackathon, ready to break out > his new side project. He doesn't want to spend hours planning schema or > creating databases and tables. He just wants a quick way to persist and > retrieve data.

When you say that, this is what I hear:

> MongoDB is the quickest way to accrue large quantities of technical debt.

In this analogy, fast accrual of debt leads to one place: bankruptcy. Which, in software engineering, is the ground-up rewrite.

<comment><USER6> I'm questioning whether it's productive to consider _popularity_ when building components that will underly the long-term architecture of other people's software. Overnight success can disappear as quickly as it arrives, and I, for one, have a lower time preference for these things. I'd rather be responsible for a tool that gains a lot of respect for being a robust, reliable and high- performance piece of kit over a long period of time, than one which had blazing popularity in the beginning but then proved to be the source of many a developer's nightmare later.

<comment><USER7> Popularity of a non-overnight type is one of the biggest reasons to use something like Postgres or Rails: this means it gets beat on a lot, there is documentation and you can find people who know how to use it.

Some projects with this kind of popularity (n.b.: not the ones I mentioned by name) are designed like shit, do irrational things, have performance problems, have security problems, whatever. But they have been used and they are usable and you can find documentation and experts to deal with them.

</comment></comment></comment><comment><USER8> > For 90% of web development cases, simply storing and retrieving objects from > a persistent store is enough of an API.

"90%", that's quite a specific number.

Most of what I've written for the past fifteen years is web apps, and I'd say about 10% fall into the "all I need is put and get objects" category. Especially once I knew how to use SQL effectively, especially once I knew how to work with ACID, these features became irreplaceable in almost every project I've worked with.

IMHO it's all about what you're familiar with. Rich Hickey thinks we're morons for using OOP, as he's a brilliant functional guy. Shrugs.

<comment><USER9> Completely agree. Web development is simple, but it's not that simple. Relationships between tables, and the ability to normalize and aggregate data are very useful, _even_ for web development.

</comment></comment><comment><USER10> > Think about a web developer who shows up to a hackathon [...] He just wants > a quick way to persist and retrieve data.

This is the _worst_ reason to use Mongo.

If you are doing a hackathon or just prototyping and need persistence, use pickle. Or store JSON to a text file. Who cares what the solution is. It should:

a) Be built into the standard library. b) Not require bringing up another service to work.

[Edit.. clarity in the quote]

<comment><USER11> That's the point. It's actually easier to use MongoDB than to store JSON in a text file. And things move faster, and you still have the dream that you can scale it up (even if 99% of the time it doesnt happen).

</comment></comment><comment><USER12> MongoDB does pretty much everything the opposite of Oracle: Easy to setup, use and program.

However, Oracle sure is raking in the dough, so is Mongo succeeding simply because they're fulfilling a niche left by Oracle, or because it's the 'right way' to build a software product company?

I hope the answer is the latter, and that Oracle's billions are simply the result of the being entrenched after years and years of doing it the 'old way. That being said, I think it's a little too early to be championing Mongo's business model (even though I'm rooting for it).

</comment><comment><USER13> Although I am a heavy user/believer of MongoDB, one caveat that is overlooked in this article is the administration part of Mongo Clusters.

Even the simplest replication needs 3 servers, add sharding to the dance for extra performance and the server counter jumps up. For startups this is a major decision to consider as a full-time ops guy isn't always affordable. Luckily, PaaS services as MongoLabs and MongoHQ save the day.

<comment><USER14> I don't understand your point.

You could use replication (master/slave) with 2 servers and you don't have to use sharding for anything. How is MongoDB not the same as every other database ?

If anything MongoDB is by far the easiest database I've ever used for setting up clustering/sharding.

<comment><USER13> To have a legitimate replication setup, an arbiter node is highly recommended: [http://docs.mongodb.org/manual/administration/replication- ar...](http://docs.mongodb.org/manual/administration/replication- architectures/#replica-set-arbiter-nodes)

</comment></comment></comment><comment><USER15> I was nailed by MongoDB. It's a great database for prototyping, but all projects that go anywhere run into its limitations: scale, durability, intimate relationship with OS, ease of administration. MongoDB is right for some projects, but in many cases is not. So if you know that you can transition from it at a later point, it gets you off to a flying start. If you foresee that it will be hard to switch later, I would advice spending some time considering future scenarios upfront.

</comment><comment><USER16> Nailing community and ease of use (drivers for everything, easy to install) and documentation wouldn't have been much use if the product sucked; it doesn't.

A lot of people that I've seen with issues around Mongo haven't understood how it's expected to be used: i.e. it's not a relational database and the schema design is therefore different.

<comment><USER7> This might be because a lot of people have no idea what the viable use cases are for all the million different new database-things there are. Because it just isn't that clear unless you have used them all or are a total nerd for the design of database software.

In this respect MongoDB is partly a victim of its own success - that means more people using it who aren't sure what it's for, or who are led to believe it's for something it's not really so hot at.

</comment></comment><comment><USER17> Interestically someone just released a new async scala drivers : <http://news.ycombinator.com/item?id=4454077></comment>


Show HN: Bold – Create internal apps from your Google Sheets or Airtable - <AUTHOR> https://thinkbold.io <comment><USER2> Looks good! where did you store the data generated in your platform? In the Google Sheets ?

<comment><USER3> Hey, one of the creators here. All the changes you make to your records sync immediately to your sheets, but we store the comments etc. on our side.

</comment></comment><comment><USER4> Any chance I can test without the onboarding call?</comment>