skysight-inc/HackerNews huggingface dataset:
I'd go a step further than mentioned... as static render components (single functions) are possible... if you're using something like redux/connect, you can export the static function, along with the default of the connected version. By doing this you have really straight forward testing, and don't even have to deal with the variance of class/object instances. I've build a few apps at this point using only static components.

Also, there are options to use immutable for state with redux (it's a little different), but it can be useful, to say the least.

The only downside of static components is that hot module replacement doesn't seem to work right, there are ways around it, but not as much fun... that said, I tend to save state to sessionStorage on every change, loading from sessionStorage at start, so refreshing the browser will just show the updated rendering.
It's not clear from the code; the author probably should clarify what "Goroutine safety" means - for reads or for read/write? Your correct about the approach for native maps.

EDIT: The package description punctuation is hard to grasp, but upon a second read, "Goroutine Safety." might be intended as a headline for the next line, which starts with "No." Read that way, your understanding sounds correct.
The fallacy is the idea that everyone who reads a news article should discuss it in the same forum. That just results in a big cesspool. It makes far more sense for each community to discuss a news article in its own forum (as we do on Hacker News).
Several months ago I saw a documentary about people who have suicidal thoughts. They followed several people who were in contact with a suicide help line, either by phone or by chat, with their approval, sometimes anonymized.

What was new to me was that they only could think of committing suicide. It was a major thought throughout everything they did. Like a major depression is something completely different from being depressed, this seemed like major suicidal. One woman who was in her 30s decided to get a daughter hoping her thougts would disappear when she had someone to take care of. That didn't happen.

When her daughter grew up, she decided not to commit suicide because it would be cruel to her daughter. She had a good job, a nice husband, a good life, with money, car, nice house, a social life and in many ways a better life than I have, but still she wanted to kill herself. It was in every thought she had. I cannot explain it, you have to see and hear her explain it. It was completely new to me. She still lived when the documentary was on TV, but I'm not sure how long she will live.
Knowing Lisp since the days it was the only FP one had access to, I beg to differ.

I really disagree with the 21st century fashion to make everything that isn't a Miranda derived language as not being a FP language.
The beggar provides value by only extracting a pittance. If he were, say, a burglar, he would be taking far more than he needs, and that would actually be costing you something less reasonable.

If everyone only used what they needed, we'd all have plenty of resources to dedicate to the communal good.
One large driver: NIH syndrome.

https://en.wikipedia.org/wiki/Not_invented_here
Why don't they just include the correct screwdriver with the furniture? It's only going to cost them like one or two dollars and will likely increase customer satisfaction.
For more reading on the topic, I'd recommend "How to Lie with Statistics"[0]. It's a short read (144 pages), with mainly tongue-in-cheek instructions on how to mislead.

Most of the usual tricks ('drop the axes', percentage-points, etc) are there, but there are many other, less obvious tricks.

One of the cooler arguments in the book is that it's easy to lean on someone's implicit assumption of volume to modify their understanding.

If you inflate a 15% increase in house spending to look larger than it is, drawing pictures of houses that are 15% wider will make people intuit a 50%[1] increase, despite reading 15%. The author suggests that even if you're incredibly clear with the text surrounding the charts, people still use the charts to understand the scales of change.

[0] http://amzn.to/1RmCVmL (disclaimer: affiliate link)
[1] 1.15^3 ~= 1.5
The Inconvenient Truth About Dynamic vs. Static Typing
On the other hand, if you don't have the resources or skills to implement, but do have the (different, and often rare!) skills necessary to ideate, it'd be just as clear an injustice if you couldn't get anything for your inventions, or if you were incredibly good at inventing but were forced to waste 99.9% of your time executing using engineering skills that might as well have been outsourced to India. The system needs to support garage-workshop inventors and academic theoreticians just as much as it needs to support Intel.

> So you spend 250 hours to come up with an invention and somebody else spends the same 250 hours to come up with the same invention but also spends 5000 more hours to implement it and then the patent system says you can go to them and say "that's mine" and claim all the profits.

The problem here is the "all the profits" part, because that's just as extreme in the opposite direction. How about a solution where the 250-hour inventor gets a portion of the profits proportional to the time and effort put into it by each party, say a perfectly linear 250/(250+5000)? Then the inventor doesn't get much profit out of it, but because he spent less time on it he can theoretically do this repeatedly and make a reasonable amount of money. Which is, really, how the modern patent system would work if patent grants were done optimal, which is admittedly impossible.
envy: safely debug and edit files deep in python virtualenvs
I don't even live in the US and I cleared my cache after looking at one of the pages.
Ones not hundreds
Didn't some guy go to jail in Canada for sending angry tweets to woman.

Edit: why the downvotes?. This pertains to freedom of speech online in democratic west.
I'm not using "software QA" in the very broad way you describe in the first sentence. Also, "defect" as I use it does not mean every short-coming of the product. It means "something doesn't work (or failed) as designed or required."

Context: my blog posts are meant to contrast with "experts" who claimed that poisoning social AI was just in the nature of learning systems, even when they worked as designed (i.e. had no defects). They are claiming that Tay learned to be foul mouthed and racist, and thus had become foul mouthed and racist.

If that were true, then this undesirable behavior would not be a software QA problem. The AI would be working as designed. No QA process would change things.

In contrast, I'm claiming (from evidence) that the main problem in Tay is due to a hidden feature in a reused library + rule set that should have been detected and removed in a QA process that considered various attacks. BTW, this attack (getting bot to repeat naughty words) has been around since ELIZA in the 60s.

The other failings of Tay (esp. no black list) are design and requirement failures, not QA failures.
Linux 4.6-rc1 Kernel Released
What I Learned Tindering My Way Across Europe
Sure there's support for it, if someone writes the extensions
I saved myself at one company for almost two years, because nobody could do my job. I was the only developer and I ran their entire e-commerce store. Pretty much every department was slowly let go and for the last year, I moved all of their systems from an expensive and bloated shipping system and our own hosted/custom cart to Excel and a $100/month hosted e-commerce platform.

At this point, they didn't need me anymore and I was let go (which I knew was going to happen, but I enjoyed the relatively easy paycheck).

I also used that extra free time during work to start the company I am still running today.
This is relative. What is garbage for us, is a goldmine for AI. We, people, think 1+1=2, we take it for granted, like everything else in this world. For AI, it's a different game, at a different level. IMO, let him tweet, apologize, but let it do it's thing and let's watch how it is developing. Also, so many butthurts over what he tweeted. This world IS garbage.
> On Linux malloc never fails actually.

Not true. For example, it can fail if there is no big enough chunk of virtual address space available (i.e. your heap is fragmented enough and your attempted allocation is big enough). I've even seen 64-bit processes manage to do this, my mmapping lots of multi-GB things at once and then trying to do large allocations.
Author here. An audit is advisable and welcome.
Results talk. We make the switch to whatever works. I don't take the hype, I'm just grateful we can consider options.
Which brings us back to 2001 and Apache's prefork model. Threads are pretty battle tested at this point, and allow for different reasoning about the concurrency of a problem. The problem with node is that it pretty much only allows for one type of scaling if you start running into performance problems. Go gives you a much bigger toolbox to work with if, much like the post's author discovered, your problem set does not match up with the answers node provides.
We just use canvas for drawing. SVG is tempting because it would help with things like figuring out which curve a user clicked on, but we've been disappointed by SVG performance and cross browser differences every time we've tried it.
Vintage 1960's Cap'N Crunch Bo'Son Whistle Blue Phone Phreaker
Thanks, I always get my trek wars trivia mixed. Which movie is the one where Chewbacca goes into time and rescues some whales?

//Just some Sunday fun. :)
Does anyone have a link to the letter itself, preferably in English translation? Making sense of this story depends a lot on the content of that letter and on whether any accusations in it are true.
> I don't understand why one guy pulling their repository off the npm servers affected others' projects.

That's because 1) npm isn't immutable. The owner of a package can delete the package on npm. 2) Developers (re)-download the entire dependency tree prior to build. A missing dependency down that tree will fail the download.

> Why did everyone else's code refer directly to that guy's repository, and not some centrally-maintained clone thereof?

The "repo" everyone's talking about is npm. npm is the centrally-maintained storage. What happened is that the guy pulled out his modules from npm.

> So if a project goes down, the package stays on the RH server and you can still get it anytime you want.

That's what everyone wishes for npm actually, for that package to live forever once released to npm. Sadly, again, npm isn't immutable.

But again, there's this suggestion of "bundling before release", making a dependent self-contained. That way, in the event a dependency is missing, the worst it could do is just paralyze the dependent's next build but not make the existing build unavailable.
They are good machines. As long as you don't run out of CPU credits you won't really notice poor CPU performance for normal workloads.
> Doesn't this make employers question the time periods not accounted for?

At a certain point, you take the date of your degree off the resume, and if they want a full history, they can ask for it.

The best plan is to have two documents: a career tracking document that covers everything you did, and how well you did it, and then your resume is simply a summary of the most important parts of that career document.
The community seams to be using action creators combined with either redux-thunks, or redux-promise...

I have simple action creators that are simple actions, where the reducers only update state... actions creators will do anything more complex...

export const doSomethingAsync = input => async (dispatch, getState) => {
try {
dispatch(updateStatus('loading'));
var response = await client.get('...');
dispatch(updateStatus('success', response.data));
}catch(err){
dispatch(updateStatus('failure', err));
}
}

I prefer the redux-thunks with async functions, as this lets me be more explicit and do a bit more work, if I need more status levels than loading/success/failure modes. This is a relatively simple example, and pretty close to how the defaults for redux-promise works...

There's no side-effects to having your async calls inside your action creators... Well, there's a chance that an intermediate action may be dispatched in between the loading and success, but even then, unless things are very brittle, it's easy enough to mitigate, and that's only for portions of the tree that are shared.
I snorkel and free dive a bit. It's amazing that you can train your body to go further and longer underwater. Just a few sessions in a pool will help. I have no idea what is actually improving inside me, but some thing is.

And free dive fins are the best. If you've never tried any, try to get hold of a pair. It's fun zooming through the water like a seal.
I snorkel and free dive a bit. It's amazing that you can train your body to go further and longer underwater. Just a few sessions in a pool will help. I have no idea what is actually improving inside me, but some thing is.

And free dive find are the best. If you've never tried any, try to get hold of a pair. It's fun zoom ing through the water like a seal.
The "do it" part refers to the physical action of moving ones limbs and getting out of the bed after the alarm goes off. And the qualifier "just" refers to one doing exactly that (and only that). Whereas you have gone astray and tacked on smugness and homeopathy to this otherwise simple physical act. How is being a cultured sophisticate working out for you?
What a shameful article.
No Seymour Papert, no Arduino, no Processing, not a single bit of Scratch...

so sad :(
Bill Nguyen: The Boy in the Bubble
Nice idea on using an alias to load the last session, Rob! I'm using it. I did a small video screencast on sessions for those who learn visually :)

http://thinkosaur.com/vimwatch/1/sessions

PS - Is anyone else constantly amazed by the quality of vim's documentation?
> The Sorenson Molecular Genealogy Foundation was launched by billionaire Utah businessman James LeVoy Sorenson with the backing of the church. The foundation's goal was finding a "genetic blueprint" for humans, and it amassed more than 100,000 samples when Ancestry acquired the database in 2007.

It is discouraging that this data that was ostensibly collected for non commercial purposes can be sold to Ancestry.
The PC1512 was the computers we had on the PC room on high school.

I did spent a few hours playing "Defender of the Crown" on them.

https://www.youtube.com/watch?v=x7fAaUq1H2k
Daughters can be wonderful creatures. Mine has helped me in so many ways she will never realize. I too found my way thru the fog to the light.
If I recall correctly, it has to be done in cold-ish water! Warm water above a certain temperature doesn't invoke the dive reflex (I think we used water at 10 degrees Celcius for the experiment), although I'd have to read up on my experiment again to be sure.

Sounds like a fun Easter activity :)
When people shame other people for their views, it's perfectly OK.

When people stop other people from speaking their mind, up to the practice of limiting free speech to designated corners of institutions allegedly devoted to higher education, it's something seriously different.

The key difference lies in the use of the (administrative) power.
Sit down in front of an Amiga from the 1980s or early 1990s sometime and you will get a whole new perspective on what constitutes "good enough latency to be interactive". In particular, the UI was always perfectly responsive, even with multiple processes and disk accesses going on in the background -- on a 680x0 machine running tens of megahertz. Once you start spawning enough background tasks and pegging the poor kernel's I/O scheduler, your multi-gigahertz Linux box can't match that sort of claim.

Select is still not nearly as flexible as Windows I/O completion ports, for instance. You cannot kick off an I/O operation, do some other processing, and then wait for the I/O to complete before you use its results with a select loop. You have to do a little bit of processing, pump and poll, do a little bit more processing, pump and poll, etc. You are wasting cpu time compared to the interrupt-driven way, and if you have many processes going at once this can add up in terms of battery power used and latency suffered. Remember that select(2) and poll(2) are system calls -- and all the overhead that goes with that.

The X server, in its effort to implement a GUI which is by nature event driven, historically contained all sorts of hacks in order to simulate the asynchronicity which should come from the OS. And it has always been slow and laggy compared to its counterparts on Windows and Mac OS -- let alone the Amiga where interrupt-driven programming is the norm and the GUI has always been flawlessly responsive even when other tasks are going on.

There's also the fact that nonblocking I/O IS NOT ASYNCHRONOUS I/O. If the kernel needs time to perform an I/O operation -- for example, reads and writes from/to disk -- it WILL block your process doing so. All "nonblocking" really means is "read until read buffer is drained, write until write buffer is full, then return". Your process is still stopped during the read/write! With better primitives such as Windows I/O completion ports that map more closely to the asynchronous I/O subsystems of the underlying architecture -- DMA, interrupts, etc. -- that becomes a non-issue. I/O happens transparently in background from an application (and maybe even kernel) perspective, and nothing is blocked.

In short, nearly anything at all is better than the Unix model in terms of throughput, latency, and more natural programming style. Unix is actively regressive.
https://en.wikipedia.org/wiki/Byford_Dolphin

If there is a accident, it will be over quick.

If there ever is a mars colony, this is what is its going to look like.
Conflict Zone – Petry's AfD: Waking Up Ghosts of the Past?
There's always https://genographic.nationalgeographic.com

They won't give you information about potential diseases, but they'll give you information about your ancestry and ethnic makeup and they'll do it anonymously. They give you the option to register, but you can also lookup your results by the tag on your sample.
Sprinkling ping pong tables, nerf guns and turning the workplace into an adult daycare doesn't make company culture or define a mission statement.

Having beer Wednesdays where we stay late and drink or we'll get odd looks doesn't make company culture.

Lying to ourselves about the true value of what we're doing by sprinkling revolutionary and disruptive and ... doesn't make a mission statement.

There's nothing wrong with coming to work to do work and the fulfillment being a job done well to the best of your abilities.
> An algorithm which verifies "reliability" is applied
to the constructed solution (e.g a proof). If this
algorithm terminates then we know that we have a
good solution of the original problem. If it does not
then we may have to start looking for another
solution.

I might be misunderstanding things here, but doesn't that mean that there would exist proofs that are impossible to know the answer to, since there exist algorithms that are finite but will not terminate in human time? My brain is throwing up the Halting Problem, but I'm not entirely sure if that has any concrete relation to this.
Microsoft apparently implemented a "repeat after me" command in the AI.

So, the alarming responses were not, in fact, a part of the AI algorithm.
Construction Zones on the Ethernet Roadmap
Mesos Clusters Growing to Monster Sizes
The Road to 200G Networks Starts with the Transceiver
Design Patterns in Dynamic Programming (1996) – Peter Norvig
Sandance home: http://research.microsoft.com/en-us/projects/sanddance/
100% responsible? The hackers that hacked them have no blame whatsoever?
I'd prefer to see decentralized email before "encrypted" email.

Recipient runs qmail listening for connections on some personally chosen port from among 1000's of choices. She is also running a firewall such as pf. authpf might also be useful.

Recipient tells sender her chosen port number and a personally chosen address to use. How does she do this? In person. Through the postal mail. Over the telephone. But _not_ over the Internet. Of course she does not have to use the same port and address for every sender.

In addition to the potential randomness of the port, the address she chooses could be any string of legal characters up to 250 whatever in length.

The approved sender runs qmail to connect to recpient's qmail and leaves a message on recpient's computer.

No DNS. No "email provider". No POP3.

How two users can discover each others' IP address and connect to each other through firewalls _without forwarding traffic through a third party server_ is left an as exercise for the reader. Chances are most users have used software that does this at one time or another, maybe without even knowing it. The methods have been around for decades. It works.

Centralized DNS and the need for a "domain name" is not needed.

Centralized "email providers" who store users' email are not needed.

There are a number of disadvantages and limitations to this approach. Yes, I know what they are. But I have already tested this and it works so I'm biased.

My opinion is that the _advantanges_ of "peer-to-peer", SMTP-to-SMTP email easily outweigh the disadvantages of store and forward and POP3 and make this a useful _alternative_ (not a replacement) system for centralized email. It's an _option_ users could have that would be quite useful.

The status quo approach to email has become highly centralized in both the need for ICANN DNS and "email providers". Not to mention the commercialization of email and the need to have "permission" to be able to send mail "because of" the proliferation of spam. It's far too difficult for any user to control their own email under the current centralized system. Solution: Give users another system where they _can_ control their email.

IMHO the centralization and protectionism of the current system (email is a business, but it doesn't need to be) is a bigger problem than lack of encryption. It's also what makes spamming viable. Everyone knows your email address or can get it easily enough. In many cases, that is not necessary.

As it stands, email is concentrated in a limited number of locations (the servers of email providers), transferred over a few ports (25, etc.) and users are limited in the addresses they can use (commercially registered domainnames).
Another idea is to use lua in Nginx itself, and keep it all within nginx.

Here's an upload example: https://github.com/jamesmarlowe/lua-resty-s3
50-50 is extremely good if you're charging $10k/mth.

You could skip the NLP altogether and hook up a PRNG and apparently people will still pay you.

If there's a lack of intelligence, it's not in the code.
Most cases of postnatal depression can also be helped with Progesterone USP supplementation. Pregnancy is a time of very high progesterone production, and when levels of this steroid crash to "almost nothing", nothing works like it should.

Progesterone helps the brains of both men & women. The first time I took it, I found it to be an incredible memory enhancer.

Birth control uses fake-progesterone, disrupts the body's hormone cycle, and should be avoided [1].

[1] http://swindledandpimped.org/womens_health_a_modern_tragedy/
They target people who have said things online or in person, or have met with certain people, indicating their support for terrorism. Voicing support for terrorism is not illegal in this country, so you're totally wrong that that's what they're arresting people for. They then run the sting to see if the person is willing to carry out an attack, and takes concrete action toward that, like acquiring "explosives" or guns. At that point, they're guilty of a conspiracy.

How would a real terrorist find recruits inside a Western country? They'd find people that posted something indicating their support, and then they'd try to talk them and coach them into carrying out attack.