skysight-inc/HackerNews huggingface dataset:
Two glaring errors in here:

> The essence of monads is to use abstract types to enclose a mutable state [...]

This is a common misconception, but terribly misleading. The "essence" of monads are the bind and return (or equivalent) functions, allowing decoupled transformations to be performed. The fact that you can write bind and return functions for a type that encapsulates the idea of a side effect is secondary.

Would you say "the essence of iterators is to encapsulate infinite sequences"? Infinite sequences happen to be iterable, but to say that they are the essence of iterators is downright wrong. The essence of iterators is traveling through a collection item by item, as defined by the MoveNext/Current (or equivalent) functions.

> For one thing, when you use a monad, you get hooked to it: the type constructors of the monad start to appear in the signatures of your function.

If you have functions that should have nothing to do with a monad ending up coupled to it, then you're probably doing it wrong. Monadic methods let you "lift" functions, so they don't have to be coupled:

// bad: unnecessarily coupling your function to a monad
IEnumerable<int> Increment(IEnumerable<int> sequence) {
var r = new List<int>();
foreach (var e in sequence) r.Add(e + 1);
return r;
}
...
var incrementedList = Increment(list);

// good: using monad method to lift a non-coupled function
int Increment(int b) { return b + 1; }
var incrementedList = list.Map(Increment);
You're right, it's really not.

I suppose I just connect more so with a facebook profile than with a traditional blog.
"A year since then and I've picked up half a dozen new languages"

Definitely not an attack or a skeptic, indeed, it may play into your assessment of the worth of the book...

But 12 months, 6 languages - how well do you feel you've mastered any/all of those?
6 Billion people don't have (a?) facebook. It's not as if it is special.

"$100 says that Facebook can predict, with a 95% confidence interval of 5 years, when you will die and how."

No they can't, at least not with any specificity. What a load of tripe. Actuarial science can do just that in the aggregate, and facebook will be able to do that in the aggregate as well. But on an individual basis, short of hiring assassins they won't know when you will die or how.

The 5 year / 95% leaves enough of a loophole to drive a truck through, you could take that bet with anybody and say '70', cancer for smokers, heart attack for overweight people and old age for the rest and you'd probably make money, maybe vary up by one year for females and down by one for males.

Similar flaws exist in the rest of these, I'll leave those as an exercise for the reader.

I don't have a facebook account either, it doesn't matter that I don't (and sometimes is a slight inconvenience), mostly because I think they're an unethical company but that's based on past behaviour, I don't need a crystal ball or a bunch of tea-leaves to tell me that in the future they'll likely mis-behave again.

Facebook datamining your profile is a fact, but I highly doubt they care about your menstrual cycle (which I believe applies only to a subset of the population) and if they do they're even more perverted than I thought they were.

Facebook engineers are welcome to confirm or deny this.

btw, it's 'a facebook account'.
These are server notifications and bug reports that have gone through a couple bug tracking systems, and the new and/or exceptional exceptions generate emails. They (and I) could do better at filtering, and some tracking services are better than others, but it's one of those infinite time sinks that has generally not paid off beyond where I am now.

While great in theory, I haven't yet found a single bug tracker that provides reasonable deduplication that doesn't e.g. cause a new issue when the SLOC generating the error changes, just because you added a method to the class. Even allowing me to group two apparently-distinct bugs together manually would be an improvement, both for tracking history and severity, but I haven't found any. They're all too aggressive at grouping X, Y, and Z when they shouldn't, and make 20 piles of A. They are infinitely better than receiving an email for every single one, but still a headache, and they still generate too many false alarms to hook directly up to automated systems.

Then there's also that outright failures that need to immediately be fixed, and semi-unexpected things like insane responses from Facebook, are all useful to track. Unexpected rises in relatively normal Facebook errors can denote problems on either end, possibly fixable in some situations, while seeing a jump in quantity might imply something. If you don't track them continuously, you don't even know if it changes, so 'fixing' / suppressing them completely is hamstringing yourself. So ideally whatever I use would track fix-this-now and investigate-if-it-changes. I haven't found any that do.

Not that I've looked at too many, much less subjected them to large-enough workloads to be sure they're actually an improvement. Wiring up a new bug tracking and notification system (possibly from multiple sources and languages, and setting up paging when major problems happen, etc) is pretty non-trivial. But if you have suggestions, I'd love to hear them, and might even try one or two out professionally this year :)
Tutorial on how to convert DVD to PVP portable video player with DVDFab
This is a video tutorial on how to convert and rip DVD to the portable video player, PVP, DVDFab DVD Ripper is a powerful but easy to use software that can help you to rip and convert DVD to PVP with ease.
You know that Adams quote about the universe being bigger than you can impossibly imagine? Like, really, really big?

Well, people are like that. Our brains kinda blur the world together and, without realizing it, our brains map other people onto our own experiences so we think people are kinda like us. Except they really aren't. Really, really, really aren't. In every day interactions, we gloss over, ignore, and excuse little things that don't gel with us (without even knowing we do it). But being presented with their innermost inconsistent idiocracy in writing, in our face, and in our pockets -- it's too much. We start to realize they aren't us. They are them. Them ain't us. And we can't stand it.

It's the same reason sharing an office with someone possessing your exact anti-personality will enrage you daily. It's the same reason visiting a highly population dense foreign land where people live by their own customs will begin grating on you quickly. "Stop exploding fireworks on my front door you irredeemable kids! I don't care if it is your yearly festival of annoying neighbors into threatening you with axes!"

Two solutions: get much better (more complete, more self-actualized, more authentic) friends or tune them out. They're the same they've always been, but being exposed to every one of their inner most thoughts will drive you batshit insane.

http://en.wikipedia.org/wiki/Mending_Wall
I don't know how to respond to this comment, but would like to point out that these CRS memos (I've read a bunch of them today) are so. great. We really need to bump up the budget for the CRS.
This is a good academic post, but why are we still writing mutable-shared-state concurrent code?

Either of message-passing concurrency and data immutability would trivialize the problems discussed here.
Well, another thing that is not mentioned here is that SQL and the original relational model were effective designed from the start to be "agile", to allow ad-hoc queries and other "quick changes".

The original relation database model was, from the get-go, intend to decouple the database from large-scale programming. The DB administrator would make queries and evaluate their effect on the system without having to be a programmer.
It's also unfortunately one of the few ways to accept USD online in Australia, unless you hop through a ridiculous number of hoops with NAB (a bank)[1][2].

(BrainTree just launched in Australia[3], though. I'll be checking them out shortly for a project of my own. :) )

1. http://blog.angrymonkeys.com.au/why-being-an-aussie-startup-...

2. http://news.ycombinator.com/item?id=3098224

3. https://www.braintreepayments.com/tour/international
This article definitely shows its age. These are the kinds of criticisms the Haskell community has been working quite obsessively to counter for some time. Thus the emphasis on explaining monads in a friendly matter and impressive optimization work that's been put into place.

---

And yeah, monads are much more about a particular type of composition or sequencing. Compare the common composition types (warning, scary but harmless jargon to follow)

class Monoid m where
e :: m
(<>) :: m -> m -> m

class Functor f => Applicative f where
pure :: a -> f a
ap :: f (a -> b) -> f a -> f b

class Functor f => Monoidal f where -- isomorphic to Applicative
unit :: f ()
prod :: (f a, f b) -> f (a, b)

class Applicative m => Monad m where
return :: a -> m a
join :: m (m a) -> m a

class Applicative m => Monad' m where -- isomorphic to Monad
return :: a -> m a
bind :: m a -> (a -> m b) -> m b

class Profunctor f => Arrow f where
arr :: (a -> b) -> f a b
(>>>) :: f a b -> f b c -> f a c

-- kind of ignore this one :)
first :: f a b -> f (a, c) (b, c)

You can see a progression in the constraints on how things combine as you move down the list. First you have plain composition of non-container Functor types.

Then you have the Applicative/Monoidal functors (they're equivalent/isomorphic) which are probably most clearly demonstrated by the Monoidal class--it implements composition of Functors which maps to products in the contained types (or, has a "applicative" product which commutes with the functor)!

Then you have Monadic functor composition where you have "sequential" or "inward" composition via join (compare to Applicative's "horizontal" product composition) which can be implemented by the 'bind' function which maps a function that rewraps contained values.

Finally you have the Arrow types which add composition to Profunctors (which are like functors which contain both "incoming" and "outgoing" values) by composing them like a category.

---

Which is a lot of words to say that (1) Monads are just one of a whole group of "kinds" of composition and (2) they basically represent composition which allows for control over how functorial contexts get sequenced.
Sweet Sorrow: Love, Loss and Attachment In Human Life

Quoting directly from Amazon: "In this volume the author proposes that it is the interplay of love and loss that lies at the epicentre of the human story. Support for this proposal is taken from neuroscience, art and psychoanalysis. It will also introduce the reader to important ideas and findings from Attachment Theory. An exploration of the relationship between love and loss can lead us to some understanding of the meaning of our lives. It shows how love and loss are inextricably bound at the centre of human experience, and form the essential dynamic of the human struggle.

This book will appeal to sophisticated lay readers, in addition to various categories of student and professional audiences. It will be of interest to psychologists, psychiatrists, psychotherapists, philosophers, neuroscientists and sociologists. Readers with a background mainly in the arts and humanities will find it appealing because of its linkages and use of poetry, song and visual art to elucidate and illustrate the major propositions of the book."
Why is that tweet repeated 20 times across the whole article?
Zynga return money to shareholder via share buy back and winds up the company.
It's an interesting psychological phenomenon.

I think on some level the narcissism that Facebook encourages (look at me, I was here! My new shoes! A car we rented in Vegas! Look how drunk we are! On a plane to Hawaii!) especially for those that are not our close friends (and there's various debate about what our cortex is designed to handle in terms of social group siZe, and we all exceed it on Facebook) triggers jealousy, or perhaps just disgust at what we consider an over share.

However for people closer in our social scene, we don't experience the same level of turn-off, especially if we were involved in some of their activities etx.

That being said in my feed I rarely get people posting links or political issues, it is mostly banter between friends and photos which reflects my social circles really.

I don't know if I like the twitter-ification that is being suggested as something 'better', but personally I dislike the 140chr soundbite because I think it kind of encourages dumbing down of issues and in many ways for social activities is even more narcissistic. But this is just my take on it, clearly millions of people think differently.

Which brings up another point- if so many of us dislike these services, why do we continue to use them?
I don't even know where to start on that one.
Meh, I've stopped trying to ever argue stuff like this. There is simply a large class of people who will never believe in l10n if it involves en_US, only if it's any other country or region in the world.
That's OK. Sneering non-responses are also informative.
Real estate. My wife and I own five homes (live in one of them). One is in South Carolina near Hilton Head (I bought it when I was single) and the other four are condos around San Diego, CA.

We bought in when the housing market was at its low. The credit markets were crap so we had to buy all of them cash except the one we live in now which was a bit more expensive. After expenses (HOA and property management) our average returns are about $900/mo. ($10,800/yr.) for every $100,000 invested. That's not too bad considering housing prices and rental rates will continue to climb over time (or that's the plan at least). We're fortunate enough to live frugally and just happened to have the money lying around when the housing market sucked so we bought a couple homes a year over the past few years.

For the house in South Carolina we're losing about $200/mo., but it's a 15yr mortgage. We'd be making a bit if it were a 30yr. I bought that one when I saw 21 so I didn't know anything about anything. Some would say I still don't.

The real estate is nice because the extent of my involvement is manually paying real estate taxes on the homes without mortgages, answering a couple emails a year about high dollar ($200+) repairs or signing new lease agreements.

As one of the other posters mentioned, we also invest in Lending Club. Our investment was more just play money to see how things worked, but returns so far have been surprisingly good, around 14% annually. I like it because it's so diversified with only $25/loan. You can maximize returns by picking better loans.

The passive income is nice because it'll allow me to quit my job next year and work on my startup full-time. I want to apply to Y Combinator and even if I don't get accepted I'd be able to bootstrap my startup indefinitely with our passive income. Hopefully it doesn't come to that, but if it does maybe I'll pivot around year 25 (year 50 at the latest).
How does one implement message passing without atomic instructions and/or locks? Without some sort of lock I fail to see how one can have mutual exclusion on a message queue.

EDIT: I also fail to see how this is academic atomic instructions are needed to implement any basic concurrency construct.
That's usually because the architects don't give a shit about the storage model and recognise that the external interface/contract is far more important and that can be mapped to whatever schema supports the model. That's their domain. All they see is: "how can we ensure that this whole thing still works when someone does scenario X".

The schema is almost 100% irrelevant to us and we have nearly 2000 tables in our system. We have two hibernate implementations which put that all behind a testable interface: something SQL can't give you on it's own.
It's clearly at the request of said capitalists, what with rent seeking behavior, quest for monopoly power and whatnot.
Where is the ranking in per capita expenditures? I don't see it?
If you use Facebook as your blogging platform, the dollars generated by showing ads to your audience go to Zuckerberg.

If you host your own Wordpress install, the ad dollars go to you.

If you're Mark Zuckerberg, bloggers blogging on Facebook is better than bloggers blogging elsewhere. That's the circumstance under which blogging on Facebook is better.
Good answer. Adding to your #1, having kids matures the parent in ways a non-parent probably never get to experience (patience, working with extreme distractions, keeping one's eye on the big picture, long-term thinking, etc.)
I'm looking at using https://www.braintreepayments.com/tour/international for online ticket sales a little later this year.

(I'd love to use Pin, but I'm still waiting for a way to use them without the massive bugbear of anything beyond PCI SAQ A, which comes into play as soon as you're POSTing CC numbers to your server.)

PS: Hi Marcus. ProgSoc Rob here. :D
I don't think your statement accurately describes the text in your link.

The only thing I see here is the ability to add a nicknames - your "alternate names" - to your "real" name. That is not at all the same thing.

Edit: Comment on the page - "I'm sorry, but the only difference I see here is that you're now listing the nickname field on the hovercard and profile. I see no substantive policy change. Fame was already an obvious and hypocritical exception to the policy; now you're just open about it." That's what I read.
One of the few areas where I will not use cloud services at all is as soon as they are tied in with real world hardware.

'value' for you occurs in the cloud, to me it is a privacy/security risk waiting to materialize in some form and it feels grafted on to create a subscription model where a one-time payment would suffice.
This is absurd. First of all, at least from personal experience, women DO NOT post status updates about their menstrual cycle. People don't want to paint themselves on Facebook as annoying, immature children.

Second of all, why am I the only person here that trusts Zuckerberg and the goal he plans to accomplish with Facebook?

Let them data mine my account! Learn everything you want to know about me and the interactions I have with my friends! So what? What difference does that make to my life?

And lastly, I really doubt FB is having or going to have money problems anytime soon. If they do they'll probably just 1-up advertising.
Actually I think the motivation is that the schema exists in code rather than in the storage engine. That gives the amazing productivity boost of not having to load the schema into the database engine - something you appreciate when you hit a big 2000 table / 45000 stored proc sized mess. It's another step towards statelessness.

Basically schema in code scales development-wise better than schema in storage engine.
spacebar da pause
E-waste recycling becomes techie's mission
Avicci, no?
Mining Public Tweets using Python and Tweepy
The actor model and data immutability are good for programmer productivity and reducing errors, but not for writing highly performant or low-level code. Even then, someone has to write the message queue, and how do you plan do to that without any mutable shared state?
Thanks for the title correction.

Mostly this came about from a thought experiment in guessing what information they can figure out about you based on your profile. Do I honestly think that there is a whole team of engineers sitting around charting out menstrual cycles for 50% of their users? Nope. Is there a nonzero chance that it might be happening or could happen soon? Yeah I think so. My main beef is that facebook can infer a ton of information about me that I don't want them to know and that they could someday be selling to people who I really don't want to know that information.

Also 6 billion people don't have a Facebook account, but condition on Americans between the ages of 18 and 30, and the rate of account ownership will probably go way way up. Those are the people who always ask me why I don't have one. Almost everyone I know has one and I really do have to explain once a week why I don't have one and don't want them to make one for me.
I like the Quora/cats comment.
What % is "remarkably successful" though? Maybe with current therapy for drug abuse we are fairly close to as good as we are ever going to get but I still doubt 30-40% of people who go into treatment stop using. People just don't change their behavior that easily.

I work in tobacco so can only really speak about that but a quick google is showing similar single-digit success rates for drug treatment.

I'm with Szasz that addiction is not a disease but this is not conventional wisdom. Obviously, drugs are not just given like how an antibiotic is, but drugs such as for related ailments like depression can be given for people in drug treatment AFAIK.
Stolen phone in Northwest Washington (open source project please help)
phone stolen since wednesday. need help locating
stolen at a gym. T-Mobile carrier

https://docs.google.com/document/d/1JJcZCm8V3BjGM34E0xeLcRjBnrDE-1pm8BPVg73FfUA/edit

https://docs.google.com/spreadsheet/ccc?key=0AnNuGwdvvqX5dFhrUGY3M1RjMEFWYTJfYlhqc1h5OEE

please contribute to the find and leave comments to help.
you are correct sir, the term generally used is source to source compiler.
possible job or collaboration upon find!~
attach you resumes.
See, that's the problem. You believe this even though it's the exact opposite of the law as written. And by that I mean, no rational person with a basic grasp of the English language or US law could possibly interpret the 2008 FISA law to mean what you've claimed. However, you believe an obvious falsehood because you don't know the law itself, and are simply following what you've been told by misinformed or intentionally dishonest sources.

Thank you for exactly summing up my frustration with Glen Greenwald.
Sorry but what would be the URL you push to?
What is there to be glad about? Considering Facebook's track record on privacy, censorship, and disabling accounts, and considering the number of alternatives out there, there is nothing to be glad about.
Is it the same tweet every time? The first five words should be the same in each tweet but the rest of each one should be unique.
Indeed. There's even a name for the anti-pattern: "nanoservice".

http://soa.dzone.com/news/soa-anti-pattern-nanoservices
Enloop Will Write Your Business Plan For You
Tips to Increase Donations and Sales
A CB will do just fine and be able to reach people who might be able to help you.
I had a similar problem with editing large files with vim on terminal.

I switched to using iTerm2 and the heavy input lag disappeared
If an ORM is slow or buggy, you're using it wrong or its crap. Most things that claim to be ORMs are really not very good quality.

Try hibernate / nhibernate with ehcache cache backend. We find both to be an order of magnitude faster than hand tuned SQL and testable to boot.
Obviously there's no avoiding this, but the author writes in the context of high-level code where OS-provided locking mechanisms are available. Why are we discussing this in a low-level (or embedded, where every ounce of performance matters) context?
Did Pinterest's 'first investor' steal ideas for the site?
If you're using code generation, your tooling or architecture needs rethinking. There is 100% no reason to do it.