Ask HN: How do I handle a million hits a minute? - <AUTHOR> I've got a concept for an online service that will work properly only if the servers can receive and process a million + hits a minute for a minimum of one hour at a time.  Each hit will post new data that needs to be updated in the online database, and the newly updated data will become part of the dynamically generated page returned to the visitor.
The pages returned will be very small so I don't think page size will be an issue.  Instead I think that HTTP server (or perhaps database) speed limits may be exceeded here, or perhaps the dynamic page rendering engine will become the bottleneck.
???
My ultimate goal is to come up with an clear understanding of how to create a system that updates the database, and generates the dynamic HTML pages, and serves the pages to visitors -- fast enough that they do not experience slowdowns during the hour that this heavy load will exist.
How do I go about learning how to do this?  Have any of you done something like this in the past?  This is way beyond my personal experience level.  Thanks in advance for any suggestions you can provide. <comment><USER2> First, relax.

Look, you've got ~4 GHz processors available, and you're worried about a million hits a minute. That's nearly 240k clock cycles per hit.

Next, you've got 60 +/- 10ms of latency between you and your clients (unless there are details here you aren't covering, but no matter). You don't really have to respond to users terribly fast, as lots of your responsiveness would be lost over jitter/lag.

A single dell box could handle your load, if you wrote the whole thing in C on a modern quad-core desktop.

Ignore all the standard Apache/SQL/networking stuff until later until you know what you need. Get the core requirements up first, then add on the load of the side-stuff secondly.

E.g. doing all the heavy lifting in a private set of cpu cores and then providing a shared-mem plugin to apache may be enough for you. Save a CPU core to snapshot your data.

So, for advice:

1\. Ignore database bullshit. You don't need it, it won't help. If you want a DB for other purposes, fine. A snapshot process writing to your DB is fine, just don't put it in the critical path.

2\. Build a load simulator. A raw mode that just sends over the handful of bytes, and a cooked mode that bothers to printf' a GET request.

3\. Start with a reasonable prototype, and work your way to something performant. Hell, you can probably do it in java if you don't mind buying a few more CPU cores.

4\. Integrate as you need for the rest of your requirements. For example, have another box serve the rest of your webapp, and dedicate a stripped down apache box with a custom module for this stuff.

In essence, I'm telling you to treat it as a very smallish HPC problem, instead of some sort of nightmare webapp problem. It fits better, and suddenly you have lots of people/knowledge/COTS equipment available to you.

<comment><USER3> There's no need to build your own load simulator when good ones already exist:

<http://tsung.erlang-projects.org/>

<comment><AUTHOR> Thanks mleonhard, I've created a new thread to continue this discussion since this one has become way too disorganized, so please post future replies here:

<http://news.ycombinator.com/item?id=362810>

</comment></comment></comment><comment><USER4> Without much knowledge of the specifics it's hard to come up with a plausible solution, but here are some ideas:

* Push off as much of the processing as possible onto the client. Ideally, the browser has a javascript library that deals with all the rendering/updating/etc, and just passes stuff to the server as short commands for which it receives an affirmative or negative response, rather than rendering an entire page for each requrest. This might drastically reduce your cpu usage, depending on what else you do in that request.

* How live does the data have to be? Can it be a few seconds stale? If so, and if the data is similar for each user, cache the hell out of it as a bunch of static files served by nginx and the like, rather than dynamically serving any page at all.

* Is it possible to do any sharding so that each bunch of users gets its own db server? It's easier to serve 10x 100k hits a minute than 1x 1m hits a minute.

Without more specifics, it's hard to provide more specific advice though.

</comment><comment><USER5> Theoretically possible I guess. The current TPCC holder is 6million transactions per minute (mixed workload). But, that was on some, er, _serious_ hardware: [http://www.tpc.org/tpcc/results/tpcc_result_detail.asp?id=10...](http://www.tpc.org/tpcc/results/tpcc_result_detail.asp?id=108061001)

I've personally seen 1000+ tps systems (60,000 tpm), but these were all big iron environments... I've seen commodity based (e.g. x86/Linux) environments up to about half that.

However - all of that is just guesswork - A lot of how your would go about this would depend on your data. Are there natural partitions in the data? (time, user, geography, category?).

And even if your page is tiny - say 10kb - That's, er - something like 1Gbps sustained (my math might be a bit off)? That's a lot of bandwidth.

</comment><comment><USER6> That's a _lot_ of traffic. To handle that dynamically would probably cost you a pretty penny, even with really fast code (Apache/nginx/whatever modules in C, for instance). What are you trying to do, exactly?

My laptop can pump out a static page at about 4000 requests per second. A million requests per minute is on the order of 16,000 requests per second, so you'd probably need multiple servers running really fast code. Since you don't explain what you want to _do_ with the data, it's hard to really say anything meaningful about how you want to handle it dynamically.

Do you really need to start off handling that much traffic?

</comment><comment><USER7> Most of the responses here focused on the disk/data aspect. What about the actual network? IPv4/TCP has a minimum overhead of 40 bytes per packet, with a seven packet overhead for the connection itself (three for making a connection, four for closing the connection). Adding another packet for the actual data (with say, a payload of only 20 bytes) and that's about 220 incoming bytes across 5 packets (two from the client for the connection, one for the data, and two for closing the connection---I'm concentrating on the incoming side as outgoing should be similar). Multiply 220 bytes by 10 to get a rough estimate of bits per second (close enough and makes the math a bit easier and if we're a bit high here, that's better than being too low) times the number of connections per second (16,667) gives us around 37Mbps---a T3 basically.

Now, to handle a potential 100,000 users at the same time, that's 6 T3s (12 if you want to handle 200,000), and that's with only 20 bytes of actual data being shipped between client and server. Just the networking side is going to be expensive, so I hope the idea is a good one.

One the data storage side, I worked on a project (<http://www.x-grey.com>) where I had to potentially store a bunch of records. I ended up storing them all in memory in an array. When a new record came in, I would insert it into the proper spot. In theory, I was able to handle about 6,000 requests per second on a 2.6GHz machine (although I found it rather difficult to actually test it properly, which is why I say in theory---in practice it may be more or less, but for what I was doing, that was way more than good enough). So yes, I would recommend keeping everything in memory and avoid the disk as much as possible. But then you have issues of coherency if you have multiple threads/machines that need to update this structure (in my case, that 6,000 is ONE CPU doing the work; I sidestepped the whole concurrency issue by ignoring it).

<comment><USER7> About my network math---100,000 users per minute equates down to 1,667 requests per second, so are you _sure_ you need 1,000,000+ hits per minute? Or are those 100,000 users really sending down 10 hits per minute?

<comment><USER3> Consider using a fleet of front-end machines to accept TCP connections from clients. These machines can parse the HTTP envelope, forward the request to the database server, and generate the HTTP response.

There's a lot of useful advice on this topic in "On Designing and Deploying Internet-Scale Services" <http://www.mvdirona.com/jrh/talksAndPapers/JamesRH_Lisa.pdf>

</comment></comment></comment><comment><AUTHOR> Here are my answers / comments to some of the recent posts (more replies to come). Thanks again to everyone for your help and please keep your suggestions coming:

to swombat: The clients will have javascript so short commands rather than entire pages can be passed. Thanks for this suggestion, implementing this alone may totally eliminate my web server issues.

to jwilliams: You said even if my page is tiny that's still 1Gbps sustained, so by implementing swombat's javascript solution I can (hopefully) pass only data, thereby avoiding the potential bandwidth issue.

to swombat: The data cannot be stale, the response MUST include the results of the database search that is performed immediately after the visitor's last post is appended to the database.

to andr and swombat: I don't know what 'sharding' or 'microsharding' is but if the additional details I've recently posted is any help, maybe one or both of you can tell me if you think it is something that's possible, practical and/or appropriate to my needs?

to mseebach: Yes, every single write will affect every single subsequent read in a non-trivial manner. You said the hardware will cost a lot and I'm sure that's true, but I expect the money will become available if the system I've conceived can be built to function as I'm trying to describe it here.

to EVERYONE:

Given the information you all have provided prior to the time I wrote this post, I have further refined my approach to this problem as follows. Please tell me if this is the best approach in your opinions:

1- I will use JavaScript to eliminate page loads and pass only the required 5-10 characters of data from the visitor to the server each time. This should reduce or eliminate the need for multiple web servers and dramatically reduce bandwidth requirements.

2- I will find someone who knows C to write an app that receives the data from each browser, pass it to the database with an append command, pass another command to search/sort the database table, retrieve the results, and pass them back to the JavaScript in the visitor's browser.

If this appears to be the best approach so far, I still need to solve the database issue. If you have any new comments or suggestions that might help me find the database hardware or software I need, please post them here, thanks.

<comment><USER8> "new record is appended, a search is performed and the post field is sorted, then the relative position of the visitor's new database record is identified in the results (example 49,501 records from the top)."

It might be a good idea to try to twist things so that no sort is necessary - instead of appending and then sorting you should try to insert the data right at the spot it should be. If your constraints allow you to not use a database, you could consider a data structure that inserts data in such a way that it is always sorted.

Also, as an improvement to your point 1, you should put most of the JavaScript itself as well as images, etc somewhere else - with this your bandwidth will be used only for the dynamic data (which will be more than enough).

Finally, the best tool I know for scalability are queues. Try to reorganize what you are doing to arrive at an architecture where you put things on queues that multiple consumers will process.

<comment><AUTHOR> Yes, eliminating the sorting is a better way to approach the problem I believe. I've always just 'sorted' to determine a new record's position in the list, but it seems there may be other (more efficient) ways to determine the record's position without sorting ...

<comment><USER3> Do all of the rankings need the same precision? Maybe you can get away with perfect accuracy for the top 1,000 rankings and then provide an approximation for anything >1,000?

You could use a list for the first 1,000 and then store the rest in a tree. Then have another process that walks the tree in-order and updates the ranking of each node.

</comment></comment></comment></comment><comment><USER9> I've been looking at something similar (not on that scale admittedly) recently.

Either I would go with a generic cloud service to host on (which _should_ scale to handle your hits) such as EC2. Butthe cost could be astronomical.

Or you could go with something like 3tera & the custom cloud solutions and make your own server system: I'd say 4 or 5 servers behind a load balancer.

However w/o knowing more about how data will be stored I cant advise on how to keep the database under control. A million database writes per min is not going to be pretty - even a million reads per min is going to stress it... give us some info on your DB architecture and the process / requirements of those hits and someone will be able to advise more I am sure :) (Edit: as a hint your probably after somethign like slave db's and memcached - have a look at how Wikipedia handles their data)

</comment><comment><USER10> The biggest issue, from what I can read, will be how well the data is partitioned. If every single write will affect every single subsequent read in a non-trivial manner, it's a really hard problem, and you're looking at really expensive hardware.

If you're able to partition the data, it's "just" a question of throwing enough servers at the problem.

</comment><comment><USER11> Let me guess, you'll be capturing data about where people are browsing in real time?

<comment><USER12> Sounds more like game or game-like application. Maybe live betting during some sport event?

<comment><AUTHOR> it's an auction based on a gaming concept, more details here:

<http://news.ycombinator.com/item?id=362810>

</comment></comment></comment><comment><USER13> You biggest problem by far is getting a million hits per minute. Getting a million hits at all would be a fairly rare accomplishment.

</comment><comment><USER14> As the other guys said it all depends from your situation and what you are trying to do. One thing to maybe look at is Erlang and related technologies Mnesia, Yaws etc. This is a comparison of Apache vs. Yaws under heavy load: <http://www.sics.se/~joe/apachevsyaws.html>

<comment><USER6> That chart is pretty misleading - it's basically comparing OS threads to event-based processing, which is really likely to be a win for the event-based system. It's also several years old at this point. Erlang is neat, but to be really, really fast, he probably wants to be working in C. Who knows though... the 'specs' are awfully vague. Erlang might be an interesting choice for some kinds of apps of this kind.

<comment><USER14> It is not misleading as this is explained in the comments section bellow the chart. Anyway it was just a suggestion for a possible direction to look at.

<comment><USER6> Maybe not 'misleading' but dubious. I mean, if you want to compare how many threads an OS can handle before it dies vs how many connections it can handle via an event-based system, I think the results are fairly well known at this point. It's not really highlighting anything great about Erlang or Yaws, nor pointing out any particular defect of Apache.

</comment></comment></comment></comment><comment><USER15> I'd try to build a microsharding system. Depending on the amount of data you want to store, go for 256 or 65k virtual shards and allocate a few shards on each DB server. A hash of the key will give you its shard and it's easy to keep a shard map in memory.

I'd advise going with BDB or whatever key-value store is fastest those days instead of MySQL. And an application-server layer to take care of the microsharding.

Also, try to put most of the work on application servers (things like joins, sorting, calculations etc), because those are much easier to scale than database nodes.

If possible, use in-memory logs instead of writing to the disk during the 1 hour and write the log to disk after the rush hour is over. Consider using a RAM-only database + UPSes, if your data is not that much.

</comment><comment><USER16> After reading through all the other replies, I'm really interested in seeing suggestions on the search and sorting operation that needs to be done with every write.

Realizing that if the query returns a huge number of records, sorting and feteching those records will be THE bottleneck.

</comment><comment><USER17> Sorry for replying to the root, this thread is kind of a mess, with stuff scattered everywhere. Here's what I think:

What you're asking to do is very hard for anything beyond simple static page retrievals. Tiny mistakes in schema design (let alone architecture) could make or break your site.

Get expert architecture help:

If there's no way for you to start small and make mistakes early, your best bet is to find some knowledgeable people, say 3-5 that have professional or large open source scaling experience. Ask them to NDA if you must, but they won't be able to help you unless you can give them all of the details. Solicit their opinions for architecture, and try to reconcile the dissenting opinions about any given technology to see if anyone is off base. Proper architecture could take this from a seven figure hardware expenditure down to a five figure one.

Get commercial support for your hardware and software:

Once you have a rough idea how you'll do it, you'll want to engage good support from any vendors possible. When you're starting small you can just install Ubuntu, apt-get install mysql and get to work, but at millions of hits per hour you may well start to uncover unusual things involving bad hardware, hardware/kernel, or kernel/userland interaction -- likewise with any DB or other userland software. I would say expect to buy tier 1 hardware, an OS with a support contract, and support for any major software component as well. This isn't a very web 2.0 formula, but _you're buying expertise_ that is focused on your solution.

Other things:

1) Sharding isn't a magic bullet but depending on how your data is laid out (specifically what data is not local to other data) it could totally save your bacon here. One box (or a standard three tier architecture) probably wouldn't even have a chance.

2) SSDs aren't ready yet, IMO. Due to the fact that failure is write cycle count related and not heat/time related, they're not suitable (at this time) for use in RAID systems. I've read reports of SSDs in RAIDs that die in such a tight timespan that you can't get the first one rebuilt before the second one dies.

Good luck. It sounds like a really cool project.

</comment><comment><USER18> If your web application idea is super easy, maybe you should just throw it onto Google App Engine or something and let them handle it.

</comment><comment><AUTHOR> Wow, I was writing a reply to davidw's first post when lots of new posts arrived in this thread. Thanks to all of you! I haven't read any of your new posts yet but I will as soon as I submit this one:

The concept is a live interactive system with 100,000+ members online, logged in, and actively posting for about an hour at a pre-determined time of the day (or night). Each person may post 2-5 times a minute and this can add up to 1/2 million hits a minute, but I said I need a million hit per minute capacity because it is possible that 200,000 people might be participating in some of these events. This is a high-profile venture and "bogging down" would be an undesirable occurrence in the middle of an event.

Each post from a logged in member will contain a value which typically consists of no more than 5-10 characters. A cookie of 5 characters will accompany the posted data to uniquely identify the visitor. When the server receives this data it will append a new record to the database with the post value in one field, the login cookie in another, a date/time stamp in the third field, and an incremented value in the fourth field to identify the order in which each post is received. I think that's all the data that needs to be appended to the db in each new record.

(Note that this is my current concept of the database schema, if you folks know a better way to do it please tell me, thanks.)

After the new record is appended, a search is performed and the post field is sorted, then the relative position of the visitor's new database record is identified in the results (example 49,501 records from the top). This 'position' information is used by the script that dynamically generates the HTML, which is then passed off to one of the HTTP servers so it can return the page to the visitor's browser.

Since the returned data must be created dynamically based on the most recent database update, it appears that the database itself may be the limiting factor here. I can equip the database server with SSD drives to accelerate its performance but this still may not be fast enough. Plus there may be an issue with database size itself since it will grow extremely rapidly with 16,000 new records appended every second for an entire hour ...

I have not calculated the size of such a database after an hour of such appends, and I don't know whether existing SSD drives have the capacity needed to store the volume of data appended at this rate, or even if today's database systems can use multiple SSD drives if more capacity is needed. These are issues I may have to deal with if something else does not come up first that makes the whole concept look absolutely impossible.

And yes, I am absolutely going to need this capacity from the start. This is not a system I can "grow into", it must be capable of this performance from the very beginning. Assuming that such a system can be created its cost may not pose a problem since the concept will be very attractive to investors based on the huge revenues it can potentially generate. If there is no practical solution at this time I'll have to re-think the entire concept and try to come up with an alternative that works within today's server / database / page rendering limitations. I'm just hoping there's an existing solution so I don't have to change the concept because as-is it is unique and has unbelievably huge upside potential.

<comment><USER19> 1) Skip SSD and keep the _database_ in RAM. 2) Your not going to sort things that fast for every new post. 3) Think cheep HW that I can add as the system grows not a single beastly system that's fine for 150,000 users but breaks at 200,000 etc.

My advice would be to give using a database for most of this and do everything you can in the web servers ram. Then spool the output to a disk / SSD array and/or a DB cluster.

Anyway, there is no way for people to read anywhere near this much data so you can just keep track of the data that's important to them in an approximate fashion. AKA if you give a data that's accurate +/- .2 seconds that's close enough.

Finally think about timestamps vs incrementing a counter so you can have each system independent of all the others and then aggregate the data when your done. (Merging 30 or so streams of timestamped data can be extremely fast.) And then add your post #.

<comment><USER20> I agree I've worked on a number of high volume systems (million+ client interactions/minute), and you don't want a conventional database. Either use a custom data-structure to keep it in memory (even if it's across multiple machines) or if you really want to use a database use one thats designed for that kind of usage (think tickerplant databases, kx, etc.)

Figure out how to partition your data/algorithms so you can split it across multiple machines, don't concentrate on maximizing the performance of one machine, but rather of the "cloud" of machines.

</comment></comment></comment><comment><USER21> Process Queing would be the best way to solve your problem. If you are processing a million hits a minute then you might need more than one comp/server. So if you are using databases consider using Facebook's Cassandra project(which is a distributed storage system) for your database needs. This would suit you since it has process queing too.

</comment><comment><USER22> As far as the database goes, with decent hardware DB2 9.5 will have you covered [1]. And, should you become truly huge, it can exceed your requirements by a long shot, provided that some serious hardware is employed [2].

[1] [http://antoniocangiano.com/2008/11/04/benchmarking- db2-purex...](http://antoniocangiano.com/2008/11/04/benchmarking-db2-purexml- against-1-tb-of-xml-data/) [2] [http://www.tpc.org/tpcc/results/tpcc_result_detail.asp?id=10...](http://www.tpc.org/tpcc/results/tpcc_result_detail.asp?id=108061001)

<comment><USER23> $8,000,000 worth of RAM?

Serious hardware is perhaps an understatement.

</comment></comment><comment><AUTHOR> NOTICE ! THIS THREAD IS BEING MOVED !!!

I'M GOING TO START A NEW THREAD TO CARRY ON WHERE THIS ONE LEAVES OFF SINCE THINGS HAVE BECOME SUCH A MESS IN THIS THREAD ... AND I'M SHOUTING TO MAKE SURE EVERYONE KNOW ABOUT THIS SO THEY CAN FIND AND PARTICIPATE IN THE NEW, CLEANER AND BETTER ORGANIZED THREAD.

Thanks and sorry for shouting, here's the new thread URL:

<http://news.ycombinator.com/item?id=362810>

</comment><comment><USER24> <http://majelelo.com>

</comment><comment><USER25> It all depends on how "lean and mean" your app and the data is. If you do everything in javascript up-front and use AJAX to move data back and forth, then you reduce the pure bandwidth except for the initial javascript load (which you could cache on Akamai or something).

Some math: Sustained (theoretical maximums) with a 1Gbps link gives you 1M hits per minute at 8053 bytes per hit max. However, you're going to get less than this in reality. Figure 80% of this (6442 bytes) is what you can expect on average. A Gigabit pipe is also big bucks.

You'll need > 1 web server to handle the CPU load to handle 1M hits per minute, so you'll need a load-balancer that can handle Gigabit (Major $$$ already - we're talking in the $50k-$100k just for a single load-balancer that can handle this kind of traffic and most enterprise load-balancers max-out at one million 'sessions' (open connections)), so you may need to address multiple load-balancers running in an active/active configuration and > 1Gbps pipe if you are moving > 8k per 'hit'. Keep in mind that there is connection time/bandwidth overhead and http packet overhead as well. If you could get away from the browser/http model and move to more of a client/server application, you could optimize better and make better use of your bandwidth. Just a thought. Switching to a UDP protocol could save you bandwidth and make things a little faster network-wise also.

To be speedy, your app will have to live without a traditional DB. Put the data in memory (easy to do with memcache across several machines) and make sure that your app is quick and avoid using anything else that would be sub- optimal. Use a lightweight web server, or just get your app to take the http requests itself. C is a good choice for squeezing as much as you can out of your CPU. Write key/value pairs to memcache as your DB, and you should end up with a 10ms turnaround with your app if there is not too much calculation to be done (no sorts, no big/nested loops, ...). Perhaps an apache module for your app would be in order here? Get a few machines maxxed-out with this configuration (need 6+ just as an initial guess, depending on the load- balancer and network latency to serve all of those requests in a second), and it's do-able. Buy reliable machines (DELL or the like) and reliable network equipment since you'll be pushing the hardware to their limit and they'll be running hot.

Instead of writing to a conventional database, you can write to a log file or syslog to another machine (1M writes a minutes shouldn't be that bad) and reconstruct the data to a database when the heavy usage slows down (process the log files offline or something on a different machine).

This is not a small task and will require some tight code and big $$$ up- front, but it's doable. Your Co-location bill will be large.

</comment><comment><AUTHOR> Retric said if I provide data that's accurate +/- .2 seconds that's close enough, but he's wrong (sorry Retric, it's not your fault). The fact is, I must provide each member with the relative position of his post each time he makes one, and the only way I know to do this is to append the new record first, and then do a search and sort to determine where his new post appears in the sorted list.

Retric, you said I'm not going to be able to sort things that fast for every new post. Do you know this to be true? Is this an absolute fact or are you theorizing?

I'm not suggesting that you wrong when you say this, but I certainly do not want to assume you're right just because you say so -- because unless there's another way to determine the position of the new post in a sorted list I may have no other choice but to abandon the existing approach, re-work the entire business plan, and try something else from a completely different angle. I prefer to NOT do this when the current concept is the best I've come up with.

What abut other people's experiences? Do any of you know about data systems that can do an append, followed by a search and sort on one field, at the rate of 16,000 times a second? Or is there another way to determine the position of a record in a sorted list without sorting the db to rceate that sorted list?

How about if the database is kept entirely in RAM? I know this will speed things up a lot, but will sorts be fast enough for 16,000 a second without bogigng down?

mseebach, you asked "What exactly is the output?" and I'm not sure if your question was directed to me but if it was, and if you're asking about the data that needs to be sent from the server back to the browser, then I think I might need to send only "one character" back to the Javascript. Previously I was going to send an entire HTML page but it seems the Javascript solution could be orders of magnitude more efficient. By using the Javascript approach I can send only 10 chars to the server and receive only one char back from the server. The Javascript can then convert that one char to the proper "relative position" value for display in the browser -- or so I hope.

bd, you said I might do better to build my own custom in-memory data structure rather than use a classical ready-made database solution. Maybe you're right. It would certainly reduce the costs over a super-expensive high-speed database solution, wouldn't it? I've never done such a thing before but maybe I can find someone who has. Any suggestions?

bd, you also said I do not want to sort the whole dataset after each new piece of data comes in, and you're right about that too. What I really need is to insert each piece of data in the proper pre-sorted position as it comes in. Then I never have to sort the data later because it's being sorted before or as it enters the db.

spinonethird, you said that from my description I'm not really using the db and maybe I can roll my own specialized data structure. You and bd seem to think alike, and with two of you in consensus I'm becoming more attracted to this idea, especially if it has the potential for faster performance than an off-the-shelf database program.

AS far as the business details are concerned, I know some people (gsiener, rbanffy and perhaps others) are curious but I'm not at liberty to discuss the details at this time. When I eventually spill the beans it will probably be after the business launches so we can gain traction and market share before the competition invades our turf ... :)

One question before I end this post:

Is C the fastest language or the best language to "roll your own" databse solution, or are other languages just as good or better? I'm not up-to-date on the advantages of many programming languages so your thoughts and opinions on this issue might help me to pick the best language for a project like this. Thanks.

<comment><AUTHOR> In my last long post I said Retric was wrong about providing data that's accurate only to +/- .2 seconds, but maybe I'm the one who is wrong. It is possible that I completely misinterpreted his meaning. I became aware of this possibility when I read lacker's post that said I can probably batch up data since I'm going to have latency issues anyways. He's right, I never thought of it this way.

The issue I'm imagining with batching is that I cannot send any data back to visitors until the next batch is processed -- because if I do they won't see how their last post has changed their positions in the hierarchy, and they will interpret this as a system error. In other words, every time a member receives a response from the server, that response _must_ indicate his last post's position in the hierarchy.

Theoretically I could run a batch every second, and although this means holding up all the responses to requests that come in during the previous second, one second is also short enough that they will not interpret it as a problem with the system. On the other hand, 5 seconds in between batches would certainly be seen as a server problem especially by folks on high speed connections.

<comment><USER10> So you problem is not processing 1.000.000 requests pr. minutes, but rather how to sort up to 60.000.000 items 1.000.000 times pr. minute? Now _that_ could prove to be quite problematic. If your sorting algorithm only requires one processing instruction pr. stored item, and is perfectly parallelizable, and there's zero overhead in the map-reduce, you'll need 300 3 ghz cores to do it.

<comment><USER2> Hmm, nlogn(60,000,000) ~= 1,560,000,000 ops per sort, before your coefficient. If you want that done at 16.67 KHz (1 million times/min), you'll need some work. You can do it, in certain cases, with certain hardware & good skills, but it's tricky.

I'm still not buying that the requirements are really that high.

</comment></comment></comment></comment><comment><USER26> How much work can you do in the other 23 hours? Can you be asynchronously writing from an in-memory cache to a real database during that time? Or pre- computing anything? During that hour, how much (if any) data can you afford to lose in the event of a problem? How much data per transaction as we talking about? Do you need a relational database to generate your pages or could you live with a linked-list of structs (or a tree or whatever) until you can persist it off somewhere?

(FWIW I work on an RDBMS-based OLTP system that handles thousands of commits/sec without breaking a sweat, and a lot more at peak times)

</comment><comment><USER27> lots of hardware

there are a few best practices to scaling, you can find those archived at places like highscalability etc...but in the end you just need hardware. hardware buys you fault tolerance, test environments, sharding, blah blah blah. if you are looking to meet this traffic on your own box or on a vm- hoster, forget it</comment>


Ask HN: Why won't you quit a job you hate? - <AUTHOR> For people who are bored at work, especially at big FAANG companies, why won't you make a switch?<p>Salary is a big factor for sure, but given an already good pay for technical talent why not to take a small pay cut and join a mission-driven startup, where you can be aligned in values and have an impact and growth? <comment><USER2> 1) Startups suck. They will work you to death all for the promise that maybe it will pay off one day (but probably won't.)

2) I don't want to work for a "mission-driven" company. What does that even mean? Most companies lie about their mission anyways. They want to make money, not save the planet.

3) There is not a company out there that is "aligned" with my values. I value free time. I value spending time with my family and friends. I value doing separate things from work.

4) I do not care about having "impact" or about "growth". Been there; done that. It is overrated. Building up a company's value so that the executives get bigger & bigger bonuses does not motivate me at all.

If you are able to change the world, build your own company. Don't work for someone else and let them take the credit. If you can't change the world, then stop pretending you can. Work, get paid, and then go home and spend some quality time with your loved ones. Stop trying to trick me into wasting my limited time left by slaving for other people.

<comment><USER3> This is a great answer, particularly the point about your environment and how much you value your own time. I've come to accept that if I want to work on impactful work, I have to do it on my own. At a corporate job, I'm perfectly fine doing 9-5 with excellence and leaving the mission-driven ladder climbing for others.

Survivorship bias is problem with startup stories. You will hear the great success stories of the few standing on the carcasses of the vast majority that burned out and crashed.

</comment></comment><comment><USER4> FAANG is very much above average. Many startups are very much below average. Statistically, quitting a FAANG to join a startup is just a bad idea. The only reason to do so is that FAANG has a lower career cap. Even then, the cap on FAANG is much higher than, say, starting a restaurant.

At startups you generally deal with less smarter colleagues, spending months putting out fires that stem from hacky code designs, and dealing with many absent bosses who are just there for passive income.

Many startups try to look mission driven, but what drives most of them is just growth. The more growth oriented ones might be dishonest. If you think Facebook is unethical, watch what happens to a startup running on 3 months runway, trying to raise a new round. You also have to deal with pivots, often by bosses who literally don't know the meaning of the word and just bounce aimlessly between different things.

</comment><comment><USER5> I'm one of those people who used to work in a "mission-driven." job. As part of burning out and walking the slow road to recovery, I started to feel a lot of "mission-driven" people are really selfish ladder-climbers who are fantastic at marketing themselves and their mission. I'm not even sure if they actually believe in what they are doing outside of inflating their own ego/prestige/whatever.

I'm not at FAANG and I don't earn anywhere near FAANG money. I know the above is really jaded and skeptical view of things. But I suspect more than a few people feel what I feel after a few years in the workforce.

</comment><comment><USER6> "Bored" != "hate".

If you're getting good money, and your management is relatively sane, and you like the people you work with, think twice before you leave. I've been around enough to know that you can easily wind up in a much worse situation.

<comment><USER7> You haven't lived until you've had a psychopath as a boss and for whatever reason they've decided they don't like you.

Do you feel lucky?

<comment><USER5> Or they could really like you and make you the first person they call with their insanity and high priority tasks.

Either way, you're in for a bad time.

</comment></comment></comment><comment><USER8> Honestly? The job search + interview process is way too painful. I feel like I'm a good problem solver, I've made really good impact at the jobs I've been at but landing jobs is difficult for me. I tend to stick around til the job is more painful than interviewing.

<comment><AUTHOR> Agree here. The standard practice of structured interviews is just no fun for me, although I see why it works for many companies.

Did you do any research on the companies beforehand or had a set of criteria to ensure that the job won't turn out painful next time?

</comment></comment><comment><USER9> Almost none of the startups I see hiring in my area have interesting/worthwhile "missions".

No, I don't want to "reinvent how companies handle employee wellness perks" or "help find people the right credit cards and mortgage rates" (real quotes from startups in my area). That stuff seems worse than what I'm working on now.

<comment><USER10> Not sure if you've seen 80,000 Hours (Effective Altruism) but they have a job board [0] for companies with more directed/focused missions and are overall a good resource.

[https://80000hours.org/job-board/](https://80000hours.org/job-board/)

</comment></comment><comment><USER11> I work for a startup, but I'm bored.

The biggest hurdle to overcome when wanting to switch jobs, for me and for all the people I know, is going through the interview process.

This isn't the sort of discussion you're looking for.

But I'd say for most people who are bored at work, working on a CRUD app in a startup isn't going to be intellectually stimulating.

<comment><AUTHOR> I'm a bit surprised to see folks mentioning interviews. Sure they suck, but HN crowd should just be crushing them.

And given the heated market employers should already streamline the process for their advantage.

<comment><USER12> You should definitely check some of the threads over the last 5 years on HN around interviewing. My personal rule of thumb is even if I'm 110% qualified for a position, landing a good job as an engineer requires 1-2 months of hard leetcode study. Then, assuming a good personality, no red flags, you get up to a 50-60% chance of passing any given interview.

Its incredibly time consuming and can also be quite stressful and dehumanizing, as you'll be leaving a lot of interview rooms thinking you're an imposter when the process is just awful.

</comment></comment></comment><comment><USER13> In my case, the answer is: my job pays my bills, while I work on my startup after hours. Also, as many mentioned, standard interviews are so much pain.

</comment><comment><USER14> I am 90% sure I would fail any interview I went for so I am pretty sure I am stuck where I am :)

But being serious.. the thought of preparing for an interview is so demotivating. I do good work and I am good at pretty much anything I do in my current job but I don't match any job descriptions I see. I've moved out of a pure coding role in my current job but that is what I would like to apply for.

</comment><comment><USER15> Not what you were looking for, but I would be conscripted into the military if I quit this job.

</comment><comment><USER16> Define "small paycut." Mid level engineers at FB and its ilk are pulling in 400k+ including RSUs and bonus. You'd be hard pressed to get even a very senior position at a small startup that pays even half that in real cash.

<comment><AUTHOR> Let's say 20-30% discount on salary and potentially a bigger equity upside than a big CO. I haven't seen startup giving out cash bonuses.

<comment><USER16> Heh... Potentially bigger upside, but 99.9999999999% chance they're worth nothing. So, risk adjusted, more than a 50% paycut.

No thanks.

</comment></comment></comment><comment><USER17> If you read any articles about VCs you'll note that most startups fail and even when they don't the multiple investment rounds dilute any stock you might have been granted. They don't call the rare exceptions "unicorns" for nothing.

Besides, it's not salary that is the trap, but _Lifestyle_. Most people's lifestyles expand to consume their increasing salaries, so taking even a reasonable pay-cut means big changes to lifestyle ... and the loss of bragging rights of working for one of the FAANGs.

</comment><comment><USER18> Maybe people who are bored at work should focus a bit on helping one of their coworkers. They are likely to get a lot more insight to the company and possibly value their own job a lot more.

</comment><comment><USER19> Why would a company and a person ever have aligned values, unless that person owns/runs that company? Companies are ultimately tethered to the will of its stakeholders and the stakeholders only hold stake because they expect a return on investment. People value things like family, travel, friendships, romance, spirituality, pursuit of passion, personal fulfillment etc. Why would a company ever value these things?

</comment><comment><USER20> Nah, the whole point of working for someone else is it lowers your own risk, have a good salary and a stable income. If mission and purpose is that important, might as well accept the full risk and work on your own idea. Assuming you have the qualifications to get a FAANG job, taking a pay cut to burn yourself out at a start-up where you get peanuts when the start-up sells just seems like the worst of both worlds.

</comment><comment><USER21> My screen name says it all. I have top-notch skills, but I will be forever haunted by white-collar crimes I committed over 20 years ago, and have even been pardoned for.

I stay with the company I hate (love the job, hate the politics) because it's almost insurmountably hard to get a good job somewhere else.

The pay is just okay here, but if someone else would give me a chance, I could easily make 20%+ somewhere else, for the same work.

</comment><comment><USER22> I have happily quit several jobs. As long as I have 6 months of living expenses (including insurance costs) saved I feel able to quit. This time would likely increase once I have family relations.

It helps that I enjoy the interview process and don't find it taxing, which I seem to be alone in.

</comment><comment><USER23> Money</comment>


US blogger fined 8,000 Euros by France for criticizing Société Générale - <AUTHOR> http://globaleconomicanalysis.blogspot.com/2013/11/mish-fined-8000-euros-for-quoting_20.html <comment><USER2> The comments here are atrocious. I expected more from HN than senseless French-bashing and _' Murica_ flag-waving.

A few informations for context:

\- Two bloggers were fined, one French, and the American one for quoting the French.

\- The fine emanated from the Commission des Sanctions (sanction committee) of the AMF (Autorité des Marchés Financiers), the French stock market regulator.

\- It's supposed to be independent, but they are notoriously in bed with banks, with most members of the commission being former higher executives of major banks. Therefore, it's no surprise that they will do this kind of stunts in order to protect their interests.

\- It's been talked about in several (right-wing) publications like Atlantico or Les Échos, where journalists have pointed out that this is one more action that proves the absence of credibility of the AMF.

<comment><USER3> Funny, I expected more from HN than people using the term "Murica". Also, before complaining about the quality of comments one should give the system time to correct itself as people vote on them. Otherwise you may end up with a highly visible comment that refers to outdated information..

<comment><USER2> Well, I apologize for having gotten a bit carried away; of course not all comments in this thread are worthless.

That being said, I stand by my opinion that reddit-style pun threads [1] or random and unrelated politically biased ramblings [2][3] really shouldn't belong to HN discussions.

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

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

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

<comment><USER4> For attempting to tell HN what belongs on HN, I hereby fine you $500,000 USD, payable in solid gold Dungeons & Dragons miniatures. Any response must be written in Morse code while cooking a souffle.

</comment></comment></comment></comment><comment><USER5> I hereby fine Société Générale 8,000 bitcoins for violating the American constitution (never mind jurisdiction since they don't care for it either), notice duly served by posting this comment in a public forum and witnessed by whoever happens to read this.

<comment><USER6> Yeah the United States never does anything outside its jurisdiction that anyone else finds annoying.

That said, the level of institutionalized corruption in France is pretty outrageous. If I recall correctly, the president of France receives a truck load of cash every year which can be used with zero accountability (and that's _legal_ ). Of course the French (and pretty much any democratic country) can look at our electoral system and laugh.

<comment><USER7> _Yeah the United States never does anything outside its jurisdiction that anyone else finds annoying._

Except we aren't talking about the US right now, we are talking about one particularly boneheaded action by France.

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

<comment><USER6> This is what appears to me to be an American (or USian to be more precise) complaining about France fining a US Blogger, so a direct comparison of the US to France is highly apropos.

<comment><USER8> Except that Mike Shedlock is not personally America and has no control of the actions of the American government.

Also, there's only one nation in the world called "America," so it's plenty precise. The continents are "North America" and "South America," or jointly "the Americas." Posturing aside, I don't believe that a reasonable person is likely to confuse them.

<comment><USER6> I was responding to someone who was cheerfully making anti-French statements because a US citizen was mistreated by some piece of the French government. This is no different (except in degree) from an Pakistani citizen (say) being killed by the US government, also outside its legal jurisdiction.

<comment><USER9> Both are bad _(although obviously there is a discrepancy in seriousness here)_. We should not fail to criticize one because the other also happens.

<comment><USER6> Yes but to make sweeping complaints about the _French_ as an _American_ is absurd. (And note that I myself pointed out that France has a serious problem with institutionalized corruption, not that the US has anything to crow about.)

<comment><USER9> > _" Yes but to make sweeping complaints about the French as an American is > absurd."_

I'll repeat what I've said elsewhere in this dicussion:

 _" Insane laws in one place do not make laws in another place any less insane. If we universalized your attitude towards criticism, then only those blessed to live in utopias would have the privilege of leveling complaints at other systems."_

Americans _do_ get to criticize the French government. Americans get to criticize the American government. French get to criticize the French government. French get to criticize the American government. Zimbabweans get to criticize the Portuguese government. The Portuguese get to criticize the the Swiss government.

Everybody gets to criticize any government they please, no matter what government happens to lay stake to the place that they live. It is absurd to think otherwise.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> Not surprising, there is no free speech in France.

Especially when it comes to crooked banks or politicians. France is a strange country that likes to give lessons about democracy to the rest of the world, but when you look at things closer, France is closer to a monarchy than a democracy.

Everything is so centralised that information usually comes from an single source of truth, that journalist dont even bother questioning since they are all married with politicians (literally).

<comment><USER11> > Not surprising, there is no free speech in France.

Entirely false, except if you mean ABSOLUTE free speech. In this case I would argue no country has one. I guess you come from the US? See : [http://en.wikipedia.org/wiki/United_States_free_speech_excep...](http://en.wikipedia.org/wiki/United_States_free_speech_exceptions)

> Especially when it comes to crooked banks or politicians.

Weren't we talking about the 1% recently where you live?

> France is closer to a monarchy than a democracy.

I like those empty statements.

Furthermore, who is upvoting your comment? It's just plain bashing with no real arguments.

<comment><USER12> You know what, I'm willing to bet that camus2 is either French, or at least French-speaking (sorry camus2, your English is awesome, way better than my French, and I have been living in France for 10 years, but still, you make mistakes sometimes...). Which makes your comment rather ridiculous, seeing as it is one big ad-hominem based on nationality...

<comment><USER13> Yes. He is. [https://news.ycombinator.com/item?id=6757165](https://news.ycombinator.com/item?id=6757165)

</comment></comment></comment></comment><comment><USER14> This judgment is unenforceable in the United States as a matter of public policy (thanks to our First Amendment). So it's merely an attempt by Société Générale to muzzle critics.

If Mish were a multinational company with operations in France, it would be different. But he's not. So he can gleefully ignore it, as he is, correctly, doing.

<comment><USER15> > So he can gleefully ignore it, as he is, correctly, doing.

Ignoring it would mean "never base your action on that decision". However, now he can't travel to France or any of the french territories (Martinique etc.). That's not what I'd call ignoring. It's a shitty situation: Fined for invalid reasons in a trial where you never had a chance to fight.

<comment><USER14> Yes, other countries have silly laws. I'm sure if you set up a blog complaining about the king of Swaziland, for instance, and his predilection for selecting an additional wife, willing or not, every year from the selection of bare-breasted virgin teenage girls paraded before him[1], you might not want to visit that particular corner of Africa.

But the reach of Swazi or French laws is limited unless you visit Swazi or French soil. And in the case of the French libel law in question here, I'm not clear it would even preclude a visit to Paris. Do you have any citation for the proposition that a visitor would be arrested for what would be a civil tort?

BTW, if he fought it in France, he would lose. See yesterday's "due process" discussion. If it's a bad law, due process helps you not one whit.

[1] True: [http://www.theguardian.com/world/2005/aug/30/aids.andrewmeld...](http://www.theguardian.com/world/2005/aug/30/aids.andrewmeldrum)

</comment></comment></comment><comment><USER16> UK banks are just as bad. A company I worked for previously gave a bank's investment products a high risk rating because of poor investments/compliance and they sent all sorts of nasty shit out.

Every bank has a "send people nasty shit" department by the looks.

The answer is as always: "fuck off".

<comment><USER17> I think the better answer is to not reply at all or ever acknowledge receipt of said 'nasty shit'. Make every step a challenge for the opponent, it's a war of attrition. And never get mad at the lawyer, s/he usually bills by the hour and they are delighted to send out useless letters all day long. Informing the bank that this is a waste of time is bad for job security.

<comment><USER18> It's perfectly fine to get mad at the lawyer for abusing their skill doing such people-hostile work. They can choose a more honorable line of lawyering.

<comment><USER19> ...such as ambulance-chasing.

<comment><USER20> ...or running for political office.

</comment></comment></comment></comment></comment><comment><USER21> I don't understand how this court system can be so silly as to fail to recognize that it has no jurisdiction over someone. Isn't the question of jurisdiction one of the first steps in any court case?

<comment><USER15> What do you mean by "no jurisdiction over someone?" If a crime was committed in france they can ask for extradition. That would probably not result in anything in this case, but as long as it's a crime by french law committed in france the case may as well be valid. So all the court will check whether a punishable crime was committed in france.

They could collect the fine when the blogger enters france or maybe, depending on the case, the european union or an associated state.

<comment><USER14> France has no jurisdiction. U.S. courts will not enforce this civil judgment. Our 1A precludes them from doing so. And the blogger in question said he's not going to France.

(BTW, a civil judgment is not "a crime by French law.")

<comment><USER22> It was not a civil judgment but a _public_ one handled by an independant administrative authority with the power to pronounce sanctions (French _public_ law is separate from both criminal and civil law and includes administrative law).

It is not so much about free speech: the two guys have been fined for publishing incorrect information about the financial situation of a bank. It is more about financial regulation than free speech. I'm not so familiar with american law, but I'm pretty sure you got related situations (for example concerning the handling of sensitive financial information, or insider trading, etc.)

Disregarding the question of the reality of what they've been accused of, the fine against Mish is illegal considering the right of defendants to translation and an interpretor has not been respected. This decision will be very probably striken down by any real judge that get her hands on this case.

<comment><USER23> >I'm not so familiar with american law, but I'm pretty sure you got related situations (for example concerning the handling of sensitive financial information, or insider trading, etc.

We have laws that apply to stakeholders and insiders. As far as I know third parties are free to say or even make up anything they want, as long as it's not fraud or libel.

</comment></comment></comment></comment></comment><comment><USER24> Hilarious. It baffles me how this country continues to operate given the massive public spending/benefits, delightful reforms (e.g. proposed 80% tax rate for high-earners) and pretty xenophobic view on immigration. ALL of my (highly-skilled) French friends do not plan to return in the foreseeable future.

<comment><USER25> While the situation in TFA is spectacularly ridiculous and shameful for me as a french I don't think it warrants this kind of gratuitous french bashing. Unless of course you want to explain to us what the french taxation laws have to do with this particular court decision.

Also it's 75%, not 80%. That might not be very significant overall but it makes me doubt you really know what you're talking about.

<comment><USER24> I guess my comment wasn't strictly limited to this court decision but I wouldn't consider it as French-bashing. I have nothing against your country and compatriots, and I have enjoyed many fun moments there. However, I and my two French flatmates are genuinely curious how France can continue on its current public-spending/entrepreneurship-throttling trajectory.

<comment><USER25> It's an interesting discussion and I have mixed feelings about the current french "trajectory" as you put it. However I don't think this is the place to discuss politics so I'll refrain from engaging in this debate.

However I think from a hacker perspective it should be interesting to see a country that tries to do things differently from what appears to be the norm in most of the western world and whether it'll succeed or fail utterly. I know that most people on HN are big on "laissez-faire" and business deregulations but it's a bit disingenuous to present it as the solution to all problems.

We value thinking out of the box for engineering, why not for politics? "Look, a new economic system in 30 lines of socialism!".

I wish people were less adamant and more level-headed when it came to politics and economy, it's hard to have a reasonable discussion on those subjects.

</comment></comment></comment></comment><comment><USER26> This might be pretty meta, but from looking at some of these comments makes me wonder how in the age of the internet, which give us a de facto global commons onto exchange ideas/information/currency and securely for those who take the steps to do so, some people still have an an affinity for whichever line drawn around them the sand in which one had no say in personally. Can we form something better through the aforementioned means? And what will it take for more people to start looking outside the box for solutions? More increased hardships of whimsical imposition?

<comment><USER27> If I understand you correctly, I think it has to do with the fact that their narratives don't align with the information. And that's only if the sources are credible (to them), the bias isn't obvious/against the readers bias, and the facts are presented clearly to them (presentation).

So the major barrier to what you & I enjoy as the internet for people to adopt in my opinion, are the communication barriers we all face everyday. You and I most likely are somewhat uncommon because more people are more apt to do their socializing in real life.

That said, we are seeing global communication at it's best. For instance, I'm an anarchist. But more specifically, and libertarian-socialist. One of my many hobbies is to argue with other political theory enthusiasts. More specifically, other Anarchists.

For such a small group of people, it would make more sense to band together in common ideology to become stronger (like the internet), but humans have a way with creating division where there ought not to be none IMO.

Would love you opinion on if removing this division in ourselves is possible, or if you don't believe that's universally true.

<comment><USER26> I think I would have to agree with your opinion about banding together in common ideology, but I'm not sure about the stronger part (what that means to me).

What I mean by that is that I haven't (nor do I think I will ever fully) decide(d) if that becoming stronger is to exert that influence over other ways of thinking/being or to become stronger so that me as the individual can live and move about the earth as freely as I choose understanding the danger that I may present upon myself and that upon other human beings trying to do the same or something else. So I guess whether the division in ourselves can be removed or not, It will ultimately come down to the individual or small group of people to make it so either way. And that's where I am now: working on something with a friend (maybe people more in the future) that will help explore what that means to me.

<comment><USER27> All the best!

</comment></comment></comment></comment><comment><USER28> I would be more happy to read something like "Human blogger fined 8,000 euros by the french justice department for criticizing a bank".

Now it sounds like the people of France decided to fine just an American blogger.

<comment><USER29> Looks like a bad choice of re-title. But I don't think it was intended to highlight the fact the blogger was American.

> Human blogger fined 8,000 euros by the french justice department for > criticizing a bank

You missed the point where they were fining a non-French blogger that was giving straight facts and practicing his free speech.

<comment><USER30> Well, those are both bad title, since french justice has nothing to do with it.

"Human blogger fined 8,000 euros by the french assholes for criticizing a bank" is the closest to reality.

"Human blogger fined 8,000 euros by the french independent authority for criticizing a bank" is close enough to reality and politically correct.

</comment></comment></comment><comment><USER31> The hypocrisy of the comments here is hilarious.

This is exactly the same as the MPAA shutting down websites and fining people all over the world. All the people here crying "they have no jurisdiction!" are really just getting a taste what their own government has been doing to people all around the world for decades.

Never mind 'Murica going around the world enforcing their laws and ideals with their armed forces.

<comment><USER32> Hacker News is certainly a hotbed of pro-MPAA activism.

</comment></comment><comment><USER33> Can I just say how much I _hate_ that Google automatically turns blogspot.com into the TLD of your own country? Who the hell wants that?

<comment><USER34> Google does (or did?, I only use the browser search field) that to the search page URL as well.

<comment><USER35> And that's maddening. If I want to search some english terms, the easiest way to get meaningfull results it by tunneling my query through some computer at the US.

Google just assumes that everybody can only speach one language, and is only intersted in one country, even when explicitly told otherwise.

<comment><USER36> ...and I want it to work the other way. I want to be able to enter English terms, and have pages from other languages returned.

I have no idea how that would work, but it's frustrating finding my www experience stuck in a UK/US bubble.

As for Google, does /ncr (no country redirect) still work?

</comment></comment></comment></comment><comment><USER37> This coverage is going to get him more than 8KE worth of blog visitors. Particularly the "hey, this little blogger was sharp enough to uncover some real weird stuff on the part of SG" angle. Blog readers eat that up.

<comment><USER38> While Mish isn't as well known as Drudge, he isn't a little blogger. Just because he doesn't write about growth hacking his angular startup into YC doesn't mean he has no reach.

<comment><USER39> I suggest you add "growth hacking my angular startup into YC" into your HN bio. That's beautiful.

</comment></comment></comment><comment><USER40> _The AFM has no jurisdiction over me, so they won 't collect. As a US citizen living in the US, I am not subject to the absurdities of French laws, or French witch hunts. All they get from me is a vow to never go to France._

This was likely the desired outcome: a chilling effect. However, there is no need to be intimidated, Mr. Shedlock can still travel freely to France without worry. There are no debtors prisons, no credit rating agencies, and assets are difficult to seize outside of a criminal conviction for violent crimes. At worst, he will receive more letters in French.

</comment><comment><USER33> These stupid short-sighted governments are going to ruin the Internet for the rest of us through their greed for money (like in this case) and power (NSA mass surveillance).

<comment><USER19> Some might argue that they already have ruined the Internet. National firewalls, massive endemic surveillance, and political-industrial shenanigans involving the telecoms controlling the backbones are a significant threat, and not trivial to route around. When powerful parties begin aggressively policing the content on the network instead of just controlling the infrastructure, that is just the evidence that we have already lost.

Viable efforts to decentralize, universally encrypt traffic, and support true identities alongside pseudonyms and anonymous users started too late to avoid stepping backwards on service quality while moving forward on network freedoms.

</comment></comment><comment><USER41> I think Tim O'Reilly or Jeff Jarvis or Clay Shirky (unfortunately I don't have the bookmark anymore) already addressed this:

The case is a prime example that what you write is not only the jurisdiction _where you write it_ , but also the jurisdiction _where people read it_. (And the jurisdiction where it stored and where it is going through as network traffic.)

<comment><USER42> _what you write is not only the jurisdiction_

I think you a word there.

It's fairly absurd to say anyone who posts anything online should follow the laws of _all_ places where whatever they posted could be read.

<comment><USER41> If you publish something, it can be read everywhere. There should be no surprise that people will judge your words based on their customs, on their laws, on their terms, and they will act within their jurisdiction.

But that goes both ways: if a "Nigerian prince" scams you, you will not stop just because you were originally out of his jurisdiction.

</comment></comment></comment><comment><USER43> Note that this stupidity from a French independent administration didn't end up in droning a whole family and in the end everybody is good for a laugh and life carries on. This case has absolutely no chance of passing any legal test.

</comment><comment><USER34> >The AFM has no jurisdiction over me, so they won't collect. As a US citizen living in the US, I am not subject to the absurdities of French laws, or French witch hunts.

Just you wait till the transatlantic free-trade association is in place...

</comment><comment><USER44> I don't see so much difference in France, the US or other countries:

Money has not become king in our society, no! It has become God and the money- people are the priests of our religion! We are not so much better as the middle ages where.

</comment><comment><USER45> At least Commission des Sanctions didn't send drones to bomb the guys with hellfire missiles. I'd say the US doesn't have much moral authority on extranational law enforcement, fiscal or otherwise.

</comment><comment><USER46> Please stop playing their game. The 1%, or maybe the 0.01%, wants the rest of us to fight stupidly over which country is better. "My laws are better", "your banks are crap" etc

This is a world wide class warfare we are living. Don't play the countries confrontation games. Don't be their pawn.

We the people should be together against the powerful ones and demand our rights everywhere, not just in our country.

We need to globalize justice, not just the economy.

<slightly demagogic and rushed rant/>

</comment><comment><USER47> That guy managed to instantly go from slightly above zero respect to negative, when i copy-pasted stuff and noticed that his site saw fit to add spam onto that in the buffer.

<comment><USER48> So you copied his content and were mad that he included text which noted you copied his content?

<comment><USER49> Ctrl+C means copy the text, with optional formatting. It doesn't mean "run a script", and this little trick implies two things: first, that the author is going to assume that anyone who copies text is trying to steal the content without attribution; secondly, that having been corrected in your naughty ways, you'll blithely accept the link he's pasted in there.

It's a web faux-pas, the equivalent of having your whole site in Flash, or trying to disable right-click for fear that someone might steal your precious, precious content.

<comment><USER48> "his content"

It's not yours. He can do what he wants with it.

</comment></comment></comment></comment><comment><USER50> So much for Liberty, Fraternity, and Equality.

</comment><comment><USER51> Compare American "product defamation" law: [http://en.wikipedia.org/wiki/Food_libel_laws](http://en.wikipedia.org/wiki/Food_libel_laws) and the UK "Trafigura" lawsuit.

</comment><comment><USER52> "Hey France! you can't possibly borrow more than 27 times your house's value, that's crazy. Look at the US, they only borrow 17 times their houses value - that's prudent fiscal behaviour."

yeah I feel so much happier

</comment><comment><USER53> I hereby fine Société Générale for overuse of acute accents.

</comment><comment><USER54> lol, fuck the french :)

I say that in complete jest, but that is hilarious.

</comment><comment><USER55> Freedom is dead.</comment>


Try APL online - <AUTHOR> http://tryapl.org/

<comment><USER2> It's not loading for me

<comment><AUTHOR> I'd guess front page curse of too much traffic.

</comment></comment><comment><USER3> First impression: APL does not handle high HTTP traffic well.

</comment><comment><USER4> Is this just dead? Is it open source? Is there anymore info? It sounds interesting.</comment>


The World As I See It - An Essay by Einstein - <AUTHOR> http://www.aip.org/history/einstein/essay.htm? <comment><USER2> I voted up, because there's some beautiful thoughts and ideas in there, and Einstein's an amazing man. However, I'm a bit scared by:

"The text of Albert Einstein's copyrighted essay, "The World As I See It," was shortened for our Web exhibit."

This paragraph in particular seems awkward in the flow of the essay, and the ellipses suggests the re-author/exhibitor is likely liberally oversimplifying quite a bit:

"This topic brings me to that worst outcrop of herd life, the military system, which I abhor... This plague-spot of civilization ought to be abolished with all possible speed. Heroism on command, senseless violence, and all the loathsome nonsense that goes by the name of patriotism -- how passionately I hate them!"

I don't think anyone likes gung-ho destructive violent force, but most rational thinkers understand that basic defense is necessary to at least some extent. Or at least, it's been historically necessary in the past. I'm going to guess Einstein's point was much more sophisticated and nuanced in the original, unedited work.

Still a beautiful piece with beautiful ideas, but selective editing of great thinkers always scares the hell out of me.

<comment><USER3> > This topic brings me to that worst outcrop of the herd nature, the military > system, which I abhor. That a man can take pleasure in marching in formation > to the strains of a band is enough to make me despise him. He has only been > given his big brain by mistake; a backbone was all he needed. This plague- > spot of civilization ought to be abolished with all possible speed. Heroism > by order, senseless violence, and all the pestilent nonsense that does by > the name of patriotism--how I hate them! War seems to me a mean, > contemptible thing: I would rather be hacked in pieces than take part in > such an abominable business. And yet so high, in spite of everything, is my > opinion of the human race that I believe this bogey would have disappeared > long ago, had the sound sense of the nations not been systematically > corrupted by commercial and political interests acting through the schools > and the Press.

(found in <http://lib.ru/FILOSOF/EJNSHTEJN/theworld_engl.txt>)

<comment><USER2> Thanks for that - I do find that quote more interesting. The original simplification sounded like, "Scrap the military, I hate it, it shouldn't exist." Einstein's actual quote outlines that his disdain is for people who _enjoy_ being part of the military herd system, which only still exists because of political interests acting through the schools and the Press. The simplification sounds like, "Scrap the military", the original is more along the lines of "Military would've been gone except for government acting through the schools and media" --> HUGE difference there, and I find Einstein's unedited/un"simplified" far more insightful.

</comment></comment></comment><comment><USER4> My favorite quote of his.

"My political ideal is democracy. Let every man be respected as an individual and no man idolized. It is an irony of fate that I myself have been the recipient of excessive admiration and reverence from my fellow-beings, through no fault, and no merit, of my own. The cause of this may well be the desire, unattainable for many, to understand the few ideas to which I have with my feeble powers attained through ceaseless struggle."

No man should be idolized. Much of what we do today in our society...

<comment><USER5> Off topic or maybe not, but I've never understood monarchy and how it still survives in the 21st century and how people bow before the king/queen.

A friend once told me monarchy is a kind of religion and we should respect them for that alone.

Fuck religion then, as well as the military and the monarchies.

<comment><USER6> Bowing to the head of state is more done out of respect than any religious duty.

And before you get all high and mighty on the monarchists, keep in mind that many people currently feel the same sort of reverence to the current president. Even worse, many feel this towards the latest hollywood starlet.

</comment></comment></comment><comment><USER7> i have read many papers on einstein, and i'm fascinated by him. he has some of the most interesting philosophies on life, but it's a bit frustrating because he's an easy person to take out of context. lots of people will grab a sentence or two just to try and prove a point.

particularly the atheist crowd will often take einstein quotes and use them to say "you see? even einstein doesn't believe in all that nonsense!" i would probably consider myself pretty far from religion (even though i was raised a nazarene christian from birth), but what einstein is describing as his "religious belief" is pretty nicely summed in that last paragraph. i've read essay-length papers on his views on religion, but overall he is a pretty humble person toward many things in life.

i have only one poster on my wall right now in my apartment, and it's of einstein (there's a difference between idolization and admiration).

</comment><comment><USER8> An ideal for democracy, a hate for war, and a hate for those whose reality and religiosity exclude the vast beauty of the knowledge we can not yet observe.

I have a feeling if Einstein had been alive today, enduring the Bush administration may have killed his soul.

<comment><USER9> Einstein lived through Nazi Germany. His soul saw a lot of action.

<comment><USER8> Yea, stupid comment. How do I downvote myself? :)

</comment></comment></comment><comment><USER10> The book is a pretty good read as well: [http://www.amazon.com/World-As-I- See/dp/1599868245/ref=sr_1_...](http://www.amazon.com/World-As-I- See/dp/1599868245/ref=sr_1_1?ie=UTF8&s=books&qid=1236087399&sr=8-1)</comment>


Fractal landscape: musicians with guns - overstepping artifacts - <AUTHOR> http://vimeo.com/87696634

<comment><AUTHOR> I presume this was created with: Mandelbulb 3d ([http://www.fractalforums.com/mandelbulb-3d/](http://www.fractalforums.com/mandelbulb-3d/))</comment>


Just updated 1k city and 100 countries startup ecosystem rankings - <AUTHOR> https://www.startupblink.com/?leaderboards <comment><AUTHOR> feedback about what surprised you in the rankings will be greatly welcome. it's the most comprehensive rankings that exist, I would love to answer questions about the rankings algorithm.</comment>


Can You Trademark a Color? - <AUTHOR> http://www.freakonomics.com/2011/08/12/can-you-trademark-a-color/

<comment><USER2> Anyone remember that time T-Mobile tried to get Engadget Mobile to change their colours?

[http://www.engadget.com/2008/03/31/deutsche-telekom-t- mobile...](http://www.engadget.com/2008/03/31/deutsche-telekom-t-mobile- demands-engadget-mobile-discontinue/) [http://www.engadget.com/2008/04/01/painting-the-town- magenta...](http://www.engadget.com/2008/04/01/painting-the-town-magenta/)

</comment><comment><USER3> See also: <http://en.wikipedia.org/wiki/International_Klein_Blue>

<comment><USER4> I'd be careful. That wiki mentions nothing about me being trademarked (although it did before) and has suspect sources cited at the bottom. The IP status of Intl Klein Blue is not very clear from my personal research into the matter.

<comment><USER5> Created 117 days ago!

o_o

<comment><USER4> This is not a novelty account.

<comment><USER3> Wow. Email me? email@example.com

</comment></comment></comment></comment></comment><comment><USER6> Yes. See the case of In re Owens-Corning Fiberglas Corp., 774 F.2d 1116 (Fed. Cir. 1985). Here's a copy of the decision: [http://ftp.resource.org/courts.gov/c/F2/774/774.F2d.1116.84-...](http://ftp.resource.org/courts.gov/c/F2/774/774.F2d.1116.84-1416.html)

<comment><USER7> The difference being, coloring fiberglass insulation serves to identify its brand, and _serves no other purpose_.

Red soled shoes are arguably better looking, which is a functional purpose of shoes. So you shouldn't be able to trademark them. Trademarks should only prevent people passing off goods as yours, not copying your function.

Similarly, Apple shouldn't be able to trademark Aluminium notebooks, or single button phones, as they have a functional purpose.

Of course, their is a question as to whether aesthetics is a function, and whether restrictions on aesthetics will limit the function of competitors' offerings. In fiberglass insulation, I doubt it. High-heels, maybe.

<comment><USER8> I'd have argued that the red soles were indeed intended to be for identification only. Anything else is a function of people's perceptions (e.g. beauty is in the eye of the beholder.)

Lest we argue that red soles are aesthetically functional as well, regardless of the designer's intent, let's consider the possible repercussions of pink insulation when applied inside transparent walls. Or perhaps the calming effect the color has on installers. Now, the pink is functional. Does that make it less able to be protected?

I really think it goes back to the intent of the creator/designer/architect of the product. The designer of the shoes seems to have argued the aesthetic qualities of the color on the sole and therefore nullified his ability to claim the use of color was not "functional." If he'd held out with the argument that his intent was identity, he may have won.

</comment></comment></comment><comment><USER9> When I worked at UPS, they told us the company had a trademark on "Pullman Brown". Not sure if that's actually true or not (can't find reliable info with a quick search).

<comment><USER10> It is true according to my IP instructor. UPS has a trademark on the color in the context of delivery services, it being strongly associated with their brand.

</comment></comment><comment><USER11> According to this article YSL made a pair of completely red heel, top and bottom, which is what landed them in this lawsuit. [http://www.inquisitr.com/133848/louboutin-battle-yves- saint-...](http://www.inquisitr.com/133848/louboutin-battle-yves-saint- laurent-red-soles/)

This use of red seems very different from contrasting soles - and having a trademark that blocks red high heels seems a bit overreaching to me.

</comment><comment><USER12> "lastminute.com", "lastminute" and the colour magenta are all trade marks owned by Last Minute Network Limited and/or its group companies.

The T-MOBILE acoustic logo, and the color magenta are registered and/or unregistered trademarks of Deutsche Telekom AG in the US and/or other countries

</comment><comment><USER13> On the Australian ANZ Bank page : <http://www.anz.com.au>

The footer contains the text "ANZ's colour blue is a trade mark of ANZ."

The actual web site contains multiple blues, so I am wondering which exact one they have trademarked?

</comment><comment><USER14> I would say no. How is a color original when stars have been making it for eons?

<comment><USER15> Originality only applies to patents.

</comment></comment><comment><USER16> I remember Cadbury (the chocolate company) tried to trademark the color purple. I think they failed at it because "purple" apparently wasn't a clear and concise description of the trademark.

</comment><comment><USER17> "Color Pink® and Pink Nitrile® are registered Trademarks of Colur World, LLC."

You can find that disclaimer on any site containing mentions of pink nitrile gloves for use in hospitals.

</comment><comment><USER18> You shouldn't be able to trademark colours, but a specific colour on a specific area of a specific item (red soled shoes), that others copy purely so customers are confused about the brand image, does sound more like what is needed.

<comment><USER10> Read the article. This is almost exactly how the US trademark system works.

</comment></comment><comment><USER19> Is it a (hyper)intelligent shade of the color blue?

</comment><comment><USER20> Pantone seems to think you can: <http://en.wikipedia.org/wiki/Pantone#Intellectual_property>

<comment><USER15> It looks like they are asserting copyright, not trademarks.

</comment></comment><comment><USER21> Yes you should be able to trademark colors. Also, people should be allowed to trademark specific tones, like middle 'C' on the piano. I bought that one, you can't use it.

<comment><USER10> You think you're being clever and sarcastic: <http://en.wikipedia.org/wiki/NBC_chimes></comment></comment>


Framer X: What we know so far (30 +Links) - <AUTHOR> https://docs.google.com/spreadsheets/d/1t8AS3TAKDPs_xpgO2uzBamCgiYB-hk6bz0pbK9iAJmM <comment><AUTHOR> On the eve of beta invites going out, I thought I would compile a list. +1 for effort if you want</comment>


Ask HN: What is the new black bar above the nav - <AUTHOR> There is a black bar showing above the Nav today... Does it mean anything? <comment><USER2> [https://news.ycombinator.com/item?id=22371610](https://news.ycombinator.com/item?id=22371610)</comment>


Ask HN: How to make your Google analytics and Adwords account GDPR compliant - <AUTHOR> If you are running an honest small business, you are probably short on resources for GDPR compliance. Is there a simple bullet list of things to do to ensure that your analytics account & adwords account are GDPR compliant. Most of the blogs I've come across are full of legal mumbo-jumbo and screenshots of e-mail updates from Google.
I could gather this so far :
Google Analytics:
- Declare clearly what personal information is collected in your privacy policy. Any simple boiler plate avaible ?
- Have a cookie consent banner for EU that is opt-in i.e. no tracking cookies are set until the user says so. Hardly anyone is doing this yet.
- Use anonymizeIP function in google analytics i.e. : ga('set', 'anonymizeIp', true);
Google Adwords:
- Declare clearly what personal information is collected in your privacy policy. Any simple boiler plate avaible ?
- If you are using re-marketing, either disable it or let it be known in privacy policy ? <comment><USER2> Hopefully this helps.

> Google Analytics: > \- Declare clearly what personal information is > collected in your privacy policy. Any simple boiler plate avaible ?

If you only want to disclose what kind of personal information you collect, you don't need special clauses. Simply disclose what personal information you collect.

However, a Privacy Policy should include:

\- What personal information you collect \- What are you doing with that information (the purposes) \- What controls users have \- Whom you share the information with (third parties)

> Google Analytics: > \- Have a cookie consent banner for EU that is opt-in > i.e. no tracking cookies are set until the user says so. Hardly anyone is > doing this yet.

You can have a look at [https://privacypolicies.com/cookie- consent/](https://privacypolicies.com/cookie-consent/) as it's easy to implement with jQuery to categorize non-important cookies to not load before you get consent from users.

> Google Analytics: > \- Use anonymizeIP function in google analytics i.e. : > ga('set', 'anonymizeIp', true);

Yes. This article, aimed at Rails developers, can help as well:

[https://pawelurbanek.com/gdpr-compliance-blog- rails](https://pawelurbanek.com/gdpr-compliance-blog-rails)

> Google Adwords: > \- Declare clearly what personal information is collected > in your privacy policy. Any simple boiler plate avaible ?

Same as above.

> Google Adwords: > \- If you are using re-marketing, either disable it or let > it be known in privacy policy ?

You should disclose it in your Privacy Policy and inform users how they can opt-out from behavioral remarketing done by AdWords cookies.</comment>


Looking to make a strategic multiplayer game - <AUTHOR> http://www.kickstarter.com/projects/561498209/insectobot-tactics-a-multiplayer-strategy-game

<comment><AUTHOR> I have a an absolutely abysmal marketing skill. I tried to start a business, but failed because I couldn't build an audience. I know this probably isn't the best platform for promoting my newest venture, but this just happens to be somewhere I visit often, so any feedback is appreciated!</comment>


Warren Buffett's Family Secretly Funded a Birth Control Revolution - <AUTHOR> http://www.bloomberg.com/news/articles/2015-07-30/warren-buffett-s-family-secretly-funded-a-birth-control-revolution? <comment><USER2> Good for them.

People who don't like abortion (for whatever reason) should be all in favor of better contraception methods. What better way to avoid an abortion than to not become pregnant at all? Those who oppose contraceptives reveal themselves for who they really are: people with middle-ages thinking who think that a woman's job is to just bear babies.

<comment><USER3> I had an argument recently with someone who is anti-abortion and his opinion is that life starts when sperm and egg meet. Anything preventing implantation of an egg is essentially killing of a baby - hence IUD is not acceptable contraception method. Condom is though. Or anything else which prevents sperm from meeting an egg.

<comment><USER4> > I had an argument recently with someone who is anti-abortion and his opinion > is that life starts when sperm and egg meet. Anything preventing > implantation of an egg is essentially killing of a baby

This is a pretty common opinion among anti-choice people. One of the many divides in views on abortion is between people who believe life begins at birth vs. before birth, with a significant number of the latter believing life begins at conception.

 _EDIT_ : Obviously views on abortion are complicated and vary widely. All I'm saying is that it's really not hard to find people who will tell you life begins at conception (and by that logic, believe that killing a fertilized egg is equivalent to killing a baby).

<comment><USER5> From what I've seen, people with a pro-choice viewpoint generally acknowledge that life biologically begins at conception.

The split in viewpoints, as I understand it, is that early life isn't significant enough to protect at that stage of development.

<comment><USER6> FWIW, from any of these debates I've read on reddit at least, I've encountered almost no pro-choice people who believe life begins at conception. The party line seems to be that it is a zygote until birth - well, of course they'd never state it in such clear terms as that, instead you get any variety of mental gymnastics to avoid the question, but one thing they are _absolutely certain_ about is, it is not a life.

<comment><USER7> "Life" vs "(viable) human life". Not the same thing.

<comment><USER8> A 26 week old fetus is viable, but you can still abort it.

<comment><USER7> I think most people would say that "viable only with massive medical intervention" is not what they mean by "viable" in this context.

<comment><USER8> There are plenty of full term babies that need "massive medical intervention". Are they viable?

<comment><USER6> They are not, and using the exact same logic advocated by the the pro-choice camp, there should be no _moral_ issues with not providing the necessary medical support for the baby to survive. Taken at their word, if it is not self-sufficient, it is not a life.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> > This March, a state legislator in Arkansas proposed a bill that would pay > unwed, low-income mothers on Medicaid $2,500 to get an IUD. That echoes a > not-so-distant controversy over the Norplant hormonal implant. After it hit > the market in 1991, legislators in more than a dozen states introduced bills > that would have pushed women into getting the implant as a condition of > welfare, in lieu of jail time, or in exchange for cash... If more > policymakers try to contort the effectiveness of IUDs into a tool for social > engineering or make its use a condition for state support, the Susan > Thompson Buffett Foundation may find itself needing to fund yet another > battle—to ensure that a woman not only has access to an IUD, but that it is > her choice to get one.

No doubt the Norplant case is terrible but I am unable to see the problem with offering low-income women a monetary incentive to get an IUD. It is reversible with no permanent side-effects. They can use the funds to get out of debt or get education. Even if they waste it on luxury goods, isn't it better than more impoverished children? Demographically, I can see how it will disincentivize a higher portion of minorities from having children but it might end up having a much better effect on their lives in the long-term if instead of remaining childless, more women just have children when they are older and better capable of providing for them.

<comment><USER10> The problem arises, as explained to me by a woman when I made the same point, is woman could be coerced to get an implant in order to get cash for her partner or parents etc.

<comment><USER11> _a woman could be coerced to get an implant in order to get cash for her partner or parents etc_

While I recognize the concern, I think it's rather infantilizing to take a choice away from women because of a concern that they will be subject to coercion and unwilling to avail themselves of the protections afforded by the criminal justice system.

Consider an analogous situation with men instead of women: Men are coerced into enlisting in the US military in order to gain cash for their partners and parents. Should the answer be to transform the US military into an unpaid volunteer force?

<comment><USER10> yes, but consider the political environment.

there are already people who complain bitterly about the military incentives (after they have taken and spent the money or gotten the education they wanted)... but no political groups are going to be taking up thier cause.

</comment></comment></comment></comment><comment><USER12> "Almost all women—and therefore men—use a form of birth control at some point in their lives, yet contraception is so politically and legally radioactive that legislators and pharmaceutical companies avoid funding it. So it's no coincidence that the money behind the Colorado initiative, the St. Louis study, and Liletta all came from an unnamed philanthropic source—they all were from the same discreet foundation. Very few people will discuss The Anonymous Donor on the record, but tax filings, medical journal disclosures, and an archived interview with a foundation official show the funds come from Warren Buffett, the chairman and chief executive officer of Berkshire Hathaway, and his family."

I'm glad we don't have to rely on democracy for progress :)

</comment><comment><USER13> For anyone wondering postpartum IUD implantation is one of the most effective forms of birth control known [1]. You catch women right after they have gone through giving birth and have a strong incentive not to have the experience again. They are also already at a location that can do the implant so the extra effort needed to get them to come back is not an obstacle.

1\. [http://www.ncbi.nlm.nih.gov/pubmed/25439838](http://www.ncbi.nlm.nih.gov/pubmed/25439838)

</comment><comment><USER14> This shouldn't be news - it was revealed in the late 90's and chronicled in, among other places, Munger's biography.

[https://books.google.com/books?id=LhMGSDiQghEC&pg=PA137&lpg=...](https://books.google.com/books?id=LhMGSDiQghEC&pg=PA137&lpg=PA137#v=onepage&q&f=false)

</comment><comment><USER15> As always, talk to your doctor about the risks. For example, if there is a complication with removing the IUD (ex: the uterus is too tight and pushes the IUD too far up) they may have to schedule an appointment with the OR at a hospital to have it removed, instead of the OBGYN. Anecdotal (not me, I have no uterus), but still no fun.

</comment><comment><USER16> While I'm thankful that wealthy men try to do things in the world they think will benefit themselves or other people, it bothers me that democracy is not able to compete with the influence of big money - even for things as simple as birth control.

</comment><comment><USER17> More than $800? Funny americans. IUDs cost between $20 and $100 here in The Netherlands. I don't know why you're not rioting over healthcare costs...

<comment><USER18> American healthcare is indescribably inflated. There must be very powerful anti-market forces at work.

<comment><USER19> Well, at those prices, what's keeping you from flying to another country, getting stuff done there and going back again?

<comment><USER20> Many people near the Canadian border do exactly this. I think it's more common with dental procedures than most medical issues, but I've heard of people getting non-emergency surgery done.

Even if you pay completely out of pocket, Canadian medicine is much cheaper than US. I had an emergency appendectomy while on vacation in Quebec, and the total bill, with surgery, anesthesia, an overnight stay in the hospital, and the 100+ mile ambulance ride to get me out to a real hospital, was around $2500. That's the deductible on my US health insurance... A comparable procedure in a US hospital would be billed at nearly an order of magnitude higher (source, several in-patient orthopedic surgeries I've had)

<comment><USER6> > A comparable procedure in a US hospital would be billed at nearly an order > of magnitude higher

This is the problem most people overlook when talking healthcare reform in the US - if you just make it single payer (the government), you're still screwed if the prices are 10x what it should be.

<comment><USER21> The reason it's much cheaper in Canada is collective bargaining through the single payer. The hospitals can't charge exorbitant markups for those procedures and take the profit because the single payer knows how much it actually costs and will make it _just_ worth their while.

<comment><USER22> For at least certain things Medicare and Medicaid is _forbidden by law_ to use it's position to bargain for lower prices.</comment></comment></comment></comment></comment></comment></comment>


Liberal Arts or Big University - <AUTHOR>

I want to become a person earning money in the field of computer by working in Google, Yahoo, Apple or Microsoft after 4 years. So, should I go for small computer major at Liberal Arts or Computer Engineering at Big University. <comment><USER2> That's a really general question, so here's a general answer: many small liberal arts colleges don't have significant offerings in computer science/engineering, so being a "small computer major" won't even be an option.

Seriously, though: talk to some college counselors at your high school, and discuss your aspirations. They can look at your transcript and give you some suggestions.

<comment><USER3> Indeed. I've read at one not too distant state university's web site that there are only 210 ABET accredited CS major programs in the country. And I know such programs are not cheap to run, especially if you don't have grad students to provide recitation and tutorial labor.

While you're at it, try to avoid a Javaschool: [http://www.joelonsoftware.com/articles/ThePerilsofJavaSchool...](http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html)</comment></comment>