skysight-inc/HackerNews huggingface dataset:
- messages are asynchronous, function calls are (pretty much by definition) synchronous

- messages do not require a reply (but function calls typically do expect a result)

- messages are a lot more secure in that the credentials of the sender can be inspected by the recipient which can be walled off in a different area of memory or even on a different machine

- message based architectures are easier to scale than function call based architectures

- message based architectures tend to have higher overhead per message than a function call with the same payload and return value

- message based architectures tend to lend themselves to soft real time approaches better than monolithic threaded software using functions as the main means of passing data around

- message based architectures tend to be more reliable

- message based architectures typically allow for things that are next to impossible in a function based environment, such as process migration and load balancing as well as coping with hardware failures

- message based architectures are easier to debug (by far) than large systems built up using nothing but function calls.

- message based systems tend to be a bit slower, especially if they take the message idea all the way to the lowest levels of the language (such as in smalltalk).

Really, the differences are legion. I've built some stuff using message passing that I would simply have had absolutely no way of getting production ready if not for using a message based approach, it allows you to limit the scope to the processing of a single message at all time rather than to have to model the entire call stack in your head to keep track of what you're doing and why. As an abstraction model it is extremely powerful and for that reason alone I'd happily advise anybody that has not yet played with an environment like that to give it a whirl.

It's not a passe-partout but it certainly is a powerful tool in the toolbox.
Religions evolve to self propagate, that's about all they have in common. Ex: The shakers died out for fairly obvious reasons.

Ps: The have been a lot of tiny or dead religions some of which where vary odd by modern standards. But, if you limit yourself to religions with say 20,000,000+ followers today then clearly there going to need to be able to spread.
Startups Try to Challenge Google, at Least on Mobile Search
Chopin: Programming Language
Frederic Chopin is the poet of piano and one of the few pianists I can see, hear, and feel. If any of you know who Chopin is, is there a programming language that would fit his sense of musical mastery, elegance, and exactitude style? If not...how does one go about creating a programming language?

Chopin (pronounced sho-pan) would be the greatest programming language of all time.
I've been using MikroTik lately because I wanted to identify my traffic and Qos it differently for VoIP installations. It seems to do well with this.
This looks really cool, thanks for sharing it. I've seen this kind of idea talked about many times, but never any implementation, and even if at an early stage there's clearly a lot of effort in your basic structure and api (edit: and docs!).
Ultimately, short of Android becoming a widely supported platform for Python and having binaries available on PyPI, there's not much that can be done for this. Compiling stuff on Windows is a bit of mess, but a surprsing number of Python libs use or rely on others that use C extensions.

In normal use on Windows, this isn't as noticeable as these projects either have binaries on PyPI for Windows or else installers from their own site, but when you actually do need to compile stuff (because you're cross compiling for Android), it's a bit of a mess.
Most SQL databases that support stored procedures have some kind of unit testing framework available these days, in fact have had for many years. Possibly as a third-party product or project, but the tools exist.

If you design your stored procedures right, they can be an abstraction over your data model. You then can change the data model without the stored procedure interface necessarily having to change (though in most cases, changes to the data model are usually done to support new requirements, which typically involve new or changing business logic as well).
There's a great collection of gradual typing papers here:

https://github.com/samth/gradual-typing-bib
Where do you live and have free buses?
If you're interested in the object GC portion, there's this:

http://ponylang.org/papers/OGC.pdf

The Pony object garbage collector is fully concurrent, the reachable memory for any actor is GC'd totally independently. At the same time, Pony allows (safely, with no data races) sharing pointers across actors, for performance (ie without copying).

There's a paper on the type system that allows this:

http://ponylang.org/papers/fast-cheap.pdf
Here is the link to the relevant section ...

https://youtu.be/a-wtYUKoBa0?t=3662
Show HN: Shaven – Templates without mustache
Interesting language. The "philosophy" wiki page is worth reading: https://github.com/CausalityLtd/ponyc/wiki/Philosophy
Agree, unless your need for a DB is quite trivial, then perhaps something like SQLLite for the devs and whatever else for production. However this breaks down quickly once you grow beyond needing very simple INSERT and SELECT type operations.
Ask HN: How does Angel List determine their signal?
Each company is assigned a "signal" ranking, but I can't find anything about their methodology on their website. Does anyone have any insight on this?
Modeling garbage collectors with Alloy: part 1
Wow, all small businesses that turned their online presence into Facebook pages can now have the webpage back.

(The rule with the evolution never going backwards seemingly doesn’t apply here.)
Are you writing more than 200 TB of data?
http://techreport.com/review/25559/the-ssd-endurance-experim...
you say that like there's a difference :)
How Google Sees Node.js
Maybe there's a trend towards shaming families because families are economic structures which compete with governments and corporations?
If anybody hasn't looked into it yet I'd recommend looking into https://sandstorm.io/

They have a hosted (or self hosted) system for deploying open source software.

Auto-updating, super smooth and they have already adapted multiple open source applications to their system.

Oh: and I guess kentonv in the comments here is Kenton from sandstorm
thanks for the feedback, fixed :)
Not the paper itself, but blog post from the authors, and (I think) has the main chart: http://www.rtcc.org/2015/03/23/falling-battery-prices-boost-...
> you still wouldn't use OpenBSD (or anything other
> than Linux) for QoS.

Is this still the case? Especially in regards to OpenBSD managing a fast residential cable connection? I thought 5.6 yanked out the slow ALTQ code and brought OBSD close to linux QoS performance, especially for residential traffic management.
Plus you get late updates for security fixes and new ones because of the "secure" additions to the code.

I will pass.
Piper Pied
Implanted Chips: A Glimpse into the Future
What's a good starting point trying to find internal recruiters?
Unless you want to work for reddit and there is no negotiation :)
If you want an actually usably fast Free Software reversible debugger, I recommend giving rr a go (http://rr-project.org/). It works by record-and-replay, and you can do step-backwards in the replay part. It's not perfect yet, but you can use it for serious work on complex multithreaded programs; I've used it for debugging QEMU bugs. I'm optimistic that this will become part of the standard open source C/C++ development toolkit in the same way that valgrind did.
You can safely ignore any recipes that suggest the use of Olive Oil. The taste overpowers everything else.
I think that the "common understanding" of pretty much any political idea, no matter where it lies on the spectrum, is going to be mostly composed of soundbites and tweets and memes, because those are the easiest to ingest and repost. It's easy to get a strawman idea from that, but to get to to the heart of an idea you need to read the TL;DR stuff too.

If you're afraid that the superficially furious people are going to win out over the reasonable, thoughtful people on issue X, then the best thing you can do is try to understand issue X and promote the reasonable approach to it. Just saying "All Xs suck as proven by this misspelled Tumblr post" will only further polarize the dialogue and help shout down (or radicalize) the reasonable people.
I wish someone could come up with a good way to encode information like this so that colourweak persons could use less time decoding it.
The only thing such a system should write in bigger amounts are logfiles, unless you keep very detailed logs/packet captures you shouldn't get close to the write limitations of a modern SSD, which is tens of GB per day. (You might want to change the fsync-behaviour though to limit write amplification, e.g. syslog syncs the logfile to disk after every log line, which might become a problem if you have very active logs?)
Except for actually discovering those secret agreements, what policies do you see an union instituting that would ameliorate that problem? I see how unions can help set minimum wages and conditions for their members, but that's not what we're talking about here.
Same exact issue here, first time i've encountered this with Chrome.
>Personally, I use Firefox.

I seem to recall a recent hn post that made FF sound like a bit of a privacy disaster in its own right - specifically on the topic of addons (they all seem to phone home).
The link to Tomboy OSX is broken.
Some supermicro mini-ITX boards (some work straight from 12 V)

some other mini-ITX boards by random manufacturers in that space
Original: 333794bytes
New: bytes, 0% reduction

Thought so, I wouldn't invest in them...
Not really. That's current day for most of the US. It's SF that is broken.
No, I would never ask a question with a trick in mind. I am not interviewing for people who know tricks, because approximately zero percent of our business problems can be solved with tricks. I am looking for competent execution, because that's what matters day-to-day.

If I had asked a question like that, and if you can do some bitwise voodoo to solve it in O(n), great. But what I'd be looking for is, can you solve it all? Do you understand the problem statement enough to write a general sort of algorithm? If your first pass is O(n^4) and I point it out, can you understand this, and think of ways to improve? If I point out a problematic or erroneous input, can you reason about what will happen? Etc.

I think this is what we need to look for in interviews. Certainly not, can you solve this brain teaser I read in a magazine.
Could you try it again and see if that still works? I couldn't get it (or any of the other methods) to work. Did they maybe update the robots.txt so google can't cache it anymore?
Baltimore Residents: “We Just Can’t Go Back”
Hmm, on a second look I see that Iridium appears focused on privacy, not security. In that case they should call it "private browser", not "secure browser". These words mean very different things.

Google's _security_ record is ridiculously good. Their _privacy_ record is at best questionable, and I can certainly see where people might be interested in a privacy-centric fork of Chrome.

That said, I was under the impression that all of Chrome's "phone-home" features can be turned off via settings.
Remote Work Denial Is a Bad Look
I live in midtown manhattan (46th & 2nd) and while I don't enjoy it quite as much as I did living downtown it's still pretty great. I've no idea why you think it would be miserable.
Looks very promising, hopefully there will be a strong community around it, imho communities make or break a language or a framework no matter how good the syntax or the features are.
StackOverflow's database doesn't need to work that hard because the vast majority of traffic is read requests for public, essentially static webpages that get re-rendered and updated a handful of times in their lifecycle. I'd guess 90% or more could be served by a reverse proxy without ever touching SQL Server or even the app tier.

It would be easy to exceed its DB load with an application that serves unique content to each user, is write-heavy, etc.
Just out of curiosity, how much rent do you pay? I live in Frankfurt Germany and find rent pretty expensive here, but i can't imagine how expensive midtown Manhattan must be.
This looks awesome! Two questions:

1. How does process failure and recovery work?

2. Are there any plans to add binary patterns? That's one thing I'm sure I'd miss from Erlang if I wanted to write a server in this language.
> I don't really see what the benefit for Jimmy to stay in that situation is. If Jimmy is skilled, and the company thinks or acts like Jimmy is replaceable, then Jimmy is in a bad job. Jimmy should leave before Jimmy is mentally harmed.

You are assuming a perfectly rational actor. And with perfect information - we tend to suck up and endure a lot of shit if we just think it is "normal".
Neither one will be much different if the hardware is the same.
My reaction to this as a professional programmer: Etsy sounds like a terrible place to work and the CTO is a moron.
While true, the start up was also in Seattle. I haven't found the compensation to be lower to be honest. It's part of the reason I've been staying here even though I like California more. It's way easier to save here
Weird to see references to soft typing (something quite old that didn't quite work out) and no references to the much more recent Diamondback Ruby: http://www.cs.umd.edu/projects/PL/druby/
It was a research project from the fine folks at the university of Maryland but it lost steam because Ruby is so dynamic that its very very hard to write static analysis tools for it.

http://www.cs.purdue.edu/homes/jv/events/PBD13/slides/JeffFo...

There are some misconceptions about the the Soft Typing approach though that I think I should clear out a bit:

* What a soft typing system does is use type inference techniques to try to figure out what locations in the program might raise dynamic type errors (accessing inexistent methods, etc).

* Soft typing systems do not check the types of function parameters and return values (since just passing a value around never cause the itnerpreter to throw an error). Some non-soft type systems might check though, adding runtime contract checks if needed.

* Soft typing can guarantee safety if you write your program in a way where the type checker manages to infer a static type for everything.

* On the other hand, writing things in a way that satisfies the type inferencer can be very hard. And to acomodate the flexibility of dynamic languages the type system might evolve into something quite complex. This is an even larger issue for Ruby, which is highly dynamic and has no formal spec.

* The 1991 soft typing paper focuses a lot on speed because back then dynamic type checks were a big reason for the slowness of dynamic language implementations. Nowadays we have tracing JITs (which "inline" away all the type checks, method dispatches, and so on) so there is less of a need to use type inference to speed things up.
That's not what stalled the development of web standards. That's what helped them win the browser wars, during which, mind you, nobody was really trying to follow any standards. Everyone was racing to introduce proprietary features. Microsoft won partly by strong-arming OEMs into not pre-installing other browsers, and partly by simply building a better browser.

But just as they won, they got sued big for antitrust, and they let IE languish, which may or may not be due to the lawsuit. This was what slowed adoption of new features because sites were overwhelmingly designed for IE, and IE was not improving at all.
Sewper Hero Emoji Pack for Slack and HipChat
Erlang can "leak" processes if the process doesn't exit once it's no longer needed. Pony (I assume) will clean up a process automatically once there are no more references to it.
I've found that LA is surprisingly tough to get a handle on as a newcomer or outsider. It helps to think of it as a conglomeration of many small towns which have grown together over time, resulting in a situation where there is a "downtown" practically every few miles in most areas of the city. Of course, depending on what part of LA you're in, these former downtown areas may not be in the greatest shape, but they're there. Additionally, there are always the "name brand" areas where lots of people live, but one of the best things about living in LA is exploring everything else, because there is a really mind-boggling amount of everything else out there in LA.
oh and reputation I have sacked one major uk agency and refuse to talk to them as well.
Because choosing a pod involves the question of trust. When you choose a doctor, do you say "choose one for me"? Or you do your research first? I guess some might do the former without second thought, but it's not a smart thing to do.

Normally people should care about privacy. Surprise.
Poor kids, rich schools
Problem is they are right that colocation is the key element of Agile/RAD development.

And I say that having been one of the pioneers of RAD/DSDM/Agile in BT.
One serious question: how much would you pay for this?
Dufl, a Service That Packs and Ships Your Suitcase, Is a Traveler’s Dream
How does the "your concurrent program can never have data races" claim go along with Actor model indeterminism and message interleaving?
I don’t think there is too much non-containerized goods coming in through the major US ports these days. Handling goods via small ports are still back-breaking work around the world though.
> or bundle up an ASP.NET app with an embedded server

You can do that today: http://docs.asp.net/en/latest/conceptual-overview/dotnetcore...
What's a + in Google+? The name is a name. If you want an explanation, you can dig into it, but it's not a barrier for adoption.
1. Because Pony is both type and exception safe, actors (the Pony equivalent of an Erlang process) don't fail in the catastrophic sense. Right now, if an actor wants to report that it can't go on to some other actor, it just sends out messages. Obviously, we are big fans of Erlang, and big fans of the Erlang supervisor pattern, so we'll be writing a Pony package that puts a nice interface around this.

2. Yes! Pony has first class pattern matching already (along with algebraic data types, i.e. tuple types, union types, and intersection types, to make pattern matching really useful). It allows matching both on type and on standard or programmer defined structural equality. As I mentioned, we're big Erlang fans, so we definitely won't ignore stuff like this.
It doesn't do that, because it doesn't work at all. Regular interrogation does that
Canova: A Vectorization Lib for Machine-Learning Tools
When I was in high school I applied for a job in a VW performance shop a couple miles from my school. They sent me to the owner's neighbor for a polygraph, which surprised me but didn't seem like a big deal at the time. The guy was playing 'bad cop' from the second he answered the door, and said he was disappointed that I hadn't smoked pot on my way over because that makes reactions more visible on the polygraph.

We went through his questions 3 times. The first time I just answered his questions, no games. The second time I tried to change my anxiety level sort of randomly (I had some experience with pretty high-end biofeedback equipment and knew how to affect the readings somewhat). The third time I used a breathing exercise that I was taught by a zen master to minimize my anxiety as much as possible.

The polygraph operator was pissed, I decided that I had no desire to work for people who thought that was a good use of 45 minutes, and I didn't get the job.

Everybody won, I guess.
First thing that comes to mind is having more control of which version of *BSD you want to be based on. With pfsense you're on whichever version of FreeBSD they've worked up to.

That said I roll pfsense on a thin mini-itx intel board and its great.
> Science describes reliable models of reality. Its language is mathematics.

That's not right. It's language is... well, language. Including, but not limited to, mathematics.

> Religion wonders about the ultimate meaning of such models. Its language is philosophy.

I don't think this is really being fair to philosophy. I do view religion as a kind of proto-philosophy. Philosophy is what religion should have been.
What I am saying is that the Erlang GC is good enough from the practical point of view. I am not sure what value are you trying to add with the "fully concurrent" GC.
Is it the non sexist version of the "Traveling Salesman problem"?
If you say that privacy is huge and you don't demand only free software then you are inconsistent. You don't put your money where your mouth is.

Your comment makes questionable motives visible and I wonder why you don't get downvoted.
Allmyapps – the story of an almost successful startup
Thanks for the feedback. I was reading through all the reviews of these and poor fit and alignment seems to be the major problem with these type of glasses. They seemed to be all very cheaply made - maybe someone should create a start-up selling customised versions just like corrective optical glasses.
Data races are a subset of all race conditions. We don't claim that it's impossible to wait on a network message that never arrives, of course!

However, Pony makes a messaging order guarantee that's much stronger than is typical for the actor model. It guarantees causal messaging. That is, any message that is a "cause" of another message (i.e. was sent or received by an actor prior to the message in question) is guaranteed to arrive before the "effect" if they have the same destination.

That guarantee is achieved with no runtime cost, which is pretty fun.

Pony still allows unbounded non-determinism, of course, but causal messaging gives a very comfortable guarantee to the programmer.
I don't understand what you mean by that.

In your first comment, you said that general relativity predicted that an infinite amount of time would have passed since the initial singularity. But that is not true: If you apply general relativity to a (very simple) model of the universe, you get the Friedmann equations. You can then solve these equations and get a solution that depends on the parameters of your model (spatial curvature, cosmological constant, equation of state of the matter/energy content). You can then see that all such solutions which fit our observations of the universe (the universe is currently expanding and not all energy in the universe behaves like dark energy) have the property that there was a singularity a finite amount of t ago.

As always in general relativity, one has to determine what exactly "t" means. But luckily, for the Robertson-Walker metric, the answer to that is relatively simple: t is the proper time of particles that are at rest relative to the average matter content of the universe (of course up to arbitrary translations).

So the result is: General relativity predicts for a universe like ours, that for matter that was at rest relative to the rest of the matter in the universe, only a finite amount of time has passed since a singularity. Time does not slow down near the big bang.

Of course that doesn't mean that this is the whole and perfect truth. The very fact that GR predicts a singularity means that GR is incomplete; a singularity is simply not a valid prediction. A theory of quantum gravity is probably necessary to fix that. But I just wanted to correct the error in your first post.
Rules Change on I.R.S. Seizures, Too Late for Some
I'm not generally colourweak and I have trouble decoding it too, J1 and J2 in particular look pretty much the same to me.