skysight-inc/HackerNews huggingface dataset:
internet ads become king when advertisers were promised fine grained targeting.

then cpc become kink when everyone realized advertising based in demographic was not generating returns for the brands, because in the internet nobody knows you are a dog.

so everyone spend all their money on cpc, because they were told that was the metric to follow. until they realized it also does not result in conversion.

then they start spending all their money on conversion, and realized they had to give away all their profit per conversion.

then they briefly guessed that going back to before cpc was good, and everyone dumped their money on ad networks and paid cents for million of impressions god knows where. turns out those impressions were all in russian warez sites and porn.

now everyone is spending all their money on viewable impression. until they realize no browser allows for a real world implementation of this, and even if they did, in the end it is exactly the same as buying the more expensive placements on impression based publishes. but this is still beginning, so we are here. everyone is dumping their money on this this week

oh and every step, after the premium bands got tired of the new thing, the publishers being stuck with it, start a race to the bottom on price.
You don't get a file handle to a syscall. You just load up some registers/stack and call a `SYSENTER`, `SYSCALL` or `INT 0x80` instruction.

select is itself a separate syscall that takes in file handles or something.
heheh thanks for pointing that out, typo fixed
> Couldn't one break the balance of different wagers by comparing the relative likelyhood of the different things?

No.

Fundamentally, this is an attempt to solve a logic puzzle through empiricism, and that doesn't work.

Things like Roko's Basilisk and questions of free will vs. determinism are rationalistic games, intended to bend our brains a little bit. They don't have a real answer, because for any proposed solution, there's another "what if" right around the corner that will make the game more difficult. (In this case: since the basilisk is capable of subverting free will to begin with, what if it was also affecting your judgement of the relative likelihoods?)

The danger for some people is letting the games begin to alter their behavior in the real world. It's a little bit like letting code golf challenges start to affect your day-to-day coding style.

After rationally working your way through puzzles like these, at some point, to continue functioning at all, you have to make a completely irrational decision and simply choose an epistemology that you're comfortable with.

...and wait for scientists to prove you wrong. :-) (There seems to be an increasing amount of evidence that there's nothing magical about consciousness, and that free will in all likelihood doesn't exist. I find this super uncomfortable, but there is also nothing I can do about, so I have to continue to function as though free will did exist -- which is exactly what would happen if it didn't.)
They're different representations of the same thing.

This is useful because we can do easy error handling in the EitherIO monad but we can't run it. We can run the IO monad but handling errors in it sucks ass.

So we handle errors in EitherIO, and make it runnable (ie. convert to the IO monad) by calling runEitherIO.

It's like calling a function that takes a pair when some other API gives you a two element list. The same kind of data, just munging the shape so things work. In pseudocode:

// EitherIO and runEitherIO in this analogy.
fun toList((a, b)) -> [a, b]
fun toPair([a, b]) -> (a, b)

// Gotta convert to a "runnable" pair before calling the function.
var latLngList = [blah, blah]
var resultPair = api1ThatRequiresPair(toPair(latLngList))

// Convert representations to do operations with a different API.
api2ThatRequiresList(toList(resultPair))
Three reasons: dependent typing (limited support, but enough to represent statically sized vectors), powerful macro system (functions doesn't work to well as an abstraction in HDL.. this allows us to create new kinds of abstractions, like state-machines and pipelines), and generics/type classes.

The only other language I know that has similar amount of power is Idris(but in a very different way). But Nimrod has another advantage: friendly syntax and semantics. HDL programmers are not generally good at programming, so I don't think Haskell or Idri based languages will catch on.
Network Security Series
Verizon, TWC, Comcast. All of these providers are local monopolies.

This is the root of the problem.

Here in Australia I can choose any number of retail ISPs that will service my Fibre to the Home connection.
If I was not living in the building I am now I would be able to choose any number of ADSL ISPs.
This creates competition and fixes the problem.

Funnily enough this access is legislated here in Australia.
Yes.
Legislated.

There can be no ISP monopolies in Australia.

Better yet we have embarked on building a Fibre to the Home national network called the National Broadband Network which functions under the same scheme, ensuring we won't have any bullshit monopolies for the foreseeable future.

Americans should campaign for the same solution, enforce last-mile wholesale and legislate separation of ISP retail from ISP wholesale business units.

Everyone wins.
Sold! Great work!
Could it be twitter?
"Don't be silly;"
It takes a special kind of evil to dismiss such injustice because it's mentally inconvenient. Shame on you.
Hmm... That's an interesting way of saying, "Thank you for providing such a great example!"
Are you implying that Java cannot be used to make useful software?

No, of course not. Are people without feet useless?

What does it mean to say that Java does not have feet?

It means that it lacks a capability for which it also lacks a need (shoes). This capability is that of expressing purity via the type system. Monads - and by extension, monad transformers - are a tool designed to assist the expression of imperative algorithms in a pure context.

The reason I phrase it this way is because people often make the mistake of assuming Haskell is lacking expressive power due to its purity. This is untrue. Haskell is perfectly capable of expressing messy, mutable, imperative algorithms just like any other language. Other languages, on the other hand, struggle to express many of the pure algorithms and data structures used in Haskell; they simply lack the ability to enforce purity within the language and are thus reduced to purity by convention.
The EitherIO data type given is

data EitherIO e a = EitherIO {
runEitherIO :: IO (Either e a)
}

But, for the sake of clarity, it can be written as

data EitherIO e a = MakeEitherIO {
runEitherIO :: IO (Either e a)
}

The author pointed out two functions that this EitherIO declaration gave us. One is a constructor, MakeEitherIO, with type

IO (Either e a) -> EitherIO e a

In other words, MakeEitherIO takes a value of type IO (Either e a) and returns a value of type EitherIO e a (you could think of this as "wrapping" the original IO value).

The second function, runEitherIO, is an accessor function for EitherIO's named record field "runEitherIO". It has type

EitherIO e a -> IO (Either e a)

That is, runEitherIO takes a value of type EitherIO and returns the internal value of type IO (Either e a) (you could think of this as "unwrapping" the IO value).

I hope that helps!
Take the following with a grain of salt (others correct me if I'm wrong), I'm very new to using monad transformers:

"->" is pronounced to.
"::" is pronounced "is a".

EitherIO is a function from "IO (Either e a) -> EitherIO e a".

runEitherIO is a function from "EitherIO e a -> IO (Either e a).

In any function that allows using the IO monad (your main function for example) you'll you'll have:

result <- runEitherIO SomeEitherIOVariable

Result's type is "result :: Either e a". Now you just have a normal Either to deal with.
I don't understand what you're trying to say. You say it's a mistake to insist the camera be on at all times, but then you go ahead and say that that would be open to abuse?
China?

http://en.wikipedia.org/wiki/Abortion_in_China

Or how about this paper on the role of abortion in population control

http://www.ncbi.nlm.nih.gov/pubmed/3709011

No nation desirous of reducing its growth rate to 1% or less can expect to do so without the widespread use of abortion. This observational study, based on the experience of 116 of the world's largest countries, supports the contention that abortion is essential to any national population growth control effort. The principal findings are: Except for a few countries with ageing populations and very high contraceptive prevalence rates, developed countries will need to maintain abortion rates generally in the range of 201-500 abortions per 1000 live births if they are to maintain growth rates at levels below 1%.
There's no such thing as entropy depletion, but there is such a thing as an insufficiently seeded CSPRNG - which means that /dev/urandom is not secure by design: it does not protect you against that failure mode, and in fact people rely on fragile hacks implemented by distributions to try to seed /dev/urandom properly as soon as possible in the bootup sequence. These hacks could easily break if somebody does not know exactly what they're doing while touching the boot sequence.

/dev/random is also stupid, but it does protect you against that particular failure mode.
Read fanfiction for free
@kentonv With regard from the customer end, the issue of peering arrangements is basically a false one. Netflix shouldn't have to pay a penny to anyone. Verizon's agreement from the customer viewpoint requires them to build their pipes right up to Netflix's doorstep if that is what it takes them to collect and deliver the packets the customers have requested.

This whole debate is basically about the legislators and the FCC giving Verizon et al an opportunity to rip off both customers and service providers.
Impressive demo. It looks good and everything works ;-)

For those who missed it, there was a thread about Sandstorm two weeks ago: https://news.ycombinator.com/item?id=7961118
The claim that market makers pass costs on to end users is only true if they have pricing power. In reality, on-exchange liquidity provision is basically the kind of perfect competition that only exists in economics textbooks. Market makers are selling a commodity product (you don't care or control who you trade stocks with) in a market where buyers are purely sensitive to price (tightest market always wins and is enforced by exchange matching rules).

So what actually ends up happening in a market with multiple competitive market makers? To make money, a market maker needs to trade a lot of volume. The only way to trade a lot of volume is to put up the most aggressive (worse for the market maker, better for end users) prices at any time. Market makers can only do this by charging a smaller spread than their competitors. They can only charge a smaller spread by either reducing their margins or getting smarter at deciding when to be in or out of the market, usually a combination of both. The end result is extremely tight markets that react to information very quickly (i.e. cheap to trade and very efficient).

Competition keeps markets honest. If you had one very fast guy, he would clean up, but when you have a dozen guys who are roughly equally fast, they all compete one another down to barely making profit above their cost of doing business. Only the most efficient can survive. If anything, we want more HFT by removing barriers to entry rather than creating a lot of regulations that would ironically help incumbents by killing off weaker competitors.
Happy Birthday and many more maintained years to a special project! :-)
There is much simpler version of Roko's basilisk (call it Vl's basilisk):

1) Assume first AIs will be created by upload and not by "straight programming".

2) Assume only paranoid AIs survive (by definition).

Only valuable things to such AIs will be energy and computing (and thus production) resources. First uploaded AIs after some in-fighting will stabilize in some equilibrium and consume all computing power, and then (being paranoid) will eliminate remaining humans as existential threat (or otherwise humans can destroy AIs by cutting power).

Now if this is even remotely possible, it's in your self-interest to go and dedicate yourself to creating upload technology so you'll be among first to upload (otherwise you will be eliminated with rest of humanity).
If I am a paying customer of an ISP, I sure would expect them to get me the content I want at a reasonably high speed, even if that means they need to bring up additional capacity.

You could say Verizon is overselling their bandwidth to customers and that's why they have degraded connections to Level3. Is it not Verizon's obligation to their customers to upgrade their connections to handle what they've sold to their customers?
It's not that there's a lack of effort to build simple things ... in some ways it's actually a symptom of the overzealous effort people make to keep simplifying things. Every time we see a tiny bit of complexity some innovative developer says, "I know, I can make a tool / library for that!". The new tool / library solves one piece of complexity but it adds to the overall burden of complexity that we all have to cope with. It's like the whole industry has ADHD, we just can't sit still for longer than 5 minutes.

I think the general rule is that complexity will inflate to about the point where a person with moderately high IQ can't understand it any more. So if you start with a beautiful simple language (say, Python or Java) people will immediately use their free mental "bandwidth" to start adding layers on top of that complexity, and they won't stop until they basically can't understand it themselves any more. Then we will go through another cycle of simplification where someone invents a new language or approach and everyone flocks to it because it is simple and they can understand it and start assembling complexity on top of that ... (Gradle, which Tim refers to, btw, is a perfect example of that ...).
In Our Time – Archive – 127 podcasts
I think you might want to consider non-renewable energy sources, non-recyclable waste and so on before throwing words like 'equilibrium' around :)

I get that it's in the context of population though.
And hats off to Patrick Volkerding who announced 1.0 and so many years later still going strong announcing 14.1.
Sure. But YC was started in 2005 or something. this was a very different market. Sequoia benefitted from he YC deal flow early on from founders who might have not even considered them at that time. Sequoia missed FB and twitter and the social media thing.

Of course, now everybody has the same access, so there is no advantage whatsoever.
But that's just it. Silicon Valley is no longer changing anything. I don't know if this was ever the case but the reason I started learning about computers and the theory of computation in general was because I saw it as a way of empowering people and giving them a means of achieving their own goals. This is no longer the case. I see very few companies that are using technology with that intention or building something with that goal in mind. All I see are ways of tricking people into clicking on ads or tricking them into doing free work by giving them tokens, e.g. Yelp.

This isn't to say that technologists are entirely to blame but they played a large role in disempowering an entire generation by giving them gimped tools that were meant more for control than empowerment. Why the hell do I need to know what "rooting" a device means if I want to fully utilize all its capabilities. What is the point of locking down a general purpose computing machine if not for control.
Monads are useful and unknowingly created in other languages all the time [0].

If you aren't quite comfortable enough with monads to follow the first link, I found this implementing monads in python tutorial[1] to be a huge help.

For those that want to play with Monads in Python, check out PyMonad[2].

0: http://blog.sigfpe.com/2006/08/you-could-have-invented-monad...

1: http://www.valuedlessons.com/2008/01/monads-in-python-with-n...

2: https://pypi.python.org/pypi/PyMonad/
I'll just leave this here:

The next thing Silicon Valley needs to disrupt big time: its own culture
http://qz.com/225782/the-next-thing-silicon-valley-needs-to-...
that's true and they are impressive - and I know that because one of my previous Companies got a term sheet from them and they made their decision super fast.
Yes, in 1983 the Soviet Union shot down a passenger plane. And in 2001 Ukraine shot down a passenger plane. And in 1988 the USA shot down a passenger plane. You don't have to submit each one to this site.

Can't we just save time and post the wikipedia article http://en.wikipedia.org/wiki/List_of_airliner_shootdown_inci...
This is stupid.

I've had severe asthma since I was a small child. It's hospitalized me a couple of times. I'm fairly healthy now, but I still try to keep a rescue inhaler within 20 minutes' reach all the time, because something might still trigger an asthma attack and it can get deadly really fast.

Those stupid inhalers have only gotten more expensive and more difficult to get over the years. Sans insurance, a few years ago I used OTC Primatine, which wasn't great, but mostly did the job. Then those were all banned in the U.S. because of the accelerant they used and nothing showed up to take their place. (Oh, except for homeopathic rescue inhalers, now sold on shelves at major drugstores throughout the U.S. -- so just to bruise this dead horse a little bit more, in the U.S. real emergency medication for a common medical condition is hard to get, but magic water for the same thing is available everywhere.)

After paying a visit to a doctor and going through the whole 20 minute interview and all that nonsense, I can be given a prescription for a $70 inhaler.

Or, knowing exactly what I need, I could order it from a Canadian pharmacy where the cost of exactly the same inhaler is less than the cost of shipping.

$70 and a doctor's visit isn't a big deal for me anymore. But a few years ago it was, and it still is for an awful lot of people.
Who supports archive.today? How does one know that it'll be around in a decade?

The Internet Archive is one if the very few organizations that I trust to preserve what they're capturing.
The Silicon Valley "Change the World" self congratulation festival is in full swing, yes. People losing themselves to the latest fads is happening, but it's always been happening. We just change enough to notice. It's not with unkindness or scorn that I respond this way to the authors writing, but instead with weary acceptance. Even as young as I am, I can feel the subtle changes as I begin to lose contact with current fads[0]. Unfortunately, I believe that is the path of all of us.

But, all is not lost! For in this conundrum is the thread of life itself: we must learn to deal with what we cannot change. I'm reminded of a quote about programming from the Tao of Programming:

A novice asked the Master:

"In the East, there is a great tree-structure that men call 'Corporate
Headquarters'. It is bloated out of shape with vice presidents and
accountants. It issues a multitude of memos, each saying 'Go Hence!' or 'Go
Hither!' and nobody knows what is meant. Every year new names are put onto the
branches, but all to no avail. How can such an unnatural entity exist?"

The Master replied:

"You perceive this immense structure and are disturbed that it has no rational
purpose. Can you not take amusement from its endless gyrations? Do you not
enjoy the untroubled ease of programming beneath its sheltering branches? Why
are you bothered by its uselessness?"

Similarly, be not bothered by change, for change always comes. Take amusement from [society's] constant gyrations. Enjoy the [marvels that occasionally arise] beneath its sheltering branches.
Yay! However, a few things that are a bit unfortunate:

- It suggests that I use that entropy to seed a PRNG. No. It should be the PRNG.
- Fill the buffer with "up to buflen random bytes"? I asked for n bytes. Please give me actually n bytes. If there's a way to get this wrong, people will get it wrong: the BSD socket API does the same thing and at least it has good reason. However, the wording seems to imply that if you use the "urandom" source, it won't do that?
- "It should not be used Monte Carlo simulations or for other probabilistic sampling applications.". Doesn't mention why. Sounds like "run out of entropy" FUD :-(
We should not use the entire planet, this would eliminate all woods and animals. Didn't say we had a food problem. Never said it's only good for advanced nations. Third world, sure, but account for the child mortality rate :(

Also please note that this should be the insensitive not forcing people, or taking any unfair rulings.

Who's lives are made better: everyones I guess (except those who enjoy big crowds). Expatiation of infrastructure? Not needed. Extra inflation of fossil fuels (while we still use them) due to more consumption, reduced well limited.Also helps on population (while still burning stuff, and using non degradable products like plastic). You will also be able to afford not living in a apartment easier since there is just more room for everyone. Ground prices reduce (there are cases where the house you build on the ground are as expensive as the ground itself !)

There are probably some advantages at population increase, but I can't think of any at the moment. But I'd like to hear them.

I'm more thinking along the lines, why do we need more population ? (Well of-course some might want to have more children and we should let them.)
Everyone wins.

No. The rich can't get obscenely richer.
Legislative assembly in Kerala, India moves to free software
I think if your code does use references in a way that does not let you guarantee memory safety without an extremely convoluted type system, you should perhaps just be using GC.

For most code I personally know, that does not play well with GC (firmware, hard real-time, etc.), you really don't want to do much allocation after initialization anyway, and the little you do can be handled by malloc/free style manual memory management, or perhaps by escape analysis. And then I think Nimrods approach might work well, because you could declare that everything done by a proc should be verified by escape analysis, rather than manually tagging each pointer used in that procedure.

But I recognize that Rusts approach should be extremely useful in a few applications. But then again I wonder if Nimrods type-system eventually will be able to implement its most useful pointer types in a library.
Nice see!

The video are legit :-) The best thing to prove it is to try the app (it works better outside) and I'm pretty sure you'll be amazed.
Kernel Newbies FAQ
If you've ever used Ember's router and liked it, I'd suggest the react-nested-router[0]. So easy to use

[0] - https://github.com/rpflorence/react-nested-router
He's worth following on Twitter, too, if that's your thing. His tweets are mostly information and graphs, not noise.

https://twitter.com/HansRosling
Ryan, you mentioned in the past that you were taking steps to broaden the PH community and finding ways to invite more people into the fold.

Do you think involvement with YC will accelerate that step and is it still a (very?) high priority--I say "very" because the fact that it seems to be an exclusive list that's not open seems to be one of the biggest criticisms.