skysight-inc/HackerNews huggingface dataset:
This is pure licensing FUD.

First, as complicated as the licensing interactions around the GPL may be, the quite simple fact is that the (L)GPL's requirements only apply if you distribute code, so there is no more reason to take pause when using an LGPLv3 library in backend infrastructure than there would be if you were using a BSD-licensed library.

As for client devices, it is possible to distribute proprietary applications linked with LGPL libraries, though there are requirements you must follow. The amount of time it takes to figure out and comply with those requirements is minimal compared to the person-hours that went into developing ZeroMQ, which you are getting for free.

Edit: apparently ZeroMQ includes a static linking exception to the LGPL, so you don't even have to comply with the LGPL's most onerous restriction when linking with ZeroMQ! http://zeromq.org/area:licensing
I wonder if they would attempt to acquire Duck Duck Go. It would be a smart move for them on many levels
what research? there's hardly anything in the article to suggest that it exceeds the quality of a 2AM red bull fueld college paper written by a student.
Javascript has the same problem, but I think its worse. At least there are platform standards in C (autotools in GNU, msbuild on Win).

Trying to figure out how Grunt/Gulp/Broccoli, LESS/SASS/Stylus/Jade, Coffeescript, Uglify, Bower, Browserify, Require.js, AMD/CommonJS, NPM etc all work together is a nightmare.

It's all too hard, so people added Yeoman, Brunch, or other things to generate application configs - but now you need to decide which skeleton/generator you want, which takes you down the JS and CSS framework rabbithole.

Of course the only sane response to all this is to write another build system that doesn't repeat everybody else's mistakes.

In comparison, Makefiles are remarkably usable.
And that's why I like to eyeball the piles of junk on the side of the road waiting for collection by the council.

So far the best I've managed is a Commodore 64!
probably taking their issues to HN instead of talking to me about them.
Absolutely agree with respect to ads. While the steady state performance of most banner ads is fine, loading new ads often force large javascript files to be fetched and parsed as well as needless reflows. On our game building site [1], we try to refresh ads only during natural breaks in gameplay (level changes). While this doesn't improve the loading time, it does help to shift the disruption to a time when it is less likely to be noticed.

1. https://www.1dash1.com
How to Read Barcodes Online from a Web Application
All you really need to say is: There are some rules in C which neither the compiler nor the runtime is required to check if you've broken. On the contrary, the implementation is allowed to assume that you haven't broken them - which means that if you do break these rules, all bets are off as far as the behaviour of your program goes, which may lead to all sorts of strange and apparently inconsistent results.
Is there a parallel?

The Lisp Machine was developed at MIT with DARPA money. When the technology was commercialized, DARPA wanted two companies - not just one. LMI and Symbolics were founded by MIT people - the same people who already worked for DARPA money at the lab, were now founding two companies financed by more DARPA money. They took more people from the AI Lab, where the machines were originally developed.
I use bitcoin, a lot. I use it primarily to move money between countries quickly, and inexpensively. Doing a bank transfer takes 3 days, and a $20 cable fee. Using Bitcoin is pretty much instant, and costs a few pennies.

I've been using it for about 9 months, and I've yet to run into any snags. If Bitcoin performed exactly as it does today, from now on, I couldn't be any happier.
I made $41,879 as an AirBNB host
> Karplus-Strong guitar synthesizer implemented in JavaScript using asm.js and Web Audio.

Are the asm.js annotations required for this to work in Firefox? I thought the primary use case for asm.js was converting low-level code into something that could run efficiently in JS, and not so much for handwritten JS. And the demo seems to work fine in Chrome, which has no optimizations specific to asm.js that I know of.
What If UEFA Defected from FIFA?
IMHO:
These types of things are not successfully dealt with via email. If you are in search of an email template, you are on the wrong path.

Your raise or lack thereof will be determined by one or two people. (a person will make the decision and perhaps their superior will need to approve it). If you don't know who the person is, your first task is to find out.
Let's assume you know who the person is. If two people have a healthy relationship and there is an important issue to discuss, the issue will be raised and discussed in person. If you don't have a healthy relationship with the person who will make the decision, fix it.

IMNSHO:
If you are not willing to do the above, by far the most effective email template to ask for a raise will be:
"Dear X, I am writing to apply for the web developer position at company Y (...)"
I happily yield to your better judgement on this :)
They vary so much by company there's nothing really in common that you can focus on to prep. I've been on a few interviews where I actually wrote code.
I'll toss my vote in for Flummox; it's the only implementation I've seen that nails Flux at the perfect level of abstraction and even interacts well with es7 language features like async/await to make reasoning about async processes easier
If I don’t have my design to follow, the whole process breaks down for me. I’ve tried, goodness knows I’ve tried, but my designs end up suffering, looking boxy, bland and uninspiring.

I can see there being some users here (including me) who would think that's actually a good thing... unless your goal is to make an extremely artistic site.
I started 0MQ last year and the documentation was quite a pleasure to read and the whole thing has been great so far.
I still have to finish reading it, but I wonder how python will ultimately stack up against R?
Ask HN: Flash Open WRT to TP-Link WR703n v1.7
I've recently received multiple TP-Link WR703n routers which I intended to flash Open WRT onto. However, in v1.7 of the stock firmware, a checksum validation is preformed and only allows TP-Link firmware to be flashed to the router.

I've seen 2 or 3 work-arounds based off of the "Parental Control" bug found by BugBlue but haven't had any luck when executing the instructions provided by these tutorials.

If anyone has any thoughts I would very much appreciate to hear them.
15 Bad Designs for Everyday Objects
i didn't see anybody else mention this, so i will ...

how about moving it back or forward if the first of the month happens to fall on a weekend? seems to me like it should get moved to the nearest monday in that case.
> I don't see how the early anthropologists would be so bored with this tribe.

The stereotypical anthropologist studies foreign tribes by interviewing their members and observing their rituals. Rituals are particularly important because they yield a lot of data about a tribe's traditions and belief systems.

But if the subjects refuse to chat and don't seem to hold any rituals over the course of a year, I can imagine why the anthropologist might get bored. He's not bored because his subjects are uninteresting. He's bored (or rather, frustrated) because he's unable to do the work that he came here to do.
You wouldn't believe how clunky the Internet was when it first started. This stress test is fairly minor compared to the problems bitcoin had in 2011 and 2012. With time, the blockchain will improve. Just like the Internet. You should look into the Lightning Network paper, there's no shortages of solutions in bitcoin. Meanwhile, traditional financial platforms have been stagnant for decades.
You might hit the plateau, or get into a decline state and use new products to grow your business
Ask HN: How to out a MAJOR online company storing passwords in plaintext?
I recently became aware of a major online hotel broker that stores passwords as plaintext in their system. The management is aware of the technical risks and liabilities but has pushed off technical fixes for YEARS. Furthermore, the features of the website make it obvious that this could be q very valuable attack vector as the reset feature emails you your current plain text password.

So the question is: what is the ethical way to raise the issue and force their hand in a fix?

(Sorry for brevity and spelling; mobile on holiday)
There are lots of uninformed claims here about Bitcoin's scalability. If it's a topic you're interested in, you should do some reading on your own. In particular, the Lightning Network proposal is a promising approach to dramatically increase the number of transactions that can occur trustlessly, but without having to put each transaction on the blockchain.

http://lightning.network/
That doesn't follow at all. It could easily be the case if the proving requires restrictions that other languages don't provide. I'm a little skeptical that they did "solve the problem", bit we can't know much about that without actually looking.
It does do micropayments fairly well via bonding. It wasn't designed for micropayments, but look into the hub and spoke payment channels for some fun reading on the matter
Every time I delve into audio DSP I'm a little amazed at how simple a lot of the techniques are in an algorithmic sense. The FFT is a notorious outlier but most effects are elaborate compositions of beautifully simple pieces of code that warrant pages of mathematical background.

It's starkly different from "core CS" because almost everything operates on arrays and pure functions. Yet at the same time it presents an immense design space for both software engineering and UX - most of the "secret sauce" in an audio DSP product comes from exposing the right parameters in the right combinations. A low level tool like Max/MSP or PD leads to a different workflow from a "pick the presets" VST plugin, in the same way that programming languages are targeted against certain problem domains.
The Week in Bitcoin Issue 19 – A Free Curated Bitcoin Newsletter
As someone who just reread "C Programming Language", in chapter 1 they teach you how to count occurrences of characters so I'm not sure I understand the sarcastic tone of "you're not going to count foo in a file". C can be used for many things, I don't think the author of the slides dod a great job of describing "when" C is the right tool for the job.
Thanks a million Matthew!! We (CircleCI) have made over a dozen hires sourced from HN. It's been amazing, thanks for doing it!
How would you transfer micropayments if not Bitcoin? I don't believe there are any other solutions that don't require an inordinate burden on all persons involved...
The domain name would only be visible because of DNS requests.
Hey I was in the same place as you about a year ago and these are a few of the things I did to practice:

Pick a CSS framework and look through the source. Bootstrap is a great one (https://github.com/twbs/bootstrap/blob/master/dist/css/boots...). You can read through their documentation and find the styles in the source to see how it works (http://getbootstrap.com/).

Whenever you see something cool on a website, Right Click -> Inspect Element and figure out how they did it. Google Chrome developer tools are really awesome for this. You can toggle existing styles, add styles, edit html, etc (https://developer.chrome.com/devtools/docs/elements-styles)

For detailed explanations use Mozilla Developer Network (https://developer.mozilla.org/en-US/docs/Web/CSS). They have very comprehensive write ups for every style attribute.

CSS Tricks has great write ups for specific styles and sets of styles to achieve things like centering, layout, and pretty much everything else you can think of (https://css-tricks.com/)

The Codrops CSS Reference is also very, very detailed (http://tympanus.net/codrops/css_reference/)

Like many other people have said, if you think up a design you can use jsfiddle, jsbin, coderpen or any in browser editor to quickly try and style something up.

For larger CSS code bases you'll need to keep things readable and easily understandable for yourself and others. My team follows the Medium CSS/LESS Style Guide. It's a really excellent way to keep your code organized when you start working in larger code bases.
https://medium.com/@fat/mediums-css-is-actually-pretty-fucki...

Good luck!

Edit
I forgot to mention reading up on media queries. Media queries are extremely important for when you get into responsive design and dealing with content layout across all sorts of different screen sizes. Google has a very good write up on this (https://developers.google.com/web/fundamentals/layouts/rwd-f...) as well as CSS Tricks (https://css-tricks.com/snippets/css/media-queries-for-standa...)
Personally, the hardest part for me was keeping track of the size of everything. Coming from a higher level language, keeping track of the bits and bytes takes some getting used to. Working with arrays in C is much tougher especially when the compiler will compile almost anything you give it, and even a small mistake is catastrophic.

Before C, I was pampered and took everything for granted.
Now I appreciated my life more after C and feel blessed every time my IDE gives me a warning.
The type of paintbrush you use does not need to limit the painting you can create, but it may mean you have to approach it's usage differently.

Wireframes are good; just give me a thick marker and some pencil (or a dry erase board) and i'm set. Sometimes you need to bring photoshop in, but rarely for concept work, more to produce parts.

Also, where / when you stop designing is up to you. If you're not satisfied with the way things look, how you got there is not to blame, not enough iterations is. Start with a solid foundation and add nuances from there, instead of trying to build a full scale house out of paper.
How do you do that? Last time I checked major bitcoin exchanges takes several to withdraw money. Coinbase has a instant buy/sell but I thought that only works in US.
Also, does it really cost pennies? Do you really lose nothing going from fiat to bitcoin to fiat?
Spot on. :)

This has often been the problems with formal methods work. And the spec languages are often worse to find bugs in than the original source!

So not only does this essentially become another DSL, it is usually a pretty bad one.
Altius Space Machines “Prospector” Demonstration [video]
We don't know if information is immutable, else we wouldn't have the black hole information paradox. Nor do we know if history was created last Thursday.

We can be programs, if you used "program" metaphorically to include time evolution of quantum determinism. We aren't programs in the sense that we haven't been shown to be equivalent to a Turing machine, in anything other than their abstract ability to simulate quantum determinism.

Your use of "corrupted" suggests you think there is an ideal concept of information. There's no shadow in Plato's cave. If we are programs in the quantum determinism sense then our memories are perfect descriptions of our memories, not corrupted representations of some past.
What do you do with your bitcoins after you "move them to another country"? It would seem you still have to convert to normal currency and that is by no means instant. What about the volatility? If you really want quick transfers you have to "hodl" bitcoins and that means you have lost something like 40% in the last 9 months.
New people are born every day. The age of the movie is irrelevant.
Looks like a cool idea!
How tech is leading us back to a ‘village’-style life
I was hoping this would actually tell me how to accomplish something in C. I know all about pointers and memory, but I don't know anything about the current state if C development. What libraries do people use? What are common memory management strategies? Etc.
My suggestion is simple. Don't require anything. Instead someone create a HN hiring post linter, and/or a form you can fill out that can generate a correctly formatted HN who's hiring post.
MIT Building 56 Tile Puzzle
Because blockchains work, there is an incentive to join the longest chain. Since Bitcoin was first, all other competing blockchains merely exist for miners to sell tokens to greater fools. Thus, Bitcoin FTW. If you need immutability for your app, you'll be getting it by building on top of bitcoin. The transaction counts, market cap, and energy consumption of the Blockchain market reflect this view
Indeed we agree. Using any ffi for that matter.
The flight was from Nanjing to Hawai.. Still to cross the entire Pacific Ocean, not being pessimistic but the title is misinformation..
That sounds like federated two-click cloning, not federated one-click cloning. Maybe you could batch up the confirmations and get federated 1.1-click cloning?
Nvidia GTX 980 Ti Announced
Ask HN: What is an innovative, exciting medical device company?
I will be looking for a job in a year and I’m looking for some ideas of exciting medical device companies I should eventually apply to. I am interested in companies that are doing really exciting hardware projects and possibly pushing the limits of technology. Some examples that I have in mind right now are: Intuitive Surgical, Alfred Mann Foundation, and Google Life Sciences.
Thanks for the ideas!
I tried the CardDAV beta back in December 2014 and it was buggy at the time. I wonder if it works better now. I hope it does, because I expect only very high quality service from Fastmail. And the first version of CardDAV simply didn't work well at all on OSX.
13 Photos of Street Art on Quarry Walls
grpc is Google's flavor of RPC, with transport and semantics specified for you.

0MQ is an abstraction over raw sockets that lets you worry less about how different parts of a distributed application find and talk to each other.

There's no real direct comparison; you can implement request/reply patterns, like RPC, using 0MQ for the networking parts, but that's not all it's limited to.
Anchorman-Inspired Tips to Help You Blog Your Way to the Top
They have interlinear translations of lots of religious texts (and surely also audiobook recordings. But religious texts are not everyone's favourite reading material.
We've made a lot of improvements since then. Did you ever report the problems you had?
Working for More Than a Living
Oh yeah...I remember. In my school back in Soviet Union we had a computer lab with MSX machines. I remember my teacher could load programs, remotely reset and do a few other such things from their console.

Reading the documentation, it seems the network was explicitly created for teaching. The instructions refer to the case of a classroom of 15 students and a teacher. It seems it was possible to load programs, send mail, private messages, check network status.
Can you tell us what font you used?
Try putting your shoes on the table in Europe

Don't confuse the specific action for the intent behind it. Specific actions such as putting your shoes on the table have a high degree of cultural context surrounding them. The message they send is completely dependent on the culture of the person performing them.

All of that doesn't mean there aren't equivalent forms of aggressiveness in other cultures. Look at Hitler, for example.
> don't judge!

Definitely don't let anyone ever judge you for that. The vast majority of desktop/laptop users are on Windows, including a slightly-less-vast majority of developers.
A lot of concerns on this thread about making job posts easier for machines to read. I understand why, but as someone who used to write a lot of hiring thread posts: I'm a little skeeved out by machines reading them, because usually that implies that some other site on the Internet is going to host the ad without my permission.
@jk4930, e12e I agree with both of you for the reasons for much of its verbosity and justification for that. One thing you two might have missed, in Safe Syntax chapter of my link, is that many verbose commands are designed so a single-letter typo causes compile failure rather than causes runtime error. Brilliant move I'd have never thought of doing.

Yet, there are readable, robust languages without a lot of verbosity. The question is what is the right balance. I show here [1] an alternative syntax to one of code examples in e12e's link that I believe is more readable while conveying the same thing. Shows room for improvement even in Ada's fundamentals. Note that I know Ada has several different I/O's on purpose but basic choices can often be inferred through types. Specifying such a core feature shouldn't be necessary except in unusual cases.

[1] http://pastebin.com/6CvpCany
By "base urges", I mean that quite literally, and not with a negative connotation. I mean the most fundamental of human needs: food, sex, emotional expression. I mean that we should take delight in a great meal, but not to the point that we overdose on food to the point where it's harmful and no longer pleasurable. Same thing goes for sex and emotional expression.
Hand-written asm.js? That's impressive!

https://github.com/mrahtz/javascript-karplus-strong/blob/mas...
How Bitcoin's Technology Could Make Supply Chains More Transparent
Site apparently does not work in firefox...
Arcades in Shanghai
The logical next step, of course, is miners themselves flooding the network in order to drive up transaction fees.
Am I the only one who feels this discussion should be in person, not via an email? And most especially not via an email derived from some template?
Yes, and that font looks much better. I've used Lato on projects in the past and it was legible, but you have to stick to 400 weight and above (IIRC, that template you used was only loading 300 and 700).
He very specifically tests all his arrows for how much they flex, and if it's outside his tolerance, he doesn't use it (as explained in the video). In this way, he is able to normalize the deflection of the arrows he uses, and correctly predict the deflection offset.
Real time bidding in Erlang (2012)
The ranking of stories on the hiring threads should be randomized.

It's one thing for my comments to be bolted to the tops of threads about crypto, owing (in reality) mostly to name recognition.

It's another thing entirely for my job posts to be bolted to the tops of hiring threads, which they were, routinely. It felt like cheating, and it was pretty valuable to us. It's perverse.
The parallels aren't perfect. The analogy I see is that there's a large number of people working on a topic at a university. That topic is of likely commercial value. A company/two companies hire out most of the people who work on the topic. The research at the original university is severely curtailed.

(Quoting Stallman about that event in the 1980s, "Nobody had envisioned that the AI lab's hacker group would be wiped out, but it was".)

Another example might be when Netscape hired many of the original NCSA Mosaic developers. However, that was not a major research component at NCSA, so it's a much worse analogy.
> I do wish Nano would stand on its own merits rather than the cheap "why we're better than ZeroMQ" marketing.

IIRC, 0MQ launched with quite a lot of "why we're better than AMQP" marketing.