skysight-inc/HackerNews huggingface dataset:
It's much harder to fuck up a salad or a grain/rice/nut thing

I suggest that the ideas of salad and grain have become normalized in our culture, and have taken a sheen of healthfulness beyond their nutritional efficacy. Some greens with a little oil and vinegar: sure. But I see people buy pre-packaged salads from Trader Joe's full of fried noodles, corn, croutons and sweet creamy dressing quite commmonly, apparently under the illusion this is more healthy than meat. And any kind of refined starch (wheat, rice) plays a huge role in diabetes and other modern diseases.
It was down for me last night. The topic was flagged for asking, though.
Show HN: Antd – A set of high-quality React components
the lower levels of optimizations are supposed to be more straightforward translations of the high-level language code. you can imagine this might be useful if you are debugging assembly.
You're not missing anything. Facebook was once called "thefacebook".

https://en.wikipedia.org/wiki/Facebook#2003.E2.80.9306:_Thef...
I haven't read the visual novel for either one but i've enjoyed the anime immensely. So I would recommend you give Haruhi Suzumiya [0] a shot.

[0] https://en.wikipedia.org/wiki/Haruhi_Suzumiya
Don't be ridiculous. They would still have to recall every device, how else could they do it?

You can't send plain faulty batteries back.

And they still don't know why it happened, They tried 2 different batteries from different manufacturers and it was still exploding.
> It's been a decade or more since I've worked in C (and have never been a heavy C coder). Is "modern C" really a thing?

Well, I've done C off-and-on, sometimes heavily, since the days of VT-100s and DEC-Writers. Modern C has always been a thing since the 1970's. Its just that the definition of "modern" keeps changing :)

Yes, things are easier. It is possible to use the compiler features to write code that can be compile-time checked better than in the old days. A good IDE can use that to advantage to flag a lot of errors before you even compile. Yes, memory management can be easier. That said, most of the C I do now is for embedded microcontrollers with no OS underneath -- so memory safety and threads are DIY, and fork() is not a thing.

As someone once said to me about 30 years ago, "C doesn't get in your way." Also, with C, I can, if I wish, get extremely fine-grained control over memory layout. So currently I tend to use C on bare metal, and Python 3.5 whenever I can get away with it, with wee, tiny, C extensions to Python where necessary. C still has a place, but since the advent of Python my motto is: "Life is too short for C++".
Excited to see the worst parts of agile (aka the parts you can use to interrupt the hard work of planning and research) ruin projects outside of tech.
http://www.cs.princeton.edu/courses/archive/spr16/cos217/lec...
Real Responses from Mock Modules (Elixir)
Do it. Emulation has always fascinated me, so I wrote a (kind of crappy) NES emulator a few years ago. It demystifies things, there's a ton of documentation out there, and you'll get the joy of increasing numbers of games working as you make progress.
This interview with James Murphy helps me when I feel a similar way - https://www.youtube.com/watch?v=yYCz06bS380
>I'm wondering though, what is the advantage of using a whole new programming language rather than say, a Python library?

The idea is that if you can write the program, you can sample from the generative model. Most libraries like Stan don't really provide a "Turing-complete" probabilistic language.

Daniel Roy, IIRC, studies precisely why or when you want this kind of "completeness", as well as other topics in PPL theory.
NES instructions are broken down into a series of smaller, simpler steps by the CPU. Each of these steps executes in a fixed amount of time - a cycle. For example, the "load value from memory into register A" instruction might take two steps: 1) fetch memory on the bus 2) move the fetched value into the register.

Cycle-accurate means the emulator is emulating all of the little steps that make up an individual instruction. Instruction-accurate emulators ignore the smaller steps and treat instructions as indivisible.

Cycle-accurate NES emulators only really matter for emulating certain graphical and sound effects.
I saw that. Also have confirmed via a few down detectors. It is down.

edit: I guess, my follow up is-- is that important? It is just a map, but they lettered subdomains are up.
Easy to say for someone that doesn't rely on beta blockers. Take it from someone that does: 'beta blockers me' is the one I want to be forever.
For a second there, I thought someone implemented a push-to-deploy experience for Heroku (with some of the other Heroku niceties). I actually wrote a blog post about that this week: http://josediazgonzalez.com/2016/11/21/push-to-deploy-lambda...
Simplifying AJAX using just HTML attributes
How I Became a Web Developer in 6 Months
Awesome Serverless: a curated list of serverless resources
I built a platform to keep track of the lineage of things and their variants: http://www.theymadethat.com/things/fi4/vi/show_evolution

It still needs heavy work on usability and there are still some key features missing (like an actual family tree visualization), but progress is steady.

Feel free to leave some feedback
Tidy Text Mining with R
Leaving the gravity well of a planet depends on delta-v needed to leave that gravity well, not just on getting high enough in the atmosphere. We can easily send balloons to 'space' on earth, but they don't have the speed to achieve escape velocity. Delta-v for Titan is around 2.6km/s (compared to 11.2 on Earth, and 5.0 on Mars).

Atmosphere (especially a dense one that causes drag and heating) makes achieving escape velocity harder, as you need to actually do it 'high up' where the atmosphere is not as dense, say from something similar to Low-Earth Orbit.
I love how you used the "[audio]" tag in your title.
There is something about curating the ecosystem - Apple puts great effort towards it, maybe not perfect, but certain rules are enforced. Who owns that music "skill"? aren't there others that you could used and replace the not so random one? can't you down-vote it? and help the community curate it?
I'm fairly certain that no proof of any kind has been presented that there is plenty of work just lying around waiting to be done. Idle speculation certainly, but proof?
"Failure" including everything from fire and explosion to peaceful, boring death.

At a rough guess, the number of cells that fail excitingly are probably a fraction of those that fail overall.
What a great read. Thanks for sharing op.
Assembler directives absolutely break this.
And this new article, about self-driving trucks next week in Ohio has been posted to HN http://www.cbsnews.com/news/self-driving-trucks-will-hit-the...
While I like Petzold's "Code", it's really aimed at nontechnical audiences. Jon Stokes' "Inside the Machine" or Nisan and Schocken's textbook "The Elements of Computing Systems" are far better if you have a technical background.
Security audit walkthrough (aka React/Typescript/webpack template)
I didn't. It was done on my behalf by the moderators.
Are these statically linked?

; ls -hl `{which emacs-25.1}
-rwxr-xr-x 1 root root 17M Sep 18 04:32 /bin/emacs-25.1
; ls -hl `{which vim}
-rwxr-xr-x 1 root root 2.6M Nov 15 16:06 /bin/vim
;

17M is much more reasonable, but emacs has many supporting files as well. It's been installed on every system I've ever used that wasn't busybox-based, you can package it much smaller.
A largely unrelated question: do you know why most ML dialects have this weird scoping rule for record members, where they share the same scope as the record itself (and so another record cannot easily reuse the same field name)? It seems awfully inconvenient, and it feels like it could be trivially resolved by allowing reuse with an explicit disambiguation syntax. Or am I missing something?
Anything concrete I can do today as a (web) app developer?
I second the Stokes recommendation. I have very little hardware background, but quite a bit science and tech (engineering). He provided the right amount of background and introduction for me.
I've had no luck learning a language on its own. But I've had a lot of luck learning languages as part of something bigger. Like C# via. Unity, Swift via. 2D game dev in XCode.

Any suggestions on what I should apply C to as a way to learn it?
Sure, "systems programming" has a variety of meanings. But, there are a lot of areas where C was the obvious choice in the past but Go might be a suitable replacement today. Areas where concurrency and safety is maybe more important than raw performance: Databases (and there are many now written in Go, including alternative types of databases like time series, key/value, etc.), servers, etc. I tend to consider those systems level, even if they are not kernel level or running on bare metal.

Obviously, if one defines "systems programming" more strictly than that, and only mean code that directly interacts with hardware or has hard realtime requirements (which also probably means it must interact directly with hardware), then Go does not make sense in that category. But, C has given up a lot of territory over the past several decades. When I first started programming, C was the language you used for writing almost any real application...if you weren't using assembly. That has changed a lot in the intervening years, and almost no one would think to use C for GUI apps today, for example.
> especially against their individual self interest, as they themselves see it.

I'm curious how other people view this, which one of the following most accurately depicts reality:

a) There will always be opportunists who take advantage of self-interested opportunities despite there being a larger group whom will not be willing to grab these opportunities for conceivably moral/ethical reasons
a.Example) Plumpy'Nut - Economists and doctors work together to develop an affordable nutritional product to combat malnutrition. Academic research is invested in the endeavour. Company comes along and patents the product to seek profit at the cost of humans suffering malnutrition
b) All people will always grab whatever self-interest is available to them despite harm to their group, unless social structures are in place to align their incentives with those of the group.
c) Most people inherently are motivated to work together due to social nature of our species, only a minority wishes to be truly self-interested despite the welfare of their group.
I don't actually understand this. Can someone explain???
I dunno - certainly isn't good. All the root DNS servers appear to be up, though.
I think the answer is "yes". In other words, both.

I'm only speaking for myself here, when I say the following things... for me, I'm my own worst enemy when it comes to learning.

This happens first and foremost by getting distracted with social media (Facebook, Twitter, HN).

To quote Cal Newport (an author who speaks on this very thing) from his book Deep Work. "To learn hard things quickly you must focus intensely without distraction."*

So let's say you're not aiming to be quick about learning to code, necessarily. It still follows that not being distracted is key.

I think covering both books and video helps you get information from multiple inputs, and covers different learning styles. ANYTHING to get the concepts cemented in your head.

Most of all, do what you can to learn in an environment where you're not bombarded by many things designed to distract you.

I recommend this book. I'm in the process of reading it now, myself. I feel like he's talking directly to me, and that I could have been MUCH more effective in both learning and work, had I discovered this MUCH sooner.

Good luck. I'd be curious to hear how you're making progress on your learning journey.

*Newport, C. (Grand Central, 2016). Deep Work: Rules for Focused Success in a Distracted World [Kindle version, page 36].
Retrieved from Amazon.com
Show HN: DIY Position Tracking Using HTC Vive's Lighthouse
On the other hand, I find O0 is significantly worse than what even a novice human Asm programmer would do if asked to manually compile code, and O1 would be around the same as a novice human.
Not only that, but vendors would freeze those tools in time.

I worked for an employer who banned "freeware" tools so you were stuck with ancient, broken software on Solaris and other systems.

Post 9-11, we had to secure all of the things, including moving away from rsh and telnet. SSH was problematic due to the freeware thing -- no worry... we were able to buy "IBM SSH" for $900 per processor value unit. (IBM SSH was an out of date OpenSSH where someone did a find and replace substituting Open with IBM)
Hey, author here. I used the system described in the link for indoor stabilization of a drone, plus precise landing, to support an automatic battery swap station project (have a video there). Worked pretty well, so I decided to open-source it in hopes this would help fellow hackers.

Let me know if you have any questions!
Documentation should absolutely be technical, exhaustive, and.. I dunno what to call it, "written for people who know what they're doing."

Then have a load of general examples to cover the non-experts and initiates. There's no faster way to learn how to begin using a library than to look at some complete examples. That's the one thing that Immutable documentation misses. I wish there was a "Show example" link on almost every non-trivial method.
The traditional way of coding a console emulator was to figure out the time interval to the next interrupt in units of CPU cycles, emulate enough instructions to cross that threshold, then emulate the interrupt and hook other routines (redrawing the screen, filling sound output buffers, reading input, etc.) off of those events (see e.g. Marat Fayzullin's classic Emulator HOWTO [1]). This approach runs a lot of stuff just fine because it does synchronize to the most important events, but can cause problems. For example, "well-behaved" code generally only writes to graphics registers or sprite tables during blanking periods, as writing during active display is usually undefined behavior. Some code breaks the rules. Sometimes this is done intentionally to do cool effects with the hardware. Other times it's a side effect of a bug that wasn't caught because there are coincidentally no symptoms with the timing of the actual hardware. But then you plug it into an emulator with only roughly accurate timing and it blows up.

In reality, the clocks for the various components don't necessarily run at the same rate, or even at integer multiples of the CPU clock. You can have a situation where, for example, there are 3.5 clock cycles on the graphics hardware for every one CPU clock cycle. For a lot of the classic systems, this happened because a single higher master clock is divided down for each component.

A "cycle-accurate" emulator is one that operates as if the emulated state of all hardware were updated on every tick of the master clock. This wasn't generally done in the past because it was far too slow ~20 years ago when emulation of classic consoles and computers really took off.

More sophisticated hardware doesn't necessarily have any single master clock in this sense, so it doesn't make much sense to talk about a "cycle-accurate" emulator of a modern PC, for example.

[1] http://fms.komkon.org/EMUL8/HOWTO.html
I would agree that the ability of computers to identify novel problems and hazards (such as a falling mattress) will continue to be inferior to that of humans for a long time.

However identification of a novel problem and the anticipation that it will be a harzard in the near future is a trait that is only needed if your reaction time is too slow.

A self driving cars reaction time will be fast enough that it doesn't need to anticipate anything. It will identify the the velocity of objects (it does not need to know what the object is) in front of it within in milliseconds of it becoming a harzard and decide on the correct corrective manouever to avoid it within milliseconds again.
That was great. My spins always come up gimmel.
Isn't the high level Burroughs assembly a compertly insane almost high level language? I looked into implementing it into my assembler and just ran in the other direction when I saw how much unnecessary co plexity there was in the language.
> Combining the iPad and Macbook is equivalent to rolling the iPod into the iPhone.

It really isn't, Apple is right that the interaction models are too different.

The argument Microsoft make that you can have your cake and eat it, have a device that's an ideal tablet and an ideal laptop, has failed. The compromises are too great. Desktop software has interaction targets that are too small for a touch interface and the mouse interaction model doesn't map across to touch. But supporting both touch apps and desktop apps on the same device is a non starter. You can't require all your app developers to implement two different UIs every time.

The iPad Pro optional keyboard doesn't prove anything in this regard. It's just a dedicated text input device, not an alernate primary interaction mode.

Note that MS and Apple approach this from opposite directions. The MS solution is primarily a keyboard interface with touch as an ancillary mode. The iPad Pro is primarily a touch device with an ancillary keyboard mode.

But desktop software on the Surface is next to unusable in tablet mode. Meanwhile iPad software is perfectly usable with the keyboard attached. But it achieves this by decidedly not taking full advantage of the horizontal interface. There is no trackpad on the iPad Pro keyboard and no mouse support. For iPad software, they serve no purpose. That's why even with keyboard attached the iPad is decidedly not a converged device. The keyboard is not a primary interface, it's really just a text input peripheral with some convenience UI interaction options. There will never be iPad software that requires the physical keyboard.
Er... isn't it obvious? They could mail you the replacement battery?
Environmentalism failed, primarily, because it burdened cognitive units with an unrealistic appreciation and simulation of global disaster.

How can we trust influencers and leaders to not use "Climate Change" as a pretext to impose onerous regulations? There are a lot of people who don't understand the coordination problem and want a "solution" without thinking through the multidimensional consequences.

Not to mention that it was used as a masturbatory megaphone for shitheads to be holier than thou. Whatever campaign was organized failed because it failed to understand humans. Are you going to explain how and why all this data is correct and how the models are correct? Are you sure?

While this is happening, most people suffer from cognitive taxation of a retarded society and a retarded mediaverse. This is a society that prompts and elicits emotional response to an immense number of things, without the understanding or foresight we might expect.

Boil a frog slowly, etc. By the way, how can we reverse the irreversible? The planet has no "right" climatic system other than that which is convenient for humans.

IMO, the bigger danger is from a mediaverse which elicits the simulation of emotional scenes, and addiction to those scenes and emotions, and which impairs human cognition with wrong information and terrible moral burdens. How can you sensibly model a world when your neural networks are waiting to find out if Ape A is going to cheat on Ape B with Ape C?
So? Everyone knows that "Facebook.com" was called "TheFacebook.com" before Sean Parker asked Mark to "drop the 'the' from 'thefacebook.com'." Anyone who watched "The Social Network" knows this.
Yes, check out: https://ankiweb.net/shared/decks/
There would be much less confusion about this in the descendant posts if this said "One assembly mnemonic is translated to ..."
TLDR: each CPU instruction takes the exact amount of time it does on the real cpu.

You generally only care about cycles in real-time stuff. In simpler CPUs like those used for microwaves and such, each CPU instruction takes constant time. You can count the number of instructions in your assembler loop and know how long the loop will take. Mind you sometimes each instruction takes constant time but some can take more time than others. A cpu cycle is defined as 1/clockspeed . A fast instruction can take 1 cycle, others 3 or more.

Usually there's multiple cpu instructions for GOTO and loading from memory, a fast set for things "close by" and a slow set for far away code or data. Loops and conditional instructions even on simple cpus can take different amounts of time depending on the outcome, so it gets pretty complicated to time things sometimes.

So when doing really low level timing critical code, you can use a super accurate signal generator to drive your CPU clock, then count your instructions to time things. Common uses include generating audio from bit banging and similar.

In more complex CPUs a number of things made it difficult or impossible to figure out exactly how long an instruction will take. None of the software for these CPUs is written to depend on exact cycle timings. Because nothing depends on cycle accuracy you don't have to worry about the timings when emulating these kinds of CPU's.
For extra speed, a lot of emulators take shortcuts. So, you might have a "frame-accurate" emulator that doesn't match the state of a "real" Nintendo on a cycle-by-cycle basis, but does by the end of the frame. There are a limited number of things triggered in the hardware (interrupts, set register flags, etc), and sometimes, like when the CPU is in an idle loop, the emulator can just skip ahead by a bunch of instructions until the next thing that needs to be handled.

Or in the graphics processor, maybe you'll blit out whole sprites/tiles at once, instead of rendering them pixel-by-pixel, the way that the hardware does.

In a cycle-accurate emulator, you're going to run every opcode, process the graphics pixel-by-pixel, etc.
Not a comment on why, but when I first asked the elusive n00b question "vi or emacs?" to a thick-skin, the response was:

"Emacs is like a beautiful woman, but vi is like your hand; it will always be there."

Related: it's pronounced "VEE EYE" if you're a "JIFF" person. And anything but "six" otherwise.

I like "jiff" but prefer "vye", so whatever.

And as I understand it's called vi because of 'visual' mode of 'ed' line editor.
I want one seemless environment that seems the same no matter what device I am on.

Microsoft tried going in that direction with Windows 8, and it still appears to be somewhat of a trend, but all they did was dumb-down the desktop interface to mobile touchscreen levels of usefulness.
Meet the Bregman Divergences(2013)
> There are lots of companies producing iOS and Mac apps. It is going to be easier than porting programs from Windows to Mac.

Most of the application have server-side components too and developers work on both side. Currently that means you can setup a develop with a MBP and he is setup. With an Ax MBP, that's no longer the case.

Will they switch to another architecture keeping the same weaknesses as the current one ? What would be the point ? Apple is very opinionated with their stuff so can you be sure you will be able to run software like java ? That does not sound very likely.

So yes, there are plenty of companies that will port the software. However, developers themselves will need to have their needs fulfilled by another company.

That removes basically the last set of free professional endorsement for the platform and set it on equal footing with Google and Microsoft. I guess that's good for the competition.
I feel like issue number one is being given the naturalistic fallacy treatment. If animals can react to falling objects, so can computer models. There's nothing magical about instincts.