Progressive Image RenderingStephan Lavavej has a great page outlining the difference between fancy interlacing and plain old progressive rendering: There are four ways to transmit an image over the Internet. Over a fast connection there won't be any apparent difference, but over a modem connection the difference is stunningly obvious. Choosing the right way can make your connection seem much faster than it really is. Wait until every bit of image data has been sucked through the modem before displaying the whole image. So blindingly dumb that not even Internet Explorer does it. Display image data as it is received, resulting in a top-down filling in of the image. One variant -- the one that everyone has seen -- of JPEG does this. This is noninterlaced display, and both GIF and PNG are capable of it as well. Non-interlaced images are smaller than interlaced images. Use a one-dimensional interlacing scheme. This is how GIF interlacing works. Every eighth horizontal line is transmitted in the first "pass", filling up the dimensions of the image in 1/8th of the time that the entire image will take to download. The next pass transmits every fourth line, making the image less distorted. The next pass transmits every second line, making the image even less distorted, and the fourth and final pass transmits the remaining lines. Use a two-dimensional interlacing scheme. This is how PNG interlacing works. Instead of four passes through the image, PNG makes seven passes. In 1/64 of the time that the whole image will take to display, one pass is already completed, showing the image in a very rough manner. Successive passes fill in more information, never distorting the pixels by more than a factor of two to one. Here's a demo of simple progressive as-received rendering: And here's a demo of the superior PNG style two-dimensional interlaced rendering: You don't get this for free, of course -- turning this feature on adds about 20% to the size of PNG images, and about 10% to the size of JPEG and GIF images. Whether this improved rendering behavior is worth the bandwidth cost I leave as an exercise to the reader. I am not aware of any browsers that actually bilinearly interpolate the low-resolution incremental images, as shown in the sample screenshots on Stefan's page. But that would be really cool! Why doesn't Firefox add this? NEXT This Just In: Internet Makes Books Obsolete PREVIOUS UI Follies, Volume III Written by Jeff Atwood Indoor enthusiast. Co-founder of Stack Overflow and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorrortagged: imagesperfperformanceprogressive-enhancementprogressive-images07-08-2017
ImageOptim — better Save for WebRemoves bloated metadata. Saves disk space & bandwidth by compressing images without losing quality.tagged: imagesoptimisationperformance07-08-2017
Awesome-Hacking/README.md at master · Hack-with-Github/Awesome-HackingA collection of awesome lists for hackers, pentesters & security researchers.tagged: securityhackingpentest07-08-2017
The Critical Request | CSS-TricksServing a website seems pretty simple: Send some HTML, the browser figures out what resources to load next. Then we wait patiently for the page to be ready.tagged: critical-pathrenderingperfrequestbrowsers03-08-2017
Netflix Is Reportedly $20 Billion in Debt | MoviefoneThanks to its growing emphasis on original content, streaming giant Netflix is now $20 billion debt, according to the L.A. Times.tagged: netflixdebtmicroservices03-08-2017
mcmadhatter/Ninja-LWRF-Energy: Support for the JSJSDeigns lightwave RF wifilink box with the NinjaBlocks system.A Ninjablock driver to interface with the Lightwave RF Energy Monitor, via UDP packets to the JSJS Designs WiFi link.tagged: lightwaveninjablock03-08-2017
The Internet is for End UsersInternet standards MUST consider the end users of the Internet to have priority over every other party.tagged: internetusersfor-the-users02-08-2017
Nightwatch.js script for taking screenshots of a given URL at various browser widths.Nightwatch.js script for taking screenshots of a given URL at various browser widths.tagged: nightwatchresponsivee2e31-07-2017
Understanding the Command Queue · nightwatchjs/nightwatch WikiWhen Nightwatch runs a test, it processes its commands in a list known as the command queue. This list manages the asynchronous execution of the commands defined in that test. As a queue, the command queue generally follows the rule of first in, first out (FIFO). The first command you call in a test is the first executed when the test runs. The second command is called next, followed by the next command up until the last command added, which becomes the last command executed.tagged: nightwatchqueuecommand-queue28-07-2017
How we made automatic nightwatch.js tests more stable and fastertl;dr: when using Selenium server and Nightwatch.js write as small test suites as possible and for running these suites quickly use our Partition tooltagged: nightwatchseleniumstable28-07-2017
nightwatch-docs/run-parallel.md at master · nightwatchjs/nightwatch-docsStarting with v0.5 Nightwatch supports the tests to be run in parallel. This works by specifying multiple environments in the command line, separated by comma. E.g.:tagged: nightwatchparallelservice-workers28-07-2017
How to solve Selenium focus issues - makandropediaSelenium cannot reliably control a browser when its window is not in focus, or when you accidentally interact with the browser frame. This will result in flickering tests, which are "randomly" red and green. In fact, this behavior is not random at all and completely depends on whether or not the browser window had focus at the time. This card will give you a better understanding of Selenium focus issues, and what you can do to get your test suite stable again.tagged: seleniume2e28-07-2017
Node.js performance monitoring with PrometheusThis article helps you to understand what to monitor if you have a Node.js application in production, and how to use Prometheus – an open source solution, which provides powerful data compressions and fast data querying for time series data – for Node.js monitoring.tagged: nodemonitoringprometheus26-07-2017
Shared Surfaces Campaign | Guide DogsShared surfaces are when the road and pavement are built at the same level, removing the kerb so that cars, buses, cyclists and pedestrians share the same surface. Shared surface streets are dangerous for blind and partially sighted people who rely upon the presence of the kerb to know they are on the pavement and not in the road.tagged: guide-dogsshared-surfacesinclusive-designstreet-design26-07-2017