skysight-inc/HackerNews huggingface dataset:
Monads are (quote) elephants: http://james-iry.blogspot.com/2007/10/monads-are-elephants-p...

Monads can be implemented in OO languages, like ruby: http://moonbase.rydia.net/mental/writings/programming/monads...

Tony Morris, on of the authors scalaz (which implements monads, among other things, in scala ): http://projects.tmorris.net/public/what-does-monad-mean/arti...

A one that was considered a very good explanation on the topic: http://blog.sigfpe.com/2006/08/you-could-have-invented-monad...
The government already has some (somewhat toothless) regulation over grid operators (NERC and FERC).

The problem becomes, what if we're taken by surprise by some piece of infrastructure that nobody expected was critical, but that clearly is? How likely is that to happen? It's virtually guaranteed.
The lighting is incorrect. The shadow makes it look like the post-it note is actually just a ring of paper. A real shadow wouldn't just magically turn white/transparent as it gets further in from the edge, especially since the part that looks odd is tucked under the paper, and, in the physical world, would be darker since it's more hidden from the light source.

I wrote a blog entry a few months ago on how to achieve realism with respect to digital light sources, maybe it'll help someone out: http://flyosity.com/tutorial/crafting-subtle-realistic-user-...
Not quite as advanced, but they did this in the past and there was a huge backlash against it, so they stopped doing it: http://www.wired.com/epicenter/2008/01/facebook-ads-ma/ .

From the wired article, it looks like there were a number of legal issues with reusing photos without permission http://blogs.law.harvard.edu/infolaw/2007/11/08/facebook-soc... not to mention it's kind of creepy.
On point #3, you can set the outgoing caller id to the user's phone number after you verify it by posting to the OutgoingCallerIds List Resource: http://www.twilio.com/docs/api/2010-04-01/rest/outgoing-call...

There is a validation that has to be done with the number to make sure you own it, but you should be able to use it as much as you want after that first validation.
Lack of closures. It's pitiful to be forced to create an entirely new class that implements an certain interface (ahem, AbstractAction), or create an inner class, or create a subclass of another class, just to be able to pass some code + context.

Java is a good programming language, but it's been consciously dumbed down for a hypothetical "stupid" programmer.
Fully agreed that that's a real problem.
That's a hilarious tactic.

Are they now going to blacklist bandwidth intensive business models one by one until only blogs and "under construction" pages are left on their "high bandwidth" plans?
The best example of this I've seen is the Arcade Fire's "interactive film" called The Wilderness Downtown, which asks for your hometown address and… well, you'll see:

http://www.thewildernessdowntown.com/
Because it's awesome to alter history and push your changes when working with other people! Yay!
We've been experimenting with Twilio for the past few months, have some proofs of concepts up and running, but in the end it seems like we will launch with Tropo instead. We're based in Puerto Rico, which even though is technically in the US, we can't get local numbers through Twilio. It also helps that Tropo has TTS in spanish and other languages.

Would really love to see Twilio match Tropo in these regards eventually!
I commit a lot. A lot a lot. Sometimes those commits don't actually work for some reason. For example, when I leave for the day and I'm in the middle of a task, I like to leave a failing test so I have something to pick up on immediately when I get in for work in the morning. I fairly often commit this state.

When it comes time for me to publish my changes, I very much do not want those unpublishable intermediary states going out into the world. Rebase lets me break apart and combine them into rational, test-passing changes that have cogent, readable commit messages instead of "blah", "blah again", "what the hell i forgot to frob the flubulizer!?", etc.

In sum, yes it's a heavy-handed tool. Yes you're "destroying" history, but often that history is extremely ephemeral and mundane and not germane to the actual meaning or effect of the change.
Thanks for posting this @davi. I look forward to reading the full article when it comes back online (the link by @oomkiller is a good start, but I really would like to see the source article).

I don't know about everyone else, but reading about these kinds of incidents from the pilot's perspective makes me more confident about flying, not less. I have zero doubt that those folks are professionals.
My company had a server hosted with UK2. We bailed when they had no answer to why our server restarted randomly and made absolutely no attempt to look into the problem. The lack of respect from them, that our company depended on a reliable server, just astounded me.

After reading this I'm doubly glad we moved away from them.
So does it violate my friends' privacy?
and would it require my details to be given to the advertisers to create the ad centered around me?
You're correct. However, I think the described technique with generated content and transforms of multiple box shadows can be used to achieve realistic simulations of lighting, like the kinds in your blog post.

The author's idea of realistic lighting effects indeed doesn't take into account the perspective of the curl on the note, and therefore looks a bit unnatural.

P.s.: Great post.
This is why people don't like rebase, but if you just tell people "never start a rebase farther back than master" the problem magically goes away. Tada!
A Research Proposal Example
If unsure of how to write a research proposal, going through a research proposal example will provide students the knowledge required to handle the process of research proposal writing. With the knowledge gained, submitting a good proposal is guaranteed.
In the business world, saddling yourself with higher support costs and lost productivity from lower-quality software would hardly be considered liberating. The quality issue is still relevant.
A cheap and unexciting trick for passing a value through a couple of functions. (Monads are cool, but it's important to understand that there's nothing, nuttin', whatsoever fancy about them, so I like to call them a "cheap trick".)

This is a good intro: http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/ba...

Be sure to mentally replace "monad" with "warm fuzzy thing" when reading it and it should make sense.
How does deletion work in ring-style lists when there's only one element in the list? Wouldn't that break a branchless implementation? How is the empty ring represented, anyway?

As for his test purportedly showing that A is better than B on Linux... It's only right if you assume that Linux can only use one type of list in all cases.
Just for the record, I am not the one that voted you down for this comment.
Legally don't don't own the rights to your likeness. So they can't use your picture without your permission.
Yes, this is definitely an interesting question. Salvatore says above that it's an order of magnitude, but it would be great to see the numbers for some specific CPU.

I'd also love to see how much of a penalty is imposed by the OS for things like virtual memory support. It would be fun to see the numbers for something closer to bare metal like LoperOS, or TinyOS without Xen and running directly. Not that this would be practical for many real world circumstances, but I don't really have a clue what the overhead is.
Probably for the same reason athletic apparel companies sponsor athletes rather than average joes. I don't aspire to my own running talent; I aspire to Usain Bolt's talent. It makes the brand something to look up to.
Does mastercard.com process payments? I got the impression that it was just the marketing/corporate presence that was affected.
Perhaps it might be safer to not include your friends in the ad although the ad would be cooler if you do.
What you're describing is exactly the problem. I don't want to worry about whether or not I'm exceeding some subjective limit, I want a hard number limit that I can compare to my actual usage.
Why not do the computation on Facebook servers with limited data access to advertisers?
while i agree that this tracking method isn't the best of ideas, I hardly think this merits a decree of a security issue. Any person could steal a package off a doorstep. Stealing mail and other packages not intended for you in a serious federal offense.

Besides all of that is the xmas season here in the U.S., and packages arrive to my apartment building in such quantities everyday, this time of year, that you could argue that XMAS itself is a 'security issue'... All these people, getting packages at close to the same day - all over the country! Imagine... /smugness

(oh and for those that down vote me for being smug, you should be down voting all the folks on this thread that keep calling this a security issue in the first place). It's not like you can subvert the package destination, and if you steal a physical object - you are definitely going to jail.
Interactive rebase [git rebase -i] is useful in open source projects where you want to present your change as a logical sequence of patches. In theory at least, this helps reviewers since you can present it as "first we make this code transformation which doesn't change the semantics, second we add this new function, third ...", and each step can be checked more easily than a single large patch.

When you start out making a change, you are feeling your way through what needs to be done, and it's not until you've done some experiments that you have an idea of the logical sequence you want to present. At that point you can start to use interactive rebase to split and combine individual changes, and change the order to make up the logical story you want to tell. Then you post this as a sequence of patches for reviewers, even though it really has no relationship to how you wrote the change.
The shift to 3.5" disks occurred in 1983-1984. I recall the very initial Lisas shipped with a 5¼ disk, but switched to 3.5 later in 1983, the Mac shipped with 3.5 disks (but possibly only single-sided/400k). The Apple 2 line shifted to 3.5 disks with the 2gs around 1985-1986.
jQuery is a monad: http://news.ycombinator.com/item?id=439116
Chronology of Anonymous LOIC DDoS Attacks
Someone posted another way to do this the other day: http://matthamm.com/box-shadow-curl.html (http://news.ycombinator.com/item?id=1988977)

It looks much nicer. Plus, calling the curl effect "realistic" is quite the exaggeration.
"... making Amazon one of the few on-line shops that could still process payments" is a huge overstatement. Mastercard.com and Visa.com being down has no material effect on almost all eCommerce (I don't remember the last time I had visited either). PayPal does, but that affects Amazon as well since they accept PayPal at places like Zappos and Diapers.com.
I think my concern is that the whole basic concept seems to be to rip people off. I was hoping someone on HN had some direct experience who could either tell me I'm right or I'm way off base.
A Swedish advertising agency did just that.
You could upload a photo of someone and this picture would appear all over the place in a video.

http://www.draftfcb.se/info/thehero/en
Git has changed how I work with and even think about a codebase, and rebase is a big part of that. Because of git's speed, the warm fuzzy security provided by its hashing mechanism, and a few other things, a new dimension (time) has opened up for organizing my ideas and experiments. Before git, committing to source control was like laying down layers in concrete. That meant going back and fixing anything was a concrete-smashing construction project, and that led to a mental model in which version history was just a documentary record: if things were originally done in order X,Y,Z, to turn that into X',Y',Z' would be to falsify history. With git I have a different mental model: the temporal dimension is no longer just a factual history (though it still is that at a large scale). It's now a medium for organizing and reorganizing things logically. It's like having a new scratch buffer in your brain.

Such a new medium is a rarity in programming and can take a long time before it finds its proper place. It seems flawed because it deviates from the "normal" way. But this new tool has led to breakthroughs in how my designs evolve, and I wouldn't give it up willingly. That's despite the fact that some of the criticisms of rebase are real: e.g. you can break previous commits without knowing it. The value of the feature far outweighs these costs, at least for the projects I've used it on. You know how Lisp programmers go on about how malleable Lisp programs are, like you're molding in clay rather than pouring concrete? It's analogous to that.

Edit: another analogy is interactivity. Rebase gives you a feedback loop into the evolution of your code the way that REPLs give you a feedback loop into its execution. Qualitatively new feedback loops are extraordinarily valuable.
This works for me in mechanical construction projects.

Specifying durations from deliverables rather than absolute dates has transformed the way I run projects. So instead of saying "we'll be on site 2 Feb 11", thus setting ourselves a deadline without holding others accountable for their deadlines, we say "we'll be on site 3 weeks after all design review issues are closed, and this list of actions is complete".

It's not a silver bullet. It has worked wonders for controlling risk associated with penalty clauses in contracts, and cuts out the need for a lot of communication (i.e. bitching and CYA tactics). I'm convinced that it justs makes everybody more accountable, somehow.

Now if only I could find a WBS/Gantt chart tool that supports durations and not dates... MS Project doesn't.
A P/E of 12 does not necessarily mean that investors think RIM will have steady profits. It seems more likely to me that's the balance point between the bulls and the bears.

The author pointed out the bear story for RIM. The bullish story for RIM is straightforward too: they're obviously working on a QNX-based rewrite of their OS. The blackberry platform has enough advantages, devoted followers and hasn't lost too much momentum, so they just need a solid offering with slight advantages and disadvantages compared to Android & iOS to do well. Considering how well they're doing even given how crappy BBOS is, if they can close that gap, they'll be fine. And basing it on QNX is a darn good start.
Yes, I really like this stuff. I think back to having to use "hacks" like BackgroundDRB and cringe now.
Hosting your code for free
A one sentence post in which the only sentence has a typo? Good grief. You can skip this one, guys.
You're comparing two whole system approaches against an individual tool.

If you look at the largest SELinux user, RHEL, you find that SELinux is just a single line of defense. The philosophy that "code will always have bugs" is in play and so in addition to SELinux RHEL has many other layers of protection.

Mark Cox has an excellent list of technologies that contains all the things that come into play even before SELinux has to make a policy decision:

http://www.awe.com/mark/blog/20101130.html
Fortnight Milestones
A similar marketing campaign was attempted by a bank here in Brazil once and backfired badly.

When a client logged into his online account page, instead of showing "Banco do Brasil" (the bank's name) it'd show "Banco do <Client's-First-Name>" (Bruno's Bank -- if the client was called "Bruno", obviously).

A few hours after this seemingly clever personalization, there were _several_ national news sites talking about the new feature and how people were reacting to it: Some people couldn't understand this would only be visible to their session, they thought their name was showing up to everyone and wanted it removed ASAP.

Bottom line is: marketing acts should take into account how savvy the target audience is.
The static sitemap.xml made me laugh.
Google webmasters tools allow you to submit your site's feed as a sitemap equivalent. No need to create one yourself. The static pages won't appear, but linking them from the front page of your blog should take care of this.

Monitoring uptime on your tumblr blog? It's not like you're in charge of the infrastructure and can do anything about it. You know, it's just a blog.

While not specific to tumblr, writing good content is indeed something you should do after launching your tumblr blog ;)
Well yea, but I am assuming that free software advocates are ADVOCATING for free software -- so if they call it liberating software, their task will be much much easier.
To track a remote SVN repository. To edit commits earlier in history when you need to correct minor bugs/CR comments/commit descriptions. Edited to add: squashing lots of tiny safety commits into a commit with an entire feature in it.
FDR, Bush, Palin and Brigham Young?

Note to self: if you ever build a time machine, go back and make sure Howland drowns.
Dup: http://news.ycombinator.com/item?id=1994962

No comments, few upvotes, but clearly a repeat, and apparently deliberate.
http://twitter.com/#!/hnshah - Hiten Shah, the CEO of KISSmetrics, an analytics & conversion optimization service.

I saw from your comments that you're in Cambridge, MA? I'm in Somerville, so some area developers I can recommend to you are:

http://twitter.com/#!/bdarfler - Ben Darfler, senior software engineer at Localytics, Java / Scala / scalability badass.

http://twitter.com/#!/rseanlindsay - Sean Lindsay, CTO at Viximo, friendly and helpful serial startup developer.

http://twitter.com/#!/aaronwhite - Aaron White, founder of DoInk.com, skilled web developer & passionate about computer science education.

http://twitter.com/#!/dlouhy - Jeff Dlouhy, student developer w/ some awesome acheivements already under his belt.

What kind of people are you interested in following? I haven't recommended ruby devs or non-devs, but there are a bunch of great ones on twitter in the area.
What part of the world is this? How big is the boat, and where did you find it so cheap?

I see yachts selling for over $500k...

I am seriously considering this. Can you please point me to some links? I am in NYC. Maybe I can buy a yacht somewhere else and sail it to NYC?
Anything I rate 4 stars or higher in my library I usually play while working. These tend to be songs I’ve listened to a lot so I don’t think about them much while they are playing, a good thing when trying to focus (for this reason I avoid playing Last.fm radio during work… most of the time).

That being said I play BoA (Korean pop), Blutengel (German electronic/dance), Eisbrecher (German industrial) and Velcra (Finnish industrial) the most during that time.
HN bug
Safe is not a good word for rebase.

It's a tool, and a fairly sharp double-edged one at that.

Use with care.
Thanks for the recommendations!

How is the pricing on NuGram? Is this it? http://www.grammarserver.com/welcome

I'm finding their descriptions a bit opaque. Do you remember the product name off hand? Do they host it, or do I need to look into learning what an SIP is? :-)
If you're hosting with Amazon and your application data is on its own EBS (block storage service) volume cloning your environment is easy. You can snapshot the volume, create a new volume from the snapshot, and spin up a new server (you automated provisioning, right?). That way you get a near exact replica of your environment with not too much work.
I'm curious, why don't you state limits on your site? You state "unlimited", when in fact it's not. You don't even have small print to cover yourself.

What if one of your customers end up taking you to court for breach of contract, of does your contract explain what you have just pointed out?
I think Clojure addresses much of the author's points. I have greatly enjoyed learning the "Lisp" way to solve problems, while still having the option to use Java's massive ecosystem.

It cannot, however, deal with the biggest (IMO) problem with Lisp: the fact that his list includes "Too Good" and "Too Smart" (and the elitist tone that accompanies them).

It is off-putting to try and read about this apparently amazing language, and have large portions of every (hyperbole) article saying effectively that if people were just { smarter || better || less sheep like } they would use Lisp. Luckily, the Clojure community appears to have avoided this attitude so far.

P.S. I mean no disrespect to the author, and I fully understand that language advocacy often takes a confrontational approach.
This sort of thing happens when HN is going through one of its regular reboots.
I don't know why you were voted down, because yours is the most relevant point about this article.

It doesn't matter that 90,95,99,whatever% of sourceforge projects are dead audio mixers that not even the original developers are using. Those projects can be ignored. They don't take up physical space, and we're not running out of internet. Just ignore them.

What matters is the quality of the actively developed free software. Any study on the quality of FOSS should start and end with actively used and developed software and ignore those that have been selected out of the software pool, because that is the process of FOSS development.
"...but I’m not Facebook and having capacity problems means that I am probably already vacationing at my hollowed-out volcano lair."

So now we finally know patio11's grand scheme!

But seriously, thanks for the writeup. I am using the lazy man's version control (Dropbox... ;-) ), but I definitely need to more to Git ASAP. I guess before now the time spent learning and setting Git up was better spent doing something else (at least in my mind).
Positive Byproducts
what's with the black bars
An empty ring never needs to be presented. The point about the Linux list is that it lives inside another struct. If there are no instances of that struct, then there is no need to represent an empty list at all!
A new end-the-world scenario: Photosynthetic Mirror Cells
this would have been better titled as 'free subversion hosting'.
while this special occasion may be a different thing, doing anything on the job that's fun otherwise may poison it forever.

think of playing wow ... for gold farming.
or being a game tester? nightmare of a job.

another example: texas holdem. it may be fun playing with friends in your spare time, but i'm pretty sure it's a brain wreckingly monotonous chore if you have to do it for hours, 4 games open simultaneously at any time. not much fun in that.

assembly line working at foxcon suddenly sounds like a really diversified job.
Yes, yes! Standardizing the VM is better than standardizing the language. But please don't standardize a Javascript VM that run JS fast but runs, e.g. OCaml relatively slowly (compared to a native code compiler). For things where performance is important, having fast languages run really fast is more valuable than having a slow language run somewhat fast.

Using something like LLVM IR would be great, and that's what Google is doing with native client.
I didn't want the point of the image to get lost in the noise of the nearly two dozen other posts.
I agree on the East vs West if we are aiming for orbital. I disagree on the speed being the same even at the surface, as (I think) you have to subtract the gravitational deceleration as you get from the surface up to the height of orbit. Coming from space you gain speed coming in, so this is not an issue.

Details aside, the overall conclusion remains that rail guns are not likely to be a useful means of propelling squishy cargo like humans into space.
I'd add that it's only a problem as team size grows. If the only other people who might be affected are sitting nearby, I can say "has anyone pushed since <commit>" and happily push -f my rebase in most cases.
I have a bad feeling about the next 10 years. 1900-1910 was a decade of globalization and affluence for certain classes and a big split between rich and poor, in fact rather like 2000-2010. 1910-1920 was not a happy period for anyone.