skysight-inc/HackerNews huggingface dataset:
> FFIs can be quite a nuisance

Understatement. Every time I've tried to use a FFI I ran into either a show-stopping bug or a show-stopping feature limitation. My first few open-source contributions were patches for these bugs, as it happens, but the whole process was a massive slog that ended in repeated failure. I now loathe them with a passion.

Still, this all happened before LLVM-languages came around. Maybe things are better now. I look forward to the next time I have to use a FFI with both hope and fear.

> Go in particular bypasses libc entirely by directly using the syscall interface

That's nifty, but a big chunk of the reason for having C compatibility is that many higher-level libraries are written in it. How easy is it to talk to, e.g., the window manager using raw syscalls?
There's obviously some difference in metabolism of caffeine from coffee and from tea.

I drink 3-4 huge 0.5L cups of green tea during the day and it has no energizing effect. I rarely drink coffee but when I do, it energizes me a lot.
Regarding your first point, there's some confusion between active exploits (i.e. botnet infections, etc) and passive intercepts. They are indeed cautious about using exploits and botnet platforms (I don't think that makes any of it right).

Absolutely NSA & GCHQ should be able to crack RSA-1024: it is not magical, and it is definitely well within their budget, but it still isn't particularly cheap timewise, so unless something is really super important, it's not going to join the crypt attack queue for supercomputing resources, and they would not be waving it around too widely.

By comparison, we know RC4 is toast. We have a rough sketch of the attack (though please correct me if any of this is wrong): passive; returns plaintext from ciphertext, with either no or a few bytes of known plaintext header at most; runs in software on blades and other places at mass-intercept scale in real-time, so we have an upper bound on its complexity (and it's very low compared to RSA-1024).

We don't know many technical details about the attack yet. RC4 is a peculiar beast, quite unlike semi-modern or modern ciphers like AES or Salsa20/ChaCha20: huge state; crappy diffusion; several known weaknesses, but no public break yet. I can't wait to find out more: this is one of the few areas NSA actually are ahead, as the public sphere definitely know RC4 is too wobbly to use, but still quite some way off decrypts of it. Whatever technique is used may well not be applicable to ciphers of a more modern design (but what about Spritz?).

If you've been using RC4, ever, this should give you pause. Think about what's ever gone out using it. Think about what someone could have recorded - likely did record. Do you need to be changing any passwords?

If you're still using or accepting RC4 anywhere for any reason (ahem, Mozilla, Google, Microsoft?), for heaven's sake, get your arses in gear. You're not beating the attackers, you're now only limiting the damage. Given the RFC and everything, and the internal discussions you've been having, I personally would be loathe to consider any further delay ethical before action. Please do remember Holmes' Law of Reverse-Engineering: what one can invent, another can discover.
I did mention this paper in another comment: http://rspa.royalsocietypublishing.org/content/469/2153/2012...
Real time audio only if you use a large enough buffer and a hardware component to clock the data out.

It's all about the latency guarantees and that means that you're going to have to inspect each and every path through the code for length. With the complexity of the linux kernel that's a pretty tough job and I suspect that anything lower than a few hundred milliseconds (guaranteed!) is out of the question.

I built a little controller using linux that required hard real time during a long (multiple minutes) of operation and the way I hacked it was to simply disable all interrupts and recover the various drivers as good as possible once that phase was over. It worked well but was mostly deaf to input during that time except for polling one 'stop' switch which would cause the machinery to coast down to a halt after which interrupts would be enabled.

Good enough for tinkering but I certainly would not bet anything in production on that strategy.

Real time is hard, soft real time is hard enough (without guarantees but with a best effort and a very large fraction of the deadlines satisfied), hard real time (no misses at all, guaranteed) is hard for a kernel of any complexity.
I fail to see how screening of healthy, relatively young, people would be "data driven".
There is a linguist (Daniel Everett) who thinks language can make you less prompt to accept a religion https://www.youtube.com/watch?v=BNajfMZGnuo
Why does Stanford need to "gain the respect of the East and the North"?
Πόσο Επηρεάζει Ο Κώδικας Του Site Σας Στο SEO; – SEO – WEB DESIGN
What were the telltale signs?
Location: Canada, NL

Remote: Yes

Willing to relocate: Yes

Technologies: Python, Flask MVC, Javascript, Bootstrap, Html, CSS, MySQL, PostgreSQL, Git, PHP, WordPress, Redis, Cassandra, MongoDB.

Resume: please email for resume.

LinkedIn: https://ca.linkedin.com/pub/colin-morgan/34/a44/374

email: cmorgan8506 at gmail.com
> the EmDrive creates propulsion from Unruh radiation

This would just be a standard photon rocket--the cavity would eject photons out one end and move in the other direction. AFAIK all the EmDrive experimenters are claiming that no radiation is coming out of the cavity.
Heartbleed is a symptom of bad programming, not a bad language. C is "less secure" because it allows the programmer to do possibly-unsafe things at their own discretion. The alternative is to flat-out ban those things. Which is appropriate for some use cases (the kind where performance doesn't matter). Inappropriate for others (the kind where performance does matter).
> If you haven't had a health check, get it done today.

Or you might want to postpone your visit to the doctor until you have an actual reason to go there:

http://www.nytimes.com/2015/01/09/opinion/skip-your-annual-p...

http://kaiserhealthnews.org/news/ritual-not-science-keeps-th...
Ask HN: Ideas for Rust projects?
Rust seems pretty neat in many ways, and I've been going through the Rust Book on the Rust Documentation Website, but I can't think of any projects to do with Rust (especially ones that are novel, and that others could really benefit from). Does anyone have any ideas for Rust projects to complete?
On a related note: learning another writing system can also be enlightening. Last year I learned how to read Cyrillic and it was a valuable experience. Now I'll see tidbits on Russian-language forums that I can kinda make sense of, or jokes about people using faux Cyrillic[0] in band names, t-shirts, etc. :P

More practically, it makes you think about coverage of non-Latin characters in fonts! What does a Cyrillic "ya" (я) look like in your font of choice, for example? Also, I'm curious how most peoples' browsers display it here on HN! BTW, Fira Sans[1] and Noto Sans[2] are two open-source fonts with Cyrillic coverage.

[0] https://en.wikipedia.org/wiki/Faux_Cyrillic
[1] http://www.carrois.com/fira-4-1/
[2] https://www.google.com/fonts/specimen/Noto+Sans
I honestly can decide whether this is serious, satire, or conspiracy theory, but it's awesome nonetheless. My first project working on the 787 was converting an Ada codebase to C.
> you're making waves

as long as nobody makes waves, we'll have a peaceful experience until the shitstorm of the reality of unmaintainable code hits.

this is one reason why companies need to die, and not be bailed out
Different type of tracing. This is basically tracing line items from a document to another set of line items on lower level documents, potentially all the way down to specific lines of source code.
Then the linked solution doesn't work, since it removes not visible content from the DOM.
This is the first time I hear about this sitcom ever. Should I be worried?
In game theory and probability, it is almost always considered better to have data about something so that you can act appropriately. (I admit there are some theoretical exceptions, but I don't think they apply here). Even if you are healthy and young, it's better to hold your own data than not.

Sometimes, thanks to technology, we don't know who has access to our data and whether this is going to be used against us: for example, will we have an impossibly high insurance premium attached to us for life - with the data in our hands, we lose the right to use insurance to even out that risk.

Sometimes, in medicine, there are ethical considerations, that the eventual treatment for a screened condition presents its own risk that people may not wish to decide and the healthcare system might not be well-equipped to manage.

Nonetheless, I still personally prefer to have the data than not. I want to decide my own healthcare needs based on my own knowledge and understanding of my own risks. This is "data driven".
> VC-funded startups are mostly a mechanism for taking parental wealth and influence (a socially unacceptable thing for the child to live off of) and laundering it into shares of newly-created businesses, so that the sponsee looks like a genuine tech entrepreneur rather than the beneficiary of a managed outcome (acqui-hire!) put together by his parents' friends.

By "mostly," to what greater-than-50% degree to which they are this sort of mechanism do you have in mind? Are founders of greater than 50% of startups actually children of people that work at VC firms?

(In actual reality, they aren't.)

> There is a lot of technology work, even right now, that improves peoples' lives in immensely meaningful ways. Perhaps the people doing such work are a "silent majority" of technology. The problem is that you never hear about it on Hacker News or TechCrunch, and the contemporary crowd of Valley king-makers runs away from it.

This is completely false because we hear about technology improving people's lives all the time here, and usually when I see anything about snapchat or Valley kings it's because you decided to talk about it.

> If something is worth doing, it's usually hard to do and even harder to control.

Well uh, that's a nice premise, but it's actually often easy to do things that are worth doing. Especially when there's a new untapped market.

> If several of the constraints are socioeconomic arrangements (e.g. Joffrey must get at least $10M and a VP-level position in the inevitable acqui-hire; and we must let Squabbling Hen Capital in on this deal, with a board seat, because we owe them a favor) then it becomes a lot harder to actually do anything useful. Instead, it becomes "tech is hard, let's go Snapchat".

Which VP-level positions at Snapchat are held by the sort of people you refer to?
They'll refund but that's not much consolation though.

You show up at the place say 6pm, it turns out to be a lie, what do you do? Book a hotel at $$$ a night because it's last minute and it's the only thing available?

I showed up to one place in Santa Monica, it was a cold day in January. I had just driven from Vegas, showed up, 6:30pm. It's raining hard. Check out the place. Windows are broken. Not shattered just they have these blind style windows that rotate and they've rusted so they don't close. There's a 1 inch gap between slats every 5 inches. Both in the kitchen and in the bedroom. Being about 44f outside I wasn't willing to freeze in that apt.

So, I ended up at the LAX Hilton for a week while I tried to find something else.
The difference is obvious, scrolling is much less laggy. However, it does completely break the smooth scrolling on OS X (Safari).
see Jim Radigan's build talk on compiling Objective-C for windows for more info on this :)
> Why are you so set on assuming that it is violating conservation of momentum?

Because the EmDrive experimenters themselves are saying that thrust is being produced without any exhaust--i.e., momentum is being added to the cavity in one direction, without any compensating momentum being ejected in the other direction. That violates conservation of momentum.

> No one of import is claiming this.

Not directly, perhaps, but that is the clear implication of the results they are claiming. No exhaust, no momentum conservation. If they were saying "oh, we did see some radiation being ejected in the other direction", that would make a huge difference. But they're not.

> All who move beyond appeals to authority when constructing arguments must be decried as beyond the fringe!

It's you who are appealing to authority: you are saying there can't be violation of conservation of momentum, simply because the experimenters said there wasn't any. That's not how science works. You're supposed to question what they're saying; you're supposed to look at logical implications to see if what they're saying is all consistent. You're not supposed to just take them at their word.
> teach him

it's more important that he learns how to find better ways to do things himself. I would ask him if he thinks it's
actually check-in worthy. I would continue asking until his doubt about it got the better of him, so that he views his code with a more skeptical eye. Then I would ask him to come up with 3-5 succinct ways to improve this. If they were good, I'd have him implement them.

You don't do the work for them, and you don't show them. The point of the college degree is that you've learned how to teach yourself without handholding. You need to be able to craft creativity yourself from blocks of wood.

If the 3-5 improvement ideas were bad, ask him to try again. If he still screws up [which is unlikely IMO] (and is really trying to come up with good stuff), give him one idea, ask him what he thinks of it, why, etc; have him implement it, give him another, etc.
Different type of tracing. I'm referring to textual tags which are used to associate a design requirement with a piece of code, the idea being that you can show a requirement is fulfilled by showing that it traces to tests and code, and that the existence of any piece of code needs to be justified by tracing back to the requirements.

http://en.wikipedia.org/wiki/Requirements_traceability
How can you optimize for better compression ratios with gzip?
I can see the point on being a bottleneck.

I'd still argue that's probably a good bottleneck to have though, and certainly better than letting the code quality slip. It depends on the timelines and priorities, but I'd rather work somewhere that invests time up front to save time later.

I strongly disagree that the co-workers would not learn from said refactoring. That's very pessimistic on either the coworkers reading comprehension, or pessimistic on their attitude or willingness to engage with the changes without being forced to do so? I don't know I find it amazing when someone offers a refactor suggestion, whatever amount of "doing it" they do for me, I find I learn a lot from learning what the changes actually are. If they do it themselves I get a really good feel for their style and what I can learn from it.

edit: And on the flip side, I find it's sometimes faster to just make a small refactor change than to explain it in person --- but this depends on the physical locality of teammates and schedule conflicts. In other cases it's easier to swivel the chair around and poke them on the shoulder and explain the refactor than to make it. Which is easier depends on priorities, chain of command, schedules and all that.
IFTTT support for Amazon Echo
I admit I don't know much about type theory. I assume "program" is a term of art? Also, does this allow for functions that have literally undescribable rules, such as a function arising from the application of the axiom of choice? Wanting to allow such undescribable functions is the reason for the set theoretic definition. I assume "rule" isn't a term of art?

What's the book to read for this stuff?
They can deem things unlikely? That seems broken in general. I would deem it unlikely they'd ship with any errors they didn't deem unlikely; those are precisely the failure modes we should most look for...
This seems to me to be a problem with the existing justice system.

Businesses which are caught doing something dodgy pay - at most - the amount they would have had to pay to obey the law. And the chance of being caught is not exactly high.
> I don't know that it's ever been put so explicitly, but I have seen startups and ex-startups give out very highly compensated positions (over $300k) to people who were spouses, proteges, and children of people on purchasing boards at other companies.

But I thought it was VC's that were funneling money and prestige to their children.
How does that help you test for early stage cancer markers? That tests usually isn't in the batch of regular (and it's quite expensive), but it does make a difference between death an survival.
Because it's quicker and no fees? And I get paid in it too.
From Amazon's announcement email: "Many of you have asked to use Amazon Echo and IFTTT together and, today, we're taking the first step forward — you can now create IFTTT recipes using Echo's Shopping and To-do Lists".
So your problem is really with the distros, not with Poettering et al. But as the old saying goes, if you think all the distros are assholes, maybe the problem isn't with the distros.
Matheus28 is the dev so I trust him.
This must be one of the most misunderstood issues with the GPL. The GPL is not that contagious.

If your project contains code from a GPL-licensed project, it doesn't magically make your project GPL-licensed. Instead, it means you are using code from someone else (let's call him Richard) without his permission. Richard could sue you for copyright infringement. Or you could ask Richard for permission to use that code. But since Richard already gave blanket permission to everyone to use that code if they release their project under the GPL, that's the easy way out. But there is no way for Richard to magically open and license the code you wrote (and you own).

Now, in your example you are talking about one line, that you pretty clearly rewrote and took out of your project. You will not be distributing your version with GPL code in it, so there is no infringement at that point. Only a very picky lawyer would be concerned :-)
SEEKING Work - Remote/NL, Canada

I'm a full-stack developer based out of Canada. I have over five years experience and am comfortable with the following technologies:

Python, Flask MVC, Javascript, Bootstrap, Html, CSS, MySQL, PostgreSQL, Git, PHP, WordPress, Redis, Cassandra, MongoDB.

Hourly Rate: $50 USD.

Linked In: https://ca.linkedin.com/pub/colin-morgan/34/a44/374

Github: http://github.com/eastisland-tech

Email: cmorgan8506 at gmail.com
> there's plenty to suggest that we've got the nature of reality fundamentally wrong

How does dark energy show that? It's either a cosmological constant, or a quantum field with a particular equation of state. Both possibilities are covered by our current theories. Also, both possibilities obey local energy and momentum conservation, so even when we discover exactly what kind of stuff dark energy is and why its density is what it is, those conservation laws won't change.

We certainly don't know everything, but we do know some things.
Thanks for submitting this.

Do you usually start projects to learn new technologies? I've heard that's a good technique.

How did you decide on the latest front-end libraries/technologies like Bootstrap, jQueryUI, and Typeahead? Did you discover some of the libraries after trying out writing your own code? I do that sometimes. :)

I'd like to hear about your experience after going from closed to open source. I've heard there can be additional complexity of managing the project, because you need to provide documentation, and manage work with the community of dev volunteers.
I'm guessing that the cases where the Rust program is hard to write it's because it's actually difficult to reason why the program is correct and the C code is likely to be buggy anyways? Or was it a problem with Rust?
> trophy for trying

trying should always be rewarded. It's the only way you get better. Raising children, chapter 7 [nods]. You're confusing 'trophy for trying' with 'trophy for half-assed effort'. Like with any child, you need to know the person well enough to know how hard they're trying. If you go by the value of the work they produce, you're a cold heartless father.
Reminds me of dictzip.

http://sourceforge.net/projects/dict/files/latest/download
The ignorance in this article is way too high.
The (female) workers bees are more related to their sisters than to their own daughter and sons ( http://en.wikipedia.org/wiki/Haplodiploidy#Relatedness_ratio... ). So it's better to kidnap^H^H^H help her mother than to have their own children. The ratio of drones vs new queens is difficult to measure, because a new queen means that the colony splits, so the theoretical 3/4 is difficult to be corroborated.

So, in spite of the hormonal details, it's more like the workers enslaved the queen than that the queen enslaved the workers.

[The hormone is probably there only to signal that there is a queen, and it's not necessary to pass to the emergency mode and try to make a new queen.]
> Given that ElasticSearch is "eventually consistent", how do you know when it has caught up?

That's nice, in practice, though, ElasticSearch, doesn't behave like an eventually consistent system--it behaves like a flawed fully consistent system. It doesn't self-repair enough to be eventually consistent. If you get out of sync by more than a few seconds, you're going to have to repair the system manually in some fashion. It never "catches up."

Additionally, also in practice, most of the data loss (and real eventual consistency behavior) you'll see in an ElasticSearch+primary-data-store system isn't coming from within ES--it's coming from queues people typically use in the sync process. So there's a degree where you're going to need to handle this on an application-specific basis.

> How do you know what data is missing once the count is wrong?

In practice, people just ignore it or do a full re-index. Theoretically, you should be building merkle trees.

> Once a store grows to a certain state, you do not want to trigger full syncs, ever.

This is not really true. You need to maintain enough capacity for full syncs, because someone will need to do schema changes and/or change linguistic features in the search index.
Sorry, I just realized you didn't start the project to learn the technologies, it was your job.
[I agree with the idea in your comment, but I think it can be written in a more polite language.]
You are already going about it the right way, by doing two things: 1. you are specific 2. you are investing time to offer a better way.

A good way to communicate is to keep it informal and provide direct feedback, w/o involving anyone else, so you avoid making the developer feel inferior or feel that there is a political element involved. Ideally, you would share screen and code the suggested improvements together, and it will not only help you accomplish what you set out to do, it can also build a bond/trust/respect between you and your new colleague.

During the conversation, I would try to understand the following:
Is there any legacy, currently working code, that has been implemented in this monolithic approach? Maybe the developer realized it was ok, for the initial iteration.
Is the developer under a tight deadline? To meet the deadline she prefers solving problems in this way, for the initial iteration.
In both situations above, the developer is aware of a better way, and your help to get it there in time will be appreciated. If not, some coaching is required (hopefully you have coding standards to refer to):
Is she interested to learn a better way?
What are her reservations and counter arguments?

For smaller teams, daily team code reviews are very helpful.

Have fun!
Useful list - I just added Cobra II to my Audible Wish List. My 6th grade teacher read Captains Courageous to us - it made a lasting impression.