skysight-inc/HackerNews huggingface dataset:
I have read it, and respectfully disagree that it sufficiently addresses my very specific point.

I see a section in the link you provided that reads:

> "Chrome OS may send a non-unique promotional tag to Google periodically (including during initial setup) and when performing searches with Google."

Sure Chrome may not be sending a GUID with every request. That wasn't my point. To clarify, my point was that Google has a GUID (your Google account, and likely other forms of ID) that identify you pretty clearly across devices/Chrome instances. I saw nothing in the policy you linked that said Google AdSense and other Google ad services (DoubleClick tags, GA, etc.) do not use that information to link identities across devices for purposes of tracking.

The AdWords and GA teams have rolled out significant advances in cross-device tracking over the past year or two, including new metrics and reports in the respective platforms. It seems pretty obvious to me that this is a data point that is factored into making that link.

But again, I'd love to be proven wrong if I missed a section of your link that explicitly says otherwise.
No. Your statements appear to advocate the position that "tin foil hatters" are marginalized by themselves. My position is that appealing to ad hominem attacks makes you vulnerable to agent provocateurs, beyond the original problem of the group think coming from "political allegiances" - the primary problem.

This group think leads to the easy classification of outsiders as "fin foil hatters", which leads to the lazy ad hominem. Agent provocatueurs don't have to be secret agents of the state - tasked by others in smoke filled back rooms, they are often well meaning group members attempting to marginalize those they consider "others".
Amazon is killing your mailman
> Today every UI toolkit that is not running in a browser needs a UI Thread

This highlights why the idea of running a UI in the browser is actually seriously broken.
A key differentiator for banks vs. many other service providers is that financial transfers can be reversed. Releases of information however cannot be.

So where a bank has a risk of an unauthorized financial transaction, there are multiple options to claw that back (or to shift the risk to other parties, notably merchants).

A disclosure, though, of account information is a different case, and here the results can be damaging to the banks and their customers. One instance I'm generally aware of is an increasing number of disclosures pertaining to offshore banking, many uncovered by the the ICIJ (International Consortium of Investigative Journalists: http://www.icij.org/) and the Guardian. Again, the case involves banks, but it's rather more difficult to reverse transactions when it's your client list and balances, or communications, which have spilled.

Many revealed by insiders, as it turns out.
How about:

- implementing a text editor

- implementing a rich text editor

- implementing a web browser
Hi! This is late but I seem to have missed your reply but didn't want not to reply to it :)

In any case, you are probably right and it includes all taxes, including Social Security and the likes. I just find it odd, that at least on normal people's taxes (income tax + social security + VAT) the numbers don't add up. Maybe GDP in Portugal is generated a lot by non individuals (corporate, where tax is around a fixed 23%) and the income gap is quite large giving out those percentages?

I know I'm on the top percentile tax wise, but my tax percentage, if we include VAT is close to 60% (I bill through my own company, so I'm responsible for all tax). When I was working for a third party circa 2010, it was around 45% or so. Not doubting your figures at all, they may even bring to light the actual problem which is, normal folks actually pay a lot of the countries taxes (so, not exactly lazy, which was my main point a few posts ago) but a lot of the elite is syphoning the money somehow. There is a reason our former prime minister is in jail (preventive, sorta like pre-bail) for corruption charges, like most of our politicians, they seem to be able to get very rich in short amount of time while having very small tax declarations.
You can send this graph as a valentine, or make your own at http://mathogram.desmos.com/

Disclosure: I'm one of the engineers at Desmos.
Rob Pike has nothing to do with the Plan 9 port of Go. It has been entirely driven by the outside community. I don't think Rob has used Plan 9 in years.

> Most Googlers I've spoken to despise this guy's reactionary lordship over the project,

This is pure nonsense.
And the actual paper:

http://arxiv.org/abs/1409.0510
There were some great new tools mentioned on there - like "callgraph" for plotting the callgraph.

I can't however find any instructions how to download and install them. Anyone able to help me?
You're right, a more hands-on approach is needed. We've discussed it a bit, and no opposition has been raised to using +q more often.
Drinking dark roast coffee decreases the level of spontaneous DNA strand breaks
I wondered what my favourite test tracks would sound like, so I made a (somewhat stupid, and a bit slow...) program to produce the difference between an MP3 and a WAV: https://github.com/tom-seddon/bin/blob/master/find_mp3_resid...

(Dependencies: python 2.7, lame, GNU make, mpg123, and (if you use FLAC files as input) flac. Tested on my Linux PC with LAME 64bits version 3.99.5 and mpg123 1.14.4 from the debian stable package repository. Run with -h to get some "help".)

It uses lame to compress and mpg123 to decompress, and I don't know if there's something special going on but the output WAVs always seem to have the same number of samples as the original. And they seem to be aligned - if you use this program you'll find that the difference between WAV and 128kbps MP3 is somewhat noisy, but WAV vs 320kbps MP3 is pretty much silent.

(Or maybe you'll find something totally different! Who knows. I only tested this on my system.)
> And no, the standard library does not rely on GC like in D.

This isn't correct, it relies heavily on GC.
By playing around, usually.

See https://www.youtube.com/watch?v=Zkx1aKv2z8o
Specifically from 4:30 to 7~
Why did you decide to use Kolab?
go get golang.org/x/tools/cmd/callgraph

Or similar for any of these commands: http://godoc.org/golang.org/x/tools/cmd
> Compiling to C shouldn't hurt reliability anymore than compiling to LLVM.

How does Nim deal with the fact that null pointer dereferences, signed integer overflow, and shifts by more than the width of a type are undefined behavior in C, and therefore the optimizer can cause memory safety problems if they occur?

Edit: I just tested myself:

- Nim emits checks for signed overflow, but they don't seem to optimize to `jo`. Nim should be emitting these intrinsics where possible: http://clang.llvm.org/docs/LanguageExtensions.html#checked-a...

- Nim does not emit checks for shifts by more than the width of a type. Therefore you can get undefined behavior.

- Nim blindly dereferences null pointers, which is undefined behavior. In fact, I managed to get clang to optimize out the null pointer check here:

echo("Counting to ten: ")
for i in countup(1, 10):
var k: ref int = nil
var l = k[]
echo($l)

In debug mode, this program throws an exception; in release mode, this program prints zero over and over for me, because clang optimized out the null pointer dereference per C semantics. I could probably make this program write arbitrary memory without using any of Nim's unsafe features.

I'm not sure if all three of these are Nim bugs, but they seem like it. Compiling to C is tricky.
> Where we're at in February 2015

Still producing 1.3M hello world executables.

I wonder if rewriting the linker from C to Go will be primarily rewriting, or maybe they will start fixing it somehow.
I see a lot of potential in a system such as this. Let's build it.

Would choosing an alternative crypto currency other than Bitcoin help with some of the recognized issues?
Cider has always been pretty big in the UK.
So what defenses should an organization employ to prevent these types of attacks?

Infrastructure architect at a major Bitcoin exchange here.

It's about defense in depth. Processes. An architecture level stance like "do not trust the client, the server, the network, the data center, the hardware provider, or any particular stage within those three elements". Each element validates the other. An alarm raised by inappropriate behavior at any point will shut down an entire instance, cell, or data center before allowing an attacker a foothold.

The only way to realistically take such a stance without going broke or becoming functionally paralyzed is infrastructure level automation beyond what is common in the industry. Hence, cue for meaningful cloud infrastructure management systems spanning private and arbitrary third party infrastructure. Docker-level stuff is about 1/2 way, what we really need is a few degrees of abstraction beyond that.
Also known as "easter egg navigation."
Shameless plug - I'm from Asturias. Currently, I'm trying to bootstrap a startup which will sell high quality food at reasonable prices from small producers. A bit of a romantic idea.

Supermarkets, especially those in Northern Europe, need to get disrupted. They're an oligopoly making truckloads of money by selling products of dubious quality at unreasonable prices.

Cider is obviously among what we are stocking. It's a quite unique thing, I think. If anyone wants to do business in EU/US/Far East just let me know via my profile.
I think it is a good habit to avoid the 'because the board says ...' prompt for decisions. It is a very seductive short cut but it also keeps the other folks out of touch with the trade-offs. In an early startup I was in, I got to see how it affected people (it makes them feel like they are robots or serfs).

The truth is, if you know that the board said to do something, you were also there at the conversation about it, and in that conversation are important bits about tradeoffs and how things were considered. Telling someone "After considering X, Y, and Z, the board and I decided that Q was going to be our best course of action."

I have also seen it used as a shield, as in "the board said we have to do this" which the implication that the person making the request (typically the CEO) didn't agree with the request but was overridden. But the truth is that in a start-up, and even in a larger company, the board is often unwilling to override a CEO's solution to a problem, in favor of one of their own. Good board members respect that the CEO's day to day vision of what is going on carries a lot of weight.
http://golang.org/doc/faq#Why_is_my_trivial_program_such_a_l...

The linkers in the gc tool chain (5l, 6l, and 8l) do static linking. All Go binaries therefore include the Go run-time, along with the run-time type information necessary to support dynamic type checks, reflection, and even panic-time stack traces.

A simple C "hello, world" program compiled and linked statically using gcc on Linux is around 750 kB, including an implementation of printf. An equivalent Go program using fmt.Printf is around 1.9 MB, but that includes more powerful run-time support and type information.
How is the mouse broken? I can

* See my mouse pointer

* Right-click and bring up the right-click menu

* Click on the link in the second slide

* Drag to select text

Chromium 40 on Linux
I don't think docker runs on OpenBSD. Ansible does though.
It's explained in a silly way because explaining it in a non-silly way is not so easy. Here's my best shot:

Measurement in QM is not an all-or-nothing process (and hence there is no such thing as "wave function collapse"). You can measure "just a little bit" by carefully controlling the entanglements of the system you are "measuring". These are called "weak measurements". When you make weak measurements, the probabilities of various outcomes can be non-intuitive because of how the quantum math shakes out, similar to the Bell inequality, except that the entanglements in this case are across time instead of across space. It's cool experimental work, but there's nothing fundamentally new here. It was already well known that the quantum wave function is timeless. This experiment just confirms it.
> And if you get the estimate wrong (too low), you screw yourself and lose money on the project - too high and you don't even get the contract. In this environment, you learn quickly that estimation is vital,

In my vertical what happens is that customers field optimistic estimates from vendors much less qualified than you. But customers have no basis to know those estimates are fanciful. So they rely on a fanciful estimate from an unscrupulous vendor, and then get stuck.

Estimates are not judged on being right, they're judged on being low. In that environment, the only winning move is not to play.

Obviously in some verticals there could be people technically qualified to evaluate the incoming bids. I'm just reporting that it isn't the case where I work.
I have an idea #1 Product Hunt for real people
Looks very nice for quick prototype kind of things in any language or to make existing tools quickly available to a small circle of users!

for larger-scale usage the overhead probably is to big.
If you are using niche product and your suppliers are small, they are too small individually for 3PLs but collectively they can be big enough for 3PLs to accommodate them. Pool together such small niche suppliers yourself to be attractive for 3PLs It is similar to consolidating fractional container load to have one shipping container worth of material.

If your suppliers are large companies, they already have 3PLs. So you need to go to the 3PLs which has most of your large suppliers or setup your operation within local delivery area of these 3PLs. Most 3PL warehouses tend to be located nearby to each other.

I will suggest talking to operation research people at a business school. Those people teach and do this for living. Also look into some of the case studies on consolidator models for ideas (Amazon, Walmart, Costco, Toyota).

You challenge is you are too small of a consolidator and your suppliers are either too small or too large. You need to hack existing models to fit your need. I would most probably start with a hybrid approach of setting up my consolidation and shipping operation near the warehouses of my large suppliers and offer onsite inventory storage and shipping for small niche suppliers. Until you become large enough, you will have to give up some efficiencies of scale.

BTW, you are not in software business, you are in consolidation and shipping business.
Agreed 100%. I found that following a guided mediation was much more effective for me when I was starting to meditate. It's a skill that you need to learn just like any other skill, and guided meditations act as a coach while you learn to get into that state of mind.

I think Headspace is a particularly effective tool for that https://www.headspace.com/ (not affiliated in any way; just a user)
Can I please quote your debating which particular brand of natural spring water should be given to millions of people who are thirsty in the desert when I get a chance :-)? It is a great summary of the problem with functional programming.

As a person with academic background interested in real-world FP (using F# in my case), this is exactly why I'm not very enthusiastic about most functional programming papers that appear in conferences like ICFP - they might be solving fun problems, but I'm not convinced they are problems that actually matter if we're going to ignore the main issue.

I think interesting functional libraries that demonstrate how to apply FP to some interesting problem can help here - for example, the paper on financial DSLs (http://research.microsoft.com/en-us/um/people/simonpj/papers...) or the original paper on Functional Reactive Programming (http://conal.net/papers/icfp97/).
> In general, pull request culture is not about code review.

This is not true. There are many projects on GitHub which do extensive code reviews on pull requests. It may not be as nice as Gerrit for the type of project like Go (where you often have many iterations or the diffs are large). But for many other projects the UI that GitHub provides is sufficient (and arguably more efficient than Gerrit).
> Neither of those ways are how anyone describes proof of work.

Argument from silence.

Your explanations are, of course, correct. You are just approaching this differently than he.

Given a system with mechanisms that work according to your explanations, we can also describe the system in terms of economics and game theory (and possibly gain some extra insight). This is what Vitalik is doing.

Specifically, in the first way, he's saying that PoW can be seen as a game that rewards participant votes toward a majority vote that hopes to align with a schelling point, ie, schellingcoin. Here, participants vote with their mining power, and those that vote with the majority are rewarded, while everyone else gets nothing.

In the second way, he's saying the PoW is a market between tokens and resources, which can be measured in total computational power.

> it has nothing to do with currency.

PoW does to do with currency, in practice, because participating has a real cost; miners are trading some resources, electricity and computational power, for tokens as part of what could be described as a schellingcoin mechanism. If there was no currency involved, no reward for 'correctly' participating, no 'market' for trading computation for currency, I'd assume that no work would actually ever be done by rational actors.

Looking at these incentives of the system, looking from an economic and game theoretic perspective, can help us gain insight about how these systems perform in the real world of limited resources and competing ideologies and actors. This field is being called "cryptoeconomics". https://www.youtube.com/watch?v=9lw3s7iGUXQ
There are plenty of historical examples where a state had to (and did) use force to prevent private individuals or organizations from offering certain services.
There's an irony or perverse incentive here.

The more wrong the article is, the more likely it will be remembered and pointed to through time. This means an article like this will continue to make more ad revenue than a peer that was correct in its predictions.

Journalists and pundits are never punished for getting stuff wrong. (Look at the 90% percent of them that didn't see the housing crash coming in 2008.)

The lesson seems to be to make the most outrageous and wrong claims possible to be click-bait for both the short term and long haul.
(Note, not being critical of you, just placing this here because I was thinking about it recently)

Maybe because CS is so young, there is a tendency to confuse theory and practice.

Whether a particular language makes one more productive isn't math, it's engineering. When we talk about how monads might allow you to separate concerns and relieve a mental load -- we are talking engineering. When we talk about how monads compose, we are talking abut the math/science that enables the engineering. They are both related, just like mechanics is related to mechanical engineering, but they aren't the same and they have different concerns.

Be wary when you start thinking in terms of "entrenched interests". It's tempting to go down that road, but the reality is that those "entrenched interests" actually have good engineering reasons to be that way[1]. It isn't like a million other programmers haven't noticed that FP-style programming offers some benefits -- but often the benefits end up not out-weighing the drawbacks in the languages, ecosystems, and practical performance and hardware concerns.

This should be obvious, but I think people start muddying the waters -- especially when they focus on the ideological purity of their programming language. Programming languages are tools. The most popular ones are engineering tools -- and there are some not so popular ones that are tools for exploring the math behind the language itself. There are too many tradeoffs to have a language which occupies both spheres successfully.

In particular, the FP advocates go round and round on this issue. Just because something is elegant mathematically, does not mean it's good engineering practice. Haskell, for example, can be practical, but it struggles between the math and the reality of limited machines and human cognition[2]. Likewise, when you start talking about SML vs OCaml, you're talking engineering, not math -- and possibly a language tailored to engineering vs math.

You see this in languages like C++ too, where practicality starts giving way to a kind of semi-mathematical, yet totally non-scientific, dogma about how programs should be constructed based on their respective committee-designed[3] standard libraries.

[1] not always, but more than people really give others credit for.

[2] I still maintain Haskell is a write-only language, like an opposing pole to perl. Not (completely) because of the language itself, but because of the culture surrounding it which glorifies one-liner lambda calculus/laziness tricks over engineering pragmatics.

[3] e.g. compromises made in absence of any real on-the-ground engineering constraints.
'From Atoms to Bits': A Brilliant Visual History of American Ideas
OP here. The overhead is really dependent on your process overhead. I typically use it for Python/Ruby/C apps which are relatively lightweight compared to something JVM based.

The runtime profile of WebSockets tends to be different to typical HTTP requests too. With typical HTTP you're often optimizing for 1000s of short requests per second, whereas with WebSockets the requests are much longer lived.
The left and right buttons also do the trick.
A project in a similar vein is websockify ( https://github.com/kanaka/websockify ) , which makes an existing app with a TCP endpoint available over websockets.
> A simple C "hello, world" program compiled and linked statically using gcc on Linux is around 750 kB

diet gcc -o hello hello.c; strip hello

2280 bytes on my system.

There are reasons why using glibc results in executables so big, and why it is tolerated (kind of). Those reasons hardly apply to a new language being actively developed. Yet said language produces executables almost twice the size.

"Run-time support and type information", why is it linked into a an executable that never allocates memory and does no introspection of any kind?
That's a false dilemma. It's not about our current government vs no government, it's about complacency vs reform.

Most libertarians are not "anarcho-libertarian", whatever that actually means, nor are we anarchists.

I think most of us agree that a state is important. The question, which people have been grappling with as long as there have been states, is how to make sure that the state is benevolent--that it actually works in ordinary people's favor, rather than degenerating into a relationship of oppression and exploitation.

The libertarian question, specifically, is how do you ensure that the state respects people's individual freedoms?

History has shown mass surveillance to be antithetical to individual freedom. So our goal is to abolish mass surveillance.

You said we're "so coddled by the benefits of a first-world government". Do you think MLK was coddled by his gov't when he was hounded by the FBI, sent threats, & imprisoned for his words? We are lucky that the surveillance capabilities of the state back then were much more limited than they are today.

Today, every email in your inbox, every text, every cell phone GPS coordinate, every draft in your drafts folder is plaintext in a big database. That database is searchable by bureaucrats you'll never meet. Even if they never type in "rayiner" specifically, this state of affairs is dangerous to the freedom we all enjoy. Just because we have it better than some unlucky people elsewhere, doesn't mean that we should stop trying to fix our own society here and now.