Google Provides Detailed Analysis of GitHub Attack Traffic Google Provides Detailed Analysis of GitHub Attack Traffic

The high-profile DDoS attack against GitHub that went on for several days last month was the end result of an operation that included several phases and extensive testing and optimization by the attackers. Researchers at Google analyzed the attack traffic over several weeks and found that the attackers used both Javascript replacement and HTML injections.

It wasn’t until March 26 that the attackers actually began targeting two separate resources on GitHub, one of which housed content from, a censorship monitoring organization in China. The other resource was Chinese language content from the New York Times. The attack on those resources lasted until April 7 and Provos said that the attack wouldn’t have been possible if all of the Web’s links were encrypted.

“Had the entire web already moved to encrypted traffic via TLS, such an injection attack would not have been possible. This provides further motivation for transitioning the web to encrypted and integrity-protected communication,” Provos said. NVIDIA GPUDirect NVIDIA GPUDirect

Using GPUDirect, multiple GPUs, third party network adapters, solid-state drives (SSDs) and other devices can directly read and write CUDA host and device memory, eliminating unnecessary memory copies, dramatically lowering CPU overhead, and reducing latency, resulting in significant performance improvements in data transfer times for applications running on NVIDIA Tesla™ and Quadro™ products.

GPUDirect peer-to-peer transfers and memory access are supported natively by the CUDA Driver. All you need is CUDA Toolkit v4.0 and R270 drivers (or later) and a system with two or more Fermi- or Kepler-architecture GPUs on the same PCIe bus. A distributed database for many core devices A distributed database for many core devices

GPUdb is a scalable, distributed database with SQL-style query capability, capable of storing Big Data. Developers using the GPUdb API add data, and query the data with operations like select, group by, and join.

The GPUdb cluster can be run in a number of configurations. GPUdb clusters can range from being a single GPUdb node to a large cluster of machines. GPUdb does not require you to provide pre-determined key-sharding schemes in order to scale your data across several nodes.

GPUdb can run on as little as a single laptop or several rooms full of networked servers. GPUdb performs best when it has access to highly dense many core devices like NVidia GPUs or Intel MiC cards, but those are not required.

Leveraging many-core devices is the central theme of GPUdb. Currently GPUdb supports NVIDIA GPUs and Xeon Phi many-core devices. We plan on supporting all OpenCL capable many-core devices but have not yet added this to our internal development roadmap. GPUdb will also work with any traditional x86 CPUs and attempt to take advantage of all available cores, but this is not its primary performance use case. Can someone explain the intuition behind gradient, curl, and divergence Can someone explain the intuition behind gradient, curl, and divergence

First, the gradient. You’ve already seen partial derivatives, which tell you “how much does the function change if I go in the +x direction” or “how much does the function change if i go in the +y direction”. You might know that you can also ask “how much does the function change if I go in the direction half-way between the +x and +y axes”. The gradient compiles all that information into one object: it’s a single thing that tells you, for each direction, how much would the function change if you moved a little bit in that direction.

Curl is my favorite. Imagine you have a vector field. Think of it as being like the middle of a flowing river: at any given point, the vector points in the direction the water is moving, and an object at that point would get pushed in the direction of the vector. There might be an overall direction to the flow, but at any given point anything could happen—there might be little eddies where the water spins around, for instance.
We want to break apart the motion of the water into different “kinds” of motion. For instance, one thing that’s happening is that the water is flowing—there’s a net movement from up river to down river. But another is that the water can rotate: it can move in curves, and even have loops that spin around back to where they started. Curl is our attempt to ask “how much rotating is the vector field doing?”

Divergence is trying to measure a different aspect of the movement of a vector field. It’s measure how much the field is “growing” or “shrinking” at a point. With a physical substance like water, the divergence should always be 0: the amount of water flowing into a point should equal the amount flowing out.
In general, though, there could be points where vectors are “produced”: where more stuff flows out of the point than into it; this means the divergence is positive. (This is called a “source”.) There could also be points where more flows in than out (a “sink”); this means the divergence is negative. A crash test dummy for your software A crash test dummy for your software

Find a problem, fix a problem. Resolve issues with your software’s business-critical transactions before your customers experience them. We’re on it 24/7 and don’t even need coffee.

Test your app from locations around the world.
Sao Paulo, London, or D.C. Once a day, or once a minute. Test your app around the world, at any frequency. We’ll point out specific errors and slow page components so you’ll know when your app is working where you are, it’s also working where they are.

In-depth troubleshooting metrics.

Error screenshots make it easy to see exactly what went wrong and what an end-user would experience. Response headers give you all the information you need to fix any critical problems identified.

Detailed waterfall charts of individual page assets.

Different time periods in your waterfall chart help you to understand what happened and when. View page load times for individual components in particular locations.

Automatic transaction traces for backend app servers.

Get deep, code-level visibility for all your results with our APM backend server monitoring. We’ll automatically run transaction traces on your results so you can cross-trace between New Relic products for quick, easy troubleshooting.