skysight-inc/HackerNews huggingface dataset:
>I would like to challenge the assumption here: that programming (in whatever mode) can't be adequately described by mathematics.

Well, the entire lesson of the Halting Problem and Rice's Theorem is that it can't. Indeed, Haskell loves to just cut through the bullshit about math and be inconsistent: bottom inhabits every type, and Type inhabits Type (in Dependent Haskell).

No fixed mathematical system is capable of formally verifying all programs, or even all interesting programs. You always need more bits of axioms than of program if you want to prove theorems about your programs (Chaitin's principle, proved formally by Calude).

What we can say for FP is that Fast and Loose Reasoning is Morally Correct, and that if we use nicely categorical constructions, then when our programs happen to terminate at all, those nice constructions describe their behavior.
Apple’s Force Touch Is Already Patented by BlackBerry
Why use command processing (e.g. `libcox_exec(pHandle,&pResult,"uname",-1)`) rather than plain function (could be `libcox_uname(pHandle, &pResult)` for instance) ?
WhatsApp is a good contender: http://highscalability.com/blog/2014/2/26/the-whatsapp-archi...
Mainly because I like the universe and associated art style, music, etc and I (and I think most other fans, as well) would like to see it taking shape and given life in forms that Blizzard will probably never even consider.

If I try to come up with something of my own, I have the problem that first, I’m not a writer, making the creation of something with the depth and breadth of the Warcraft universe extremely difficult and if I make it stylistically similar to Warcraft I risk being seen as an uncreative two-bit copy of the real thing. It’s a tough spot to be in.
He didn't sell me on why Lisp is better than any other language? Why would you pick Lisp or Clojure over say Elixir, Scala, or even F#?

JT
Its actually worked out pretty well for us, less so the indigenous life that was already there, I'm all for preservation but the thought that we can out the earth back anything like it was 10000 years ago is extremely unlikely, there are 7 billion of us and that's unlikely to change, Garden Earth is going to become a bigger and bigger thing I guess.
Iverson's later language, J, is also open source. It doesn't require a special keyboard, has top notch documentation and online support resources and is open source under GPL3. It might or might not be a better place to get started than APL depending on a person's goals.

http://www.jsoftware.com/stable.htm
I've never quite bought into the lisp idea that maximum "power" or "expressiveness" is always good. I could see it being an advantage for library authors who could present better, safer interfaces to the library's functionality. But if you have a startup, how much time do you have to build libraries and refine their interfaces?

I doubt that these qualities are so good that they would be a material advantage for application developers. And certainly not material enough that it would affect the outcome of a startup (unless it makes the engineers more motivated).

That being said, I hope clojure succeeds, and it's on my list to learn sometime (though not in the top 3).
The dynamism of cities is one of their primary draws.

Most people don't want to live in an environment they fully understand. They want to live in one that is constantly developing, progressing, and providing fresh stimuli.
The question we should be asking is whether a smart onesie improves outcomes compared to existing best practices. If there's not a statistically significant difference and you divert money from things that would help, then pushing these onesies isn't benign, it's actively harmful.
The current CA PKI system is pure madness. Everyone in the CA club can issue certificates for anything - and you are at their mercy for not revoking. And what's worse, even if you pick a decent vendor, you can't prevent shadier outfits from also issuing parallel certs. :(
That pretty much describes my Angular data models, yes. My internal helper functions get passed sub-structures from the model, but Angular bindings get strings like "top.area.sub.fld" to name a variable.

Doubtless, there's another way to do this without a global / dynamic data tree, but this is working, at least for me.
http://billbrowndearmom.weebly.com

Clickable link. Looking forward to reading the rest !
This was a great read. I've always heard about Clojure and now I have a better idea as to what it is. I'm still going to stick with what I've heard all along: it doesn't matter what language you write in, it matters how you write it.
There's never just one way. Keep going!
The Go Programming Language: Brian W. Kernighan is avail preorder on Amazon.
> It's nowhere near the 200 thousand packages in npm

It's also nowhere near the massive FOSS ecosystem that runs on the JVM.
Not labeling anyone, just the use of the buzzword - not sure why you drew that conclusion (edit: your current gig fits exactly the "lazy caricature". The irony!)
No plane out of Ben Gurion has been hijacked in decades. For a high-traffic airport of a major city in one of the most hated countries in the world, that's pretty damn amazing.
I was going to reply with, "I don't care what mumbo-jumbo people say with my name embedded", but that actually is pretty offensive to someone with strong religious beliefs.
Ah, I have committed the cardinal developer sin of self promotion and am being duly punished.

It's interesting that self promotion is so frowned upon in our community when failure to adequately promote ones self holds back so many careers. Why do we applaud those who promote their startups as "hustlers" but not those who advertise themselves?
I tried Clojure, but immediately got the impression that the run-time type-system is ill-designed. I cannot recall the details, but I can remember odd things like different run-time types used for empty lists than for non-empty lists. A simple program doing a "switch" on some run-time types turned out to be really cluttered. But of course, there's always the possibility that I was doing something wrong :)
In the short term - by which I mean, the next ten years - my hopes are on DNSSEC with DANE/TLSA for DNS-based certificate assurance. This is not a great solution: firstly, adoption of DNSSEC has yet to snowball; and secondly, DNS remains a tree with a single root controlled by a governmental authority, and it's tough to argue that's any better than the CAs.

The longer dream of a universally federated, decentralized trust mesh depends on a substrate protocol emerging for which I think Bitcoin is only the first glimmer of hope; timeframe ca.10-50 years.
http://www.springer.com/us/book/9781430266679
Advanced C and C++ Compiling by Stevanovic, Milan I've been reading to hack around node.js to customize it
Here are some heretical thoughts. The language is irrelevant. The text editor is irrelevant. The OS is irrelevant. The size of your monitor is irrelevant. All your productivity hacks are irrelevant. The only relevant thing is your ability to formulate and solve problems.

You might say the language can help with both the formulation and the solution but I'd say that just comes down to what language you're most comfortable with and how good of a problem solver you are. So you can use lisp and I'll use ruby and at the end it'll all be a wash because the fundamental bottleneck will always be the speed at which you can formulate and solve problems and how quickly you can respond to market dynamics. All other choices are accidents of history.

Graham and his buddy were just good problem solvers.
> In the expressjs example, I wonder how practical is to do all that interop instead of just using plain JS?

It depends. Interop in clojurescript isn't any more difficult than using plain JS but if your code is very interop heavy I don't think you gain a lot by using Clojurescript.

For a web application though interop code is going to be a tiny fraction of the overall code.
This is completely wrong. Big-theta does mean it's an upper bound, and also a lower bound. It certainly does not mean it's the exact number of steps; for example, 5x = Θ(3x), but 5x is more than 3x for all positive x.
Cyber War in the Boardroom
Correct and that is the point. So whenever someone says full-stack they really mean frontend/backend application stuff assuming an infinitely scalable, redundant, fault-tolerant, datastore and compute fabric. The reality is otherwise and I don't see how you can call someone full-stack if they think they can completely ignore the realities of infrastructure. And I forgot security considerations.
This article sort of assumes that if you're working on a laptop, you're working on nothing but the laptop. At home, I plug it into a huge monitor on top of a standing desk, with a keyboard and mouse. At home, I plug it into a large monitor, again with a keyboard and mouse. I'm not hunched over the damned thing at the coffee table.

A desktop does get you more bang for your buck, but it also doesn't travel with you, and it takes more effort to synchronize your environment across two machines. I use one laptop for work and hobbies; I'd be annoyed if I had to set up a sync mechanism for both machines.
My baby doesn't need an app to let me know he's up. Generally the piercing fire trunk level scream does the trick. Now, does this smart baby suit help against SIDS? Nope. If there's science to prove me wrong, I will gladly revise my opinion. Honestly though, that baby suit with a built in coffee maker trigger and light turning on capability.. That's just dumb. Do we really want all the lights coming on every time the baby stirs? Is coffee making really what's needed at that moment? The potential for that technology is cool, but the execution just sounds excessively superficial. as far as infant mortality: what are the causes of infant mortality? Certainly not underlit homes and under caffeinated parents.
What do you do when you're on call, and something breaks down?
Mobile is a tough nut to crack, due to some hard constraints on the CPU/power consumption, but it's getting better. A new iPhone 5s does a pretty good job with something like that app I linked to, whereas an older Samsung Galaxy Tab 2 does not. A lot also depends upon the browser, since there is a big difference between the JS engines in Chrome (best, by far) and FF/IE when it comes to things like requestAnimationFrame() execution performance. The linked-to example is a dog when run on IE 11/Windows 8 on a practically-new Dell laptop/tablet convertible with an i3, but works nicely in Chrome on the same device.

Re: CSS grids - totally agree. But, what I've learned over the last 4 years of developing a web application IDE is this: CSS is great if you want to set the layout and leave it alone (for the most part). In other words, when the JS is decorative, things are great. When the JS becomes the primary actor, things start to break down due to lack of control over how/when the reflows/repaints occur.
The best complexity these days [1] is essentially n log n. More precisely, O( n log n 8^(log* n) ), where log* is the extremely slow-growing iterated logarithm. The original Schönhage-Strassen algorithm is O(n log n log log n).

[1] http://arxiv.org/abs/1407.3360
Visual Studio Code and Unity on Your Mac
I'll offer myself a shameless plug here. We've been using Clojure/ClojureScript for my current startup cloudmonkey.io and we absolutely love it.
WALTR converts and transfers any video to iPhone and iPad, no iTunes required
Types + pattern matching -- best combination for working with trees.

I'm not sure if there's a library in F# similar to HXT, but in Haskell, working with large xml structures is a breeze.
More importantly the Woz likes the movie: http://www.cnet.com/news/woz-aaron-sorkins-steve-jobs-movie-...
How Does Ranking Affect User Choice in Online Search?
The fact I am being downvoted is indicative that I am on to something. Think about it :-)
Looks good, especially the PostgreSQL support coming up.

What about MPP (Massively Parallel Processing) support? This is one of the things that make CitusDB so powerful.
+1 for knowing how to spell 'wary'. Seriously, I've discovered a horrifyingly small number of people spell it right.
I don't think architecture is necessary to learn first. At least at my school neither were prerequisites for the other.
You are absolutely right. However, if you use a cluttered language with a dozen choices for a data structure or concurrency (as far as I know Ruby is not one of them), you'll run into many accidental problems before you even get to solving your business domain problem.
So what did you mean by the lazy caricature? A lot of developers are solely responsible for the presentation, server and DB layers.
With Lisp your program is data, like any other data, so it is easy to transform with macros etc. (Disclaimer I have never written a lisp program)

On the other hand languages like Haskell have a powerful type system that largely negates the need for macros. However when you do want to macro in Haskell you have template Haskell and it is quite ugly.

In a nutshell: Language wars are stupid.
Btw, can someone explain to me how revocation interacts with certificate pinning?
"But here's the thing: why did Geotrust just go ahead and revoke the certificates for all .PW domains without any warning?"

Why indeed? My first notice of this was a client unable to use the app even though the cert was issued less than 6 months ago and was a 2 year cert. Like the author I also initially thought client configuration issue until I tried.

I contacted the reseller who didn't have an answer right off the bat but had to contact Geotrust. After 15 minutes of fooling around I got an answer and a refund. So yes, they issued me a refund. Great. My clients had downtime. I had to drop what I was doing "right then" and install new certs. Finally I had to walk clients through clearing old certs from their browser as they were getting the scary "Untrusted!" popup. Fortunately this is a private app for a specific client so there weren't a bunch of calls.

Geotrust's handling of this was ridiculous. No email, no notification... I'll certainly never get a cert from then again over this incident.
This reminds me a lot of the sound of sorting algorithms https://www.youtube.com/watch?v=kPRA0W1kECg
It goes hand in hand. Back in the days people said lisp in newbies hands will be backfire, but handled by those with abstraction skills it will give you ability to express things you cannot with other systems.

Many here agree that technology should not matter, but it does at one point. Some trait of the culture behind and around languages are very very important. Lisp tree recursion, "lexicality" and ad-hoc genericity is not present in other languages. Immutability in the ml land (even though side effects are permitted in some) is also something few people have to live in and understand.

Both these things give you new idioms, hints, point of view about how to solve problems. It also sheds light on the other ones.
> trying to juggle more than 4 channels of a track

sounds more like a tooling problem, stems should be able to be grouped by type with little effort (e.g., all the drumish things visually represented as one fake stem)
Except DNSSEC is just as sketch (and maybe more so) a trust chain. We replace CAs with registrars (OH GOD), TLDs (and for .com, that's just CAs again or governments, OH GOD), and ICANN (subject to government seizures!!!).

I'd much sooner support adoption of Marlinspike's Convergence or something similarly distributed: http://convergence.io/
Agreed, I wish people stop selling the JVM/JS libs as the solution to all Clojure library needs, is not really smooth sailing as most paint it out to be.
Why on earth should any CA be getting involved in what a site hosts? They need to validate ownership and stop.
AGI is far more plausible than warp drive or wormholes. Most objections I read, dismissing the inevitably of AGI always seem to be based in the objectors limited imagination, or actual flaws in thinking that treat consciousness as magic.

Any physical system can be simulated/approximated given enough computational resources. The brain is purely physical and is the sole cause of mind.

AGI is inevitable outcome of some bulk of matter being designed to solve novel problems efficiently.

I honestly couldn't imagine a future that wouldn't contain these beings.
The Detroit Graduates
Ah, but there is no perimeter!
Irrelevant might be too strong of a word. Yes, it might not be as significant as your own problem solving skills but they are still important. You have to remember that tools chosen by you to solve problems.

You wouldn't say what tools you use to build a house is irrelevant only carpenter's skills.

Picking the right tool for the right problem is part of problem solving. Sometimes picking the right tool might boil down to what you are most comfortable with, or sometimes it might be learning a tool that you are not familiar with.

(Of course, you shouldn't flock to a particular tool just because someone else said so.)

Anyways, picking the right tools are important part of your problem solving skills.

Graham and his buddy were good problem solvers who picked the right tool for the problem that they were solving.
I think you need to do both. The sea stars will continue to consume the coral until the problem is solved at the source, possibly for a long enough time that the reef is consumed in its entirety.
If a site is blatantly criminal, should a CA revoke its cert?
I have never locked the door to my house in the 3 years of living where I do. I also commonly leave my keys in the ignition. I live in a small town and made that choice for such reasons, but if you are willing to give up on employment choices it is viable.
When I flew out of Chile recently they wanted to know the name and address of where I had stayed the previous night. Crazy that I may not have been able to leave if I couldn't remember that.
I've built a bench and stuff like that before. Very comfy and reliable for many years now. And I don't have any formal training in woodworking. It's really not that hard. However, even after years of formal training in electrical engineering, you will struggle very hard to build a modern CPU. An attempt to compare the difficulty of the two appears to be ridiculous (I have also built a CPU, though only a very simple one on a FPGA. I don't even want to imagine the amount of work and skill necessary to design a modern, say, Intel CPU).
No. Separation of concerns and all....
I thought I'd done my research when I built a dedicated movie theater in my basement, around 2004 or 2005. I hung a decent projector from the ceiling and wired DVI through the walls and ceiling. What I should have done was put an accessible conduit so it was replaceable. because.. only a few years later the projector was destroyed in a lightning storm, which also took out a fridge, toaster, a bunch of GFI outlets, router, etc.; and by that time, decent 1080p projectors were affordable ... and were all HDMI.

so

- conduit for those cool hidden in-wall wires like HDMI for your wall-mounted TV, etc.

- whole house surge protector

Your PoE idea is pretty good, ethernet has been around and will be for a while, and wireless will never really cut it all the time.
Modern Perl - http://modernperlbooks.com/
Quick search turns up a proposal to deal with it https://www.ietf.org/mail-archive/web/websec/current/msg0050... (but hasn't been implemented in the actual standard, see below).

Revocation

In the event of pin mismatch, clients MUST check whatever revocation
mechanism is available, and attempt to discover whether the certificate
with the mismatching fingerprint has been revoked. For example:

offending_certificate = cert in certificate_chain where
cert.public_key.fingerprint == mismatched_fingerprint

revoked = offending_certificate.serial_number in revoked_serials

If the offending certificate has been revoked, it is unpinned and the UA
can re-evaluate the pin list. If there are no pinned fingerprints left
on the pin list, the browser downgrades the host from Known Pinned HSTS
Host to Known HSTS Host.

The revocation mechanism could be an extant mechanism such as CRL or
OCSP, or a new one such as browser updates, whitelists, blacklists, or
an in-built CRL. This document is agnostic about the revocation
mechanism(s) UAs may use.

Un-pinning

Certificates that are invalidated for any reason and by any means --
revocation by extant or future means, expiration, blacklisting -- are
effectively removed from the pin list. Certificates whose intermediary
or root signers are revoked are also effectively invalidated and removed
from the pin list.

HSTS Hosts can un-set pins in clients (un-pin) by setting a pins
directive that contains no pins. UAs MUST NOT obey the un-pinning
directive unless the empty pins directive is set on a response in a TLS
connection that was authenticated with one of the previously pinned
public keys.

This doesn't seem to have made it into the standard, though: https://tools.ietf.org/html/draft-ietf-websec-strict-transpo... says

When connecting to a Known HSTS Host, the UA MUST terminate the
connection (see also Section 10 "UA Implementation Advice", below) if
there are any errors (e.g. certificate errors), whether "warning" or
"fatal" or any other error level, with the underlying secure
transport. This includes any issues with certificate revocation
checking whether via the Certificate Revocation List (CRL) [RFC5280],
or via the Online Certificate Status Protocol (OCSP) [RFC5280].

and https://tools.ietf.org/html/rfc6797#section-8.4 says

When connecting to a Known HSTS Host, the UA MUST terminate the
connection (see also Section 12 ("User Agent Implementation Advice"))
if there are any errors, whether "warning" or "fatal" or any other
error level, with the underlying secure transport. For example, this
includes any errors found in certificate validity checking that UAs
employ, such as via Certificate Revocation Lists (CRLs) [RFC5280], or
via the Online Certificate Status Protocol (OCSP) [RFC2560], as well
as via TLS server identity checking [RFC6125].
How Art Can Develop Your Brain
I think DNS signing authorities are a bunch of outlaws. They charge for trust, yet don't establish it themselves.
I'm not really a programmer. All my training is in abstract math so whenever I see people arguing over language X and Y it always seems weird to me. I don't write code until I've sketched things out with pencil and paper and by necessity I have to disentagle the syntax of the language from the essence of the problem. Turns out when I do things that way translating the solution back into a language X ends up being the easy part and it really doesn't matter what the target language ends up being. Adding macros and types just shifts how I encode the solution and in no way affects its abstract formulation.

So I don't think it goes hand in hand. The fundamental bottleneck is always what's in your head.
The poison is pretty cool for sure but the integration of all the tech here is pretty amazing. It's kind of incredible to think of all the complex systems here work together so well. When I saw the video all I could say is wow. It could be that we are near a "Cambrian Explosion" of autonomous devices like this. I was skeptical when I first heard that term applied to devices but this has me reconsidering.
And that is why static types matter
You want to reduce the "surface area" of your email client so that the act of viewing an email doesn't own your system. It has nothing to wo dith the privacy of your email.
Self-driving cars can be disabled with a laser pointer and a Raspberry Pi
You really think that giving Libya the keys to bit.ly, for example, is a step forward?