skysight-inc/HackerNews huggingface dataset:
You're right, these images are rendered with path tracing (I do also have a Whitted integrator). However tray_rust is a ray tracer in the general sense where it refers to a family of methods that all involve tracing rays to render an image, eg. Whitted recursive ray tracing, Path tracing, Bidirectional path tracing, Photon mapping, Metropolis light transport, Vertex Connection and Merging, etc. (since I hope to implement some of these methods as well!).
The headline exists so readers can judge the article before reading it. Complaining about a clickbait headline is fair.
>But they didn't really know what to do with this guy that showed up offering to teach about computers, but wasn't paying anything.

Maybe it's just me, but I wouldn't know what to do with some guy/girl who flew in off the street (while on vacation I presume) and said they wanted to teach computers, either.

Should they rearrange everything to make room for you, or be skeptical? I'd probably do the latter.
Thing is containers themselves are not immutable. One implementation (Docker) enforces this but it's not so when using raw namespaces/cgroups, systemd-nspawn or lxc/lxd etc.

IMO it's not tools that are the problem but a lack of deep understanding. A lot of people practicing "DevOps" lack the raw knowledge.
I've used Opera since 2004 and the current Chromium based Opera is barely even a shadow of what it once was. It took them well over a year just to implement bookmark functionality, because they didn't feel it needed it and then realized it did.

Even the newer Vivaldi browser also based on Chromium (started by the former CEO of Opera) has more classic features (tab stacking, partial key rebinding, sidebar) than the official Opera and started far later after the Opera Chromium reboot.

Is the team incredible? Perhaps, but not in the way a long time Opera user would desire. I'd be happy if it had even half of the features of Opera 12, but as it is now, it's around 10-15%. Thankfully, Opera 12 (Presto) with some tweaking works pretty well still after being discontinued around 2 years ago.
GopherCon 2015 Roundup
Toronto Police Service app allows access to valuable information
The author, Roff Smith, seems to be a talented guy. Not only is this good to read, the photographs, by Smith, are excellent.
I don't have the time to read the whole thing right now and it's a first time I'm seeing Chapel, so I may be wrong.

After skimming the page it looks rather similar to Nim. Chapel looks like it wants to be a systems programming language with special focus on concurrency and parallel computation. It's statically typed with local type inference. It supports product types with tuples, but I don't see sum types or (G)ADTs in general. It has numeric types with explicit range, like Ada or Nim (that is without dependent types). It supports generics, with a very lightweight syntax (ie. lack of any syntax). Supports in/out/inout parameters like C#. Supports operator overloading. Has iterators. Supports class-based OO with destructors (so probably is not GCed?). Has coroutines as a main concurrency construct. It has "sync" keyword, but I don't have the time to look at it in depth to know how it works.

It looks like it's somewhere between C and Java, like Nim, Rust and a couple other languages. From a quick glance I can't tell if the language is garbage collected and I don't really know how the concurrency and parallelism really work in the language. Still, it looks rather nice and I suspect you'd use it any time you otherwise use C with pthreads.
Thanks for your feedback. I see your point, but at this point I am kind of attached to the name - as a researcher many of my scripts are related to some kind of experiment. This also explains the NumPy and matplotlib dependencies. As for structlog, if I understand the documentation correctly, you could easily add structlog to your project on top of pyexperiment, right?
Ask HN: Why can't we write down something in our head?
I always scribble down a short note or sentence so I don't forget to think of it tomorrow. Why is this function not a built in in humans?
Cherry picking some articles is a waste of both our times.

Volunteering isn't all bad, but just like almost anything in the world, there is some bad and obviously where there's money there's going to be corruption.

This article has absolutely no facts or even anecdotes to back it up, it's just a big whine designed to appeal to self-righteous suckers who can only see the bad in the world.
Ask HN: When do startups stop hacking and start engineering? After Series A?
Honestly, this sales brochure of a "paper" tastes even worse than the BBC fluff piece. This is below the standard of paper I would have expected Black Hat to accept.

Good CSPRNG design is not a "dark art", and entropy is not "consumed" when a good CSPRNG is used. Any good CSPRNG uses a good PRF - any good block cipher in CTR mode, a hash, or a HMAC, perhaps - to stretch one good, solid, 256-bit entropy seed into as much cryptographically-secure random data as you'll ever need over the lifetime of your cryptosystem, and ratchets forward through the PRF after each call so the state cannot later be reversed (without breaking the PRF, but you're using a good one, so you'll be fine).

You need quality entropy to seed a CSPRNG - not quantity. Yes, it is, as we all know, very important you don't try to use a CSPRNG before its initial seed has collected enough good entropy - which is, yes, a particular problem in embedded systems or headless servers - but after that, the entropy in your CSPRNG seed isn't something that magically disappears, as you'll see from the design of Linux's newest random-number API, getrandom, patterned after the OpenBSD folks' ideas.

Reseeding a CSPRNG's state with more entropy is not a benefit, but in fact a potential risk every time you do it: it can result in entropy injection attacks if an attacker can observe the state, and control some of the entropy. That, in turn, could break your whole cryptosystem, especially if you're using fragile primitives like DSA or ECDSA. One source: http://blog.cr.yp.to/20140205-entropy.html

Detuned ring oscillator TRNGs [p2] can be troublesome to protect from RF side-channel attacks, or even RF injection attacks in pathological cases. Carefully used, they are fine, but best used when combined with shot-noise-based TRNGs. You can find those in surprising places: even the Raspberry Pi's BCM2835/BCM2836 has a perfectly serviceable one, available from /dev/hwrng after bcm2708-rng/bcm2835-rng has been loaded, and which rngd can use with no trouble.

Forgive me if, therefore, I perhaps wouldn't like to buy a "quantum random number generator" from Allied Minds Federal Innovations, Inc, who are behind this "paper", or to replace the OpenSSL RNG with theirs. That all feels far too much like a black box, and Dual_EC_DRBG is still fresh in our memory. I'd rather use the one Alyssa Rowan described to me on a napkin, thanks, or LibreSSL's/OpenBSD's arc4random with ChaCha20, or CTR_DRBG, or HMAC_DRBG.
Rotatouille – feed a mouse in the constantly rotating maze
>A high-ranking U.S. official thinks that suicide tactics might be effective against the Trisolarans. He visits the leader of al-Qaeda to propose an alliance, but the terrorist boss tells him that his organization has renounced violence and is lost in ennui.

al-Qaeda™, Suicide Consultants
Author pointed at site that claimed four things:

* 6 milion dead Jews is made up number media picked up from Torah and nowhere true.
* War occured because Jew-controlled countries didn't like anti-jew Hitler's administration
* Allies didn't oppose USSR's participation despite their totalitarian goverment because they were Jew-ran too.
* Hitler's foreign policy was completly reasonable and countries like Poland opposed it only because they were Jew-ran countries looking for casus belli against "Jew-free" nation.
Google respects robots.txt.
There's also MaidSafe-Routing / Safecoin, which is production-ready.

https://www.youtube.com/watch?v=YFV908uoLPY

https://github.com/maidsafe-archive/MaidSafe-Routing/wiki
Oh my god if this would power the retro ThinkPad: classic keyboard, ECC memory, hi-res screen, Thunderbolt, powerful CPU... All the good stuff :)
They do.

There is a huge divide between a $10 and a $1000 watch. One is a simple Quartz battery-run watch. But when you start talking about mechanical and automatic watches, your looking at incredibly intricate micro-scale engineering. (You may be able to say the same thing about intricately weaved hats, but I wouldn't know.)

You can get a decent mechanical watch below $500, but you're almost definitely looking at a Seiko.

I wouldn't bet on a watch as an investment, but if you spend $3,500 on a good quality Omega Speedmaster or $35,000 on a (low end) Philippe Patek, it's a solid bet it will retain its value over time. I wouldn't bet on it increasing in value better than a Vanguard index fund, but...

Source: I love researching watches and clocks (especially centuries-old clocks) and find mechanical movements to be engineering works of art. I don't personally own that $3500 Omega Speedmaster... Yet...
Not all conservatives are red-pillers. But almost all red-pillers are conservatives.
> REST isn't RPC-like

Can you elaborate on the differences?

It is my understanding that REST is a specific, structured kind of RPC (equivalent, anyway) -- not a general RPC.
Exposq: mini Go app for dispatching osquery to multiple machines
It would be nice if the protocol allowed extension points in the SUBSCRIBE action. Right now it's not possible to use dynamic authorization delegation using signatures.
7 Habits of Exceptional Presenters
It is unmaintained and broken.
10km/h is a regular jogging pace. For an amateur, not a professional runner.

Anyone can die anywhere, you can die of an infection because of a papercut, but come on. 10km/h is not a dangerous speed.
your looking at incredibly intricate micro-scale engineering

Making an LCD is no small engineering feat - it just happens to benefit from enormous economies of scale.
What's your definition of 'senior'? My friend in Toronto gets $120K CDN being an average dev (~5yrs of experience, no reports).
I have a VM running Debian Jessie (Linux 3.16) that has very low entropy available (cat /proc/sys/kernel/random/entropy_avail returns <200 most of the time) even though the Intel RDRAND instruction is available. Shouldn't it be using that to fill up the entropy pool, or am I misunderstanding how the entropy_avail value works?
> You need quality entropy to seed a CSPRNG - not quantity.

For the most part I think you're spot on, but I don't follow here. Entropy is measured in bits and bits are bits are bits. When we ask /dev/random for 256-bits it should return a 256-bit sequence, possibly after blocking. If that sequence exhibits less than 256-bits of entropy, it just means that the pool had a bad entropy estimate. Is there some nuance I'm missing?
And Chrome couldn't detect the encoding - I had to set it manually to Windows-1252.
I have a weird feeling watch collecting/repairing will increase in popularity in the near future? Along with an increase in prices? These brands I mention below, except Orvis, can be bought on eBay for under a hundred dollars. Most of the time they just need a service, or a new stem?

Names like Benrus, Elgin, Orvis, Oris, Hellbros, and a buch of ETA movements, with obscure names, are great watches, and one day just might become more collectable than they are presently?

These mechanical watches were worn by the working man. They all had great movements. I repair watches, and I can't tell the difference in quality between Rolex movements and most Benrus Movements on the older models.

Once you have a basic set of tools, and a little bit of knowledge on these old watches; you really start to see the beauty/value of old mechanical watches. With me--it started out as a hobby, to maybe a career? In the near future I am coding two websites devoted to watchmaking. One will be just about watch repair, and watch information. The other will be my personal business website where I will sell and service watches. I wish I got interested in Horology when I was younger? The bug didn't hit me until 10 years ago, when I got my first IWC cal. 89 watch. The guy who sold it thought it was a Timex. He sold it to me for $5.00. Well I got it cleaned, and oiled, and has been on my wrist ever since. It's so old the letters on the dial are completely faded, so it doesn't even look like an expensive watch. I wear it in the worst parts of town. I am the only one who knows it's a extremely well designed/machined piece of watchmaking history.

So yes, I think vintage watches will go up in value. I hope not for awhile--because right now I can still get good deals on EBay. I just got a Omega Seamaster for a little over $100 dollars. When I get it running it will make a great watch for someone? A watch that will never be thrown away? A watch that can be handed down to a loved one?
If you stretch it into a set of numbers with 256 bits or less, you are good. If you expect to generate bigger random numbers from it, you have a problem.

But the pool does not stay with only 256 bits for long (if at all). It's always accumulating more.

Anyway, if the pool ever get to zero, it means that an attacker with infinite resources that can see the entire sequence generated by the CSPRNG could predict the next numbers it'll generate. On practice none of those conditions are met.
It is built in. But since we learned writing and reading, we're underutilizing it, so it's decaying.

Plato, putting words in the mouth of Socrates in Phaedrus wrote:

...for this discovery of yours [writing] will create forgetfulness in the learners’ souls, because they will not use their memories; they will trust to the external written characters and not remember of themselves.

http://en.wikisource.org/wiki/Phaedrus#On_the_decline_of_Gre....

Chess players can play without the chess board.

Some writers prisonners wrote books in their head.

Similarly, if you were separated from your computer you could still write programs, in your head. You would have to be very carefull, but you could reach a stage where the program is debugged well enough that you could just type it out (once you've left out the the prison), and have it run on the first time.

Just avoid TV and its brainwashing (cf. Fahrenheit 451, http://www.laweekly.com/news/ray-bradbury-fahrenheit-451-mis... ).
Highr.io
I'm sure you say you do.
Or, maybe this planet (Earth) is another planet's hell.
It's relevant and useful to know that this is now a matter of mainstream concern.
> every civilization must regard every other civilization as an existential threat

I've wondered about this! If "the singularity" is something that really can happen, then perhaps it IS wise to fear any civilization that has developed basic computing, as it could quickly spawn an incredibly advanced, immortal being in a very short amount of time.

And if it can happen, then I'm sure at some point in history, an AI did take hold somewhere. Realizing how dangerous this whole singularity thing can be, it sought out the destruction of any biological life that could someday create their own singularity.

I've wondered if the Fermi paradox is simply that a few AI's developed long ago, and decided not to take any chances.
No there isn't a shortage of tech workers per se, just a shortage of tech workers that want to work for them.

Just like when people complain about a lack of STEM workers, what they mean is a lack of STEM workers willing to work for their shitty wages...

In either case, as the offered wages go up, workers magically come out of the woodwork.
Ray tracing is just colliding a line with some other goemetric primitive. It doesn't imply Whitted ray tracing at all. Basically all offline rendering now in toy renderers to high end production renderers is some sort of physically based ray tracing, so it is the norm rather than the exception.
But not into a register right? Given my (flawed) assumption that there would be two reads, whilst the first might load the second into the cache, it wouldn't load into a register without another instruction telling it to. This costs a lot less than the cache fetch but it still has a cost.
The Story of the U.S. And Cuba’s Middleman
NASA to Share the Universe with Tumblr Users
Flash doesn't support shared edges or multiway joins which sound pretty crucial for non-trivial animation work. VPaint is based on Vector Graphic Complexes (http://www.dalboris.com/research/vgc/) which supports both.
25 Leadership Quotes Even the “Dumbest” Leaders Can Learn From
A guy literally “#tweeting” on the cover of an Amiga World from 1988
> Probably. But why not spend that effort on the language and libraries?

Because the best Erlang has to offer isn't really in the Language. Some in the Libraries. Most in its VM. I would pick Haskell or ATS over Erlang - unless I need those few unique features that Erlang/OTP really got right.

> That makes as much sense as saying your language shouldn't run on the kitchen-sink Linux so as not to homogenized the OS field.

No, your analogy is moving the goal post. No one ever said someone couldn't implement Erlang the language for the JVM. As many people have pointed out to you, it isn't the language that makes Erlang. It's BEAM + OTP. We're not talking about moving the language around, we're talking about gutting the VM, my statement still holds: Exalting the JVM to be the one-true-VM for Erlang (therefore also implying any language you do not understand well that needs a VM) is a very bad idea and pretty silly.

Diversity is good. BEAM's VM is good. The JVM is good. Even the CLR is pretty amazing (F# beats the pants off of Scala). There's no reason at all to think that Erlang would be better off on the JVM; however, borrowing successful ideas from other awesome and successful technologies? I think that's a swell path to walk. Beware of the kitchen sink, though, is my only warning.

Also, I don't always think OS' are the best place to run your application. There are many arguments for using something like Erlang on Xen or HaLVM if the design requirements can justify it but arguing about your other critical statement should be a different thread.
Go on Mobile (video)
Such fast loading times, so many descriptive direct links, I think I have to try that editor!
Star Wars was not vetted by any government officials for its ideological purity before publication, is the difference. Anything that is published in China, by definition is representative of the opinions of the Party.
eBay is a good place to go:

http://www.ebay.de/itm/HP-Z800-Workstation-2-x-Xeon-6-Core-X...

The Lenovo Thinkstation C20 is also a good dual Xeon choice if you can live with a 24GB RAM limit (it's also very compact).

There's also specialized resellers like ITSCO.de and ESM-Computer in Germany (they ship EU-wide).

For ~$1000, a dual X5670 workstation with 12 ECC RAM slots, I think it's an excellent deal.

If you want something newer, the Z820/Z620 are a good choice, they should start rapidly dropping in price soon enough.

These computers are designed extremely well (the 800+ Watt PSUs alone are eons ahead of anything on the consumer market), but even in the rare cases they break the parts are cheap (a replacement system board for ~$100, older but still powerful Xeons also drop in price insanely fast).

I don't know why people buy new midrange PCs for the same price anymore, unless they need the latest processors :-)
Never had a problem with them - just don't click on the misleading ads (or block them) :-)
I have managerial endorsement to read HN at work for the explicit purpose of keeping up with whatever trendy framework-of-the-week the devs are next likely to ask ops for.
At least there's huge pressure from the community. Who knows. Thousands of people requested it in the survey. It's hard to tell, but I think Lenovo might be steering in the right direction after realising techie users are a very good niche.
The guy is no good at selling himself and appears to feel that doing so would be tawdry.
The point I'm making is that people should probably balk at the suggestion that they need 200Mbps/sec of entropy from a mysterious black box on a PCIe card sold to them by an NSA affiliate who want them to put it into their critical servers. No. Just... no. Don't do that.

256 good bits, once, is quite enough, as long as they are good. You might well try to collect more entropy, and your CSPRNG's setup might use a compression function (e.g. a cryptographic hash) to combine them into the seed to try to hedge against failures. That's quite a good idea, as long as the last one you sample is your most trusted (see djb's blog for why). But you don't need megabits of entropy, and you don't need it on an ongoing basis. That task is solved by the PRF.

So what you should perhaps be doing is not using /dev/random at all, but using Linux's default getrandom syscall to get 256 bits to seed your userspace CSPRNG instead. The urandom mode of that will block if it hasn't collected enough entropy, and will never block thereafter, and it also doesn't need a device node handy.

Even attempting to estimate entropy is perilous, so most modern CSPRNGs don't try. (Note, by way of example, the difference between the earlier Yarrow and the later Fortuna.)
pretty much, but at least you don't have 4 wheels to slide from under you as you try to keep your footing :-)
Can't you learn something about your own behaviour from this? About how others interpret your behaviour. Or even change your behaviour, by not being shy to react to something you should even though others are around.

I seen a great example where people were filling in forms in a room with actors(unknown to them) and the room started to fill with smoke. Most people did nothing as the actors also did nothing, until they couldn't see their forms because of smoke.

It's good to know why we behave this way.
So it's, once again, an issue where cloud servers aren't being seeded before their keys are generated?
Indian govt shortlists 1500 yoga asanas to prevent them being patented abroad
> they must be made of high quality semantic components, which you simply mix together

> the problems you're talking about are nearly impossible to run into.

If you mean this in any non-fluffy sense, such a property would depend upon the set of semantic components having some incredibly strong properties.

It's not clear to me that those properties don't immediately conflict with the entire point of creating DSLs -- that the host language's semantic model isn't the one you want.

You can probably get trivial properties about the static semantics without a ton of machinery, and more dynamic properties might be possible to read off from very constrained examples. But it's entirely unclear to me why semantic models should easily combine without creating unintended behavior.

Could you share some concrete examples?