sample FILE # randomly choose & print 4 lines from
# file, in order
input | sample # same, from stream (file defaults to
sample FILE FILE2 FILE3 # randomly choose 4 lines between
# multiple input files
sample -n 10 FILE # choose 10 lines
sample -p 10 FILE # 10% chance of choosing each line
input | sample -p 5 # randomly print 5% of input lines
input | sample -d a,b,c # append input to files a, b, and c,
# even odds
input | sample -d a,b,c, # append input to files a, b, c, or
From the Google Official Webmaster Blog:
Starting April 21, we will be expanding our use of mobile-friendliness as a ranking signal. This change will affect mobile searches in all languages worldwide and will have a significant impact in our search results. Consequently, users will find it easier to get relevant, high quality search results that are optimized for their devices.
Their reviews are thorough, and they post a number of alternatives to each recommended item so that you can purchase the one that best meets your particular needs. Their reviews are so good, that my wife now refers to The Wirecutter as “that review site” whenever she’s considering an electronics purchase and wants me to do research for her.
I love plain text. This technique works well whenever you have markup under source control.
The trouble arises when the layers are built such that we have to drill through several of them to do something common. Have you ever checked in a commit that had a bunch of new files like “Foo”, “FooController”, “FooForm”, “FooFragment”, “FooMapper”, “FooDTO”, and so on? That, dear reader, is a breakdown in layering.
From the Requests home page:
Requests takes all of the work out of Python HTTP/1.1 — making your integration with web services seamless. There’s no need to manually add query strings to your URLs, or to form-encode your POST data. Keep-alive and HTTP connection pooling are 100% automatic, powered by urllib3, which is embedded within Requests.