skysight-inc/HackerNews huggingface dataset:
> at least half of what you have written above is completely wrong.

That's quite an assertion.

> Scala has side effects everywhere, yet the Monad is extensively used in Scala programs. Monads have nothing to do with "effects".

I didn't say monads weren't used outside of Haskell, I say that they are less useful. I haven't programmed in Scala before, I assume monads are used for their notation. They aren't required.

> Monads are not used to decide the kind of "effects" you are allowed. By calling every Monad a kind of "effect", you are just begging the question. Monads are merely objects that follow 3 monad laws, no more no less.

I don't know if you're familiar with group theory, but in group theory, every finite group is a specialization of the group of permutations. Groups are defined abstractly by the operations that they allow in the same way that monads are, but this definition for finite groups is as general as saying that every group is a subgroup of the group of permutations.

It's the same for monads, they are defined abstractly, but the abstract definition is equivalent to saying monads are all of the things that you can create by a specific kind of specialization of the continuation monad.

Continuations are an effect. Specializations of continuations are also effects. Monads define effects. What's really interesting is thinking about monads in terms of the Curry-Howard Isomorphism, on one end of the scale, the identity monad, you have constructive logic and at the other end, continuations, you have classical logic, what's in the middle? Does the list monad instance have an interesting associated logic?

Which question am I begging?

> How is this different from a C program?

It's just a different way of looking at programs. The distinction is never drawn for C programs.

> Haskell is pure in the presence of IO, because the type system tracks IO calls and forces any function that even indirectly refers to a quantity obtained via IO to modify its type signature to reflect the IO action.

This is quite a shallow way of looking at it.

> This can be done with/without Monads.

Sure, you could use continuations or uniqueness types.

> Haskell IO is a Monad, because it pretty much analogous to the State Monad

AFAIK, that's not defined in the Haskell standard, but that is the way that GHC does it.

> Haskell has special Monad syntax that lets you pass the World State implicitly and write imperative code in an imperative style.

No, it's not syntax that's letting you pass the world state implicitly. In GHC:

IO x = State RealWorld x = (RealWorld -> (RealWorld, x))

You can't get at this function and RealWorld doesn't have any constructors, so you can't call an IO operation or do other weird things. Anyway, it doesn't really matter how IO is actually defined. What matters is it's interface.
Important Things You Should Know Before Starting A Blog
some theoretical msr designs promise to produce less waste, but msr does not necessarily lead to a different waste profile
Google's Scaled Trunk Based Development | Architects Zone
One thing that bothers me, but I found no explanation why - is there a way to turn 'Just a' to 'a'? >>= seems like it does that but I only see it working with function that returns a Monad.

EDIT: I may have skimmed a bit.
Not using a Super key is actually a great feature. My Super key is used solely in the AwesomeWM (a window manager) commands, so the two (awesome and emacs) never clash on who will handle a key combination.

I was very unpleasantly surprised when I discovered that OS X uses a single Control key for some of its hotkeys (like C-up/down) which I bind in Emacs for my own purposes.
In my case, the "Upstart Intro, Cookbook and Best Practises" document has told me all I needed to know.

For example, here's the info on Runlevels, including how to set Single-User mode either temporarily or permanently: http://upstart.ubuntu.com/cookbook/#runlevels

all I want to do is run a new script on boot. why do i want upstart??

Frankly, if all you wanted was that, you could just stick the script in the kernel init= parameter, no need for Upstart or SysV ;)

Both of them are daemon management applications, and frankly I don't think it makes much sense to optimize for the "running script on boot" versus sanely managing daemon startup.

That said, at least on Ubuntu the SysV infrastructure is still called (as an Upstart job), so you should still be able to stick something in /etc/rc.local.

Alternatively, you can just write an Upstart configuration file:

post-start script
#your script here
end script
Nobody Ever Got Fired for Picking Java
Both are buffering fine for me on Chrome for Android, too.
My call: Ireland will place in the top-5.

For the record, Ireland came last, 26 out of 26, with about 3 votes in total.
لعبة ميك اب حقيقي 2013
لعبة ميك اب حقيقي 2013

لعبة, ميك اب, حقيقي, 2013

http://www.dlu3a.com/Game-292.html
85000000/175=485714, that's actually quite surprising unless the averge flickr employee grosses more than 50 K per month.

$85 million is a lot of cash.
Its about communities.

In some communities people can get away without doing any work. I know dozens who have perused degrees in liberal arts only be barristers or get an MS in a field like journalism and get paid 35,000 to write music reviews (the quality of which could be found on mechanical turk). I take it as fact that enjoying your life and living off your parents is more socially expectable than skilled trades: I think we have a long way to go before plumber becomes respected.
nudity is very different from actual pornography.
Why Yahoo Doesn’t Think Tumblr Has a Porn Problem
Porn isn't the problem with Tumblr. The problem is copyrighted content.

In my experience, Tumblr is primarily a platform for young people to "reblog" (i.e. publish and distribute) copyrighted content without the owners' permission.
Writing takes skill and motivation. Very few people have both and why should entrepreneurs be any different?
This is very cool!
This only a minor quibble but when you've selected e.g. C and then C++, the 'x' to remove one or other tag from the search results is nearly invisible. I only found it because I've used a similar 'x' box before on a different site to remove results.
What a sexist text: the author (L. West) complains that (some) men have ideas about female sexuality that (some) women disapprove of, yet she keeps pushing ideas about male sexuality that (some) men disapprove of. Wasn't the phrase "double standard" invented for such phenomena?
How is possibile to limit the resources (ram, storage, cpu) and get the resources usage stats?

Tnx
Just think about it. Let's call such a function fromJust:

fromJust :: Maybe a -> a
fromJust (Just x) = x
fromJust Nothing = ??? -- What can we put here?

Haskell doesn't have a null value that we could use here. There is such a function defined in the standard library, but it is partial. It uses error in the Nothing case.

edit:
In many cases there is a clear value that should be used in the Nothing case, suppose you have a Maybe Int which is the number of times a specific event happened in the last second. Clearly 0 is a good default and you can write a function (Maybe Int -> Int). There's a function I tend to use for such cases: (maybe :: b -> (a -> b) -> Maybe a -> b). In this case:

maybe 0 id :: Maybe Int -> Int
Redis: Migrate Keys From One Instance To Another Based On Pattern Matching
Arduino and Wi-Fi, together in the immediate future
This was the first thing I thought of when I saw this.

Kirk was the first guy who introduced me to the idea that our current electrical generating plants are incredibly inefficient.
Sadly, it seems no one (who is in a position to do anything about it) really cares. That could be because they know things we don't, or it could be because they're paid (as in they have no incentive) not to care.
OpenStack and Ceph integration
How two Valve engineers walked away with Valve's augmented reality glasses
It looks really nice. It would be great if you write more in specific on https://github.com/dotcloud/docker. So, what "size" can we expect, what kind of elements are part of the container. What "interpreters" currently exist for the portable format you describe. But also meta-level information such as the size of the team, why has been chosen for Go, and in what situations NOT to use docker. I've been following docker.io for a while for the purpose of cloud services for robotics, so I think I'm a nice example of a person who would liked to be convinced to use your solution. :-)
Again, you are right to say that there are many Buddhist ways, not one. While the goal is enlightenment, most Buddhist texts constantly talk about the different ways it has been achieved.

My view of Buddhism is heavily Mahayana and Vajrayana based, and I know little of Hinayana and the other 'vehicles'. In this context, emphasis is placed on one's teacher mainly because it is believed that it is very, very easy to understand things completely wrongly and to go off on a tangent that is harmful to oneself and others. The teacher is thus your guide, while the work of attaining enlightenment is still very much your own.

This of course is not to say that Buddhahood isn't possible without a teacher; it's just that it is rather more unlikely and difficult.
Swede gets $750,000 bill after tax agency check LinkedIn profile
The funny thing - this video is not too far off in describing Tesla's actual interactions with financiers of his time.

If you are going to make financial players a dependency in your business plan you'll have to jump through similar kind of hoops.

On the other hand Thomas Edison figured out how to bootstrap his enterprises, maintain control and avoid dealing with this kind of nonsense.
This Chart Helps You Find the Right Career Based on Salary and Growth
> And of course, it wouldn't take much to make a .deb for it either.

It seems to be on its way : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=706060
Local area messaging for mobile users
> Homeless people don't need showers.

Homeless people DO need showers! Been there? Done that?

One sure-fire way to not get a job (and thus get yourself and your family off the street): show up stinking of whatever slept on you last night, under some bridge or cardboard or .. whatever.

Homeless people DO NEED SHOWERS. Showers and self-hygiene during conditions of regular duress are a sure-fire way to feel better about the day, get prepared for the challenges, face the sunshine and Do Something About It.

Government organized "Mental Health Care", in case you weren't paying attention, is exactly how this mess got started, In The First Place. So: Nope to that. Deny the currently-in-power insanity profiteers their budget!

Minimum Wage: TOTALLY! Absolutely with you on this one, buddy! Give someone a way to have a daily shower and a regular job to go to that can pay for a weeks worth of living expenses, and you've got a winning formula .. But thats always the problem when you are "A do-nothin' Bum": One mans Living expenses are another mans pocket-change ..
Lamborghini hasn't lost its mind, they just made a single-seat super car. It's not the first one and won't be the last one. Sure, the name is a bit eccentric and the design is fairly futuristic. But that's what you do when you create products that target only a couple of thousands customers world wide.
How and Why We Switched from Erlang to Python (2011)
Learn You a Haskell for Great Good! (http://learnyouahaskell.com/chapters)

is one of the better gentle into to haskell guides.

I think it started attempting to be sort of similar to why's guide but ended up being a lot more straightforward although there are still some whimsical examples and pictures.
Very cool, right now this is only in US?

Do you have any plans to scale it here or are you only showing it as a proof-of-concept and will be shortly moving it to developing countries (where data service is less common)?

Also, what's the point of the link at the end, if you're using SMS for this type of info it seems kinda unlikely that you have a phone that can handle data...
Which in turn reminds me of similar xmpp/jabber account: im@ddg.gg
Why should SysAdmins code? If they wanted to do that, they would have become programmers.
Well I for one was quite surprised that a) docker compiled so rapidly on my system, and b) its a very sublime binary. I guess I'm learning another reason why golang ought to get more of my free-time attention, so thats enough HN for me, I'm off to spend the afternoon reading your code.. Cheers to you and what I'm about to learn from docker! :)
Floating point is not so bad. Yes, when you need fixed precision, such as in accounting, you should avoid it. But with numerical computations, if you run into problem because of float limitations, you're doing it wrong.

The first rule of numerics is not to compare variables of very different magnitude. His first example has coefficients that differ by almost 200 orders. This example is totally outrageous, but still, what any reasonable person would do is introduce some scaling into the equation.

Yes, you have to think about scales, but you already do that. You never write programs with meters and seconds, you choose scaled dimensionless quantities. And unless you choose the scales very badly, you won't get any problems from floats.
> And put a bunch of people out of work

You can always create more jobs by lowering the salary/job.

And this is by the way what has been happening: minimum wage was not even adjusted for inflation, which means it was effectively lowered.

But obviously the people who depend on minimum wage have no clue about how the economy works because they never had access to a good education, which is why they won't speak up, which is why so many rich folks advertize lies like "don't get an education, you can get rich by dropping out of college, just like Zuckerberg".

Now the question is: How often does a society really want to lower minimum wage (in order to boost the number of jobs created)?

The lower you go, the more problems you see "in the streets".
No, but you should have left out 'most probably'.
> This is smart, I usually use the precompile with upload to S3 via asset_sync gem

I used to do the same until cloudfront rolled out custom origins.

> Since Heroku will precompile by default, what do you do to disable it.

I misspoke in my comment, what I meant was you can skip the synch with S3 step. I've never actually bothered to stop heroku precompiling assets (though I may as well). This question on SO looks promising:

http://stackoverflow.com/questions/8953360/preventing-heroku...

If you do that though, as you mentioned, you will definitely need to flip serve_static_assets on.
You can also just add

data:text/html;charset=UTF-8,

to the beginning of the code and paste it to your address bar.
Well we'd all agree they've done a delightful job with Flickr, so let's see how quickly they can destroy Tumblr next!
> There's nothing you can't do.

There are plenty of effects IO (the ambient monad of most languages) doesn't support:

You can't do ListT fork effects.
You can't do ContT effects (coroutines are not as powerful as ContT).
You can't have Parsec effects (you need to write parser combinators as in Haskell).

The Monad generalization is useful for working with nullables, lists, and the effectful view of Monads is only one way to see them.

When using languages "without monads" I do miss Control.Applicative and Control.Monad very much.
You're right about that! What I'm enjoying, perhaps a little meta-, is how easily that swell soup of jewels is ground up into a fine sonic-screwdriver of a tool. Seems to me right now, I've got yet another reason to enjoy the golang experience ..
any similar tool for linux?
And here's why you should exercise caution in signing up for services using Facebook Connect:

https://www.facebook.com/browse/friends_using_app/?app_id=17...
It seems Decepticons have landed on the moon!
Semantic design of programs
Two very solid ideas.

Looks like "subscription plans" are already used in the industry, but I can see two ways you might take them to the next level, especially if nobody else is doing it:

(i) team up with other service industries like plumbers/electricians offering subscription plans for services that might be required on a more regular basis and get pest control as part of the package (my father has a subscription plan for on-call plumbers for a single buy-to-let property. He'd never need an individual pest control plan but if it was a small add-on to an existing bundle...) As well as outsourcing a large part of your sales effort you also reach homeowners with low risks of infestations who wouldn't contract individually with an independent pest control contractor: rates would be lower but so would the actuarial risk.

(ii) go direct to the general home insurance companies - dealing with you direct is more efficient for them than rebating their policyholders for pest control contractors they've called out. Again, allows you to generate revenue from (and spread costs across) homes that would be unlikely to ever call you out.
Paradox is once you pull an Edison , financiers wish to have interactions with you.

This goes from the very top end of town to oblivion. Because, at the root of it is that gotcha.. money for nothing.. many know how the rest of that song goes.
Easy C/C++ Source Code Analysis with Visual CppDepend
S3 and Cloudfront for Static and Uploaded files on Django
"Just (+5)" is not a function. This would have worked with:

(+5) <$> (Just 4)
Maybe you're looking for wget or curl.

wget: http://manpages.ubuntu.com/manpages/natty/man1/wget.1.html

curl: http://manpages.ubuntu.com/manpages/natty/man1/curl.1.html

I use wget when I want to download some of a url's files.

I use curl when I'm interested in how to interact with a site at the http level: requests, responses, response codes, etc.

This will create curl.1.html on my machine, containing the url's html:

wget http://manpages.ubuntu.com/manpages/natty/man1/curl.1.html
--2013-05-19 04:40:53-- http://manpages.ubuntu.com/manpages/natty/man1/curl.1.html
Resolving manpages.ubuntu.com (manpages.ubuntu.com)... 91.189.95.36
Connecting to manpages.ubuntu.com (manpages.ubuntu.com)|91.189.95.36|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘curl.1.html’

[ <=> ] 105,108 184KB/s in 0.6s

2013-05-19 04:40:54 (184 KB/s) - ‘curl.1.html’ saved [105108]

And here's a curl example:

curl -Iv http://manpages.ubuntu.com/manpages/natty/man1/curl.1.html
* About to connect() to manpages.ubuntu.com port 80 (#0)
* Trying 91.189.95.36...
* Connected to manpages.ubuntu.com (91.189.95.36) port 80 (#0)
> HEAD /manpages/natty/man1/curl.1.html HTTP/1.1
> User-Agent: curl/7.29.0
> Host: manpages.ubuntu.com
> Accept: */*
>
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Date: Sun, 19 May 2013 10:44:20 GMT
Date: Sun, 19 May 2013 10:44:20 GMT
< Server: Apache/2.2.22 (Ubuntu)
Server: Apache/2.2.22 (Ubuntu)
< Accept-Ranges: bytes
Accept-Ranges: bytes
< Vary: Accept-Encoding
Vary: Accept-Encoding
< Content-Type: text/html
Content-Type: text/html

<
* Connection #0 to host manpages.ubuntu.com left intact
The RealWorld hack in GHC is not "passing the world state". It's just a hack/implementation detail to get evaluation order correctly. The RealWorld -> (RealWorld, x) view of IO is not a valid one.
When you have content filter off in the settings, usually a few clicks through groups, user profiles or favorites would lead you to explicit content and from there to really raunchy stuff. Safety filters on Flickr work really well, but try searching e.g. "wife" with Safe Search off, and the result will be very representative.

I have no figures what share of that is porn, but since (as an active user of the site) I stumble on it there without even looking I'd say it's very substantial.
C, C++, Python, C# -- in that order. Should definitely start with C.
"Pure" typically means referentially transparent. Wrapping a side-effecting procedure in a lambda does not make it referentially transparent, therefore it isn't pure.
me neither ,never saw a porn picture on flickr , and i used it a lot.
Starting Maven based development of Google App Engine endpoints (REST services)
I think that's the problem. Because it is so much in flux one minute you think you have the framework down and the next minute you realize that things have changed.

It's interesting you mention complexity. When you're developing a very rich client-side complex system, at what point do you stop and realize "maybe I'm taking this too far"? I'm beginning to notice that people are developing web applications the same way we did when we were writing desktop applications about 15 years ago. I personally think that we should absolutely not be trying to rewrite desktop applications for the web.

Once the web application gets so complex that you need to reach for Dojo is when I think the application should be rethought and rewritten from scratch.
Way better than a VM, but only covers a subset of VM use cases.
Quality over quantity. He won't write an essay unless it offers real insight into something worthwhile.
Psyké Underground is de sensationele opvolger van de Sirocco in pretpark Walibi
The United States of Casual Sex
Enhanced Volley for Android
I quite like dojo. As a total non-Web developer, who nonetheless is forced to put together internal web apps from time to time, dojo just seems to get the job done.

I use dojo layouts a lot, as i could not code the necessary css in a million years. Yes it cheats and uses Javascript to resize components, something that apparently makes Web purists cry, but for me it was just another quick solution that worked.

Similarly dojo 2d charts -- there may be better solutions out there, but with dojo they are built in and just work for the most part.

I think the Ajax model works pretty well, although the whole promises/futures took a bit to get used to.

There its definitely a learning curve, and if i just wanted a bit of dom manipulation i would probably still just use jquery-- but i found dojo to be invaluable when it came to developing more complex client side apps that could make use of a batteries included framework.

Things i didn't like - a lot of the documentation seemed to relate to a prior version (i started with 1.8 i think), so finding the appropriate way to do something could take a bit of work. Also debugging was often difficult, as the error was often raised in some anonymous function created deep within dojo. Sometimes the stack traces were useful, sometimes not.