Having swap is a reasonably important part of a well functioning system. Without it, sane memory management becomes harder to achieve. Swap is not generally about getting emergency memory, it’s about making memory reclamation egalitarian and efficient.

In this post, we’re just going to focus on CPU profilers (and not, say, memory/heap profilers). I’ll explain some basic general approaches to writing a profiler, give some code examples, and take a bunch of examples of popular Ruby & Python profilers and tell you how they work under the hood.

You can't fully understand databases, NoSQL stores, key value stores, replication, paxos, hadoop, version control, or almost any software system without understanding logs; and yet, most software engineers are not familiar with them. I'd like to change that. In this post, I'll walk you through everything you need to know about logs, including what is log and how to use logs for data integration, real time processing, and system building.

Why do you work where you work? For many in tech, the answer is probably culture. When you tell a friend about your job, the culture is probably the first thing you describe. It’s culture that can be a company’s biggest asset—and its biggest downfall. But what is it?
Culture isn’t a list of values or a mission statement. It’s not a casual dress code or a beer fridge. Culture is what you reward and what you don’t. More importantly, it’s what you reward and what you punish.

I’ll try to summarize what CNNs are, and how they’re used in NLP. The intuitions behind CNNs are somewhat easier to understand for the Computer Vision use case, so I’ll start there, and then slowly move towards NLP.

The metric we all use for CPU utilization is deeply misleading, and getting worse every year. What is CPU utilization? How busy your processors are? No, that's not what it measures. Yes, I'm talking about the "%CPU" metric used everywhere, by everyone. In every performance monitoring product. In top(1).

From a security perspective, Unicode domains can be problematic because many Unicode characters are difficult to distinguish from common ASCII characters. It is possible to register domains such as "xn--pple-43d.com", which is equivalent to "аpple.com". It may not be obvious at first glance, but "аpple.com" uses the Cyrillic "а" (U+0430) rather than the ASCII "a" (U+0041). This is known as a homograph attack.

Between October 2013 and August 2015, MiDAS initiated roughly 50,000 fraud findings. (…) A year and a half after the system went live, the TV station FOX 17 reported how the MiDAS touch overwhelmed the courts, and a backlog of nearly 30,000 cases was waiting to even be heard by a judge. In 2015, amid the media fallout, and several law suits against the UIA, the agency staff manually reviewed seven thousand cases flagged by computers. It turned out that only 8% of those were actually fraudulent. With a 92% false positive rate, this system should never have gone live, let alone endanger the lives of 50,000 families. (…) one woman took her own life after receiving a fraud penalty of $50,000, and several other attempted suicide. At the time when I wrote this in early 2017, the story was far from over.

Developed by Carnegie Mellon University, the AI won the “Brains Vs. Artificial Intelligence” tournament against four poker pros by $1,766,250 in chips over 120,000 hands (games). Researchers can now say that the victory margin was large enough to count as a statistically significant win. (…) the victory demonstrates how AI has likely surpassed the best humans at doing strategic reasoning in “imperfect information” games such as poker. (…) “The algorithms we used are not poker specific, they take as input the rules of the game and output strategy.”

Less than 1% of companies have any mechanism of visualising their environment and continuously learning from it. The vast majority suffer from little to no situational awareness but then they are competing in a world against others who also lack situational awareness.

This is probably why the majority of strategy documents contain a tyranny of action and why most companies seem to duplicate strategy memes and rely on backward causality. We should be digital first, cloud first, we need a strategy for big data, social media, cloud, insight from data, IoT … yada yada. It’s also undoubtably why companies get disrupted by predictable changes and are unable to overcome their inertia to the change.

The media and politicians are so focused on each other that we are stuck inside this politicians first bubble. And the public is left standing on the outside, not being heard, not being invited to take part, disconnected and abandoned.

The result is that the public feels that both the politicians and the press are all a bunch of idiots. And this is why that every time the trust on politicians goes down, media go down with them.

Exceptions are great, and I believe there’s a much simpler explanation for why they’ve gone AWOL in some newer languages — implementing them well is hard work for language designers, so some don’t bother and then choose to spin a weakness as a strength. Worse, some new languages are designed by people who spent their careers working in large C++ codebases that ban exceptions, so they probably don’t miss them.

In this article I’ll look at why exceptions are hard to implement well, why they’re so often banned in C++ and why we should demand them from our languages and runtimes anyway.

Artificial intelligence made enormous strides in 2016, so it is fitting that one of the year’s hit TV shows was an exploration of what it means for machines to gain consciousness. But how close are we to building the brains of Westworld’s hosts for real? I’m going to look at some recent AI research papers and show that the hosts aren’t quite as futuristic as you might think.

The Linux 4.9-rc1 kernel now has raw capabilities similar to those provided by DTrace, the advanced tracer from Solaris. (…) you can now analyze the performance of applications and the kernel using production-safe low-overhead custom tracing, with latency histograms, frequency counts, and more.

Arguing is a sign that you care. You care enough to have strong opinions about how to make the company better. You’re willing to bring those opinions forward, and battle it out for the best one.
(…) The key is to argue well. To put forth your point not because you want your point to win, but because you want the best point to win.