skysight-inc/HackerNews huggingface dataset:
You only need lambda (and primitives for doing I/O). You can define numbers, lists, and all other data types using only lambda. For example you can define booleans like this:

(define true (lambda (a b) a)
(define false (lambda (a b) b)
(define if (lambda (b a b) (b a b)))

Now you can do:

(if true 4 9) -> returns 4

You can define logical `and` and `or` like this:

(define and (lambda (p q) (if p q false)))
(define or (lambda (p q) (if p true q)))

To make that work right for (if b (...) (...)) you'd need lazy evaluation though, otherwise both the then and else branch would always be evaluated regardless of whether the condition is true or false. Or you could wrap the then and else branch in a lambda, and then call the lambda that is returned by `if`.

- So booleans are the type forall r. r -> r -> r. "To use a boolean, you have to give it a value of type r for the then branch, and a value of type r for the else branch, and then you get a value of type r back".

- You can define natural numbers as functions of type forall r. r -> (r -> r) -> r. "To use a natural number, you should give a value of type r for n=0, and a function of type r -> r for n=k+1, then you get a value of type r back".

- You can define pairs of type (A,B) as forall r. (A -> B -> r) -> r. "To use a pair of type A,B you have to give a function that takes an A and a B and returns an r, then you get an r back".

- You can define sum types A+B (either an A or a B) as forall r. (A -> r) -> (B -> r) -> r.

- You can define least fix points (inductive types) of a type constructor F as forall r. (F r -> r) -> r.

- You can define greatest fix points (coinductive types) of a type constructor F as exists s. (s, s -> F s).

See also http://en.wikipedia.org/wiki/Church_encoding

Church encodings are a general way to define data types in lambda calculus purely based on lambdas. Church encodings are still not fully understood. For example the relation between Church encodings and mathematical induction is not fully understood yet (in type theory terms, the relation between non-dependent elimination / recursion principle and dependent elimination / induction principle). Also it's not yet fully understood how to take a fix point of a contravariant type constructor. Another thing that's as far as I know not fully understood is how to do Church encodings for higher inductive types. This goes to the very foundations of mathematics, and researchers in type theory think that in the coming years we will have breakthroughs that will make type theory a viable replacement for set theory as the basis of mathematics, with the benefit that mathematical proofs will be verified by computers.
Yes, it looks like this:

In response to a complaint we received under the US Digital Millennium
Copyright Act, we have removed 1 result(s) from this page. If you
wish, you may read the DMCA complaint that caused the removal(s) at
ChillingEffects.org.

The text "US Digital Millennium Copyright Act" links to
https://www.google.com/support/bin/answer.py?answer=1386831, and the
text "read the DMCA complaint" links to the DMCA request. The DMCA request includes a list of the removed URLs.

If you're interested in seeing one of those requests, go to
https://www.chillingeffects.org/ and search the name of a media company.

If you're interested in seeing the message in a Google search results
page, try searching "[popular US show] episode 10" and scroll to the
bottom of the page.
Github PRs are noise when the contribution workflow does not use PRs.

Go's contribution workflow does not use PRs.
​Mesosphere unveils Mesos-based datacenter OS plus $36m injection
http://en.wikipedia.org/wiki/WebObjects
> A lot of students struggle with these ideas because they can't match the naive model to reality and so it's a struggle to understand the purpose of it.

Truer words never said. I'm one of those data points.

Luckily I had the fortune of having a science teacher who identified this and did teach me the basics of the underlying theories in high school. My mind rejects "rules" and wants "reasons." While everyone else was learning about Newtonian gravity, I was grasping the basics of special relativity. While everyone else was learning the "rules of bonds" in chemistry I was learning the basics of QCD. From these base theories I was able to remember via back-tracking all the way back up to the "rules" that I had learnt along with the rest.

It's about being a student versus being a parrot. Wanting insight into the underlying complexities is being a student while regurgitating information in an exam is being a parrot.

I started off with VICBASIC at 8, then QBASIC at 10. I only started C# when I was 16 or 17. Even then C# has a lot of abstractions away from the hardware. The only time I ever truly learnt what was going on is when I was thrown into the deep end: a customer was having problems and I had a memory dump, WINDBG and SOS. Only recently have I been taking the time to actually learn C/++.

Now that I am no longer "parroting" code I am starting to identify parroted code. No care is given to memory usage "because the GC will deal with it." Mutexs are sprinkled everywhere "because that's how you deal with concurrency."

At some point every developer needs to be thrown into the deep end. I would say that learning Python as your first language is fine.

However, if you never take the time to learn the nuances of how Python works, you are a dangerously ignorant.
In that case why are they using GitHub?
Michelson and Morley called, they want their interferometer back. (In case this is too much of an in-joke: your theory was experimentally proven to be false more than a century ago.)
Is their contributing process described in README or in some other file within the repo?
That's a great idea. I've recently started browsing through some of the top-voted questions and answers at http://codereview.stackexchange.com/ to see how coding / scripting can be improved.

Edit: After browsing through the list of projects, I found three which were both interesting / useful to me and (just about) within my abilities:

* Guido van Rossum’s web-site crawler

* Ned Batchelder’s template engine

* Malini Das’ simple Continuous Integration system
Spice Up Your Content Marketing: 5 Affordable Video and Animation Software
Linux is on Github as well (https://github.com/torvalds/linux) , and probably like Linus, some people don't like the Pull-request method for dealing with contributions.
This is the gerrit link, I believe: https://go-review.googlesource.com
شركة مكافحة حشرات بالقطيف 0562807638
> Should work now.

So you just fixed the issue? What was the problem causing the mis-render? Thanks for starting the project I think the basic premise of using the browser for selection & apply transforms manually is superb idea, possibly the only one that can work consistently in the current messy environment!
vhvhyvh
Ask HN: Where have the comments gone?
I wanted to send this [1] discussion to a friend but saw that it has only 3 comments. I know that it had many before. Also, HN Search [2] says it has 229 comments. How can this happen?

[1] https://news.ycombinator.com/item?id=8693932

[2] https://hn.algolia.com/?q=comments+gone#!/story/forever/0/Google%20can%20now%20tell%20you%20are%20not%20a%20robot%20with%20just%20one%20click!
For bigger projects: referrals are really the only way to go.

For smaller projects: spread out the risk. Chop your project into digestible chunks, and hire 5-7 devs in parallel to chip away at it (one little chunk given to each dev at a time). Eventually narrow it down (based on their performance) to just one or 2 devs.
"My guess is that none of the companies wanted to go public with an incomplete picture." -- or, see Assange's censorship pyramid: http://wikileaks.org/Transcript-Meeting-Assange-Schmidt#279
GitHub is only a mirror. The real work is happening on go.googlesource.com.

https://groups.google.com/d/topic/golang-dev/sckirqOWepg/dis...
If Uber had done all the due diligence and followed all laws, then nobody would be blaming them. But given people perceive that they are willing to break laws in many countries, they will have no sympathy here in India. The American libertarian BS does not work here, sorry.
its called homography... fairly strait forward to code...

http://en.wikipedia.org/wiki/Homography_(computer_vision)
This was announced in mid November: https://groups.google.com/d/topic/golang-dev/sckirqOWepg/dis...

To be clear, Go is not "on" GitHub except for its issue tracker and wiki. The code is being developed, reviewed and submitted on https://go.googlesource.com, using similar infrastructure to Android and Chromium.
Unless you reinstall all your systems simultaneously and close whatever vector was used in the attack at the same time, reinstalling might not help.

As long as the attacker has at least one route into the organization at anyone time, the possibility of reinfection exists. So I guess it's wise to take a coordinated approach.
> Squire's purpose is to make things look on-screen and in email the way the user expects it to look. The actual HTML generated is secondary to that.

How on earth does that work? Seems completely self-contradicting to me - it is exactly the generated HTML markup that needs to stay consistent in order for one to have a chance of normalizing the viewport through CSS?!

Would really like to hear one of the Squire maintainers input on this. Thanks for taking part in the discussion btw.
Its actually pretty cool that all the google code issues got turned GitHub issues, in the same exact order as the google code issues such that the issues numbers are still consistent on Github.
I'm getting 404, has it been removed?
Then again, you could use a single universal combinator, http://en.wikipedia.org/wiki/Iota_and_Jot .

I find it weird that one can express all of combinator calculus using one function.
> I'm not sure I quite get what you mean. How do you produce an aggregate without profiling customers on an individual basis?

You can easily calculate the average of a set without keeping every individual member of the set by updating the running average each time a new data point comes in. You still collect individual data, but destroy it as soon as possible.

> Secondly, I don't see how a company like Uber can use their data to power something like surge pricing while following the exact letter of the BDSG.

Then Uber should be banned and its employees and shareholders punished appropriately. I don’t see how “this business model can’t work with this law” could possibly be an excuse to ignore the law. Protection rackets don’t really work with the exact letter of the law, either.
The relevant part of Effective Go is here: http://golang.org/doc/effective_go.html#blank_implements

It allows you to make sure fancyWriter implements all those interfaces, so that any future refactoring that breaks compatibility breaks at compile time.

You know how Go makes interfaces concordance implicit ? Whatever has a Read() method is a io.Reader without asking for it ? This explicitly tells the compiler (and other developers) the same thing.
Machine learning for your business
Hi Justin, do you have a link to a technical paper on the anonymous? click algorithm. Was curious if you applied it to domains other than products/shopping.
I started off on the Amstrad CPC-464, which meant I had access to this fine publication...

https://archive.org/stream/amstrad-action-016/Amstrad_Action...

I spent many hours typing in code, only to spend a few more trying to work out where the errors were coming from.
Not to get too political\opinionated but Israel does not have a particularly strong reputation for respecting international laws regarding Palestine (West Bank or Gaza) which makes it even more surprising if they continued to supply power.
Workaround: File for a patent in another country.
> Patent applications can be placed in the SAWS program for an extensive number of reasons, which Franklin and his associates call “astonishingly vague.” This includes applications of “broad” or “pioneering scope,” “seemingly frivolous or silly subject matter,” or those “dealing with inventions, which, if issued, would potentially generate unwanted media coverage (i.e., news, blogs, forums).”

They created a secret rule that gives individuals within the USPTO the power to hellban patents at their discretion. There is too much potential for abuse in this system.
There's something about HN that correlates with having visited the DPRK. I've been, and I've read more comments from people saying the same here than anywhere else.

I might even start a poll, see if we can get some numbers.
Unfortunately a significant problem was just found in the process for migrating the issues from code.google.com to GitHub. We're going to re-do the migration, but need to lock down the repo so we don't blow away anything that someone might enter.

It should be back soon-ish.
LAME. Golang doesn't even have generics. Please add generics first and stop wasting time on configuration management trooling.
Yes, I'm sure. I would assume the connection is monitored, but it is not censored. (There is censoring done internally though.)

Egypt is not as technological as Israel, plus the border with Gaza is very very far from anything much in Egypt. It would take a lot of effort to bring Internet there.

Israel also provides phone service to Gaza, both via lines to local towers and via towers located in Israel.

People assume Egypt helps Gaza, but even in the Mubarak days they really didn't care about them much at all - just lip service. And certainly not today. They are not much different from the rest of the Arab world in this regard.
The idea is that those services get commoditized, so the healthcare company gets them off the shelf rather than hires engineers to build them.
pg has an implementation of Lisp primitives that was described in McCarthy's 1960 paper.

http://ep.yimg.com/ty/cdn/paulgraham/jmc.lisp
> To this day, the patent — which Franklin says is for fairly mundane technology

This is just so wrong. A patent for mundane tech should be flat out denied.
> Actually, I'm curious, how does Gaza get its internet?

As I said, it's via Israel. Same with phone service and postal mail.
LAME. Golang doesn't even have generics. Please add generics support before wasting any more time on configuration management trooling.
GitHub provides the best web-based git repository browser, as well as various other useful features. The only other reasonable alternative for a large open-source project, aside from self-hosting, is bitbucket.
While Uber may be evil and everything, the "misleading" argument stated in the article is just administration putting up a smokescreen to protect their regulations from being detected as cause for incompatibility with uber services.

I guess they just saw the recent rape incident as a nice background for their ban.
Wikipedia founder Jimmy Wales backs 'Google tax'
So that they have the wiki+issues stuff.
This kind of distinctly academic writing is bewildering and nauseating. I felt that the author turns phrases just to hear how they sound, not because he believes what he is saying. Maybe spending the majority of his adult life in the confines of the college system instinctively makes him pander to what he believes the Chronicle wants to hear, as if this is one more test and by adding overbearing Greek allusions he just might make the grade.
Surely that's not a live instance you're demoing?
The vicous circle of work
Serving Reveal.js slides with ease with Docker
Older person here.

Whats nice is that people are thinking about supercomputers again, even if they insist on calling them "the cloud".

First things first, look up beowulf (http://en.wikipedia.org/wiki/Beowulf_cluster) which is a suite of tools that implents a multi machine scheduler, and message passing interface. Whats nice is that if one host is overloaded, it can migrate the process to another. (however I'm not sure what performance is like nowadays)

In the world of VFX for movies, we've been dealing with schedulers for years. Programmes like alfred, tractor, qube and deadline can dispatch tasks, and deal with dependencies at massive scale.

The first thing to note is that "DCOS" is really a discrete set of parts; a scheduler, machine state enforcement, network config, Storage, and the underlying OS.

With careful planning, the state enforcement tool (puppet and the like) can take care of all of these tasks except a global scheduler.

The beuty of the VFX scheduler is that they understand dependencies really well. (I need x to complete before I run y, I need feature z to run) A lot of newer schedulers really don't understand this concept well.
I usually just say:

There are 3 types of guarantees I could make you:

1. Guaranteed features

2. Guaranteed timeline

3. Guaranteed cost

But you can only pick two!

If they pick #1 and #3, then I charge per project, but they don't get the final quote until they agree on the full spec in excruciating detail. The build then takes as long as it takes. In my experience people choose this option 90% of the time.

If they pick #1 and #2, then I charge hourly: and I work however many hours a day I need to, to guarantee the timeline and features. I don't really need them to agree to the spec in this situation, because scope-creep just means more billable hours every week.

If they pick #2 and #3, then I charge per project, and I tell them to prioritize their feature-requests in order of importance. I build the project and add features in the order they requested, and when time runs out I turn the site on, regardless of how many features are done. In this way, I'm technically charging per project, but it's really just my hourly rate multiplied by the capped number of hours.
What? You use vendor-prefixed CSS and then you complain when it disappear?

Grow up… Or read the warnings in the documentation…
What’s new and exciting in WordPress 4.1
The robot designed to be your friend
Thanks a lot - my God this format has potential on some files!
There is, but since we're only partway through migrating to git/github, the README still shows the old instructions. The new contribution instructions will appear here in the next few days: http://golang.org/doc/contribute.html

Not that it really matters, right now, as we're in a pre-release freeze.
> which makes it even more surprising if they continued to supply power.

You don't understand Israel at all. It would be surprising if they didn't supply power.

Israel doesn't hate Gazans, they just want Gazans to stop attacking them. They pulled out of Gaza to give them less of a reason to hate Israel, but that didn't work.

Israel has little interest in giving them a country, it is true. But not because they want to deny them a county but because they don't think it will help. After all pulling out of Gaza did not help - in fact it made it worse.

Israel doesn't care about the UN because the UN is utterly obsessed with Israel, and essentially they don't consider the UN legitimate in this regard because of that obsession. Most of the world considers the UN a joke for exactly this reason (plus things like allowing known human right abusing countries to chair human rights commissions).
A PHP Prophiler Toolbar
...aaaand it's gone
I would like to disagree with the "the best". Mostly because it's obviously your opinion and not something you can say definitely.
Give nerds their own PRIVATE TRAIN CARRIAGES, say boffins
Does this change your opinion?
It's extremely easy to keep Israel from bombing Gaza: Don't launch rockets at Israel.

Now presumably not all the residents of Gaza want to kill Israel, but enough do, and the rest suffer because of them (and because of the leaders they chose in their one and only election).
Been using this tool for a few days now, and it works brilliantly. I even forked it and committed a few improvements.
Great resource. Does anyone know about other collections of small projects (python, javascript, ...) similar to this one?
Is it an example of an overtone music? http://www.nealstephenson.com/anathem/music.htm
This works fine in Firefox, but not Chrome:

<xsl:include href="xsl/chart.xsl"/>
<xsl:include href="xsl/tags.xsl"/>

To work in both Firefox and Chrome, all the XSL files need to be moved into the same directory and referenced without a relative path:

<xsl:include href="chart.xsl"/>
<xsl:include href="tags.xsl"/>

I wouldn't recommend using client-side XSLT, though, for anything other than a quick proof-of-concept. There are technical differences that can create problems:

https://greenbytes.de/tech/tc/xslt/

The nice idea about client-side XSLT is that you can push the files to servers where you don't have server-side access, and still render the page. Once the XSLT is written, it's relatively easy to migrate to a server-side solution. Using a server-based XSL transformer then removes the headaches associated with client-side XSLT engine differences.

As an aside, here's an interesting XSL file:

https://bitbucket.org/djarvis/world-politics/src/master/xml/...

It transforms any simple XML document (i.e., attribute-free) into a similarly DIV-nested HTML document. The result is that all the pages in the following web site use a single transformation combined with corresponding CSS files:

http://djarvis.bitbucket.org/xml/

Most places I've worked that employ XSLT use a different XSLT file for each (differing) XML document.
Make sure there is a CONTRIBUTING.md file in the repo and Github will automatically highlight it to be read when someone opens a PR
Java ExecutorService – 10 tips and tricks
Most laws are created around an existing society/market-place. Since laws need to appear reasonable they normally don't ban existing services but tend to protect them through framing and licensing.

This is why disruptive players naturally break laws in highly regulated markets.

This quirk is noones fault but a natural implication of public choice. Since disruption can lead to many people being much better off, I think being unlawful alone is not a bad thing.

Laws are justified by making everyone better off. If they don't, don't follow them. This is in no way revolutionary or anything. Using the own mind to judge justice is a standard insight since enlightenment.
That is a good point, some companies had very different motivations for not discussing it, e.g. Ronald Prins from Fox IT had this to say to Mashable:

For Prins, the reason is completely different.

"We didn't want to interfere with NSA/GCHQ operations," he told Mashable, explaining that everyone seemed to be waiting for someone else to disclose details of Regin first, not wanting to impede legitimate operations related to "global security."

http://mashable.com/2014/11/25/regin-spy-malware-nsa-gchq/
Right, but if we find substantial evidence that the universe is behaving in a way that we can describe mathematically, make accurate predictions based on, but seems intuitively "weird"... maybe that last isn't a reason to dismiss it?
We just need to get said hellban applied to every patent and the problem will be solved.
The services of Uber have been blacklisted and banned in Delhi
Here's a really basic implementation that I used in some code as a drop-in replacement for csv:

https://gist.github.com/troelskn/cf9df474662c88ba7951
I have implemented PayPal for Digital Goods a couple months ago. The Login page opens in a separate page. I wonder if it's a privilege they give to trustworthy websites?
Puppet and the like are state enforcement tools, not task schedulers.

As someone who used to run a 6000 core farm in 2007 (its not 25,000) I can tell you that puppet isn't going to help task placement. It can create machine that will run a certain app, but without some heavy programming it'll never balance or detect need and respond sensibly.
Are you suggesting that it shouldn't be added to the signature list? Forget the news - that will be the tip off more than anything for the virus makers.

When they 'release a new version', that behaviour can be spotted by the AV companies, and that new version can then be added to the signature list as well.