During the OpenRheinRuhr I noticed that a friend of mine didn’t know
about zgrep
and friends. So I told him what other grep
variations I know and he told me about some grep variations I didn’t
know about.
So here’s our collection of grep wrappers, derivatives and variations.
First I’ll list programs which search for text in different file
formats:
grep through what | Fixed Strings | Wildcards / Basic RegExps | Extended RegExps | Debian package |
---|---|---|---|---|
uncompressed text files | fgrep | grep | egrep | grep |
gzip-compressed text files | zfgrep | zgrep | zegrep | zutils, gzip |
bzip2-compressed text files | bzfgrep | bzgrep | bzegrep | bzip2 |
xz-compressed text files | xzfgrep | xzgrep | xzegrep | xz-utils |
uncompressed text files in installed Debian packages | dfgrep | dgrep | degrep | debian-goodies |
gzip-compressed text files in installed Debian packages | – | dzgrep | – | debian-goodies |
PDF documents | – | – | pdfgrep | pdfgrep |
POD texts | podgrep | – | – | pmtools |
E-Mail folder (mbox, MH, Maildir) | – | mboxgrep -G | mboxgrep -E | mboxgrep |
Patches | – | grepdiff | grepdiff -E | patchutils |
Process list | – | – | pgrep | procps |
Gnumeric spreadsheets | ssgrep -F | ssgrep | ? | gnumeric |
Files in ZIP archives | – | – | zipgrep | unzip |
ID3 tags in MP3s | – | – | taggrepper | taggrepper |
Network packets | – | – | ngrep | ngrep |
Tar archives | – | – | targrep / ptargrep | perl (Experimental only for now) |
And then there are also greps for special patterns on more or less
normal files:
grep for what | uncompressed files | compressed files | Debian package |
---|---|---|---|
PCRE (Perl Compatible Regular Expression) | pcregrep (see also the grep -P option) |
zpcregrep | pcregrep |
IP Address in a given CIDR range | grepcidr | – | grepcidr |
XPath expression | xml_grep | – | xml-twig-tools |
One question is though still unanswered for us: Is there some kind of
meta-grep which chooses per file the right grep from above by looking
at the MIME type of the according files, similar to xdg-open.
Other tools which have grep in their name, but are too special to
properly fit into the above lists:
- ext3grep: Tool to help recover deleted files on ext3
filesystems - xautomation: Includes a tool named
visgrep
to grep for subimages inside other images.
Includes contributions by Frank Hofmann and Faidon Liambotis.
After recently reading a number of SSL/TLS-related articles, I decided to experiment and look for the ideal OpenSSL configuration for Apache (using mod_ssl since I haven’t tried mod_gnutls yet) and nginx.
By “ideal” I mean that this configuration needs to be compatible with most user agents likely to interact with my website as well as being fast and secure.
Here is what I came up with for Apache:
SSLProtocol TLSv1
SSLHonorCipherOrder On
SSLCipherSuite RC4-SHA:HIGH:!kEDH
and for nginx:
ssl_protocols TLSv1;
ssl_ciphers RC4-SHA:HIGH:!kEDH;
ssl_prefer_server_ciphers on;
Cipher and protocol selection
In terms of choosing a cipher to use, this configuration does three things:
- disables all weak ciphers and protocols
- disables very slow ciphers that use ephemeral Diffie-Hellman exchanges
- gives priority to the RC4 cipher to minimize CPU usage and defend against the BEAST attack
Testing tools
The main tool I used while testing various configurations was the SSL labs online tool. The CipherFox extension for Firefox was also quite useful to quickly identify the selected cipher.
Of course, you’ll want to make sure that your configuration works in common browsers, but you should also test with tools like wget, curl and httping. Many of the online monitoring services are based on these.
Other considerations
To increase the performance and security of your connections, you should ensure that the following features are enabled:
- SSL session caching with a session store shared between all of your web servers
- HSTS headers to let browsers know that they should always visit your site over HTTPS
A new exhibit at London’s Transport Museum, features a whole bunch of infographic posters all arguing the benefits of public transportation in a decidedly early 1900s style.
Here we are barrelling towards 2012 and living in the future. We invented the Internet, we invented social media, we invented FarmVille, we probably invented too, right? Wrong. Infographics have been around for a long while, as far back as early last century and probably even further back than that. , features a whole bunch of infographicy posters all arguing the benefits of public transportation in a decidedly early 1900s style.
Here we are barrelling towards 2012 and living in the fut …
With Benzinga’s Value Investor, you will receive expert analysis of the most under-the-radar stocks and learn about unique opportunities for realizing profits through long-term trades with minimal downside risk. Try Value Investors free today!
FYI: Can Humans Trigger Earthquakes?
Yes. We drill into the earth to mine for gas, oil and minerals and construct massive dams and, as a result, have caused at least 200 quakes of more than 4.5 magnitude in the past 160 years, says Christian Klose, a researcher at Columbia University who studies man-made quakes.
The best-known case is the earthquake caused by the Zipingpu Dam, in China’s Sichuan province, in 2008. Zipingpu held 42.3 billion cubic feet of water, the weight of which precipitated what Klose says is the largest human-triggered earthquake to date: a 7.9-magnitude quake that killed nearly 80,000 people. Klose estimates that Zipingpu, with nearly 320 million tons of water pressing down on a fault line, contributed enough stress to trigger the quake through a process called impoundment. “If you push your finger on top of a paper plate, the plate will bend,” he says. “That same effect works on all the tectonic plates on the Earth’s crust.” The quake occurred two years after the dam’s completion, and its epicenter was a mere three miles from the structure.
Authorities in Basel, Switzerland, shut down the city’s geothermal plant after a 3.4 quake in 2006. Tapping geothermal energy involves boring into rock miles beneath the Earth’s crust in search of steam as a source of energy. Engineers in areas without much water, such as Basel, sometimes create boreholes by way of hydraulic fracturing, or “fracking,” which involves forcefully injecting water to create fissures. Fracking can generate small tremors, but the real damage may happen as excess liquid pools in the cracks between rocks, making them less stable. Although dams have caused some 76 earthquakes, mining is responsible for at least 137 earthquakes, over half the number of man-made quakes to date.
In 1989 a 5.6-magnitude earthquake hit Newcastle, Australia, the direct result of coal mining. Extracting millions of tons of coal added stress to the fault lines, but the real danger resulted from the water that was extracted during mining. For each ton of coal produced, Klose estimates, 4.3 times as much water was pumped out of the ground, a necessary step to prevent flooding inside the mine. But removing so much water dramatically altered the stability of the earth surrounding the mine. Klose says the earthquake caused $3.5 billion in damage-an amount that nearly equaled the profit of all the coal produced by the mine over its 200-year history.
Have a science question you’ve always wondered about? Send an email to fyi@popsci.com
About a month ago, my wife posted a House for Rent ad on Craigslist. (real nice house in …(more)…
Best statistics question ever
By way of Raymond Johnson, the best statistics multiple choice question ever written on a chalkboard. Try not to think too hard. [via]
Connaissance du 19/06/2010
Le mot le plus long de la langue française n’est pas “anticonstitutionnellement” (25 lettres) mais “cyclopentanoperhydrophénanthrène”(32 lettres) qui signifie le cholestérol en Chimie.