skysight-inc/HackerNews huggingface dataset:
I find it pleasing that their theory is consistent with Julian Jaynes's theory about the origin of consciousness. One could view this even as an extension of Jaynes's theory. First, we became conscious, then self-conscious. Consciousness was a prerequisite to any form of society. Self-consciousness was a prerequisite to a moralistic society. The details of the form of deity seem to me a proxy for the underlying question about how the brain was evolving over this period.

Although the article notes that this fact is in dispute, at least to me it seems striking that there do not appear to have been any large-scale wholly atheistic or agnostic civilizations in history until recently. To continue the thought about the biological substrate for consciousness and self-consciousness, I wonder what that implies about whether or how are brains have evolved in the recent past? Is there some allele or set of alleles that express for pro-social tendencies that are required for pluralistic, capitalistic, atheistic/agnostic civilizations?
In case anyone's interested, there's some screencast tutorials on Phoenix http://phoenixscreencasts.com/ - Not much episodes yet though :)
>privileged personal connections

I think the point is that this requirement usually punishes manipulative people.
"Privileged personal connections," perhaps minus some of the negative connotations, seems to be among the chief selling points of going into an incubator like YC. I remember seeing Sam Altman tweeting something a few weeks ago about the latest batch raising $220+ MILLION dollars. Those are some hefty connections.
There is actually a lot of complexity to hashes in Ruby.

The two major sources of complexity are the fact they are mutable and the fact that keys are mutable but hashes are computed when the object is first added.

So if you construct a valid hash, then call three functions passing them the hash, you have no idea if the hash is still valid for the second and third functions without reading the code for all the preceding functions.

What this tends to mean in practice is you are always having to check all over the place that your hash is valid.

They might look the same as clojure hashes but in practice they are used very differently.
Biohackers gear up for genome editing
If that's the highbrow option, what's a mini-ITX motherboard with an AMD 5350, 4GB RAM, an SSD and an Intel 4-port gig-e card plus the onboard gig-e?

Scout NewEgg for combos -- you too can run a fully supported OS on x86-64 instruction sets with familiar hardware, but at a low cost of both purchase and power.
It's all to easy for nice founders to turn into full blown sociopaths. Maintaining empathy, integrity, and balance takes alot of work once things grow (or fail).
My father is actually director of campus security at a large private college. He's as conservative as they come, but you probably wouldn't be shocked to learn that people in that position genuinely care about kids and just want them to not die. Dad supports harm reduction in regards to binge drinking and marijuana use, through gritted teeth, while a vein throbs and he curses about stupid kids trying to get themselves killed.

But he says it's hard to keep a hardline policy when you've seen a drunk underage kid die because they crawled under a bush to "sleep it off" in subzero temperatures, because they were too drunk to get home, but afraid to use the blue emergency phone and risk getting caught.
Setting up VirtualBox without a GUI is a royal pain!

All of the command line parameters are documented, but there are no complete examples of a typical setup. Not too many people bother with it either, so examples online in blog posts are only semi-useful.

I wound up setting one up on a different machine then working through the various commands required to get my config to match my example.
>I think clojure helps with the speed of allocating new immutable structures by using copy on write strategies behind the scenes.

No, it's not copy on write in the sense that COW means in other languages. Data in clojure is persistent, so usually even an altered piece of data is not actually copied, only the tiny bit that changed is added, if necessary. This is very different than, for example, Swift that implements copy on write, but the whole data structure is copied even if the change is minor.

Additionally, you say:

>When we're dealing with sequential tasks, mutating data is much faster than allocating new data structures

That would be true in cases where the entire data piece is new; but so much of what you do in any language involves interative changes over existing data, and again because of clojure's persistence, new allocations are often not happening at all in many cases.

...However, I do agree with most of your other points :)
I love Rich Hickey and I will watch any talk he ever gives. I believe I have seen them all at current.

Here's what drives me nuts about this one, though - it gets passed around a lot where I work, and people say how strongly they agree with him. There are real, concrete things he claims are not simple here! Things like for loops. And these people I'm talking about, they say they love this talk and then they say they love for loops. Really! I don't get it.
Pretty much. I'm in Fredericksburg. There are other places and they all have their positive virtues, but not much better IME.
Yeah, of the clients I've had, none of them have cared one whit about how they were billed, only that they were billed a predictable amount.
Great question. What if it's something like the Internet itself -- i.e., the potential that somebody will capture and share a private act in a way that will become completely public and forever.
I would agree that social media works for shaming large corporations (brands), but not so much on the micro scale of individual people out of the public spotlight.
Cuba's Communist Computer Club for Kids
Content over HTTP/2
At this point in history I fear less the Chinese government intercepting my data than I do my own ( UK )...
Minor nitpick. They care about results, a reasonable approximation of costs, and most importantly, the delivery date.

Those are the 3 points of negotiation. Or rather 2 points. If a client is asking you to compromise on quality to reduce cost or delivery date, walk away.

So 2 points of negotiation. How much it costs and when will it be delivered.

Whatever you decide on the costs, make sure you can 100% deliver on the date agreed to. If you're late by even a day, you will ruin the relationship. That isn't to say they won't work with you anymore, but the relationship will become more difficult. It's as if you lied to them, however unintentionally.

Always deliver on time.

As far as how you break it down and bill them ... they don't really care. I bill by the week, day, hour, and sometimes by project ... whichever suits me at the moment or whichever I feel suits the client best.
Thanks for making the book available in EPUB and AZW3!
I think this math also explains why equity disputes, often caused by someone wanting 10-50% more, are a waste of effort. Again, it's case of optimizing the weaker multiplier.
Hickey has stated elsewhere that optional values don't really make sense in a dynamically-typed language.
Leave it to PG to dismantle the myth of founder as psychopath with clear, succinct reasoning and basic math.
There is a good reason why successful cultures have hierarchies. Specialization and structure improve efficiency and standard of living for everyone under it. Do you think companies could do without CEOs?
Sorry, but all of those cases are covered by the first clause:

>The judicial Power shall extend to all Cases, in Law and Equity, arising under this Constitution [,etc]

Well, assuming the case between the citizens of the same state are Cases of Law and/or Equity (is there another type?). Some of these cases are explicitly protected by the US Constitution itself (c.f. Amendment VII).
I think this depends on the industry (as PG speculated). It works in software and other industries with healthy margins. But in industries with slim margins, you see more cutthroat behavior.

I don't think it's a coincidence that Amazon (for ex) has poor working conditions. Retail has always been a slim-margin business, and most of the companies in it are accused of very similar poor behavior. (I don't mean to pick on Amazon, but it's a recent example. And I know some will say AWS is ok.. but AWS likely has much higher margins than the retail side.. so it does't really change my point.)

Take any industry.. and the chances are the profit margin is a good indicator of the working conditions.

This isn't to mean that those who start retail (or similar low margin) business are mean people.. but I think the lack of profits necessitates cost control and a focus on efficiency... which leads to poor working conditions (since good working conditions cost money) and decisions people will interpret as mean.
> I'd understand if you said that basic substitution macros are nowhere close to actual AST macros, but Erlang has far more than that.

Fair point.

> Those are sugar. It's not like you can't define your own behaviors in Erlang. People do it all the time, there's so many good libraries that go beyond stock OTP.

There is a very strong point in providing those as default. If Erlang didn't ship with a gen_server, we would see hundreds of different gen_server implementations and no real consensus. By providing one, all Elixir developers are familiar with it.

In a way, you could define everything Elixir provides as a sugar, after all, it runs in the same VM. Sure, an Erlang library could provide all unicode manipulation functions... but having it all sorted out for me is a great deal. The same way Erlang solves many other things which makes it attractive to many.

That leads me to...

> I should really switch an entire language because of default libraries?

No. But if it provides a really good standard library altogether (unicode, structs, enumerable, etc) with an excellent tooling and powerful abstractions (like protocols), then surely yes.
Persistent data structures are part of it, for sure. But on a higher level. On a lower level, if you look at how and assoc-in works in Clojure, the scales will fall from your eyes (they certainly fell from mine). Consider:

(def g {:x "a" :y {:k 71}})

user=> (assoc-in g [:y :k] 72)

{:y {:k 72}, :x "a"}

With this you can walk and mod deeply nested datastructures with ease (and others can reason about it well).
Exactly; the whole idea of "deep dup" doesn't even exist in Clojure. It's a non-issue. Some languages go so far as to encourage actually serializing and then reading back in a data structure as a form of doing a deep duplication! (I've done this in Objective-C, based on advice in popular books.) This is an extreme example of the pitfalls of mutable data in many circumstances.
You think you hate the DMV, but the people who work there hate it even more
> The marketplace is too crowded, so any startup founder who has an edge will take it.

That also seems like a good reason to be nice. If you are nice to someone, it puts both you and that person ahead; in a crowded market, that adds up to being the leader of the pack. If you are nasty to someone, it puts both you and your target behind (there is an opportunity cost to being nasty; you're not spending that time being nice). You'll take your target down, but you'll also end up at a disadvantage relative to someone who just stayed out of it.

If you've ever played multiplayer strategy games like FFA Starcraft or Civ 5, you'll notice that the optimal strategy is usually to sit back, turtle up, and work on your infrastructure while everybody else kills each other off. Then when you have an overwhelming force, crush everyone who's left. Players who come out of the gate aggressive usually get taken out or weakened enough that one of the turtles can finish them off, even if they are very skilled.
I can't believe the sam.gov website discussed at the beginning cost $200 million.
The unintended consequences of this will be millions upon millions of compromised devices all over the world with owners completely unable to solve the problem themselves.
Microsoft LUIS Let your app understand language
What else are they supposed to call it? Its Amazon's tweak and modifications to the Fedora/Enterprise Linux family, tuned and tweaked for their platform
Perfectly stated. Thank you.
reading the comments it's pretty clear that phoenix + elixir - it the best thing since sliced bread. Usually it takes years and couple of versions - to make it tick. But here - boom - 1.0 - everything works great - pretty impresive
I want to work on something where I can make a difference, and I think this is it. Paul Graham wrote (paraphrased from http://www.paulgraham.com/procrastination.html) one should at best work on things likely to be part of one's obituary. At this point I feel there'd be little difference if my obituary read "worked for 6 years at Facebook" vs. 7, 8 etc. But if I helped people get code written better, that's a lure I wasn't willing to not seize.
Wow, too good to be true
Not sure - sarcasm, right?

Somebody looking over your shoulder from the calm surroundings of a court room are very likely to second-guess everything you do, looking at a video of it. That's why we have a jury, an advocacy system, and we question witnesses.
Graphical Network Monitor – where in the world is your computer connecting?
"As I've written before, one of the things that has surprised me most about startups is how few of the most successful founders are like that. Maybe successful people in other industries are; I don't know; but not startup founders."

I know that "old school" world quite well and have for a long long time. There is a big difference between being, in general, fresh out of school working with your peers of highly motivated and typically educated and skilled people (that you additionally socialize with) vs. being in an environment where you have your own money on the line, no margin for error, and people are constantly doing stupid shit that threatens your livelihood. [1] With all due respect to PG afaik he has never operated in this world. But it is a world that does exist and there is a reason for it as well.

[1] Note I am not talking about the corporate world and obviously goes without saying that there are many people running entrepreneurial companies that aren't like the caricature which PG describes.
I've used both Go and Elixir so here's my thoughts:

Elixir/Erlang aren't your typical dynamic language. Elixir is compiled and has pattern matching. I catch a ton of bugs at compile time in Elixir that I would never catch in Ruby/Python/JS until runtime. Examples of these are misspelled variables/bindings/function names and pattern match that will never actually match. Those are really, really common time wasters all taken care of at compile time.

Now what types of errors in Go really hurt you? Race conditions at runtime. I have to be way more careful about that to where it was costing me a lot of time in very concurrent programs. Eventually you develop a paranoia. Go has better tooling to help with this now, but concurrency and a language that prefers pointers just doesn't mix well. In Elixir I don't worry about this because everything is immutable. Now that GOMAXPROCS defaults to NumCPU I think a lot of programs that looked race condition-free probably aren't.

As far as runtime goes, Elixir and Go are at the same mercy but Elixir has much better debubbing capabilities than Go thanks to Erlang.

If you want something that gets you closer to static types and you have the discipline to keep up with running it and maintaining your type annotations, there's always dialyzer.[0].
Seems like a just-so story until the methodology of their quantitative analysis is publicly-available.
in this code, "rets" is a local variable used in that function, which is why it wouldn't show up anywhere in google. it's just a variable name.
Absolutely. Worked twice at companies that lost their CEOs for months. Things ticked along very nicely, thank you.

There are many forms of governance, and the autocracy is only one form.
This doesn't apply completely, IMO, to startups with early enterprise deals. If you negotiate those in ways which are "too un-rapacious", you can be starved for capital, be ignored by the customer (because it's insignificant as an expense...), and turn into a consultancy by necessity.

It's not exactly being power-mad, but definitely putting the interests of your company (which, at the time, might just be you!) first in negotiations. Not being a dick, but being assertive, and having a decent BATNA in negotiations (i.e. being willing to walk away).

I'd totally agree with what pg said here for consumer or low-marginal-cost products. Absolutely disagree for professional services. Disagree moderately for the somewhat-marginal-cost world of enterprise deals (or hardware).

I think there's something more to this which has to do with marginal cost, not just growth curve.
How would this compare to the NodeJS ecosystem?
It's one thing to recognize simplicity versus ease of use, it's a wholly different thing to apply it. Ease of use is what is most trivially observable by an end user. Actually understanding the nature of the problem domain and properly evaluating architectures beyond making sweeping inferences from what the interface looks like, that is significantly more difficult. Despite all the lip service that gets payed towards simplicity, most people do not want it and it will be met by derision and scorn if the simple solution imposes a higher learning curve or does not make policy and integration decisions for the user. Especially considering the culture of coding bootcamps, DevOps, "get shit done" and "move fast and break things" by and large promotes an anti-intellectualism that is in stark opposition to deeply evaluating problem domains so you can come up with simple solutions.
The Best Tech Unicorn Community Manager
Clojure built FP on the JVM, not Java. Elixir introduces language features onto BEAM. I guess I don't see the comparison making sense here.

Elixir's functionality comes from BEAM and the language, not Erlang.
Zipdecode
The Rise and Fall of a Bitcoin Kingpin
To allow remote management tools to run. If there's one thing that'll make your systems insecure, it's letting everyone manage their own boxes.

SSHd allows you to restrict particular users to IP ranges and of course you can use IP tables and fail2ban too.
You built a server that also happens to route?

I was thinking the low brow option would be an old laptop, but that's not going to suffice for someone who wants to keep up with wireless protocols (due to the same FUD under discussion). Obviously you can fix this (coreboot or modded BIOS), but specificity and tinker factor is going way up.

It's the rise of low power general boards that really make this practical. I tried out the ECS E2100 board for a remote server, and with a silver PS it drew around 15W from the wall. It didn't work with the RAM I already had though, so I ended up going with an i5 which still only measured around 20W before I put drives in.
Perhaps the authors mean to suggest that the consumption of other perspectives allows one to better empathize with others, and in so doing, become better-equipped to reduce their suffering.
I've heard this argument before. For a long time, actually. But the kinds of errors I have are only rarely related to type issues, and those are almost always caught very early. YMMV, that's just been my experience.
Fascinating article showing that even in ancient times, and despite taxes, subsidies, trade-agreements, etc. trade between parties has always followed its own natural rate. So as much as politicians and various special-interest groups want and claim to "control" imports and exports, history shows it's futile.
Doesn't sound like you read the article. It states that these things came before, but religion enabled them to expand them to larger societies.
I remember this from nearly 10 years ago. Though I remember it in Java, I guess maybe it has been ported?

Edit: duh, it says right at the bottom it has been converted.
Fisherman Spent 3 Years Building Massive 24-Foot Long Lego USS Missouri
Actually, parent gets it and is neither arguing a strawman nor mistakenly labelling hashes as simple rather than easy.

Rich absolutely argues that basic data structures like hashes are simple -- something that is generally agreed upon. They are simpler than 'objects' because you can use basic comparison operators on them, and you can operate on them with higher-order functions etc.

The question which parent is digging at is whether a larger, complex app, that leans heavily on hashes actually results in an app that is on the whole simpler, i.e. does 'a simple thing plus a simple thing equal a simple thing'. This is something I've heard discussed well on the Ruby Rogues podcast -- I think that either David Brady or Josh Susser may have a good blog post on the subject of 'simple + simple != simple' but I'm struggling to track it down.

Whilst I love Rich Hickey's talks I do find myself coming round to the same conclusion as parent -- if you forgive my possibly incorrect interpretation of their argument -- that the idea that simple data structures are simpler is fairly useless if programmers use that fact naively.

PS. Everyone should watch the linked talk, it's brilliant, and one of my favourite programming talks ever. I recommend it to every programmer I meet.
> It's a for-profit business looking to cash in on the difference, not a charity, not a break-even operation. They're there to make as much money as possible.

Like most/all businesses?

They're selling a product, whats being disagreed upon is the price. My back of envelope calcs suggested they were getting about market rates (7-8%) but i also admit that I am not well versed in those maths.
How Methods Videos Are Making Science Smarter
The story of Perry working overtime using Texas Enterprise Fund to lure businesses is known to many who are interested in local economics. I live in North Texas and make trips to Houston, and the way things were 10 years to today, in terms of Economic development etc is evident if you pay minimal attention. He was governor for 14 years, and that is too long time for someone in that position of power to be on auto-pilot. Is he lucky, perhaps, the economic conditions were favorable, but to tell me that there is no connection between a Governor and his State is ludicrous.

I disagree with Dallas and Houston lacking in Culture, I really do not know what exactly you mean by culture then. Adequate is a bit snobby but I guess to each his own.
Yeah, if you are really into aesthetics, and they are a dealbreaker, it's probably not for you. not sure how much nicer it can look though as it's a standard email client really.

Try out the demo and see if it is for you.
Been in Austin since the late '90s. Still the best place in Texas. I find that I can't produce or succeed when I am surrounded by bible-belt teapublicans who say I am violating their religions freedom by just existing. That's just me tho...

As far as where the "weird" is in this city it's in the paths less traveled. For instance last weekend several folks let me ride their horse a few blocks on the East Side while we were drinking (horse included). If you spend all your time downtown or in the more 'affluent' parts of town it's just like any other city.
Please help my son's school to win a Tesla Powerwall and solar energy system
> By "growth hacking" and leveraging privileged personal connections, both of which I've seen happen time and time again from even YC companies.

This isn't always that beneficial with the tech scene being largely an echo chamber. Compare Meerkat and Secret to Facebook and Snapchat. Meerkat and Secret got a lot of hype from the tech crowed and investors but neither achieved any real word of mouth growth. Facebook and Snapchat on the other hand both had significant traction before they were noticed by investors (Lightspeed, one of the first investors in Snapchat learned of the company through one of its partners' daughters).