skysight-inc/HackerNews huggingface dataset:
China is less than a lifetime away from its last civil war. I can see how that would make people fearful and cautious.

Allowing populism to run a muck could lead to revolution, especially in a young and poor nation like China. Contrary to the romantic ideal of revolution we have in the West, in practice it is a bloody, miserable, and violent thing.

Call me a fascist, but I can understand the Chinese authorities' attempts to short-circuit anti-government movements. I can also understand popular support for such actions, given that the current Chinese government is more competent than all but a handful on this planet.

Also - I'm just trying to understand and explore their side here. I do enjoy living in a free society where I can support market anarchism and make frequent anti-government comments. I'm just not so much of an idealist to believe that American-style democracy is optimal for all places, times, and situations.

For example, I can understand why the Germans chose to ban Nazi publications in the wake of World War II, free speech be damned.
Why do experts in one field (like math) often think they must be brilliant at other fields (like philosophy)?

They are trying to prove stuff about free will, but have no expertise on the question of what free will is.

If you disagree, please post a comment saying why. I'd like to hear it.
yes. there are a few hoops you have to jump through before they let you send campaigns.
The real problem is that those same pointy-haired bosses create a positive feedback loop when they look at prices. If company A is charging $50,000/year for a product, and company B charging only $500/year for a competing product, the PHB immediatly wants to know what's wrong with product B, and never asks why company A is gouging them.

It creates incentive for "enterprise" companies to continue charging exorbitant prices, because PHB's tend to conflate price with value...
Why does it cost so much to send out just a few thousand emails? It seems that MailChimp's marginal costs ought to be quite low. Are there any less expensive competitors, even if the process is more DIY w.r.t. campaign composition?
The best advice I can offer is to make exercise and physical activity a regular part of your life. The easiest way to keep up with something is to make it a habit.

Get up early and do something every day. Don't spend time with people who impede you. Surround yourself with active people. But don't push yourself too hard. Always get plenty of sleep.
I'm not so sure Python 3.0 was really designed to carry any real momentum for "Python 3000" instead, it seems to serve as a base platform for future migration. I understand Guido and the Python team haven't explicitly stated that, but that certainly seems to be what they signaled. I don't expect see widespread support until 3.2, with Python 3.1 likely being the signal for people to begin serious migration efforts. As a Python developer myself, I couldn't move to 3.0 even if I wanted to: none of the open-source libraries I depend on have even begun to look into 3.0 support (Numpy won't even support Python 2.6 until its upcoming 1.3 release).

Besides that, from a practical standpoint I'd guess the Unladen-Swallow team wants a codebase on more solid footing, like the mature 2.6.x series, as opposed to Python 3.x which is in a greater state of flux.
Perhaps there is a correlation between Ryanair's cheapskate customers and people who clog airplane toilets, and they are being crushed under the repair costs.

Hey, you asked for open-ended speculation, that's what you'll get :)
Thanks for the tips. The one about indicating this is for India seems to be something I should really do. Going through the server logs, it looks like lots of people are searching for states/cities in North America.

One more question I would like to ask people though is if I should try to make this site compatible with IE6. I have done no testing with it, and done very rudimentary testing with IE7. I have not yet had too many users using IE6 to view the site, but my target audience includes rural parts of India - places where people use antiquated machines. Is it a good idea to try to fix this issue now, or wait until I see more people using IE6 before diving in?
I've been starting to use MailChimp myself and they seem to be very active about policing their users. In the article he said that he was contacted by a human who reviewed his campaign before he sent it out.

Here is their anti-spam policy: http://www.mailchimp.com/page/terms/
Part of purchasing server hardware from a reputable vendor (even 'whitebox' hardware) is having guarantees that your server operating system will fully support the underlying hardware, especially as bulk purchases of tens to hundreds of thousands of dollars are not rare.
Justin.TV is bigger than Hulu...overseas
I think the audience for the article is pointy haired managers.

And the language they understand sound exactly like the language we understand but is in fact not the same thing at all!
Asus eee Keyboard PC at CeBIT 2009
Do these convertible debt-style seed-funders typically take a board seat?
...which likely explains the vendor's 'no' to a dll distribution as well.

Crappy to have happen to the author, but I can understand the vendor's decision in this particular risk/reward choice.
Yes, frogs use sugars, arctic fish use enzymes but they all only lower the freezing temperature. And as your link points out, they don't lower it enough.
It's a publicity stunt. You'll often see press releases from the low cost carriers with stories such as this (or "Fat people to be charged extra") - RyanAir are particularly famous for it.

They've got so much mileage out of this particular one, I'd be surprised if they don't roll it back out again in 18 months.
> Once the re-unification of Korea happens and there is a large source of inexpensive labor from the North for the developed economy in the South to employ, Japan will start its relative decline.

The historic example of German re-unification does point in another direction..
Sure you do. If you care about exceptions, your callback routines or event handlers should use try/catch themselves. This is true regardless of the other machinery; browser event handling or higher-level library, the upper layers do not know what to do with a failing callback. Your objection is meaningless because it's true independent of what is being discussed.

Furthermore...

for (var idx in callback_array) {
var callback_data = callback_array[idx];
var callback = callback_data.callback;
var error_handler = callback_data.error_handler;

try {
callback();
} catch (err) {
try {
error_handler(err);
} catch (ignore) {}
}
}

there is nothing intrinsic about "not being able to handle your own errors", either. (This is obviously simplified.) I don't think I'd implement, this, though; I'd say if you want to handle exceptions, handle exceptions within the callback.

Most implementations of callback loops suck, but this is the fault of the implementors, not the idea.
Smaller, unique pc forms like this open up very interesting possibilities to build platforms around. As the physical volume decrease and relative performance/watt increases, we should see novel applications.

Airlines could easily include pc's like the headrests of their seats, restaurants can use modified versions for ordering, etc.

Just exciting to thee that we're on the edge of that.
The marginal costs may be low, but overall the value is in their ease-of-use, reports and analytics, and time saved in not worrying about email deliverability.

I think it depends on what features you need and how much time you want to spend on it. I recently set up their RSS to email feature, which is really cool. When I write a blog post that I want to be sent in an email campaign, I just give it a certain tag ("newsletter") and then the next day it automatically goes out to my list.
no. Board seats are normally series A with VCs or later
> You're right about Turkey, it's no free trade issue here.

Yes. The last time I noticed, it was about the sexual orientation of the republic's founder, Mustafa Kemal Attatürk. Is that still current?
"I feel a deeper understanding of the theorem shows rather that it constrains what hidden variables could exist and that the conventional understanding is impossible, not that hidden variables in all senses are completely impossible."

That was my conclusion too: I've been meaning to write about it, but time constraints keep getting in the way.

The thing I like about the Free Will theorem is that it highlights the importance of the experimenter's choice, as opposed to in Bell's theorem, where demonstrations mostly take this as given. There's room for 'hidden variables' of a certain type in the decision making process of the experimenter and the state and process of the measurement apparatus. Having blind faith that important state is located there is perhaps unwise, and certainly it is hard to demonstrate, but assuming that the experimenters are entirely un-entangled and uninfluenced causally, that there's no interesting modified state in the experimenters or measurement apparatus at all, would, to my mind, also be a mistake.
First, put all items into an array, computing a number k for each item, where k=(sum of all weights above it).

Then, just generate a random number 0<x<(sum of all weights).

Finally, do a binary search on the array O(log(n)) comparing x to k.

...As for the "updating" step, you didn't define that very well or state whether you're interested in minimizing that as well- But given that the number of items may be as large as N it seems that a naive linear update would be the best you could achieve.
Sand Won't Save You This Time: the story of chlorine trifluoride
A priority queue [http://en.wikipedia.org/wiki/Priority_queue] seems to be the way to go with this.
Here's a sampling algorithm that will work, as long as the maximum weight isn't too much greater than the average weight:

1) Determine the maximum weight mw. (This is O(N) the first time, O(K) subsequent times.)

2) Repeat until an index i is accepted:

a) Generate a random pair (i, x), where i is a uniform integer over [1,N], and x is a uniform float over [0,mw].

b) Accept index i if weight(i) < x.

3) Return the accepted index i.

This gives you the desired distribution in time O(mw/aw) (maximum weight over average weight).
All modern PC CPU's have a pipeline.

Granted long pipelines suck, but my point was you can have a higher clock speed than the time it takes light to travel from one end of you're CPU to the other and back. One of the more interesting options IMO is to have 2 separate threads with separate registers using the same hardware so you can interleave calculations without a long pipeline. The issue becomes do you have 2 half speed virtual cores or a single high clock speed core and what do you do about instructions that take more than one clock cycle.
The relevant papers section is very cool. Great reading for VM/JIT compiler geeks: http://code.google.com/p/unladen-swallow/wiki/RelevantPapers

God, I'm a total sucker for a project with a good bibliography. Must resist urge to go to grad school.
Good advice. The pricing is critical, because it affects everything in the sales/delivery/operations cycle. Say the price is $50k for the software, $20 for installation, $7500 for maintenance. This type of sale is going to take a dedicated sales force and a sales cycle of 6 to 12 month with no income for a year. When I was in the business, sales and marketing were about 50% of revenues.

Suppose instead you offer a hosted solution at $7500/year, which was your original subscription rate after the first year. Your burn rate is cut in half: smaller sales, marketing, and SE staffs. Way shorter sales cycle. Monthly payments after a month. No hassle supporting a gazillion os/database/custom solutions. This is the kind of solution that can grow organically.
What does the << operator mean?

and how are these K items found? Do they have the same weight as the sampled item?
there are a number of Android apps built with PhoneGap. Admittedly the Android code is not as polished as the iPhone project at this point. But we're working on it!
This would give you the maximum weighted item, but not a weighted probability distribution.
I, too, like the idea very much. But the color scheme could use some work. The red/blue contrast of the logo against the background is evil. Also orange on purple doesn't work too well for me.

I don't think I could use this site for longer than a few minutes before the colors drive me away. But well, that should be an easy fix...
I trained for a marathon to get me going- It was a personal challenge of sorts, and my friends had placed heavy peer pressure on me, by telling me that there was no way I'd ever be able to do it.

Now, I just see exercise as part of being a complete person. we're supposed to have a sound body in addition to a sound mind. Most techies that I meet don't seem to care for physical fitness. It's the nerd role in reverse. Just as we thought it stupid that athletes never studied, we're pretty stupid if we don't get off our butts and exercise.

My personal philosophy is that we're here for a limited time period- I want to spend that time maximizing my genetic potential as much as possible - in the classroom, with my interactions with other people, and in the gym.
Your primary care physician can probably refer you to someone. It would be a good place to start. "Feeling Good" (Burns) is a good source of CBT information and exercises. I would also recommend "Managing Your Mind" (Butler and Hope). Another approach called "Acceptance and Commitment Therapy" has showed some promise in research. The book "Get Out of Your Mind and Into Your Life" (Hayes) was written by the person who developed ACT. Another good workbook on the subject is "The Mindfulness and Acceptance Workbook for Anxiety" (Forsyth and Eifert).
Latency poses a bigger problem than bandwidth.
I didn't miss tail-call optimization much when I studied SICP using XLisp back in the 80s (with 640kb of memory) -- only a couple exercises blew the stack and made me add a while loop. Of course it matters more for real programming on real data, and I agree with your comment generally.
It might have been predetermined, but there's still an act of choosing, a weighing of possibilities, a judgment between them, and action. And those judging them later will too be able to judge their judgment, their character, and make decisions based on that.

The existence of free will in a strong sense, has, as far as I can tell, no logically valid implications in practical terms, though it does do something profound to our psychologies: it certainly injects fatalism.
But you will need to re-compute the sum each time you are doing an update wich takes O(n).
You can use Binary Indexed Trees to do that efficiently : http://www.topcoder.com/tc?module=Static&d1=tutorials...
Great article. Looking forward to giving them a try.
Only the news.bbc.co.uk subdomain (which is in English) was blocked, www.bbc.co.uk was fine, except for certain sub-pages.
Red-black trees are far too complex for this simple task :
just use any binary balanced tree so that the maximum height is O(log n). (red-black trees will work but take any one you want, red-black tree are slow)
On each node you store two numbers :
- sum of the weights at the left
- sum of the weights at the right
Want you want to choose an item just explore the tree and for each node choose left or right according to the two weights.
==> O(log n)
If you update an item you'll need to update all the weight up to the root of the tree.
==> O(log n) for each update
<< means "much smaller than".
Comparing global traffic for Justin.TV and Hulu borders on being idiotic since Hulu is, um let's see, not accessible outside the US. How can TC write a whole article about this and not even mention this pretty pertinent fact?

Edit: It's been pointed out that the article does mention that Hulu is only available in the U.S. Sorry, totally missed that. The article still seems trollish though.
Citizen participation that scales: a call to action
It means that K is much smaller that N.
Because if K is a O(N) then doing an update in O(log n) is not good, it is better to rebuild the whole strcuture in O(n).
Interesting. Could you tell us what you problem you are solving?
Wikipedia was blocked completely for a long time, later they moved to blocking only certain pages (en.wikipedia.org, I think the Chinese version is still blocked entirely). For flickr only the image hosts (static.flickr.com) were blocked, which led to the strange experience of being able to browse an image sharing site with no images.
I agree they could mention it, but i think they are trying to show a trend. The trend is what is important in this story. It shows live video on the web has an audience. Personally i use justin.tv to watch European cycling races that you can't watch in the US.
Of course, Hulu is only available in the U.S., where it is fourth most popular video site
Did anybody not know any of these 80 words yet?
I can't wait to start hearing stuff about non-linear thinkers, you won't believe the percentage of geeks/smart people who don't think "linearly."
You don't have to know the level of nesting; you can add indents afterward just as easily as you can wrap a subexpression in parentheses afterward.

def indent(code): return code.replace('\n', '\n ')
Open Source Bridge hacker lounge
It costs a lot when you aren't sending out regular emails like Skribit. If you have a monthly subscription you can send out as many emails you want to 50,000 subscribers in a month for only like $240 dollars. It is a matter of economies of scale.
if the number of different weights is finite and small, you could create a bucket for each different weight.

for example if the possible weights are .25, .5, and .75, put all items into one of those buckets (array backed). The bucket then gets a weight of (individual weight)*(bucket size). First randomly choose a bucket based on the bucket weight, then randomly choose an object from the bucket.
Of the top of my head, here's how I would go about this.

First, preprocess your data:

1) Normalize the weights
2) Sort the items in descending order by weight
3) Calculate, for each item, the sum of the weights of all prior items
4) Enter the items into a binary search tree. The key into this tree is the sum you calculated in step 3. You can use whichever data structure you want here... red-black or splay would probably be best, but it depends on your situation.

Now your O(log n) lookup:

1) Generate a random variate in [0,1)
2) Search the binary tree for the item with the largest key that is <= the variate.
Improving Javascript Load Performance?
What about in terms of advertising dollars? That's what matters, otherwise you're just losing cash on unmonetizable streams. I'd wager Hulu is far and away the leader in monetizing their traffic.
Oh wow you guys are making me miss NYC. Memories of checking the webcam to see how long the line was before Shake Shack... Rainy days are the best because there's no line.
As long as the weights are distributed randomly in the array, you can just perform the algorithm on a random subsection of the array. The subsection needs to have the same distribution of weights as the whole section. I think thats the only requirement you need.

Ideally, you could pick smaller fraction of the array as N gets bigger, giving you sub O(N) scaling.

In other words, if the array indexes that get picked using a slow algorithm are distributed randomnly, you might as well just pick a random subsection, as long as it is big enough to have the same distribution of W's as the whole array.
God forbid if they ever start reading L. Ron Hubbard.
I wonder how much revenue something like this would bring in...
If you're using chimp in a rails app, watch out; their gems (mailchimp_fu and acts_as_mailchimp) are kind of crappy because:

* They're all untested.
* None of them support the concept of environments. If you run your test suite, it tries to call
mailchimp over the wire which is super slow and doesn't work on offline.
* Calls to chimp API are done synchronously an the AR after_save callback which kills performance.
* There is no method of batch process synch between your app and chimp.

I'm working on a gem that solves some of these problems at http://github.com/bradgessler/mailchimp/tree/master (this isn't even alpha yet) which should make chimp integration easier. If anybody is integrating their ruby/rails app with chimp and are finding those plugins I mentioned inadequate let me know and maybe we can solve this annoying problem.
This story (and discussion) is so American... When translated into other languages I doubt it can be taken seriously by anyone.

Here, around 15:40 this cartoon/video explains why you feel like shit, in plain english with pictures, enjoy:

http://www.storyofstuff.com
Ask HN: Co-founder can't move to BA. Apply as single founder?
I will be applying to YC today. Thing is, there's a 50% chance my co-founder won't be moving to the Bay Area for the summer. If we get selected he would be working on the project, just not in the Bay Area, he'd stay in Mexico City.

Should I apply like this or should I apply as a single founder?
Astronomical Software Wants To Be Free: A Manifesto
AFAICR, yes, that was the first tide of the neverending banning wave - an insulting song about Ataturk whose legacy is protected strictly by the current law. I've no clue what the latest reason is though.
Search need more work. I search for ‘Vishnu’ I get two names ‘Sai,Shri Vishnu Dev’ is one of them. Then I type ‘Vishnu sai’ nothing comes up. It tells me that you are doing a simple database search.

Database typical search is not going to cut it, think of other ways to do search; why not open source.
An example of Rejection Sampling:

http://en.wikipedia.org/wiki/Rejection_sampling
UK government considers monitoring social networking sites
This is definitely needed in Portland. I know so many people that would use it, including us (Mugasha Crew).
Consistency doesn't matter. Persistence does. (Of course, what I mean is, "Don't think about consistency. Think about persistence.") Never let past slips become an excuse not to exercise today. Too many people try really hard until they miss a workout, which creates a bit of a letdown, but they keep going, and then they miss another, which discourages them a little bit, and so on, with each missed workout weakening their resolve until they quit altogether.

This is because people only want the long-term goal of fitness, weight loss, happiness, and attractiveness. That's all they think about. They only feel positive feedback when they see their actions as part of a pattern that leads to long-term results. This is logical, but it only works as long as you stay confident and optimistic. Therefore, for many people, it's emotionally tenable.

An easier way is to forget about the long term results (to the extent possible) and focus on the short term. If you want to exercise now, no matter whether it is part of a longer-term pattern of performance leading to life-changing benefit, then it's a lot easier to do it. Your decision doesn't have to run a gauntlet of skepticism about your past and future performance. Concentrate on appreciating the immediate benefits of a single workout: you'll elevate your mood, feel better about yourself, like yourself more, burn some calories, and shake off some rust. If you can't help thinking beyond today, just think that you're strengthening the behavioral and physical foundation for future exercise, which is all you can do today. Let tomorrow's you worry about tomorrow's exercise.