Sign Up Now!

Sign up and get personalized intelligence briefing delivered daily.

Sign Up

Articles related to "hackernews"

Coq is a Lean Typechecker

  • In order to preserve conversions, we also need to replace algebraic universes in terms (so for instance if we have def [email protected]{u} := Sort u, the translation of [email protected]{max(u,v)} must be convertible to Sort (max (u,v))).
  • The workaround is simple: we detect when Coq is stricter than Lean and in that case disable universe checking while declaring the inductive.
  • Since we use _indl for the Prop-motive recursor, any _inst suffix corresponds to the instantiation of the inductive we eliminate.
  • It’s interesting to note that on this specific example, changing the default conversion procedure to use Coq’s VM makes it succeeds in about 1 second (tested by importing with Unset Conversion Checking (see next section), then Require Import the resulting .vo and do Definition foo := Eval cbv [two_pos] in two_pos.).

save | comments | report | share on

Poverty hurts children in ways we're beginning to understand

  • Until recently, analysts, policymakers, and many of the rest of us thought the pronounced difficulties poor children face were the result of factors like single-parent families, bad prenatal health, poor nutrition, low levels of parental education, poor schools, crime-ridden neighborhoods, and frequent moving and evictions.This remains true.
  • These studies have isolated low income as the cause of damage to children in poverty by, for example, comparing cognitive and health outcomes for siblings who were raised at different times, when the family income had changed significantly.
  • The children whose families had significant increases in EITC income as compared to those who did not had higher school grades and results on achievement tests, attended college in greater proportion, and were generally healthier.

save | comments | report | share on

Stress can permanently damage the stem-cell population in the hair follic (cont)

  • As people age, the pool of MeSCs is gradually depleted — and so pigmented hair becomes ‘salt and pepper’ coloured, and then turns to grey and finally to white after a complete loss of pigment in all hair follicles4.
  • Melanocyte stem cells (MeSCs) are located in the bulge of the hair follicle, which is innervated by neurons of the sympathetic nervous system that release the neurotransmitter molecule noradrenaline.
  • b, Zhang et al.1 show that stressful stimuli activate the sympathetic nervous system, increasing noradrenaline release in hair follicles.
  • Zhang and colleagues showed that bulge regions are highly innervated by sympathetic neurons, and that ablating the SNS using a neurotoxin molecule, or blocking the release of noradrenaline from sympathetic neurons, prevented stress-induced greying.
  • For instance, is the mechanism underlying MeSC depletion in response to stress the same as that which causes greying during ageing?

save | comments | report | share on

Porting Quake to the iPod Classic

  • The web page explains it best: “Rockbox is a free replacement firmware for digital music players.” That’s right, we provide a complete replacement for the manufacturer’s software that came on your Sandisk Sansa, Apple iPod, or any of a wide array of other supported targets.
  • Before you chuckle, keep in mind that Rockbox’s targets are probably nothing close to what John Carmack had in mind when writing the game – Rockbox runs on devices with CPUs as slow as 11MHz and as little as 2 MB of RAM (of course, Quake wasn’t going to be running on those devices).
  • Thankfully, I already ported the SDL library to Rockbox (that’s for another article), so getting Quake to compile was rather straightforward, if not the most glorious work: copy over the source tree; make; fix errors; rinse; repeat.
  • Notice also that I’m reading and writing two stereo samples at a time (with a word-sized ldr and str) to save a couple more cycles.

save | comments | report | share on

Hacking on Clang is surprisingly easy

  • Most of this article will just assume that we want that new syntax, and discuss how to actually implement it in Clang.
  • This is really basic; if the token is a => instead of a {, parse an expression, then put that expression into a return statement, and then use that return statement as our lambda's body.
  • I think, considering the minimal cost of implementing this short lambda syntax, the modest improvements outweigh the added complexity.
  • My arrow syntax parses foo([] => 10, 20) as calling foo with one argument; a function with the body 10, 20 (where the comma operator means the 10 does nothing, and 20 is returned).
  • After all, there's precedence here; since clang parses foo(10, 20) without interpreting the , a top-level comma as a comma operator, we can use the same infrastructure for arrow lambdas.

save | comments | report | share on

American fuzzy lop – a security-oriented fuzzer

  • American fuzzy lop is a security-oriented fuzzer that employs a novel type of compile-time instrumentation and genetic algorithms to automatically discover clean, interesting test cases that trigger new internal states in the targeted binary.
  • Compared to other instrumented fuzzers, afl-fuzz is designed to be practical: it has modest performance overhead, uses a variety of highly effective fuzzing strategies and effort minimization tricks, requires essentially no configuration, and seamlessly handles complex, real-world use cases - say, common image parsing or file compression libraries.
  • It's an instrumentation-guided genetic fuzzer capable of synthesizing complex file semantics in a wide range of non-trivial targets, lessening the need for purpose-built, syntax-aware tools.
  • Thanks to its low-level compile-time or binary-only instrumentation and other optimizations, the tool offers near-native or better-than-native fuzzing speeds against common real-world targets.

save | comments | report | share on

Ring Doorbell App Packed with Third-Party Trackers

  • Four main analytics and marketing companies were discovered to be receiving information such as the names, private IP addresses, mobile network carriers, persistent identifiers, and sensor data on the devices of paying customers.
  • This information includes your mobile carrier, when Ring was installed and first launched, a number of unique identifiers, the app you installed from, and whether AppsFlyer tracking came preinstalled on the device.
  • Users’ full names, email addresses, device information such as OS version and model, whether bluetooth is enabled, and app settings such as the number of locations a user has Ring devices installed in, are all collected and reported to MixPanel.
  • As we’ve mentioned, this includes information about your device and carrier, unique identifiers that allow these companies to track you across apps, real-time interaction data with the app, and information about your home network.

save | comments | report | share on

Trapped in Iran: My Summer as a Guest of the Revolutionary Guards

  • My plane left in four hours and the airport was over an hour’s drive from Tehran.
  • That day, in a taxi back to my hotel, I had flicked through my emails and read that a number of travellers, including a French-Iranian academic from Sciences Po in Paris, had recently been detained in Iran on the pretext of violating state security.
  • The short man asked me about my family, my education, the countries I’d visited and the languages I spoke.
  • But instead of checking in, I was taken to an office at the back of the airport hall with a big glass window overlooking the departure lounge.
  • Three days before I left for Iran, British marines impounded one of Iran’s largest oil tankers as it passed through the Straits of Gibraltar, suspecting it of breaking European sanctions by carrying oil to Syria.

save | comments | report | share on

Thunderbird’s New Home

  • As of today, the Thunderbird project will be operating from a new wholly owned subsidiary of the Mozilla Foundation, MZLA Technologies Corporation.
  • There was a time when Thunderbird’s future was uncertain, and it was unclear what was going to happen to the project after it was decided Mozilla Corporation would no longer support it.
  • But in recent years donations from Thunderbird users have allowed the project to grow and flourish organically within the Mozilla Foundation.
  • Moving to MZLA Technologies Corporation will not only allow the Thunderbird project more flexibility and agility, but will also allow us to explore offering our users products and services that were not possible under the Mozilla Foundation.
  • Ultimately, this move to MZLA Technologies Corporation allows the Thunderbird project to hire more easily, act more swiftly, and pursue ideas that were previously not possible.

save | comments | report | share on

Picardy Third

  • For example, instead of a cadence ending on an A minor chord containing the notes A, C, and E, a Picardy third ending would consist of an A major chord containing the notes A, C♯, and E.
  • What makes this a Picardy cadence is shown by the red natural sign.
  • Instead of the expected B-flat (which would make the chord minor) the accidental gives us a B natural, making the chord major.
  • Notably, Bach's two books of The Well-Tempered Clavier, composed in 1722 and 1744 respectively, differ considerably in their application of Picardy thirds, which occur unambiguously at the end of all of the minor-mode preludes and all but one of the minor-mode fugues in the first book.[9] In the second book, however, fourteen of the minor-mode movements end on a minor chord, or occasionally, on a unison.[10] Manuscripts vary in many of these cases.

save | comments | report | share on